20 |
20 |
21 #include <QStandardItemModel> |
21 #include <QStandardItemModel> |
22 |
22 |
23 class NmMessageEnvelope; |
23 class NmMessageEnvelope; |
24 class NmHsWidgetListModelItem; |
24 class NmHsWidgetListModelItem; |
|
25 class NmId; |
25 |
26 |
26 class NmHsWidgetListModel : public QStandardItemModel |
27 class NmHsWidgetListModel : public QStandardItemModel |
27 { |
28 { |
28 Q_OBJECT |
29 Q_OBJECT |
29 public: |
30 public: |
30 |
31 |
31 NmHsWidgetListModel(QObject *parent = 0); |
32 NmHsWidgetListModel(QObject *parent = 0); |
32 virtual ~NmHsWidgetListModel(); |
33 virtual ~NmHsWidgetListModel(); |
33 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; |
34 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; |
34 void refresh(QList<NmMessageEnvelope*> &mailboxList); |
|
35 |
35 |
|
36 |
36 public slots: |
37 public slots: |
|
38 void refresh(const QList<NmMessageEnvelope*> &messageEnvs); |
|
39 void addMessages(const QList<NmMessageEnvelope*> &messageEnvs); |
|
40 void updateMessages(const QList<NmMessageEnvelope*> &messageEnvs); |
|
41 void removeMessages(const QList<NmId> &messageIds); |
|
42 void removeAllMessages(); |
|
43 |
|
44 signals: |
|
45 void messagesAddedToModel(); //emitted only when single items are inserted to model |
|
46 void modelIsEmpty(bool isEmpty); |
37 |
47 |
38 private: |
48 private: |
39 NmHsWidgetListModelItem *createMessageListModelItem(const NmMessageEnvelope* env); |
49 NmHsWidgetListModelItem *createMessageListModelItem(const NmMessageEnvelope* env); |
40 |
50 int getInsertionIndex(const NmMessageEnvelope &envelope) const; |
41 }; |
51 }; |
42 |
52 |
43 #endif /* NMHSWIDGETLISTMODEL_H_ */ |
53 #endif /* NMHSWIDGETLISTMODEL_H_ */ |