summaryrefslogtreecommitdiffstats
path: root/src/controls/qquickmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls/qquickmenu.cpp')
-rw-r--r--src/controls/qquickmenu.cpp9
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);