diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-10-20 12:41:55 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-10-21 15:33:51 +0000 |
commit | bc546e14688c7056ac36b6f478fde852b5afaf46 (patch) | |
tree | 75cf4ed7146a362b11a9531d5314f03d738a3a96 /src/templates/qquickslider.cpp | |
parent | 8e1df766cf9e74661b50de4f4ed489af5b4edfc8 (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.cpp | 17 |
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 |