aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquickslider.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-10-20 12:41:55 +0200
committerLiang Qi <liang.qi@theqtcompany.com>2015-10-21 15:33:51 +0000
commitbc546e14688c7056ac36b6f478fde852b5afaf46 (patch)
tree75cf4ed7146a362b11a9531d5314f03d738a3a96 /src/templates/qquickslider.cpp
parent8e1df766cf9e74661b50de4f4ed489af5b4edfc8 (diff)
QQuickControl: dynamically create a11y attached object
Using QAccessible::ActivationObserver approach. Change-Id: Ib99c1f9b7b0c37a3e8a4747db265c9df77acc1f8 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/templates/qquickslider.cpp')
-rw-r--r--src/templates/qquickslider.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/templates/qquickslider.cpp b/src/templates/qquickslider.cpp
index 9e15f1aa..3413d504 100644
--- a/src/templates/qquickslider.cpp
+++ b/src/templates/qquickslider.cpp
@@ -78,7 +78,10 @@ class QQuickSliderPrivate : public QQuickControlPrivate
public:
QQuickSliderPrivate() : from(0), to(1), value(0), position(0), stepSize(0), pressed(false),
orientation(Qt::Horizontal), snapMode(QQuickSlider::NoSnap),
- handle(Q_NULLPTR), track(Q_NULLPTR) { }
+ handle(Q_NULLPTR), track(Q_NULLPTR)
+ {
+ m_accessibleRole = 0x00000033; // QAccessible::Slider
+ }
qreal valueAt(qreal position) const;
qreal snapPosition(qreal position) const;
@@ -157,7 +160,6 @@ QQuickSlider::QQuickSlider(QQuickItem *parent) :
{
setActiveFocusOnTab(true);
setAcceptedMouseButtons(Qt::LeftButton);
- setAccessibleRole(0x00000033); //QAccessible::Slider
}
/*!
@@ -555,4 +557,15 @@ void QQuickSlider::componentComplete()
d->updatePosition();
}
+#ifndef QT_NO_ACCESSIBILITY
+void QQuickSlider::accessibilityActiveChanged(bool active)
+{
+ QQuickControl::accessibilityActiveChanged(active);
+
+ Q_D(QQuickSlider);
+ if (active)
+ setAccessibleProperty("pressed", d->pressed);
+}
+#endif
+
QT_END_NAMESPACE