aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickscrollbar.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-04-04 16:18:39 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-04-05 07:34:21 +0000
commited64115cbf11a758a9cacd2bd34f3af5603f73b7 (patch)
treeaee8d02bf8503499b579d3521d50728ea2d93c79 /src/quicktemplates2/qquickscrollbar.cpp
parent0704f76d4793929b79a1fefd6c9f83ac69e70307 (diff)
Set explicit cursors on all interactive controls
For example, if you have a floating button on top of a text editor, hovering the button must change the cursor from the editor's ibeam cursor to an arrow cursor. This applies to all interactive controls that call setAcceptedMouseButtons(). If a control blocks mouse events, it should not use some random cursor from another control underneath. Task-number: QTBUG-59629 Change-Id: I8a6ae306bbc76a9b22377361cb19cf9c3a872d31 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickscrollbar.cpp')
-rw-r--r--src/quicktemplates2/qquickscrollbar.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/quicktemplates2/qquickscrollbar.cpp b/src/quicktemplates2/qquickscrollbar.cpp
index 8f4337ae..cb5c0001 100644
--- a/src/quicktemplates2/qquickscrollbar.cpp
+++ b/src/quicktemplates2/qquickscrollbar.cpp
@@ -196,9 +196,18 @@ void QQuickScrollBarPrivate::setInteractive(bool enabled)
return;
interactive = enabled;
- q->setAcceptedMouseButtons(interactive ? Qt::LeftButton : Qt::NoButton);
- if (!interactive)
+ if (interactive) {
+ q->setAcceptedMouseButtons(Qt::LeftButton);
+#if QT_CONFIG(cursor)
+ q->setCursor(Qt::ArrowCursor);
+#endif
+ } else {
+ q->setAcceptedMouseButtons(Qt::NoButton);
+#if QT_CONFIG(cursor)
+ q->unsetCursor();
+#endif
q->ungrabMouse();
+ }
emit q->interactiveChanged();
}