~ubuntu-sdk-team/ubuntu-ui-toolkit/escapeLittleAmpersand

« back to all changes in this revision

Viewing changes to src/Ubuntu/UbuntuToolkit/ucaction_p.h

  • Committer: Zoltán Balogh
  • Date: 2016-08-23 10:39:12 UTC
  • mfrom: (1000.105.31 uitk.actionlist)
  • Revision ID: zoltan@bakter.hu-20160823103912-m4g13qqajjzir8cf
Introduced Action states & ExclusiveGroup action list / https://code.launchpad.net/~nick-dedekind/ubuntu-ui-toolkit/exclusiveGroup/+merge/297921

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
    }
54
54
}
55
55
 
56
 
class UCActionAttached;
 
56
class ExclusiveGroup;
57
57
class UBUNTUTOOLKIT_EXPORT UCAction : public QObject
58
58
{
59
59
    Q_OBJECT
68
68
    Q_PROPERTY(bool enabled MEMBER m_enabled NOTIFY enabledChanged)
69
69
    Q_PROPERTY(Type parameterType MEMBER m_parameterType NOTIFY parameterTypeChanged)
70
70
 
 
71
    Q_PROPERTY(bool checkable READ isCheckable WRITE setCheckable NOTIFY checkableChanged REVISION 1)
 
72
    Q_PROPERTY(bool checked READ isChecked WRITE setChecked NOTIFY toggled REVISION 1)
 
73
    Q_PROPERTY(ExclusiveGroup* exclusiveGroup READ exclusiveGroup WRITE setExclusiveGroup NOTIFY exclusiveGroupChanged REVISION 1)
 
74
 
71
75
    // Toolkit Actions API
72
76
    Q_PROPERTY(QUrl iconSource MEMBER m_iconSource WRITE setIconSource NOTIFY iconSourceChanged)
73
77
    Q_PROPERTY(bool visible MEMBER m_visible NOTIFY visibleChanged)
113
117
    void setItemHint(QQmlComponent *);
114
118
    void setShortcut(const QVariant&);
115
119
    void resetShortcut();
 
120
    void setCheckable(bool checkable);
 
121
    bool isCheckable() const { return m_checkable; }
 
122
    void setChecked(bool checked);
 
123
    bool isChecked() const { return m_checkable && m_checked; }
 
124
 
 
125
    ExclusiveGroup *exclusiveGroup() const { return m_exclusiveGroup; }
 
126
    void setExclusiveGroup(ExclusiveGroup *exclusiveGroup);
116
127
 
117
128
Q_SIGNALS:
118
129
    void nameChanged();
125
136
    void iconSourceChanged();
126
137
    void visibleChanged();
127
138
    void shortcutChanged();
 
139
    Q_REVISION(1) void checkableChanged();
 
140
    Q_REVISION(1) void exclusiveGroupChanged();
 
141
 
128
142
    void triggered(const QVariant &value);
 
143
    Q_REVISION(1) void toggled(bool value);
129
144
 
130
145
public Q_SLOTS:
131
146
    void trigger(const QVariant &value = QVariant());
132
147
 
133
148
private:
134
149
    QPODVector<QQuickItem*, 4> m_owningItems;
 
150
    ExclusiveGroup *m_exclusiveGroup;
135
151
    QString m_name;
136
152
    QString m_text;
137
153
    QString m_iconName;
146
162
    bool m_enabled:1;
147
163
    bool m_visible:1;
148
164
    bool m_published:1;
 
165
    bool m_checkable:1;
 
166
    bool m_checked:1;
149
167
 
150
168
    friend class UCActionContext;
151
169
    friend class UCActionItem;