26 #include "nmuienginedef.h" |
26 #include "nmuienginedef.h" |
27 |
27 |
28 class QAbstractItemModel; |
28 class QAbstractItemModel; |
29 class NmMailboxListModel; |
29 class NmMailboxListModel; |
30 class NmMessageListModel; |
30 class NmMessageListModel; |
31 class NmMessageSearchListModel; |
|
32 class NmDataManager; |
31 class NmDataManager; |
33 class NmDataPluginFactory; |
32 class NmDataPluginFactory; |
34 class NmMailboxMetaData; |
33 class NmMailboxMetaData; |
35 class NmMessage; |
34 class NmMessage; |
36 class NmMessagePart; |
35 class NmMessagePart; |
37 class NmMessageEnvelope; |
36 class NmMessageEnvelope; |
38 class NmOperation; |
37 class NmOperation; |
39 class NmMessageCreationOperation; |
38 class NmMessageCreationOperation; |
40 class NmStoreEnvelopesOperation; |
39 class NmStoreEnvelopesOperation; |
41 class NmAddAttachmentsOperation; |
40 class NmAddAttachmentsOperation; |
42 class NmCheckOutboxOperation; |
|
43 class NmMessageSendingOperation; |
41 class NmMessageSendingOperation; |
44 |
42 |
45 |
43 |
46 class NMUIENGINE_EXPORT NmUiEngine: public QObject |
44 class NMUIENGINE_EXPORT NmUiEngine: public QObject |
47 { |
45 { |
48 Q_OBJECT |
46 Q_OBJECT |
49 |
47 |
50 public: |
48 public: |
51 |
49 |
52 static NmUiEngine *instance(); |
50 static NmUiEngine *instance(); |
|
51 |
53 static void releaseInstance(NmUiEngine *&instance); |
52 static void releaseInstance(NmUiEngine *&instance); |
54 |
53 |
55 NmMailboxListModel &mailboxListModel(); |
54 NmMailboxListModel &mailboxListModel(); |
|
55 |
56 void refreshMailboxListModel(); |
56 void refreshMailboxListModel(); |
57 NmMessageListModel &messageListModel(const NmId &mailboxId, const NmId &folderId); |
57 |
58 NmMessageSearchListModel &messageSearchListModel(QAbstractItemModel *sourceModel); |
58 NmId getPluginIdByMailboxId(quint32 accountId); |
|
59 |
|
60 NmMessageListModel &messageListModel(const NmId &mailboxId, |
|
61 const NmId &folderId); |
|
62 |
|
63 NmMessageListModel &messageListModelForSearch(const NmId &mailboxId); |
59 |
64 |
60 NmId standardFolderId(const NmId &mailboxId, NmFolderType folderType); |
65 NmId standardFolderId(const NmId &mailboxId, NmFolderType folderType); |
61 |
66 |
62 NmMessage *message( |
67 NmMessage *message( |
63 const NmId &mailboxId, |
68 const NmId &mailboxId, |
72 QPointer<NmOperation> fetchMessagePart( |
77 QPointer<NmOperation> fetchMessagePart( |
73 const NmId &mailboxId, |
78 const NmId &mailboxId, |
74 const NmId &folderId, |
79 const NmId &folderId, |
75 const NmId &messageId, |
80 const NmId &messageId, |
76 const NmId &messagePartId); |
81 const NmId &messagePartId); |
|
82 |
|
83 QPointer<NmOperation> fetchMessageParts( |
|
84 const NmId &mailboxId, |
|
85 const NmId &folderId, |
|
86 const NmId &messageId, |
|
87 const QList<NmId> &messagePartIds); |
77 |
88 |
78 XQSharableFile messagePartFile( |
89 XQSharableFile messagePartFile( |
79 const NmId &mailboxId, |
90 const NmId &mailboxId, |
80 const NmId &folderId, |
91 const NmId &folderId, |
81 const NmId &messageId, |
92 const NmId &messageId, |
121 |
132 |
122 int goOnline(const NmId &mailboxId); |
133 int goOnline(const NmId &mailboxId); |
123 |
134 |
124 int goOffline(const NmId &mailboxId); |
135 int goOffline(const NmId &mailboxId); |
125 |
136 |
126 int removeMessage( |
137 int removeMessage(const NmId &mailboxId, |
127 const NmId &mailboxId, |
138 const NmId &folderId, |
128 const NmId &folderId, |
139 const NmId &messageId); |
129 const NmId &messageId); |
140 |
130 |
141 void removeDraftMessage(NmMessage *message); |
131 void sendMessage(NmMessage *message, const QList<NmOperation*> &preliminaryOperations); |
142 |
|
143 void saveDraftMessage(NmMessage *message, |
|
144 const QList<NmOperation*> &preliminaryOperations); |
|
145 |
|
146 void sendMessage(NmMessage *message, |
|
147 const QList<NmOperation*> &preliminaryOperations); |
132 |
148 |
133 bool isSendingMessage() const; |
149 bool isSendingMessage() const; |
134 |
150 |
135 const NmMessage *messageBeingSent() const; |
151 const NmMessage *messageBeingSent() const; |
136 |
152 |
140 |
156 |
141 QPointer<NmOperation> removeAttachment( |
157 QPointer<NmOperation> removeAttachment( |
142 const NmMessage &message, |
158 const NmMessage &message, |
143 const NmId &attachmentPartId); |
159 const NmId &attachmentPartId); |
144 |
160 |
145 QPointer<NmCheckOutboxOperation> checkOutbox(const NmId &mailboxId); |
|
146 |
|
147 NmSyncState syncState(const NmId& mailboxId); |
161 NmSyncState syncState(const NmId& mailboxId); |
|
162 |
148 NmConnectState connectionState(const NmId& mailboxId); |
163 NmConnectState connectionState(const NmId& mailboxId); |
149 |
164 |
150 int search(const NmId &mailboxId, |
165 int search(const NmId &mailboxId, |
151 const QStringList &searchStrings); |
166 const QStringList &searchStrings); |
152 |
167 |
153 int cancelSearch(const NmId &mailboxId); |
168 int cancelSearch(const NmId &mailboxId); |
154 |
169 |
155 NmFolderType folderTypeById(NmId mailboxId, NmId folderId); |
170 NmFolderType folderTypeById(NmId mailboxId, NmId folderId); |
156 |
171 |
|
172 void updateActiveFolder(const NmId &mailboxId, const NmId &folderId); |
|
173 |
157 public slots: |
174 public slots: |
|
175 |
158 void handleCompletedSendOperation(); |
176 void handleCompletedSendOperation(); |
159 void handleSyncStateEvent(NmSyncState syncState, const NmOperationCompletionEvent &event); |
177 void handleCompletedRemoveDraftOperation(); |
160 void handleConnectEvent(NmConnectState connectState, const NmId &mailboxId, const int errorCode); |
178 void handleCompletedSaveDraftOperation(); |
|
179 |
|
180 void handleSyncStateEvent(NmSyncState syncState, |
|
181 const NmOperationCompletionEvent &event); |
|
182 |
|
183 void handleConnectEvent(NmConnectState connectState, |
|
184 const NmId &mailboxId, |
|
185 const int errorCode); |
|
186 |
161 |
187 |
162 private slots: |
188 private slots: |
163 void handleMessageEvent( |
189 |
164 NmMessageEvent event, |
190 void handleMessageEvent(NmMessageEvent event, |
165 const NmId &folderId, |
191 const NmId &folderId, |
166 const QList<NmId> &messageIds, |
192 const QList<NmId> &messageIds, |
167 const NmId& mailboxId); |
193 const NmId& mailboxId); |
168 |
194 |
169 void handleMailboxEvent(NmMailboxEvent event, |
195 void handleMailboxEvent(NmMailboxEvent event, |
170 const QList<NmId> &mailboxIds); |
196 const QList<NmId> &mailboxIds); |
171 |
197 |
|
198 void handleMatchFound(const NmId &messageId, const NmId &folderId); |
|
199 |
|
200 void messageEventForListModel(NmMessageEvent event, |
|
201 const NmId &folderId, |
|
202 const QList<NmId> &messageIds, |
|
203 const NmId& mailboxId); |
|
204 |
172 |
205 |
173 signals: |
206 signals: |
|
207 |
174 void syncStateEvent(NmSyncState, const NmId &); |
208 void syncStateEvent(NmSyncState, const NmId &); |
175 void connectionEvent(NmConnectState, const NmId &); |
209 void connectionEvent(NmConnectState, const NmId &); |
176 void operationCompleted(const NmOperationCompletionEvent &event); |
210 void operationCompleted(const NmOperationCompletionEvent &event); |
177 void sendOperationCompleted(); |
211 void sendOperationCompleted(); |
178 void messageDeleted(const NmId &mailboxId, const NmId &folderId, const NmId &messageId); |
212 void messageDeleted(const NmId &mailboxId, const NmId &folderId, const NmId &messageId); |
179 void mailboxDeleted(const NmId &mailboxId); |
213 void mailboxDeleted(const NmId &mailboxId); |
180 void matchFound(const NmId &); |
214 void matchFound(const NmId &, const NmId &); |
181 void searchComplete(); |
215 void searchComplete(); |
182 |
216 |
|
217 |
183 private: |
218 private: |
|
219 |
184 NmUiEngine(); |
220 NmUiEngine(); |
|
221 |
185 virtual ~NmUiEngine(); |
222 virtual ~NmUiEngine(); |
186 |
223 |
187 private: |
224 |
|
225 private: // Data |
|
226 |
188 static NmUiEngine *mInstance; |
227 static NmUiEngine *mInstance; |
189 static int mReferenceCount; |
228 static int mReferenceCount; |
190 |
229 |
191 NmDataPluginFactory *mPluginFactory; |
230 NmDataPluginFactory *mPluginFactory; |
192 NmDataManager *mDataManager; // Owned |
231 NmDataManager *mDataManager; // Owned |
193 NmMailboxListModel *mMailboxListModel; // Owned |
232 NmMailboxListModel *mMailboxListModel; // Owned |
|
233 NmMessageListModel *mInboxListModel; // Owned |
194 NmMessageListModel *mMessageListModel; // Owned |
234 NmMessageListModel *mMessageListModel; // Owned |
195 NmMessageSearchListModel *mMessageSearchListModel; // Owned |
235 NmMessageListModel *mMessageSearchListModel; // Owned |
196 QPointer<NmMessageSendingOperation> mSendOperation; // Not owned |
236 QPointer<NmMessageSendingOperation> mSendOperation; // Not owned |
|
237 QPointer<NmOperation> mRemoveDraftOperation; // not owned |
|
238 QPointer<NmOperation> mSaveDraftOperation; // not owned |
|
239 NmMessage *mDraftMessage; // owned |
197 }; |
240 }; |
198 |
241 |
199 |
242 |
200 #endif /* NMUIENGINE_H */ |
243 #endif /* NMUIENGINE_H */ |
201 |
244 |