~zsombi/ubuntu-ui-toolkit/83-rtl-support

« back to all changes in this revision

Viewing changes to modules/Ubuntu/Components/plugin/uclistitem.h

  • Committer: Zsombor Egri
  • Date: 2015-02-25 11:54:57 UTC
  • mfrom: (1352.6.93 82-dragging-mode)
  • Revision ID: zsombor.egri@canonical.com-20150225115457-sf0p7yjxbcvkzedt
prereq sync

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
    Q_PRIVATE_PROPERTY(UCListItem::d_func(), bool contentMoving READ contentMoving NOTIFY contentMovingChanged)
37
37
    Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged)
38
38
    Q_PROPERTY(QColor highlightColor READ highlightColor WRITE setHighlightColor RESET resetHighlightColor NOTIFY highlightColorChanged)
 
39
    Q_PRIVATE_PROPERTY(UCListItem::d_func(), bool dragging READ dragging NOTIFY draggingChanged)
 
40
    Q_PRIVATE_PROPERTY(UCListItem::d_func(), bool dragMode READ dragMode WRITE setDragMode NOTIFY dragModeChanged)
39
41
    Q_PRIVATE_PROPERTY(UCListItem::d_func(), bool selected READ isSelected WRITE setSelected NOTIFY selectedChanged)
40
42
    Q_PRIVATE_PROPERTY(UCListItem::d_func(), bool selectMode READ selectMode WRITE setSelectMode NOTIFY selectModeChanged)
41
43
    Q_PRIVATE_PROPERTY(UCListItem::d_func(), UCAction *action READ action WRITE setAction NOTIFY actionChanged DESIGNABLE false)
80
82
    void contentMovingChanged();
81
83
    void colorChanged();
82
84
    void highlightColorChanged();
 
85
    void draggingChanged();
 
86
    void dragModeChanged();
83
87
    void selectedChanged();
84
88
    void selectModeChanged();
85
89
    void actionChanged();
105
109
    Q_PRIVATE_SLOT(d_func(), void _q_updateIndex())
106
110
    Q_PRIVATE_SLOT(d_func(), void _q_contentMoving())
107
111
    Q_PRIVATE_SLOT(d_func(), void _q_syncSelectMode())
 
112
    Q_PRIVATE_SLOT(d_func(), void _q_syncDragMode())
108
113
};
109
114
 
110
115
class UCListItemDividerPrivate;
135
140
    Q_DECLARE_PRIVATE(UCListItemDivider)
136
141
};
137
142
 
 
143
class UCDragEvent;
138
144
class UCViewItemsAttachedPrivate;
139
145
class UCViewItemsAttached : public QObject
140
146
{
141
147
    Q_OBJECT
142
148
    Q_PROPERTY(bool selectMode READ selectMode WRITE setSelectMode NOTIFY selectModeChanged)
143
149
    Q_PROPERTY(QList<int> selectedIndices READ selectedIndices WRITE setSelectedIndices NOTIFY selectedIndicesChanged)
 
150
    Q_PROPERTY(bool dragMode READ dragMode WRITE setDragMode NOTIFY dragModeChanged)
144
151
public:
145
152
    explicit UCViewItemsAttached(QObject *owner);
146
153
    ~UCViewItemsAttached();
157
164
    void setSelectMode(bool value);
158
165
    QList<int> selectedIndices() const;
159
166
    void setSelectedIndices(const QList<int> &list);
 
167
    bool dragMode() const;
 
168
    void setDragMode(bool value);
 
169
 
160
170
private Q_SLOTS:
161
171
    void unbindItem();
 
172
    void completed();
162
173
 
163
174
Q_SIGNALS:
164
175
    void selectModeChanged();
165
176
    void selectedIndicesChanged();
 
177
    void dragModeChanged();
 
178
 
 
179
    void dragUpdated(UCDragEvent *event);
166
180
 
167
181
private:
168
182
    Q_DECLARE_PRIVATE(UCViewItemsAttached)
169
 
    QScopedPointer<UCViewItemsAttachedPrivate> d_ptr;
170
183
};
171
184
QML_DECLARE_TYPEINFO(UCViewItemsAttached, QML_HAS_ATTACHED_PROPERTIES)
172
185
 
 
186
class UCDragEvent : public QObject
 
187
{
 
188
    Q_OBJECT
 
189
    Q_PROPERTY(Status status READ status)
 
190
    Q_PROPERTY(int from READ from)
 
191
    Q_PROPERTY(int to READ to)
 
192
    Q_PROPERTY(int minimumIndex MEMBER m_minimum)
 
193
    Q_PROPERTY(int maximumIndex MEMBER m_maximum)
 
194
    Q_PROPERTY(bool accept MEMBER m_accept)
 
195
    Q_ENUMS(Status)
 
196
public:
 
197
    enum Status {
 
198
        Started,
 
199
        Moving,
 
200
        Dropped
 
201
    };
 
202
 
 
203
    explicit UCDragEvent(Status status, int from, int to, int min, int max)
 
204
        : QObject(0), m_status(status), m_from(from), m_to(to), m_minimum(min), m_maximum(max), m_accept(true)
 
205
    {}
 
206
    int from() const
 
207
    {
 
208
        return m_from;
 
209
    }
 
210
    int to() const
 
211
    {
 
212
        return m_to;
 
213
    }
 
214
    Status status() const
 
215
    {
 
216
        return m_status;
 
217
    }
 
218
 
 
219
private:
 
220
    Status m_status;
 
221
    int m_from;
 
222
    int m_to;
 
223
    int m_minimum;
 
224
    int m_maximum;
 
225
    bool m_accept;
 
226
 
 
227
    friend class ListItemDragArea;
 
228
};
 
229
 
173
230
#endif // UCLISTITEM_H