summaryrefslogtreecommitdiffstats
path: root/examples/dummyresource/dummystore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/dummyresource/dummystore.cpp')
-rw-r--r--examples/dummyresource/dummystore.cpp91
1 files changed, 58 insertions, 33 deletions
diff --git a/examples/dummyresource/dummystore.cpp b/examples/dummyresource/dummystore.cpp
index 8592a30..e948475 100644
--- a/examples/dummyresource/dummystore.cpp
+++ b/examples/dummyresource/dummystore.cpp
@@ -19,6 +19,7 @@
19#include "dummystore.h" 19#include "dummystore.h"
20 20
21#include <QString> 21#include <QString>
22#include <QDateTime>
22 23
23static QMap<QString, QVariant> createEvent(int i) 24static QMap<QString, QVariant> createEvent(int i)
24{ 25{
@@ -29,67 +30,91 @@ static QMap<QString, QVariant> createEvent(int i)
29 return event; 30 return event;
30} 31}
31 32
32static QMap<QString, QVariant> createMail(int i) 33QMap<QString, QMap<QString, QVariant> > DummyStore::populateEvents()
33{ 34{
34 QMap<QString, QVariant> mail; 35 QMap<QString, QMap<QString, QVariant>> content;
35 mail.insert("subject", QString("subject%1").arg(i)); 36 for (int i = 0; i < 2; i++) {
36 return mail; 37 content.insert(QString("key%1").arg(i), createEvent(i));
38 }
39 return content;
37} 40}
38 41
39static QMap<QString, QVariant> createFolder(int i) 42static QByteArray addMail(QMap <QString, QMap<QString, QVariant> > &content, const QString &subject, const QDateTime &date, const QString &senderName, const QString &senderEmail, bool isUnread, bool isImportant, const QByteArray &parentFolder)
40{ 43{
41 QMap<QString, QVariant> folder; 44 static int id = 0;
42 folder.insert("name", QString("folder%1").arg(i)); 45 id++;
43 return folder; 46 const auto uid = QString("key%1").arg(id);
47 QMap<QString, QVariant> mail;
48 mail.insert("subject", subject);
49 mail.insert("date", date);
50 mail.insert("senderName", senderName);
51 mail.insert("senderEmail", senderEmail);
52 mail.insert("unread", isUnread);
53 mail.insert("important", isImportant);
54 mail.insert("parentFolder", parentFolder);
55 content.insert(uid, mail);
56 return uid.toUtf8();
44} 57}
45 58
46QMap<QString, QMap<QString, QVariant> > populateEvents() 59QMap<QString, QMap<QString, QVariant> > DummyStore::populateMails()
47{ 60{
48 QMap<QString, QMap<QString, QVariant>> content; 61 QMap<QString, QMap<QString, QVariant>> content;
49 for (int i = 0; i < 2; i++) { 62 for (const auto &parentFolder : mFolders.keys()) {
50 content.insert(QString("key%1").arg(i), createEvent(i)); 63 addMail(content, "Hello World!", QDateTime::currentDateTimeUtc(), "John Doe", "doe@example.com", true, false, parentFolder.toUtf8());
51 } 64 }
52 return content; 65 return content;
53} 66}
54 67
55QMap<QString, QMap<QString, QVariant> > populateMails() 68static QByteArray addFolder(QMap <QString, QMap<QString, QVariant> > &content, const QString &name, const QByteArray &icon, const QByteArray &parent = QByteArray())
56{ 69{
57 QMap<QString, QMap<QString, QVariant>> content; 70 static int id = 0;
58 for (int i = 0; i < 2; i++) { 71 id++;
59 content.insert(QString("key%1").arg(i), createMail(i)); 72 const auto uid = QString("key%1").arg(id);
73 QMap<QString, QVariant> folder;
74 folder.insert("name", name);
75 if (!parent.isEmpty()) {
76 folder.insert("parent", parent);
60 } 77 }
61 return content; 78 folder.insert("icon", icon);
79 content.insert(uid, folder);
80 return uid.toUtf8();
62} 81}
63 82
64QMap<QString, QMap<QString, QVariant> > populateFolders() 83QMap<QString, QMap<QString, QVariant> > DummyStore::populateFolders()
65{ 84{
66 QMap<QString, QMap<QString, QVariant>> content; 85 QMap<QString, QMap<QString, QVariant>> content;
67 int i = 0; 86 addFolder(content, "Inbox", "mail-folder-inbox");
68 for (i = 0; i < 5; i++) { 87 auto data = addFolder(content, "Data", "folder");
69 content.insert(QString("key%1").arg(i), createFolder(i)); 88 addFolder(content, "Sent", "mail-folder-sent");
89 addFolder(content, "Trash", "user-trash");
90 addFolder(content, "Drafts", "document-edit");
91 addFolder(content, "Stuff", "folder", data);
92 auto bulk = addFolder(content, "Bulk", "folder", data);
93 for (int i = 0; i < 5; i++) {
94 addFolder(content, QString("Folder %1").arg(i), "folder", bulk);
70 } 95 }
71 i++;
72 auto folder = createFolder(i);
73 folder.insert("parent", "key0");
74 content.insert(QString("key%1").arg(i), folder);
75 return content; 96 return content;
76} 97}
77 98
78static QMap<QString, QMap<QString, QVariant> > s_eventSource = populateEvents(); 99DummyStore::DummyStore()
79static QMap<QString, QMap<QString, QVariant> > s_mailSource = populateMails(); 100{
80static QMap<QString, QMap<QString, QVariant> > s_folderSource = populateFolders(); 101 mFolders = populateFolders();
102 mMails = populateMails();
103 mEvents = populateEvents();
104
105}
81 106
82QMap<QString, QMap<QString, QVariant> > DummyStore::events() const 107QMap<QString, QMap<QString, QVariant> > &DummyStore::events()
83{ 108{
84 return s_eventSource; 109 return mEvents;
85} 110}
86 111
87QMap<QString, QMap<QString, QVariant> > DummyStore::mails() const 112QMap<QString, QMap<QString, QVariant> > &DummyStore::mails()
88{ 113{
89 return s_mailSource; 114 return mMails;
90} 115}
91 116
92QMap<QString, QMap<QString, QVariant> > DummyStore::folders() const 117QMap<QString, QMap<QString, QVariant> > &DummyStore::folders()
93{ 118{
94 return s_folderSource; 119 return mFolders;
95} 120}