author | zecke <zecke> | 2004-03-24 00:06:20 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-03-24 00:06:20 (UTC) |
commit | dbde00826e485c509471961a15f95395a81b3b72 (patch) (side-by-side diff) | |
tree | 92ac26cc77cb6f9df4c49606b2b791adedb1ba48 | |
parent | c8acbf192ca4aa64ed66306ca872cb3860590b3c (diff) | |
download | opie-dbde00826e485c509471961a15f95395a81b3b72.zip opie-dbde00826e485c509471961a15f95395a81b3b72.tar.gz opie-dbde00826e485c509471961a15f95395a81b3b72.tar.bz2 |
Ideas from Mickey. Install eventFilter for a widget as well and then
send a signal
-rw-r--r-- | libopie2/opieui/okeyconfigwidget.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libopie2/opieui/okeyconfigwidget.h b/libopie2/opieui/okeyconfigwidget.h index d76ea46..bcbb579 100644 --- a/libopie2/opieui/okeyconfigwidget.h +++ b/libopie2/opieui/okeyconfigwidget.h @@ -1,96 +1,105 @@ #ifndef ODP_KEY_CONFIG_WIDGET_H #define ODP_KEY_CONFIG_WIDGET_H #include <opie2/oconfig.h> #include <qstring.h> #include <qpixmap.h> #include <qbytearray.h> #include <qhbox.h> #include <qvaluelist.h> class QKeyEvent; namespace Opie { namespace Ui { class OKeyConfigItem { friend class OKeyConfigManager; public: typedef QValueList<OKeyConfigItem> OKeyConfigItemList; OKeyConfigItem( const QString& text = QString::null , const QCString& config_key = QCString(), const QPixmap& symbol = QPixmap(), int key = 0, int mod = 0, int default_key = 0, int default_modified = 0 ); ~OKeyConfigItem(); QString text()const; QPixmap pixmap()const; int key()const; int modifier()const; int defaultKey()const; int defaultModifier()const; void setText( const QString& text ); void setPixmap( const QPixmap& ); void setKey( int ); void setModied( int ); void setDefaultKey( int ); void setDefaultModifier( int ); bool isConfigured()const; bool isEmpty()const; private: QString m_text; QCString m_config; QPixmap m_pix; int m_key; int m_mod; int m_defKey; int m_defMod; class Private; Private *d; }; class OKeyConfig : public QObject { Q_OBJECT public: OKeyConfig(Opie::Core::OConfig *conf = 0, bool grabkeyboard); ~OKeyConfig(); void load(); void save(); OKeyConfigItem handleKeyEvent( QKeyEvent* ); QString handleKeyEventString( QKeyEvent* ); void addKeyConfig( const OKeyConfigItem& ); void removeKeyConfig( const OKeyConfigItem& ); + + void handleWidget( QWidget* ); signals: void keyConfigChanged( OKeyConfig* ); + void actionActivated( QWidget*, QKeyEvent*, const OKeyConfigItem& ); private: OKeyConfigItemList m_keys; + QValueList<QWidget*> m_widgets; + class Private; + Private *d; }; class OKeyConfigWidget : public QHBox { Q_OBJECT public: enum ChangeMode { Imediate, Queu }; OKeyConfigWidget( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); OKeyConfigWidget( OKeyConfig *, QWidget* parent = 0, const char* = 0, WFlags = 0 ); ~OKeyConfigWidget(); void setChangeMode( enum ChangeMode ); ChangeMode changeMode()const; void reload(); +private: + class Private; + Private *d; }; } } #endif |