diff options
author | BogDan Vatra <bogdan@kdab.com> | 2016-01-05 13:44:30 +0200 |
---|---|---|
committer | BogDan Vatra <bogdan@kdab.com> | 2016-01-05 13:26:46 +0000 |
commit | 404d1e4a59fbade302dae2eb065e6304c881addc (patch) | |
tree | bbe5cfa2b5dd5b1cac1c7865fe53c2e038991d7a /src/templates | |
parent | 3456b4eb249d49239ec3cf822db950b8e20bb789 (diff) |
Add title property to Menu
Task-number: QTBUG-50203
Change-Id: Iad54bfdab06681aabe457d19a26273c3846c44ef
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'src/templates')
-rw-r--r-- | src/templates/qquickmenu.cpp | 22 | ||||
-rw-r--r-- | src/templates/qquickmenu_p.h | 7 | ||||
-rw-r--r-- | src/templates/qquickmenu_p_p.h | 1 |
3 files changed, 30 insertions, 0 deletions
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<QObject> 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<QObject> 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<QObject> 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 |