summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2020-07-02 10:37:09 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-07-02 11:42:12 +0200
commite278d721920c6bf2b05b0fa36e2097f691451a4a (patch)
treed511dec9774e4194995ab75e564c6f65a3d31ec3 /src/widgets
parentdbe179e959052ae357e424ec6b87d30ffed64ffc (diff)
Add keyboardModifiers member to QStyleOptionSlider, and use it for mac
Gets rid of a call to QApplication::keyboardModifiers in a method that is anyway only called from an input event handler, where we have that information already. Task-number: QTBUG-73829 Change-Id: I81753d6bf725e9db4918d831fac5b03a0b1940b9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/styles/qstyleoption.cpp4
-rw-r--r--src/widgets/styles/qstyleoption.h1
-rw-r--r--src/widgets/widgets/qscrollbar.cpp1
3 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp
index c2ab864c22..4624c6e7f0 100644
--- a/src/widgets/styles/qstyleoption.cpp
+++ b/src/widgets/styles/qstyleoption.cpp
@@ -1966,7 +1966,7 @@ QStyleOptionSlider::QStyleOptionSlider()
: QStyleOptionComplex(Version, SO_Slider), orientation(Qt::Horizontal), minimum(0), maximum(0),
tickPosition(QSlider::NoTicks), tickInterval(0), upsideDown(false),
sliderPosition(0), sliderValue(0), singleStep(0), pageStep(0), notchTarget(0.0),
- dialWrapping(false)
+ dialWrapping(false), keyboardModifiers{}
{
}
@@ -1977,7 +1977,7 @@ QStyleOptionSlider::QStyleOptionSlider(int version)
: QStyleOptionComplex(version, SO_Slider), orientation(Qt::Horizontal), minimum(0), maximum(0),
tickPosition(QSlider::NoTicks), tickInterval(0), upsideDown(false),
sliderPosition(0), sliderValue(0), singleStep(0), pageStep(0), notchTarget(0.0),
- dialWrapping(false)
+ dialWrapping(false), keyboardModifiers{}
{
}
diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h
index b81e48c669..38f2c98e38 100644
--- a/src/widgets/styles/qstyleoption.h
+++ b/src/widgets/styles/qstyleoption.h
@@ -527,6 +527,7 @@ public:
int pageStep;
qreal notchTarget;
bool dialWrapping;
+ Qt::KeyboardModifiers keyboardModifiers;
QStyleOptionSlider();
QStyleOptionSlider(const QStyleOptionSlider &other) : QStyleOptionComplex(Version, Type) { *this = other; }
diff --git a/src/widgets/widgets/qscrollbar.cpp b/src/widgets/widgets/qscrollbar.cpp
index 59575b9f2b..cf2a3c5bfe 100644
--- a/src/widgets/widgets/qscrollbar.cpp
+++ b/src/widgets/widgets/qscrollbar.cpp
@@ -553,6 +553,7 @@ void QScrollBar::mousePressEvent(QMouseEvent *e)
nullptr, this);
QStyleOptionSlider opt;
initStyleOption(&opt);
+ opt.keyboardModifiers = e->modifiers();
if (d->maximum == d->minimum // no range
|| (e->buttons() & (~e->button())) // another button was clicked before