diff options
| author | Gabriel de Dietrich <gabriel.dedietrich@digia.com> | 2013-03-01 16:31:37 +0100 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-01 18:25:58 +0100 |
| commit | ed63c5433e291ee7f17bc93ee797fb37c535aae0 (patch) | |
| tree | ee993c7c70d1bbadc68f26e37f4c630d67936fab /src/controls/qtmenuitem_p.h | |
| parent | 0db39ab11b0a56140182b75edd34a17a8e873ae4 (diff) | |
| download | qtquickcontrols-ed63c5433e291ee7f17bc93ee797fb37c535aae0.tar.gz | |
QtMenu*: Use QtAction as private implementation
This avoids needing to duplicate some logic, in particular icon
source and name changes triggering icon updates.
Change-Id: Id8b34fa365db6d31eb6855f690c13073fd589a2c
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Diffstat (limited to 'src/controls/qtmenuitem_p.h')
| -rw-r--r-- | src/controls/qtmenuitem_p.h | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/src/controls/qtmenuitem_p.h b/src/controls/qtmenuitem_p.h index 8644a490..b3855254 100644 --- a/src/controls/qtmenuitem_p.h +++ b/src/controls/qtmenuitem_p.h @@ -124,27 +124,30 @@ public: QtMenuText(QObject *parent = 0); ~QtMenuText(); - virtual bool enabled() const { return m_enabled; } + bool enabled() const; virtual void setEnabled(bool enabled); - virtual QString text() const { return m_text; } - virtual void setText(const QString &text); - - virtual QUrl iconSource() const { return m_iconSource; } - virtual void setIconSource(const QUrl &icon); - virtual QString iconName() const { return m_iconName; } - virtual void setIconName(const QString &icon); + virtual QString text() const; + void setText(const QString &text); - void setParentMenu(QtMenu *parentMenu); + virtual QUrl iconSource() const; + void setIconSource(const QUrl &icon); + virtual QString iconName() const; + void setIconName(const QString &icon); - virtual QIcon icon() const { return QIcon(); } // TODO QVariant iconVariant() const { return QVariant(icon()); } +protected: + virtual QIcon icon() const; + virtual QtAction *action() const { return m_action; } + +protected Q_SLOTS: + virtual void updateText(); + void updateEnabled(); + void updateIcon(); + private: - QString m_text; - bool m_enabled; - QUrl m_iconSource; - QString m_iconName; + QtAction *m_action; }; class QtMenuItem: public QtMenuText @@ -154,7 +157,7 @@ class QtMenuItem: public QtMenuText Q_PROPERTY(bool checked READ checked WRITE setChecked NOTIFY toggled) Q_PROPERTY(QtExclusiveGroup *exclusiveGroup READ exclusiveGroup WRITE setExclusiveGroup NOTIFY exclusiveGroupChanged) Q_PROPERTY(QString shortcut READ shortcut WRITE setShortcut NOTIFY shortcutChanged) - Q_PROPERTY(QtAction *action READ action WRITE setAction NOTIFY actionChanged) + Q_PROPERTY(QtAction *action READ boundAction WRITE setBoundAction NOTIFY actionChanged) public Q_SLOTS: void trigger(); @@ -172,19 +175,15 @@ public: QtMenuItem(QObject *parent = 0); ~QtMenuItem(); - bool enabled() const; void setEnabled(bool enabled); QString text() const; - void setText(const QString &text); QUrl iconSource() const; - void setIconSource(const QUrl &icon); QString iconName() const; - void setIconName(const QString &icon); - QtAction *action(); - void setAction(QtAction *a); + QtAction *boundAction() { return m_boundAction; } + void setBoundAction(QtAction *a); QString shortcut() const; void setShortcut(const QString &shortcut); @@ -198,20 +197,20 @@ public: QtExclusiveGroup *exclusiveGroup() const; void setExclusiveGroup(QtExclusiveGroup *); - QIcon icon() const; + void setParentMenu(QtMenu *parentMenu); protected Q_SLOTS: - virtual void updateText(); void updateShortcut(); void updateChecked(); - void updateEnabled(); - void updateIconName(); - void updateIconSource(); void bindToAction(QtAction *action); void unbindFromAction(QObject *action); +protected: + QIcon icon() const; + QtAction *action() const; + private: - QtAction *m_action; + QtAction *m_boundAction; }; QT_END_NAMESPACE |
