diff options
Diffstat (limited to 'src/controls/qquickmenu.cpp')
| -rw-r--r-- | src/controls/qquickmenu.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/controls/qquickmenu.cpp b/src/controls/qquickmenu.cpp index 7aa52d56a..bb4c79b64 100644 --- a/src/controls/qquickmenu.cpp +++ b/src/controls/qquickmenu.cpp @@ -398,6 +398,7 @@ void QQuickMenu::__popup(qreal x, qreal y, int atItemIndex) m_popupWindow->setItemAt(atItem ? atItem->visualItem() : 0); connect(m_popupWindow, SIGNAL(visibleChanged(bool)), this, SLOT(windowVisibleChanged(bool))); + connect(m_popupWindow, SIGNAL(geometryChanged()), this, SIGNAL(__popupGeometryChanged())); m_popupWindow->setPosition(x + m_xOffset, y + m_yOffset); m_popupWindow->show(); @@ -420,6 +421,14 @@ void QQuickMenu::setPopupVisible(bool v) } } +QRect QQuickMenu::popupGeometry() const +{ + if (!m_popupWindow || !m_popupVisible) + return QRect(); + + return m_popupWindow->geometry(); +} + void QQuickMenu::__closeMenu() { setPopupVisible(false); |
