diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2019-11-05 15:49:23 +0100 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2019-11-06 13:43:50 +0100 |
commit | b802031e2d8b4b38267f1ec2c00507bfd8ed1f5f (patch) | |
tree | ee811e7e1cc23dcf9f85219b755ec69eafee011c /src | |
parent | 21844350df530a65071e8679d5e047adf553e0f7 (diff) |
QQuickAccessibleAttached: keep track of name being explicitly set
This allows types to attach an accessible name to an item, so long as
the user hasn't done so themselves.
Task-number: QTBUG-66583
Change-Id: I04f26815ffeaf1198fee25dc414253de8b8dfabe
Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquickaccessibleattached.cpp | 13 | ||||
-rw-r--r-- | src/quick/items/qquickaccessibleattached_p.h | 5 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/quick/items/qquickaccessibleattached.cpp b/src/quick/items/qquickaccessibleattached.cpp index c150e4efa2..2da01e9151 100644 --- a/src/quick/items/qquickaccessibleattached.cpp +++ b/src/quick/items/qquickaccessibleattached.cpp @@ -433,6 +433,19 @@ void QQuickAccessibleAttached::setRole(QAccessible::Role role) } } +bool QQuickAccessibleAttached::wasNameExplicitlySet() const +{ + return m_nameExplicitlySet; +} + +// Allows types to attach an accessible name to an item as a convenience, +// so long as the user hasn't done so themselves. +void QQuickAccessibleAttached::setNameImplicitly(const QString &name) +{ + setName(name); + m_nameExplicitlySet = false; +} + QQuickAccessibleAttached *QQuickAccessibleAttached::qmlAttachedProperties(QObject *obj) { return new QQuickAccessibleAttached(obj); diff --git a/src/quick/items/qquickaccessibleattached_p.h b/src/quick/items/qquickaccessibleattached_p.h index f4194ef13d..87fb79ecc9 100644 --- a/src/quick/items/qquickaccessibleattached_p.h +++ b/src/quick/items/qquickaccessibleattached_p.h @@ -118,7 +118,10 @@ public: return QString(); return m_name; } + + bool wasNameExplicitlySet() const; void setName(const QString &name) { + m_nameExplicitlySet = true; if (name != m_name) { m_name = name; Q_EMIT nameChanged(); @@ -126,6 +129,7 @@ public: QAccessible::updateAccessibility(&ev); } } + void setNameImplicitly(const QString &name); QString description() const { return m_description; } void setDescription(const QString &description) @@ -216,6 +220,7 @@ private: QAccessible::State m_state; QAccessible::State m_stateExplicitlySet; QString m_name; + bool m_nameExplicitlySet = false; QString m_description; static QMetaMethod sigPress; |