aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/accessible/quick/qaccessiblequickitem.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@nokia.com>2012-01-04 14:37:27 +0100
committerQt by Nokia <qt-info@nokia.com>2012-01-10 13:47:53 +0100
commit1b4897f0710921fb0a55932a7fb6f17a45989c41 (patch)
tree312393c117c688a1feb6be19e8f55030f118c404 /src/plugins/accessible/quick/qaccessiblequickitem.cpp
parent6ffcd091511bed98fbc698262d42597722910a15 (diff)
Accessibility: Checked state for check boxes and radio buttons.
Also adapt to new api in qtbase - state is now a bit field. Change-Id: Ia4266f3d5094a6c32e0ace3499910b57c3e71c25 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Diffstat (limited to 'src/plugins/accessible/quick/qaccessiblequickitem.cpp')
-rw-r--r--src/plugins/accessible/quick/qaccessiblequickitem.cpp29
1 files changed, 23 insertions, 6 deletions
diff --git a/src/plugins/accessible/quick/qaccessiblequickitem.cpp b/src/plugins/accessible/quick/qaccessiblequickitem.cpp
index 7523f805e6..5cedfe62d6 100644
--- a/src/plugins/accessible/quick/qaccessiblequickitem.cpp
+++ b/src/plugins/accessible/quick/qaccessiblequickitem.cpp
@@ -174,17 +174,34 @@ QList<QQuickItem *> QAccessibleQuickItem::childItems() const
return item()->childItems();
}
-QFlags<QAccessible::StateFlag> QAccessibleQuickItem::state() const
+QAccessible::State QAccessibleQuickItem::state() const
{
- QAccessible::State state = QAccessible::Normal;
-
- if (item()->hasActiveFocus()) {
- state |= QAccessible::Focused;
+ QAccessible::State state;
+
+ if (item()->hasActiveFocus())
+ state.focused = true;
+
+ QAccessible::Role r = role();
+ switch (r) {
+ case QAccessible::Button: {
+ QVariant checkable = item()->property("checkable");
+ if (!checkable.toBool())
+ break;
+ // fall through
+ }
+ case QAccessible::CheckBox:
+ case QAccessible::RadioButton: {
+ // FIXME when states are extended: state.checkable = true;
+ state.checked = item()->property("checked").toBool();
+ break;
+ }
+ default:
+ break;
}
+
return state;
}
-
QAccessible::Role QAccessibleQuickItem::role() const
{
// Workaround for setAccessibleRole() not working for