diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-01-08 16:15:21 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-11 10:02:58 +0100 |
commit | a1b64d9566a49d287a8fad122859e8a99ad92151 (patch) | |
tree | bace1e16d30cdaeb30a1c760dbf7e47a28380664 | |
parent | aae772e7c3820fe3559dafcaa958711d89a78827 (diff) |
On Mac only editable ComboBox should receive tab focus
[ChangeLog][QtQuickControls] Mac: ComboBox will only get tab focus when it is
editable.
Change-Id: Ife04de67b2e3dea77ba878b247ad0b676c879c02
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
-rw-r--r-- | src/plugins/accessible/quick/qaccessiblequickitem.cpp | 5 | ||||
-rw-r--r-- | src/quick/items/qquickitem.cpp | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/plugins/accessible/quick/qaccessiblequickitem.cpp b/src/plugins/accessible/quick/qaccessiblequickitem.cpp index 9e8c2a6020..3521d4f98e 100644 --- a/src/plugins/accessible/quick/qaccessiblequickitem.cpp +++ b/src/plugins/accessible/quick/qaccessiblequickitem.cpp @@ -185,11 +185,14 @@ QAccessible::State QAccessibleQuickItem::state() const case QAccessible::PageTab: case QAccessible::EditableText: case QAccessible::SpinBox: - case QAccessible::ComboBox: case QAccessible::Terminal: case QAccessible::ScrollBar: state.focusable = true; break; + case QAccessible::ComboBox: + state.focusable = true; + state.editable = item()->property("editable").toBool(); + break; default: break; } diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index c308a7230a..5739d6874e 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -2067,8 +2067,12 @@ bool QQuickItemPrivate::canAcceptTabFocus(QQuickItem *item) if (role == QAccessible::EditableText || role == QAccessible::Table || role == QAccessible::List - || role == QAccessible::SpinBox) + || role == QAccessible::SpinBox) { result = true; + } else if (role == QAccessible::ComboBox) { + QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(item); + return iface->state().editable; + } } #endif |