From 2f1e983aaf7afc8ac0ed572a48d9444acab51d00 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Tue, 1 Nov 2016 21:41:21 +0100 Subject: QQuickPopup: let subclasses control accessibility attributes Required for QQuickToolTip (text) and QQuickDialog (title). Change-Id: Ia4a4c948548b05e69bd6319228d73c3baed44abe Reviewed-by: Mitch Curtis --- src/quicktemplates2/qquickpopup.cpp | 36 +++++++++++++++++++++++++++++++++++ src/quicktemplates2/qquickpopup_p.h | 7 +++++++ src/quicktemplates2/qquickpopup_p_p.h | 1 + 3 files changed, 44 insertions(+) (limited to 'src') diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp index 518117fa..10657e90 100644 --- a/src/quicktemplates2/qquickpopup.cpp +++ b/src/quicktemplates2/qquickpopup.cpp @@ -648,6 +648,13 @@ QAccessible::Role QQuickPopupItem::accessibleRole() const Q_D(const QQuickPopupItem); return d->popup->accessibleRole(); } + +void QQuickPopupItem::accessibilityActiveChanged(bool active) +{ + Q_D(const QQuickPopupItem); + QQuickControl::accessibilityActiveChanged(active); + d->popup->accessibilityActiveChanged(active); +} #endif // QT_NO_ACCESSIBILITY QQuickPopupPositioner::QQuickPopupPositioner(QQuickPopupPrivate *popup) : @@ -2351,8 +2358,37 @@ QAccessible::Role QQuickPopup::accessibleRole() const { return QAccessible::LayeredPane; } + +void QQuickPopup::accessibilityActiveChanged(bool active) +{ + Q_UNUSED(active); +} #endif // QT_NO_ACCESSIBILITY +QString QQuickPopup::accessibleName() const +{ + Q_D(const QQuickPopup); + return d->popupItem->accessibleName(); +} + +void QQuickPopup::setAccessibleName(const QString &name) +{ + Q_D(QQuickPopup); + d->popupItem->setAccessibleName(name); +} + +QVariant QQuickPopup::accessibleProperty(const char *propertyName) +{ + Q_D(const QQuickPopup); + return d->popupItem->accessibleProperty(propertyName); +} + +bool QQuickPopup::setAccessibleProperty(const char *propertyName, const QVariant &value) +{ + Q_D(QQuickPopup); + return d->popupItem->setAccessibleProperty(propertyName, value); +} + QT_END_NAMESPACE #include "moc_qquickpopup_p.cpp" diff --git a/src/quicktemplates2/qquickpopup_p.h b/src/quicktemplates2/qquickpopup_p.h index a024c68f..6393dcdc 100644 --- a/src/quicktemplates2/qquickpopup_p.h +++ b/src/quicktemplates2/qquickpopup_p.h @@ -359,8 +359,15 @@ protected: #ifndef QT_NO_ACCESSIBILITY virtual QAccessible::Role accessibleRole() const; + virtual void accessibilityActiveChanged(bool active); #endif + QString accessibleName() const; + void setAccessibleName(const QString &name); + + QVariant accessibleProperty(const char *propertyName); + bool setAccessibleProperty(const char *propertyName, const QVariant &value); + private: Q_DISABLE_COPY(QQuickPopup) Q_DECLARE_PRIVATE(QQuickPopup) diff --git a/src/quicktemplates2/qquickpopup_p_p.h b/src/quicktemplates2/qquickpopup_p_p.h index 96ce2ca0..0c12b077 100644 --- a/src/quicktemplates2/qquickpopup_p_p.h +++ b/src/quicktemplates2/qquickpopup_p_p.h @@ -116,6 +116,7 @@ protected: #ifndef QT_NO_ACCESSIBILITY QAccessible::Role accessibleRole() const override; + void accessibilityActiveChanged(bool active) override; #endif private: -- cgit v1.2.3