summaryrefslogtreecommitdiffstats
path: root/src/plugins/styles
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2021-10-05 15:47:06 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2021-10-08 00:45:18 +0200
commite0b6b27d397faac924751be8da2c781286c3f8d7 (patch)
treecb35796de0d7e15b20919b6d5f228e5fdca78d7a /src/plugins/styles
parente4a09b0194f5be39dfb445bbc5722410ed7bd9dc (diff)
Add style hint for preventing spin box selection on up/down
On a mobile device, selecting text in a line edit brings up the text action popup for select/copy/cut. In a spinbox where the user changes the value using the buttons, this can be very irritating, without providing any usability - the user is unlikely to start typing, at least not without first transferring focus into the lineedit first to bring up the keyboard. This style hint allows styles to override the default behavior of QAbstractSpinBox. Implement the customization for the Android style, and add a test case for QSpinBox. [ChangeLog][QtWidgets][QStyle] A new style hint, SH_SpinBox_SelectOnStep, specifies whether pressing the up/down buttons or keys in a spinbox will automatically select the text. Fixes: QTBUG-93366 Change-Id: If06365a7c62087a2213145e13119f56544ac33b5 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/plugins/styles')
-rw-r--r--src/plugins/styles/android/qandroidstyle.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/styles/android/qandroidstyle.cpp b/src/plugins/styles/android/qandroidstyle.cpp
index 1d9ce7e9b0..464f48b84b 100644
--- a/src/plugins/styles/android/qandroidstyle.cpp
+++ b/src/plugins/styles/android/qandroidstyle.cpp
@@ -677,6 +677,9 @@ int QAndroidStyle::styleHint(QStyle::StyleHint hint, const QStyleOption *option,
case SH_RequestSoftwareInputPanel:
return RSIP_OnMouseClick;
+ case SH_SpinBox_SelectOnStep:
+ return 0;
+
default:
return QFusionStyle::styleHint(hint, option, widget, returnData);
}