From 404d1e4a59fbade302dae2eb065e6304c881addc Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 5 Jan 2016 13:44:30 +0200 Subject: Add title property to Menu Task-number: QTBUG-50203 Change-Id: Iad54bfdab06681aabe457d19a26273c3846c44ef Reviewed-by: Mitch Curtis --- src/templates/qquickmenu.cpp | 22 ++++++++++++++++++++++ src/templates/qquickmenu_p.h | 7 +++++++ src/templates/qquickmenu_p_p.h | 1 + 3 files changed, 30 insertions(+) (limited to 'src') diff --git a/src/templates/qquickmenu.cpp b/src/templates/qquickmenu.cpp index d6c6e1cb..d08583f3 100644 --- a/src/templates/qquickmenu.cpp +++ b/src/templates/qquickmenu.cpp @@ -420,6 +420,28 @@ QQmlListProperty QQuickMenu::contentData() QQuickMenuPrivate::contentData_clear); } +/*! + \qmlproperty string Qt.labs.controls::Menu::title + + Title for the menu as a submenu or in a menubar. + + Its value defaults to an empty string. +*/ +QString QQuickMenu::title() const +{ + Q_D(const QQuickMenu); + return d->title; +} + +void QQuickMenu::setTitle(QString &title) +{ + Q_D(QQuickMenu); + if (title == d->title) + return; + d->title = title; + emit titleChanged(); +} + bool QQuickMenu::eventFilter(QObject *object, QEvent *event) { Q_D(QQuickMenu); diff --git a/src/templates/qquickmenu_p.h b/src/templates/qquickmenu_p.h index d4bb27b9..78d27556 100644 --- a/src/templates/qquickmenu_p.h +++ b/src/templates/qquickmenu_p.h @@ -63,6 +63,7 @@ class Q_LABSTEMPLATES_EXPORT QQuickMenu : public QQuickPopup Q_OBJECT Q_PROPERTY(QVariant contentModel READ contentModel CONSTANT FINAL) Q_PROPERTY(QQmlListProperty contentData READ contentData FINAL) + Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged) Q_CLASSINFO("DefaultProperty", "contentData") public: @@ -77,9 +78,15 @@ public: QVariant contentModel() const; QQmlListProperty contentData(); + QString title() const; + void setTitle(QString &title); + protected: bool eventFilter(QObject *object, QEvent *event) Q_DECL_OVERRIDE; +Q_SIGNALS: + void titleChanged(); + private: Q_DISABLE_COPY(QQuickMenu) Q_DECLARE_PRIVATE(QQuickMenu) diff --git a/src/templates/qquickmenu_p_p.h b/src/templates/qquickmenu_p_p.h index 154ba968..6ef382c9 100644 --- a/src/templates/qquickmenu_p_p.h +++ b/src/templates/qquickmenu_p_p.h @@ -89,6 +89,7 @@ public: QQmlObjectModel *contentModel; QQuickItem *dummyFocusItem; bool ignoreActiveFocusChanges; + QString title; }; QT_END_NAMESPACE -- cgit v1.2.3