diff options
Diffstat (limited to 'src/gui/accessible/linux/qspiaccessiblebridge.cpp')
-rw-r--r-- | src/gui/accessible/linux/qspiaccessiblebridge.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/gui/accessible/linux/qspiaccessiblebridge.cpp b/src/gui/accessible/linux/qspiaccessiblebridge.cpp index 0c8dbcdb80..de2e7d5fc0 100644 --- a/src/gui/accessible/linux/qspiaccessiblebridge.cpp +++ b/src/gui/accessible/linux/qspiaccessiblebridge.cpp @@ -16,7 +16,7 @@ #include "dbusconnection_p.h" #include "qspi_struct_marshallers_p.h" -#ifndef QT_NO_ACCESSIBILITY +#if QT_CONFIG(accessibility) #include "deviceeventcontroller_adaptor.h" QT_BEGIN_NAMESPACE @@ -33,6 +33,14 @@ QSpiAccessibleBridge::QSpiAccessibleBridge() { dbusConnection = new DBusConnection(); connect(dbusConnection, SIGNAL(enabledChanged(bool)), this, SLOT(enabledChanged(bool))); + // Now that we have connected the signal, make sure we didn't miss a change, + // e.g. when running as root or when AT_SPI_BUS_ADDRESS is set by hand. + // But do that only on next loop, once dbus is really settled. + QTimer::singleShot( + 0, this, [this]{ + if (dbusConnection->isEnabled() && dbusConnection->connection().isConnected()) + enabledChanged(true); + }); } void QSpiAccessibleBridge::enabledChanged(bool enabled) @@ -197,7 +205,11 @@ static RoleMapping map[] = { //: Role of an accessible object { QAccessible::ButtonDropDown, ATSPI_ROLE_PUSH_BUTTON, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button with drop down") }, //: Role of an accessible object +#if ATSPI_ROLE_COUNT > 130 + { QAccessible::ButtonMenu, ATSPI_ROLE_PUSH_BUTTON_MENU, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button menu") }, +#else { QAccessible::ButtonMenu, ATSPI_ROLE_PUSH_BUTTON, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button menu") }, +#endif //: Role of an accessible object - a button that expands a grid. { QAccessible::ButtonDropGrid, ATSPI_ROLE_PUSH_BUTTON, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button with drop down grid") }, //: Role of an accessible object - blank space between other objects. @@ -268,4 +280,4 @@ RoleNames QSpiAccessibleBridge::namesForRole(QAccessible::Role role) QT_END_NAMESPACE #include "moc_qspiaccessiblebridge_p.cpp" -#endif //QT_NO_ACCESSIBILITY +#endif // QT_CONFIG(accessibility) |