summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/qwindowsmousehandler.h
diff options
context:
space:
mode:
authorGlenn Watson <glenn.watson@nokia.com>2012-06-22 10:36:36 +1000
committerQt by Nokia <qt-info@nokia.com>2012-06-22 11:47:24 +0200
commit4a8d9eed87565b20c1f10b173c652be26ea608f7 (patch)
treefc278efc4fa66a1b7f8233be549978fd36a98fc3 /src/plugins/platforms/windows/qwindowsmousehandler.h
parent6481218da13539529b87626a352a17f42c57be61 (diff)
Fix key modifiers in mouse wheel events on Windows.
The Windows platform plugin was not checking for the control or shift keyboard modifiers when processing mouse wheel events. Added a function to convert Windows wheel events to Qt::KeyboardModifiers and passed this through the event chain. Task-number: QTBUG-25754 Change-Id: I6551e98b4eaebad5704058bddfb06502ded5155d Reviewed-by: Martin Jones <martin.jones@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsmousehandler.h')
-rw-r--r--src/plugins/platforms/windows/qwindowsmousehandler.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsmousehandler.h b/src/plugins/platforms/windows/qwindowsmousehandler.h
index b3d176db9b..a978840d67 100644
--- a/src/plugins/platforms/windows/qwindowsmousehandler.h
+++ b/src/plugins/platforms/windows/qwindowsmousehandler.h
@@ -67,6 +67,7 @@ public:
LRESULT *result);
static inline Qt::MouseButtons keyStateToMouseButtons(int);
+ static inline Qt::KeyboardModifiers keyStateToModifiers(int);
static inline int mouseButtonsToKeyState(Qt::MouseButtons);
QWindow *windowUnderMouse() const { return m_windowUnderMouse.data(); }
@@ -96,6 +97,16 @@ Qt::MouseButtons QWindowsMouseHandler::keyStateToMouseButtons(int wParam)
return mb;
}
+Qt::KeyboardModifiers QWindowsMouseHandler::keyStateToModifiers(int wParam)
+{
+ Qt::KeyboardModifiers mods(Qt::NoModifier);
+ if (wParam & MK_CONTROL)
+ mods |= Qt::ControlModifier;
+ if (wParam & MK_SHIFT)
+ mods |= Qt::ShiftModifier;
+ return mods;
+}
+
int QWindowsMouseHandler::mouseButtonsToKeyState(Qt::MouseButtons mb)
{
int result = 0;