aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/common/mouseshortcut.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
commit3565aad630864ecdbe53fdaa501ea708555b3c7c (patch)
treec743e4ad0bad39ebdb2f514c7cc52d34a257ebbe /SQLiteStudio3/guiSQLiteStudio/common/mouseshortcut.h
parent1fdc150116cad39aae5c5da407c3312b47a59e3a (diff)
New upstream version 3.4.4+dfsg.upstream/3.4.4+dfsg
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/mouseshortcut.h')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/common/mouseshortcut.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/mouseshortcut.h b/SQLiteStudio3/guiSQLiteStudio/common/mouseshortcut.h
new file mode 100644
index 0000000..e400a24
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/common/mouseshortcut.h
@@ -0,0 +1,59 @@
+#ifndef MOUSESHORTCUT_H
+#define MOUSESHORTCUT_H
+
+#include <QObject>
+
+class MouseShortcut : public QObject
+{
+ Q_OBJECT
+
+ public:
+ enum ClickType
+ {
+ SingleClick,
+ DoubleClick,
+ Wheel
+ };
+
+ static MouseShortcut* forButton(MouseShortcut::ClickType type,
+ Qt::MouseButtons buttons,
+ Qt::KeyboardModifiers modifiers,
+ QObject* receiver,
+ const char* slot,
+ QObject *parent);
+
+ static MouseShortcut* forWheel(Qt::KeyboardModifiers modifiers,
+ QObject *parent = 0);
+
+ static MouseShortcut* forWheel(Qt::KeyboardModifiers modifiers,
+ QObject *parent,
+ const char *slot);
+ static MouseShortcut* forWheel(Qt::KeyboardModifiers modifiers,
+ QObject* receiver,
+ const char* slot,
+ QObject* parent);
+
+ void enableDebug();
+
+ protected:
+ MouseShortcut(MouseShortcut::ClickType type,
+ Qt::MouseButtons buttons,
+ Qt::KeyboardModifiers modifiers,
+ QObject *parent = 0);
+
+ bool eventFilter(QObject *object, QEvent *event);
+
+ private:
+ bool attributesMatch(QEvent* event);
+
+ MouseShortcut::ClickType type;
+ Qt::MouseButtons buttons;
+ Qt::KeyboardModifiers modifiers;
+ bool debug = false;
+
+ signals:
+ void activated(const QPoint& pos);
+ void wheelActivated(int delta);
+};
+
+#endif // MOUSESHORTCUT_H