-rw-r--r-- | libopie2/opieui/okeyconfigwidget.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/libopie2/opieui/okeyconfigwidget.h b/libopie2/opieui/okeyconfigwidget.h new file mode 100644 index 0000000..d76ea46 --- a/dev/null +++ b/libopie2/opieui/okeyconfigwidget.h | |||
@@ -0,0 +1,96 @@ | |||
1 | #ifndef ODP_KEY_CONFIG_WIDGET_H | ||
2 | #define ODP_KEY_CONFIG_WIDGET_H | ||
3 | |||
4 | #include <opie2/oconfig.h> | ||
5 | |||
6 | #include <qstring.h> | ||
7 | #include <qpixmap.h> | ||
8 | #include <qbytearray.h> | ||
9 | #include <qhbox.h> | ||
10 | #include <qvaluelist.h> | ||
11 | |||
12 | class QKeyEvent; | ||
13 | |||
14 | namespace Opie { | ||
15 | namespace Ui { | ||
16 | |||
17 | class OKeyConfigItem { | ||
18 | friend class OKeyConfigManager; | ||
19 | public: | ||
20 | typedef QValueList<OKeyConfigItem> OKeyConfigItemList; | ||
21 | OKeyConfigItem( const QString& text = QString::null , const QCString& config_key = QCString(), | ||
22 | const QPixmap& symbol = QPixmap(), | ||
23 | int key = 0, int mod = 0, | ||
24 | int default_key = 0, int default_modified = 0 ); | ||
25 | ~OKeyConfigItem(); | ||
26 | |||
27 | QString text()const; | ||
28 | QPixmap pixmap()const; | ||
29 | int key()const; | ||
30 | int modifier()const; | ||
31 | int defaultKey()const; | ||
32 | int defaultModifier()const; | ||
33 | |||
34 | void setText( const QString& text ); | ||
35 | void setPixmap( const QPixmap& ); | ||
36 | void setKey( int ); | ||
37 | void setModied( int ); | ||
38 | void setDefaultKey( int ); | ||
39 | void setDefaultModifier( int ); | ||
40 | |||
41 | bool isConfigured()const; | ||
42 | bool isEmpty()const; | ||
43 | private: | ||
44 | QString m_text; | ||
45 | QCString m_config; | ||
46 | QPixmap m_pix; | ||
47 | int m_key; | ||
48 | int m_mod; | ||
49 | int m_defKey; | ||
50 | int m_defMod; | ||
51 | class Private; | ||
52 | Private *d; | ||
53 | }; | ||
54 | |||
55 | |||
56 | class OKeyConfig : public QObject { | ||
57 | Q_OBJECT | ||
58 | public: | ||
59 | OKeyConfig(Opie::Core::OConfig *conf = 0, bool grabkeyboard); | ||
60 | ~OKeyConfig(); | ||
61 | |||
62 | void load(); | ||
63 | void save(); | ||
64 | |||
65 | OKeyConfigItem handleKeyEvent( QKeyEvent* ); | ||
66 | QString handleKeyEventString( QKeyEvent* ); | ||
67 | |||
68 | void addKeyConfig( const OKeyConfigItem& ); | ||
69 | void removeKeyConfig( const OKeyConfigItem& ); | ||
70 | signals: | ||
71 | void keyConfigChanged( OKeyConfig* ); | ||
72 | |||
73 | private: | ||
74 | OKeyConfigItemList m_keys; | ||
75 | }; | ||
76 | |||
77 | |||
78 | class OKeyConfigWidget : public QHBox { | ||
79 | Q_OBJECT | ||
80 | public: | ||
81 | enum ChangeMode { Imediate, Queu }; | ||
82 | OKeyConfigWidget( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); | ||
83 | OKeyConfigWidget( OKeyConfig *, QWidget* parent = 0, const char* = 0, WFlags = 0 ); | ||
84 | ~OKeyConfigWidget(); | ||
85 | |||
86 | void setChangeMode( enum ChangeMode ); | ||
87 | ChangeMode changeMode()const; | ||
88 | |||
89 | void reload(); | ||
90 | }; | ||
91 | |||
92 | } | ||
93 | } | ||
94 | |||
95 | |||
96 | #endif | ||