summaryrefslogtreecommitdiffstats
path: root/src/widgets/accessible/complexwidgets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/accessible/complexwidgets.cpp')
-rw-r--r--src/widgets/accessible/complexwidgets.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp
index 4d9a629ab6..ce2ceac938 100644
--- a/src/widgets/accessible/complexwidgets.cpp
+++ b/src/widgets/accessible/complexwidgets.cpp
@@ -108,7 +108,10 @@ public:
s.invalid = true;
return s;
}
- return parent()->state();
+
+ QAccessible::State s = parent()->state();
+ s.focused = (m_index == m_parent->currentIndex());
+ return s;
}
QRect rect() const override {
if (!isValid())
@@ -216,6 +219,16 @@ QTabBar *QAccessibleTabBar::tabBar() const
return qobject_cast<QTabBar*>(object());
}
+QAccessibleInterface* QAccessibleTabBar::focusChild() const
+{
+ for (int i = 0; i < childCount(); ++i) {
+ if (child(i)->state().focused)
+ return child(i);
+ }
+
+ return nullptr;
+}
+
QAccessibleInterface* QAccessibleTabBar::child(int index) const
{
if (QAccessible::Id id = m_childInterfaces.value(index))