00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_KEYMAPSETTINGS_H
00026 #define __SYNFIG_KEYMAPSETTINGS_H
00027
00028
00029 #include <gtkmm/dialog.h>
00030
00031 #include <set>
00032 #include <map>
00033 #include <string>
00034
00035 #include <gtkmm/accelkey.h>
00036
00037
00038
00039
00040
00041
00042
00043 namespace studio {
00044
00045
00046 class KeyMapSettings : public Gtk::Dialog
00047 {
00048 struct AcKeyInfo
00049 {
00050 guint key;
00051 Gdk::ModifierType mod;
00052
00053 bool on;
00054
00055 AcKeyInfo(guint k = 0, Gdk::ModifierType m = Gdk::ModifierType())
00056 :key(k),mod(m) {}
00057 };
00058
00059
00060
00061
00062 bool unsaved;
00063
00064 public:
00065
00066 KeyMapSettings();
00067 ~KeyMapSettings();
00068
00069
00070
00071 bool set_key(const char *path, guint key, Gdk::ModifierType mod, bool replace = true);
00072 bool get_key(const char *path, Gtk::AccelKey *key);
00073
00074
00075 bool load(const char *filename);
00076 bool save(const char *filename);
00077 };
00078
00079 };
00080
00081
00082
00083 #endif