emailuis/nmhswidget/inc/nmhswidgetlistmodel.h
changeset 76 38bf5461e270
parent 68 83cc6bae1de8
equal deleted inserted replaced
74:6c59112cfd31 76:38bf5461e270
    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_ */