summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2016-05-06 11:23:25 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2016-05-06 21:25:54 +0000
commit2c90973ebfd1ce61b4815bcef8a9ffc19f309f1a (patch)
treeba556b2f67b7f322aa9c3966a98631d9df0669c1 /src
parent558c5c849cfd594c9e1cfb6edaffa0b524c852e9 (diff)
QAccessibleMenuItem: Implement QAccessibleInterface::window().
The window is required to be able to determine the correct scale factor for the screen when High DPI scaling is active. Change-Id: I8f776684396d055754093f62e0d33bd7e23cb52b Task-number: QTBUG-52943 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/widgets/accessible/qaccessiblemenu.cpp14
-rw-r--r--src/widgets/accessible/qaccessiblemenu_p.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/src/widgets/accessible/qaccessiblemenu.cpp b/src/widgets/accessible/qaccessiblemenu.cpp
index a0a7852851..106f724464 100644
--- a/src/widgets/accessible/qaccessiblemenu.cpp
+++ b/src/widgets/accessible/qaccessiblemenu.cpp
@@ -225,6 +225,20 @@ QObject *QAccessibleMenuItem::object() const
return m_action;
}
+/*! \reimp */
+QWindow *QAccessibleMenuItem::window() const
+{
+ QWindow *result = Q_NULLPTR;
+ if (!m_owner.isNull()) {
+ result = m_owner->windowHandle();
+ if (!result) {
+ if (const QWidget *nativeParent = m_owner->nativeParentWidget())
+ result = nativeParent->windowHandle();
+ }
+ }
+ return result;
+}
+
QRect QAccessibleMenuItem::rect() const
{
QRect rect;
diff --git a/src/widgets/accessible/qaccessiblemenu_p.h b/src/widgets/accessible/qaccessiblemenu_p.h
index b42c852ff1..c51597bf1f 100644
--- a/src/widgets/accessible/qaccessiblemenu_p.h
+++ b/src/widgets/accessible/qaccessiblemenu_p.h
@@ -108,6 +108,8 @@ public:
QAccessibleInterface *parent() const Q_DECL_OVERRIDE;
QAccessibleInterface *child(int index) const Q_DECL_OVERRIDE;
QObject * object() const Q_DECL_OVERRIDE;
+ QWindow *window() const Q_DECL_OVERRIDE;
+
QRect rect() const Q_DECL_OVERRIDE;
QAccessible::Role role() const Q_DECL_OVERRIDE;
void setText(QAccessible::Text t, const QString & text) Q_DECL_OVERRIDE;