aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickmenuitem.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-06-01 23:36:57 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-06-06 08:00:58 +0000
commit1981ed233f4f78073bba6977edbc7ffdfbb6d2cc (patch)
treee7739a91032b6f93c82181c330c03dea991287f6 /src/quicktemplates2/qquickmenuitem.cpp
parenta389dedc657a8ac1cf9bfd9770808986ecf2006c (diff)
Add QQuickMenuItem::menu
[ChangeLog][Controls][MenuItem] Added a "menu" property that provides access to the menu that contains the menu item. Change-Id: I5edbf860756ba7ba9aef93d4992720327c10d1df Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickmenuitem.cpp')
-rw-r--r--src/quicktemplates2/qquickmenuitem.cpp37
1 files changed, 26 insertions, 11 deletions
diff --git a/src/quicktemplates2/qquickmenuitem.cpp b/src/quicktemplates2/qquickmenuitem.cpp
index 8210af23..e792f8bf 100644
--- a/src/quicktemplates2/qquickmenuitem.cpp
+++ b/src/quicktemplates2/qquickmenuitem.cpp
@@ -35,7 +35,7 @@
****************************************************************************/
#include "qquickmenuitem_p.h"
-#include "qquickabstractbutton_p_p.h"
+#include "qquickmenuitem_p_p.h"
#include <QtGui/qpa/qplatformtheme.h>
#include <QtQuick/private/qquickevents_p_p.h>
@@ -87,19 +87,20 @@ QT_BEGIN_NAMESPACE
\sa {Customizing MenuItem}, {Menu Controls}
*/
-class QQuickMenuItemPrivate : public QQuickAbstractButtonPrivate
+QQuickMenuItemPrivate::QQuickMenuItemPrivate()
+ : highlighted(false),
+ menu(nullptr)
{
- Q_DECLARE_PUBLIC(QQuickMenuItem)
-
-public:
- QQuickMenuItemPrivate();
-
- bool highlighted;
-};
+}
-QQuickMenuItemPrivate::QQuickMenuItemPrivate()
- : highlighted(false)
+void QQuickMenuItemPrivate::setMenu(QQuickMenu *newMenu)
{
+ Q_Q(QQuickMenuItem);
+ if (menu == newMenu)
+ return;
+
+ menu = newMenu;
+ emit q->menuChanged();
}
/*!
@@ -140,6 +141,20 @@ void QQuickMenuItem::setHighlighted(bool highlighted)
emit highlightedChanged();
}
+/*!
+ \since QtQuick.Controls 2.3 (Qt 5.10)
+ \qmlproperty Menu QtQuick.Controls::MenuItem::menu
+ \readonly
+
+ This property holds the menu that contains this menu item,
+ or \c null if the item is not in a menu.
+*/
+QQuickMenu *QQuickMenuItem::menu() const
+{
+ Q_D(const QQuickMenuItem);
+ return d->menu;
+}
+
QFont QQuickMenuItem::defaultFont() const
{
return QQuickControlPrivate::themeFont(QPlatformTheme::MenuItemFont);