From ae380584de53cf927fe4a7bd62ffb41f73b1faa1 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Tue, 17 Dec 2013 17:16:12 +0100 Subject: Menu: Don't create platform item for QQuickMenuItemContainers They don't have any QPA counterpart as they're just plain containers. This also removes that "Menu does not contain the item to be removed" warning on Mac. Task-Number: QTBUG-32197 Change-Id: I06e08817194c2e3ad3efd7ded193bfac9d3a1948 Reviewed-by: Jens Bache-Wiig --- src/controls/qquickmenuitem_p.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/controls/qquickmenuitem_p.h') diff --git a/src/controls/qquickmenuitem_p.h b/src/controls/qquickmenuitem_p.h index a0c70832..3ba719f6 100644 --- a/src/controls/qquickmenuitem_p.h +++ b/src/controls/qquickmenuitem_p.h @@ -66,7 +66,7 @@ class QQuickMenuItemType public: enum MenuItemType { - Separator, + Separator = 0, Item, Menu }; @@ -86,7 +86,7 @@ Q_SIGNALS: void visibleChanged(); public: - QQuickMenuBase(QObject *parent = 0); + QQuickMenuBase(QObject *parent, int type); ~QQuickMenuBase(); bool visible() const { return m_visible; } @@ -105,11 +105,12 @@ public: QQuickItem *visualItem() const; void setVisualItem(QQuickItem *item); - virtual QQuickMenuItemType::MenuItemType type() { return QQuickMenuItemType::Item; } + QQuickMenuItemType::MenuItemType type() { return m_type; } virtual bool isNative() { return m_platformItem != 0; } private: bool m_visible; + QQuickMenuItemType::MenuItemType m_type; QQuickMenu *m_parentMenu; QQuickMenuItemContainer *m_container; QPlatformMenuItem *m_platformItem; @@ -121,8 +122,6 @@ class QQuickMenuSeparator : public QQuickMenuBase Q_OBJECT public: QQuickMenuSeparator(QObject *parent = 0); - - QQuickMenuItemType::MenuItemType type() { return QQuickMenuItemType::Separator; } }; class QQuickMenuText : public QQuickMenuBase @@ -143,7 +142,7 @@ Q_SIGNALS: void __iconChanged(); public: - QQuickMenuText(QObject *parent = 0); + QQuickMenuText(QObject *parent, QQuickMenuItemType::MenuItemType type); ~QQuickMenuText(); bool enabled() const; -- cgit v1.2.1