diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-04-05 14:19:06 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-06-18 10:15:26 +0200 |
commit | eed9a8fbd300dafb2802b6c09c018fbda4e13ef1 (patch) | |
tree | f7dd03d516d76be452336c1c086438ade2544b40 /src/widgets/accessible/qaccessiblemenu.cpp | |
parent | cd563b3497a608a91794a7a086e5fbf248e77998 (diff) |
Add accessors for QWindow and QScreen to QWidgetPrivate
Rewrite the existing accessor QWidgetPrivate::windowHandle() to
accept a mode enumeration that has an "Any" convenience.
Based on that, add QWidgetPrivate::associatedScreen(), which is seful
in many places where scaling is performed.
Prototypically simplify the code.
Task-number: QTBUG-62094
Task-number: QTBUG-73231
Change-Id: I516288363d329bce9bc94e4951106f9357bc6cde
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/widgets/accessible/qaccessiblemenu.cpp')
-rw-r--r-- | src/widgets/accessible/qaccessiblemenu.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/widgets/accessible/qaccessiblemenu.cpp b/src/widgets/accessible/qaccessiblemenu.cpp index 507584eb02..7f87288520 100644 --- a/src/widgets/accessible/qaccessiblemenu.cpp +++ b/src/widgets/accessible/qaccessiblemenu.cpp @@ -47,6 +47,7 @@ #endif #include <QtWidgets/QAction> #include <qstyle.h> +#include <private/qwidget_p.h> #ifndef QT_NO_ACCESSIBILITY @@ -241,15 +242,9 @@ QObject *QAccessibleMenuItem::object() const /*! \reimp */ QWindow *QAccessibleMenuItem::window() const { - QWindow *result = nullptr; - if (!m_owner.isNull()) { - result = m_owner->windowHandle(); - if (!result) { - if (const QWidget *nativeParent = m_owner->nativeParentWidget()) - result = nativeParent->windowHandle(); - } - } - return result; + return m_owner.isNull() + ? nullptr + : qt_widget_private(m_owner.data())->windowHandle(QWidgetPrivate::WindowHandleMode::Closest); } QRect QAccessibleMenuItem::rect() const |