aboutsummaryrefslogtreecommitdiff
path: root/filter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filter.cpp')
-rw-r--r--filter.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/filter.cpp b/filter.cpp
index cf41f648..814afb13 100644
--- a/filter.cpp
+++ b/filter.cpp
@@ -1,5 +1,6 @@
#include "filter.h"
#include <QKeyEvent>
+#include <QDebug>
filter::filter(QObject *parent) :
QObject(parent)
@@ -14,6 +15,10 @@ bool filter::eventFilter(QObject *obj, QEvent *ev) {
if(ke->key() == Qt::Key_Control) {
emit ctrlPressed();
m_ctrlPressed = true;
+ } else {
+ QKeySequence ks(ke->modifiers() + ke->key());
+ QString sks = ks.toString();
+ emit sequencePressed(sks);
}
} break;
case QEvent::KeyRelease: {
@@ -23,6 +28,16 @@ bool filter::eventFilter(QObject *obj, QEvent *ev) {
m_ctrlPressed = false;
}
} break;
+ case QEvent::MouseButtonPress: {
+ QMouseEvent *me = static_cast<QMouseEvent*>(ev);
+ emit mousePressed(QVariant::fromValue<QObject*>(obj), me->x(), me->y());
+ m_mousePressed = true;
+ } break;
+ case QEvent::MouseButtonRelease: {
+ QMouseEvent *me = static_cast<QMouseEvent*>(ev);
+ emit mouseReleased(QVariant::fromValue<QObject*>(obj), me->x(), me->y());
+ m_mousePressed = false;
+ } break;
default: break;
}