emailuis/nmailuiengine/inc/nmmessagelistmodel.h
changeset 27 9ba4404ef423
parent 23 2dc6caa42ec3
child 30 759dc5235cdb
--- a/emailuis/nmailuiengine/inc/nmmessagelistmodel.h	Fri May 14 15:41:10 2010 +0300
+++ b/emailuis/nmailuiengine/inc/nmmessagelistmodel.h	Thu May 27 12:43:55 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -20,10 +20,9 @@
 
 #include <QStandardItemModel>
 
+#include "nmcommon.h"
+#include "nmmessagelistmodelitem.h"
 #include "nmuienginedef.h"
-#include "nmcommon.h"
-
-#include "nmmessagelistmodelitem.h"
 #include "nmuiviewids.h"
 
 class NmMessage;
@@ -31,73 +30,104 @@
 class QModelIndex;
 class NmMessageEnvelope;
 
+
 class NMUIENGINE_EXPORT NmMessageListModel : public QStandardItemModel
 {
     Q_OBJECT
+
 public:
-    NmMessageListModel(
-      NmDataManager &dataManager,
-      QObject *parent = 0);
+
+    NmMessageListModel(NmDataManager &dataManager,
+                       QObject *parent = 0);
+
     virtual ~NmMessageListModel();
+
     QVariant data(const QModelIndex &index,
                   int role = Qt::DisplayRole) const;
-    void refresh(
-        const NmId mailboxId,
-        const NmId folderId,
-        const QList<NmMessageEnvelope*> &messageEnvelopeList);
+
+    void refresh(const NmId mailboxId,
+                 const NmId folderId,
+                 const QList<NmMessageEnvelope*> &messageEnvelopeList);
+
     bool dividersActive();
-    // This function is temporary, to be removed when
-    // divider state can be modified with settings
+
+    // This function is temporary, to be removed when divider state can be
+    // modified with settings.
     void setDividers(bool active);
-    void setEnvelopeProperties(
-        NmEnvelopeProperties property,
-        const QList<NmId> &messageIds);
+
+    void setEnvelopeProperties(NmEnvelopeProperties property,
+                               const QList<NmId> &messageIds);
+
     NmId currentMailboxId();
+
+    void setIgnoreFolderIds(bool ignore);
+
+
 public slots:
-    void handleMessageEvent(
-        NmMessageEvent event,
-        const NmId &folderId,
-        const QList<NmId> &messageIds);
+
+    void handleMessageEvent(NmMessageEvent event,
+                            const NmId &folderId,
+                            const QList<NmId> &messageIds);
+
 
 private:
+
     bool messagesBelongUnderSameDivider(
         const NmMessageEnvelope *message1,
         const NmMessageEnvelope *message2) const;
+
     void insertDividerIntoModel(
         NmMessageEnvelope *messageForDivider,
         int parentRow);
+
     void insertMessageIntoModel(
         NmMessageEnvelope *messageEnvelope,
         int childRow,
         bool emitSignal);
+
     void insertNewMessageIntoModel(
         const NmId &mailboxId,
         const NmId &folderId,
         const NmId &msgId);
-    int getInsertionIndex(
-        const NmMessageEnvelope &envelope) const;
+
+    int getInsertionIndex(const NmMessageEnvelope &envelope) const;
+
     int dividerInsertionIndex(int messageIndex);
+
     NmMessageListModelItem *createTitleDividerItem(NmMessageEnvelope *messageForDivider);
+
     NmMessageListModelItem *createMessageItem(NmMessageEnvelope *message);
+
     void removeMessageFromModel(const NmId &msgId);
+
     void removeItem(int row, NmMessageListModelItem &item);
+
     NmMessageListModelItem *itemFromModel(const NmId &messageId);
-    bool changed(const NmMessageEnvelope &first, const NmMessageEnvelope &second);
+
+    bool changed(const NmMessageEnvelope &first,
+                 const NmMessageEnvelope &second);
+
     void updateMessageEnvelope(const NmId &mailboxId,
-            const NmId &folderId,
-            const NmId &msgId);
+                               const NmId &folderId,
+                               const NmId &msgId);
+
     void updateEnvelope(NmEnvelopeProperties property, const NmId &msgId);
 
+
 signals:
+
     void setNewParam(NmUiStartParam *startParam);
-    
-private:
-    NmDataManager &mDataManager;         // not owned
+
+
+private: // Data
+
+    NmDataManager &mDataManager;
     bool mDividersActive;
-    NmMessageListModelItem *mParentPtr;  // not owned
+    NmMessageListModelItem *mParentPtr; // Not owned
     NmId mCurrentMailboxId;
     NmId mCurrentFolderId;
-
+    NmFolderType mCurrentFolderType;
+    bool mIgnoreFolderIds;
 };
 
 #endif /* NMMESSAGELISTMODEL_H_*/