summaryrefslogtreecommitdiff
path: root/libopie2
Unidiff
Diffstat (limited to 'libopie2') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opieui/okeyconfigwidget.h96
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
12class QKeyEvent;
13
14namespace Opie {
15namespace Ui {
16
17class OKeyConfigItem {
18 friend class OKeyConfigManager;
19public:
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;
43private:
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
56class OKeyConfig : public QObject {
57 Q_OBJECT
58public:
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& );
70signals:
71 void keyConfigChanged( OKeyConfig* );
72
73private:
74 OKeyConfigItemList m_keys;
75};
76
77
78class OKeyConfigWidget : public QHBox {
79 Q_OBJECT
80public:
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