summaryrefslogtreecommitdiff
path: root/libopie2/opieui/okeyconfigwidget.h
authorzecke <zecke>2004-04-13 14:53:58 (UTC)
committer zecke <zecke>2004-04-13 14:53:58 (UTC)
commitb51d88d7b0b517b71ae3b59d8228335f38ca9fc7 (patch) (side-by-side diff)
tree302377973a897934c944c7a126e5e0a510694979 /libopie2/opieui/okeyconfigwidget.h
parentc4c842558e1457f64d43b237f24f6ea1a4f9d76b (diff)
downloadopie-b51d88d7b0b517b71ae3b59d8228335f38ca9fc7.zip
opie-b51d88d7b0b517b71ae3b59d8228335f38ca9fc7.tar.gz
opie-b51d88d7b0b517b71ae3b59d8228335f38ca9fc7.tar.bz2
Split the KeyConfig Manager and Widget into Ui and Core parts
Adjust the only user... Don't add a 2nd example to core but mention the one for the classes in opieui/okeyconfigwidget
Diffstat (limited to 'libopie2/opieui/okeyconfigwidget.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/okeyconfigwidget.h199
1 files changed, 7 insertions, 192 deletions
diff --git a/libopie2/opieui/okeyconfigwidget.h b/libopie2/opieui/okeyconfigwidget.h
index bb8eb6c..d11054c 100644
--- a/libopie2/opieui/okeyconfigwidget.h
+++ b/libopie2/opieui/okeyconfigwidget.h
@@ -7,14 +7,10 @@
#ifndef ODP_KEY_CONFIG_WIDGET_H
#define ODP_KEY_CONFIG_WIDGET_H
-#include <opie2/oconfig.h>
-#include <opie2/odevice.h>
+#include <opie2/okeyconfigmanager.h>
-#include <qstring.h>
-#include <qpixmap.h>
-#include <qcstring.h>
#include <qhbox.h>
-#include <qvaluelist.h>
+
class QKeyEvent;
class QLabel;
@@ -33,187 +29,6 @@ namespace Internal {
class OListViewItem;
class OListView;
-/**
- * \brief small class representing a Key with possible modifiers
- * This class holds information about key code and possible
- * modifier state. That is the lowest level of the key input
- * functions.
- * There are also static methods to get special keys.
- * OKeyPair will be used with \see OKeyConfigItem
- *
- * @since 1.2
- */
-class OKeyPair {
-public:
- typedef QValueList<OKeyPair> List;
- OKeyPair( int key = -1, int modifier = -1);
- ~OKeyPair();
-
- bool operator==( const OKeyPair& )const;
- bool operator!=( const OKeyPair& )const;
-
- bool isEmpty()const;
-
- int keycode()const;
- int modifier()const;
-
- void setKeycode( int );
- void setModifier( int );
-
- static OKeyPair returnKey();
- static OKeyPair leftArrowKey();
- static OKeyPair rightArrowKey();
- static OKeyPair upArrowKey();
- static OKeyPair downArrowKey();
- static OKeyPair emptyKey();
- static OKeyPair::List hardwareKeys();
-
-private:
- int m_key;
- int m_mod;
- class Private;
- Private* d;
-};
-
-/**
- * A class to represent an OKeyPair.
- * It consists out of a Text exposed to the user, Config Key Item,
- * Pixmap, A default OKeyPair and the set OKeyPair.
- * You can also pass an id to it
- *
- * @since 1.1.2
- */
-class OKeyConfigItem {
- friend class OKeyConfigManager;
-public:
- typedef QValueList<OKeyConfigItem> List;
- OKeyConfigItem( const QString& text = QString::null , const QCString& config_key = QCString(),
- const QPixmap& symbol = QPixmap(),
- int id = -1,
- const OKeyPair& def = OKeyPair::emptyKey(),
- QObject *caller = 0, const char* slot = 0);
- OKeyConfigItem( const Opie::Core::ODeviceButton& );
- ~OKeyConfigItem();
-
- bool operator==( const OKeyConfigItem& )const;
- bool operator!=( const OKeyConfigItem& )const;
-
- QString text()const;
- QPixmap pixmap()const;
- int id()const;
-
-
-
- OKeyPair keyPair()const;
- OKeyPair defaultKeyPair()const;
- QCString configKey()const;
-
-
- void setText( const QString& text );
- void setPixmap( const QPixmap& );
- void setKeyPair( const OKeyPair& );
- void setDefaultKeyPair( const OKeyPair& );
-
- bool isEmpty()const;
-
-protected:
- QObject *object()const;
- QCString slot()const;
- void setId( int id );
- void setConfigKey( const QCString& );
-
-private:
- QString m_text;
- QCString m_config;
- QPixmap m_pix;
- int m_id;
- OKeyPair m_key;
- OKeyPair m_def;
- QObject *m_obj;
- QCString m_str;
- class Private;
- Private *d;
-};
-
-
-
-/**
- * \brief A manager to load and save Key Actions and get notified
- * This is the Manager for KeyActions.
- * You can say from which config and group to read data, to grab the
- * keyboard to handle hardware keys, you can supply a blacklist of
- * keys which should not be used by allowed to be used.
- * You can even pass this manager to a Widget to do the configuration for you.
- * You need to add OKeyConfigItem for your keys and then issue a load() to
- * read the Key information.
- * You can either handle the QKeyEvent yourself and ask this class if it is
- * handled by your action and let give you the action. Or you can install
- * the event filter and get a signal.
- * You need to load ans save yourself!
- *
- * @since 1.1.2
- */
-class OKeyConfigManager : public QObject {
- Q_OBJECT
- typedef QMap<int, OKeyConfigItem::List> OKeyMapConfigPrivate;
-public:
- OKeyConfigManager(Opie::Core::OConfig *conf = 0,
- const QString& group = QString::null,
- const OKeyPair::List &block = OKeyPair::List(),
- bool grabkeyboard = false, QObject * par = 0,
- const char* name = 0 );
- ~OKeyConfigManager();
-
- void load();
- void save();
-
- OKeyConfigItem handleKeyEvent( QKeyEvent* );
- int handleKeyEventId( QKeyEvent* );
-
- void addKeyConfig( const OKeyConfigItem& );
- void removeKeyConfig( const OKeyConfigItem& );
- void clearKeyConfig();
-
- void addToBlackList( const OKeyPair& );
- void removeFromBlackList( const OKeyPair& );
- void clearBlackList();
- OKeyPair::List blackList()const;
-
- void handleWidget( QWidget* );
-
- bool eventFilter( QObject*, QEvent* );
-
- OKeyConfigItem::List keyConfigList()const;
-signals:
- /**
- * The Signals are triggered on KeyPress and KeyRelease!
- * You can check the isDown of the QKeyEvent
- * @see QKeyEvent
- */
- void actionActivated( QWidget*, QKeyEvent*, const Opie::Ui::OKeyConfigItem& );
-
- /**
- * This Signal correspondents to the OKeyConfigItem slot
- * and object
- *
- * @see OKeyConfigItem::slot
- * @see OKeyConfigItem::object
- */
- void actionActivated( QWidget* par, QKeyEvent* key);
-
-private:
- OKeyConfigItem::List keyList( int );
- OKeyConfigItem::List m_keys;
- QValueList<QWidget*> m_widgets;
- Opie::Core::OConfig *m_conf;
- QString m_group;
- OKeyPair::List m_blackKeys;
- bool m_grab : 1;
- OKeyMapConfigPrivate *m_map;
- class Private;
- Private *d;
-};
-
/**
* With this Widget you can let the Keyboard Shortcuts
@@ -240,7 +55,7 @@ public:
void setChangeMode( enum ChangeMode );
ChangeMode changeMode()const;
- void insert( const QString& name, OKeyConfigManager* );
+ void insert( const QString& name, Opie::Core::OKeyConfigManager* );
void load();
void save();
@@ -254,9 +69,9 @@ private slots:
private:
static bool sanityCheck( Opie::Ui::Internal::OKeyListViewItem* man,
- const OKeyPair& newItem );
+ const Opie::Core::OKeyPair& newItem );
void updateItem( Opie::Ui::Internal::OKeyListViewItem* man,
- const OKeyPair& newItem);
+ const Opie::Core::OKeyPair& newItem);
void initUi();
Opie::Ui::OListView *m_view;
Opie::Ui::Internal::OKeyConfigWidgetPrivateList m_list;
@@ -293,7 +108,7 @@ public:
OKeyChooserConfigDialog( QWidget* parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0 );
~OKeyChooserConfigDialog();
- OKeyPair keyPair()const;
+ Opie::Core::OKeyPair keyPair()const;
protected:
void keyPressEvent( QKeyEvent* );
@@ -309,7 +124,7 @@ private:
QTimer *m_timer;
QLabel *m_lbl;
bool m_virtKey : 1;
- OKeyPair m_keyPair;
+ Opie::Core::OKeyPair m_keyPair;
int m_key, m_mod;
class Private;
Private *d;