summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/controls/qquickmenu.cpp3
-rw-r--r--src/controls/qquickmenu_p.h6
2 files changed, 7 insertions, 2 deletions
diff --git a/src/controls/qquickmenu.cpp b/src/controls/qquickmenu.cpp
index 385db3c0b..f1c4e24b2 100644
--- a/src/controls/qquickmenu.cpp
+++ b/src/controls/qquickmenu.cpp
@@ -388,7 +388,7 @@ void QQuickMenu::popup()
__popup(mousePos.x(), mousePos.y());
}
-void QQuickMenu::__popup(qreal x, qreal y, int atItemIndex)
+void QQuickMenu::__popup(qreal x, qreal y, int atItemIndex, MenuType menuType)
{
if (popupVisible()) {
__closeMenu();
@@ -415,6 +415,7 @@ void QQuickMenu::__popup(qreal x, qreal y, int atItemIndex)
screenPosition.rx() -= qMax(static_cast<qreal>(m_minimumWidth), m_menuContentItem->width());
screenPosition = visualItem()->mapToScene(screenPosition);
}
+ m_platformMenu->setMenuType(QPlatformMenu::MenuType(menuType));
m_platformMenu->showPopup(parentWindow, screenPosition.toPoint(), atItem ? atItem->platformItem() : 0);
} else {
m_popupWindow = new QQuickMenuPopupWindow();
diff --git a/src/controls/qquickmenu_p.h b/src/controls/qquickmenu_p.h
index 73f5c5050..f20a87343 100644
--- a/src/controls/qquickmenu_p.h
+++ b/src/controls/qquickmenu_p.h
@@ -75,8 +75,12 @@ class QQuickMenu : public QQuickMenuText
Q_PROPERTY(qreal __yOffset READ yOffset WRITE setYOffset)
Q_PROPERTY(QQuickAction *__action READ action CONSTANT)
Q_PROPERTY(QRect __popupGeometry READ popupGeometry NOTIFY __popupGeometryChanged)
+ Q_ENUMS(MenuType)
public:
+ // MenuType must stay in sync with QPlatformMenu::MenuType
+ enum MenuType { DefaultMenu = 0, EditMenu };
+
Q_INVOKABLE void popup();
Q_INVOKABLE QQuickMenuItem *addItem(QString);
Q_INVOKABLE QQuickMenuItem *insertItem(int, QString);
@@ -87,7 +91,7 @@ public:
Q_INVOKABLE void removeItem(QQuickMenuBase *);
Q_INVOKABLE void clear();
- Q_INVOKABLE void __popup(qreal x, qreal y, int atActionIndex = -1);
+ Q_INVOKABLE void __popup(qreal x, qreal y, int atActionIndex = -1, MenuType menuType = DefaultMenu);
public Q_SLOTS:
void __closeMenu();