summaryrefslogtreecommitdiffstats
path: root/kdecore/kaccelprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdecore/kaccelprivate.h')
-rw-r--r--kdecore/kaccelprivate.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/kdecore/kaccelprivate.h b/kdecore/kaccelprivate.h
new file mode 100644
index 000000000..7938aca0c
--- /dev/null
+++ b/kdecore/kaccelprivate.h
@@ -0,0 +1,53 @@
+#ifndef __KACCELPRIVATE_H
+#define __KACCELPRIVATE_H
+
+#include "kkeyserver_x11.h"
+#include <qtimer.h>
+
+class KAccelAction;
+
+/**
+ * @internal
+ */
+class KDECORE_EXPORT KAccelPrivate : public QObject, public KAccelBase
+{
+ Q_OBJECT
+ public:
+ KAccel* m_pAccel;
+ QWidget* m_pWatch;
+ QMap<int, int> m_mapIDToKey;
+ QMap<int, KAccelAction*> m_mapIDToAction;
+ QTimer m_timerShowMenu;
+
+ KAccelPrivate( KAccel* pParent, QWidget* pWatch );
+
+ virtual void setEnabled( bool bEnabled );
+
+ bool setEnabled( const QString& sAction, bool bEnable );
+
+ virtual bool removeAction( const QString& sAction );
+
+ virtual bool emitSignal( KAccelBase::Signal signal );
+ virtual bool connectKey( KAccelAction& action, const KKeyServer::Key& key );
+ virtual bool connectKey( const KKeyServer::Key& key );
+ virtual bool disconnectKey( KAccelAction& action, const KKeyServer::Key& key );
+ virtual bool disconnectKey( const KKeyServer::Key& key );
+
+ signals:
+ void menuItemActivated();
+ void menuItemActivated(KAccelAction*);
+
+ private:
+#ifndef Q_WS_WIN /** @todo TEMP: new implementation (commit #424926) didn't work */
+ void emitActivatedSignal(KAccelAction*);
+#endif
+
+ private slots:
+ void slotKeyPressed( int id );
+ void slotShowMenu();
+ void slotMenuActivated( int iAction );
+
+ bool eventFilter( QObject* pWatched, QEvent* pEvent ); // virtual method from QObject
+};
+
+#endif // !__KACCELPRIVATE_H