diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2012-11-04 12:54:30 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-12-19 14:59:06 +0100 |
commit | c8ef32e2b6cded37a6854b94a281464c1b7a298b (patch) | |
tree | 3f88b1184ba65c1bfe51ffae52c5fd28d98c48ae /src/quick/items/qquickitem.cpp | |
parent | 29152ec5208261e3d1ad8fa7de4d22efce3de813 (diff) |
Accessibility: Improve interface handling in Quick
This changes how interfaces are handled:
the QAccessibleQuickItem will simply subclass
all interfaces and dynamically return 0 or the
appropriate interface_cast.
This makes our implementation a lot more flexible.
To make use of the value interface, only a value
property is needed (together with a corresponding role).
Since the implementation of the interfaces became simpler,
the value interface and some text interface improvements
go along with the change.
Change-Id: I003ec3016d48d730a4acac467bce322167842f4d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Diffstat (limited to 'src/quick/items/qquickitem.cpp')
-rw-r--r-- | src/quick/items/qquickitem.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 2340da9b9f..b23ff68abd 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -3129,8 +3129,12 @@ void QQuickItem::inputMethodEvent(QInputMethodEvent *event) void QQuickItem::focusInEvent(QFocusEvent * /*event*/) { #ifndef QT_NO_ACCESSIBILITY - QAccessibleEvent ev(this, QAccessible::Focus); - QAccessible::updateAccessibility(&ev); + if (QAccessible::isActive()) { + if (QObject *acc = QQuickAccessibleAttached::findAccessible(this)) { + QAccessibleEvent ev(acc, QAccessible::Focus); + QAccessible::updateAccessibility(&ev); + } + } #endif } @@ -5274,7 +5278,7 @@ void QQuickItem::setFlags(Flags flags) } } - if ((flags & ItemClipsChildrenToShape ) != (d->flags & ItemClipsChildrenToShape)) + if ((flags & ItemClipsChildrenToShape) != (d->flags & ItemClipsChildrenToShape)) d->dirty(QQuickItemPrivate::Clip); d->flags = flags; |