aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kdab.com>2016-01-05 13:44:30 +0200
committerBogDan Vatra <bogdan@kdab.com>2016-01-05 13:26:46 +0000
commit404d1e4a59fbade302dae2eb065e6304c881addc (patch)
treebbe5cfa2b5dd5b1cac1c7865fe53c2e038991d7a
parent3456b4eb249d49239ec3cf822db950b8e20bb789 (diff)
Add title property to Menu
Task-number: QTBUG-50203 Change-Id: Iad54bfdab06681aabe457d19a26273c3846c44ef Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
-rw-r--r--src/templates/qquickmenu.cpp22
-rw-r--r--src/templates/qquickmenu_p.h7
-rw-r--r--src/templates/qquickmenu_p_p.h1
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