31 class NmMessageListModel; |
32 class NmMessageListModel; |
32 class NmMailboxListModel; |
33 class NmMailboxListModel; |
33 class HbAbstractViewItem; |
34 class HbAbstractViewItem; |
34 class NmActionResponse; |
35 class NmActionResponse; |
35 class NmMessageListModelItem; |
36 class NmMessageListModelItem; |
36 class QModelIndex; |
|
37 class HbIconItem; |
37 class HbIconItem; |
38 |
38 |
39 class NmMessageListView : public NmBaseView, public NmActionObserver |
39 class NmMessageListView : public NmBaseView, public NmActionObserver |
40 { |
40 { |
41 Q_OBJECT |
41 Q_OBJECT |
48 NmMessageListModel &messageListModel, |
48 NmMessageListModel &messageListModel, |
49 HbDocumentLoader *documentLoader, |
49 HbDocumentLoader *documentLoader, |
50 QGraphicsItem *parent = 0); |
50 QGraphicsItem *parent = 0); |
51 ~NmMessageListView(); |
51 ~NmMessageListView(); |
52 NmUiViewId nmailViewId() const; |
52 NmUiViewId nmailViewId() const; |
53 |
53 void viewReady(); |
|
54 |
54 public: // From NmActionObserver |
55 public: // From NmActionObserver |
55 void handleActionCommand(NmActionResponse &menuResponse); |
56 void handleActionCommand(NmActionResponse &menuResponse); |
56 |
57 |
57 public slots: |
58 public slots: |
58 void reloadViewContents(NmUiStartParam *startParam); |
59 void reloadViewContents(NmUiStartParam *startParam); |
59 |
60 void refreshList(); |
|
61 void contextButton(NmActionResponse &result); |
|
62 |
60 private slots: |
63 private slots: |
61 void showItemContextMenu(HbAbstractViewItem *index, const QPointF &coords); |
64 void showItemContextMenu(HbAbstractViewItem *index, const QPointF &coords); |
62 void itemActivated(const QModelIndex &index); |
65 void itemActivated(const QModelIndex &index); |
|
66 void handleSelection(); |
63 void createOptionsMenu(); |
67 void createOptionsMenu(); |
64 void itemsAdded(const QModelIndex &parent, int start, int end); |
68 void itemsAdded(const QModelIndex &parent, int start, int end); |
65 void itemsRemoved(); |
69 void itemsRemoved(); |
66 void showNoMessagesText(); |
70 void showNoMessagesText(); |
67 void handleSyncStateEvent(NmSyncState syncState, const NmId & mailboxId); |
71 void handleSyncStateEvent(NmSyncState syncState, const NmId & mailboxId); |
68 void handleConnectionEvent(NmConnectState connectState, const NmId &mailboxId); |
72 void handleConnectionEvent(NmConnectState connectState, const NmId &mailboxId); |
69 |
73 void folderSelected(NmId mailbox, NmId folder); |
|
74 |
70 private: |
75 private: |
71 void refreshList(); |
|
72 void loadViewLayout(); |
76 void loadViewLayout(); |
73 void initTreeView(); |
77 void initTreeView(); |
74 void setMailboxName(); |
78 void setMailboxName(); |
75 void createToolBar(); |
79 void createToolBar(); |
|
80 void setFolderName(); |
76 |
81 |
77 private: |
82 private: |
78 NmApplication &mApplication; |
83 NmApplication &mApplication; |
79 HbTreeView *mMessageListWidget; // Not owned |
84 HbTreeView *mMessageListWidget; // Not owned |
80 QObjectList mWidgetList; |
85 QObjectList mWidgetList; |
85 HbMenu *mItemContextMenu; // Owned |
90 HbMenu *mItemContextMenu; // Owned |
86 NmMessageListModelItem *mLongPressedItem; // Not owned |
91 NmMessageListModelItem *mLongPressedItem; // Not owned |
87 HbLabel *mNoMessagesLabel; // Not owned |
92 HbLabel *mNoMessagesLabel; // Not owned |
88 HbLabel *mFolderLabel; // Not owned |
93 HbLabel *mFolderLabel; // Not owned |
89 HbLabel *mSyncIcon; // Not owned |
94 HbLabel *mSyncIcon; // Not owned |
|
95 QModelIndex mActivatedIndex; |
|
96 bool mViewReady; |
|
97 NmFolderType mCurrentFolderType; |
90 }; |
98 }; |
91 |
99 |
92 #endif /* NMMESSAGELISTVIEW_H_ */ |
100 #endif /* NMMESSAGELISTVIEW_H_ */ |