Do not check isActiveWindow in QAccessibleWidget::state

QWidget::isActiveWindow() was being checked in QAccessibleWidget::state
to determine if a widget is focusable. As a result, focusable widgets
were reported to be not focusable when the window was not active.

Change-Id: I73c47181ed132a84f0251cb67d0e20912e29a1a6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
This commit is contained in:
José Millán Soto 2012-01-18 18:23:43 +01:00 committed by Qt by Nokia
parent 3ae3aa0e51
commit 009cd671ec
2 changed files with 3 additions and 3 deletions

View File

@ -597,7 +597,7 @@ QAccessible::State QAccessibleWidget::state() const
QWidget *w = widget();
if (w->testAttribute(Qt::WA_WState_Visible) == false)
state.invisible = true;
if (w->focusPolicy() != Qt::NoFocus && w->isActiveWindow())
if (w->focusPolicy() != Qt::NoFocus)
state.focusable = true;
if (w->hasFocus())
state.focused = true;

View File

@ -1685,7 +1685,7 @@ void tst_QAccessibility::lineEditTest()
QCOMPARE(iface->childCount(), 0);
QVERIFY(iface->state().sizeable);
QVERIFY(iface->state().movable);
QCOMPARE(bool(iface->state().focusable), le->isActiveWindow());
QVERIFY(iface->state().focusable);
QVERIFY(iface->state().selectable);
QVERIFY(iface->state().hasPopup);
QCOMPARE(bool(iface->state().focused), le->hasFocus());
@ -1714,7 +1714,7 @@ void tst_QAccessibility::lineEditTest()
QApplication::processEvents();
QVERIFY(!(iface->state().sizeable));
QVERIFY(!(iface->state().movable));
QCOMPARE(bool(iface->state().focusable), le->isActiveWindow());
QVERIFY(iface->state().focusable);
QVERIFY(iface->state().selectable);
QVERIFY(iface->state().hasPopup);
QCOMPARE(bool(iface->state().focused), le->hasFocus());