summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/extension/QPopupMenuEx.h
Side-by-side diff
Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/extension/QPopupMenuEx.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/extension/QPopupMenuEx.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/extension/QPopupMenuEx.h b/noncore/applets/keyhelper/keyhelperapplet/extension/QPopupMenuEx.h
new file mode 100644
index 0000000..16e18a1
--- a/dev/null
+++ b/noncore/applets/keyhelper/keyhelperapplet/extension/QPopupMenuEx.h
@@ -0,0 +1,28 @@
+#ifndef _QPOPUPMENUEX_H_
+#define _QPOPUPMENUEX_H_
+
+#include <qpopupmenu.h>
+#include <qstring.h>
+#include <qevent.h>
+
+class QPopupMenuEx : public QPopupMenu
+{
+public:
+ QPopupMenuEx(QWidget* parent=0, const char* name=0)
+ : QPopupMenu(parent, name){}
+protected:
+ void keyPressEvent(QKeyEvent* e){
+ QChar c = e->text()[0];
+ QKeyEvent* ke = new QKeyEvent(
+ e->type(),
+ e->key(),
+ c.lower().latin1(),
+ 0,
+ c.lower(),
+ e->isAutoRepeat());
+ QPopupMenu::keyPressEvent(ke);
+ }
+private:
+};
+
+#endif /* _QPOPUPMENUEX_H_ */