From 5af554723d63bfcd1d668d7a2a89d0041e53255d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathias=20Panzenb=C3=B6ck?= Date: Sat, 2 Apr 2016 23:42:51 +0200 Subject: [PATCH] support mouse wheel in new key dialog --- src/keydialog.cpp | 33 +++++++++++++++++++++++++++++++++ src/keydialog.hpp | 1 + 2 files changed, 34 insertions(+) diff --git a/src/keydialog.cpp b/src/keydialog.cpp index 02a2e82..2a82adc 100644 --- a/src/keydialog.cpp +++ b/src/keydialog.cpp @@ -80,3 +80,36 @@ void KeyDialog::mouseReleaseEvent( QMouseEvent* event ) { m_isMouse = true; accept(); } + +void KeyDialog::wheelEvent( QWheelEvent *event ) { + if ( !m_acceptMouse ) { + return; + } + + const QPoint delta = event->angleDelta(); + const int x = delta.x(); + const int y = delta.y(); + + if (y != 0) { + if (y < 0) { + m_value = 4; + } + else { + m_value = 5; + } + } + else if (x != 0) { + if (x < 0) { + m_value = 6; + } + else { + m_value = 7; + } + } + else { + return; + } + + m_isMouse = true; + accept(); +} diff --git a/src/keydialog.hpp b/src/keydialog.hpp index 9637b04..1153e17 100644 --- a/src/keydialog.hpp +++ b/src/keydialog.hpp @@ -20,6 +20,7 @@ protected: void keyPressEvent( QKeyEvent* ); void keyReleaseEvent( QKeyEvent* ); void mouseReleaseEvent( QMouseEvent* ); + void wheelEvent( QWheelEvent *event ); public: static int getKey( const QString& button, bool acceptMouse = false, bool* mousePressed = 0, QWidget* parent = 0 );