diff options
Diffstat (limited to 'examples/dummyresource/dummystore.cpp')
-rw-r--r-- | examples/dummyresource/dummystore.cpp | 91 |
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 | ||
23 | static QMap<QString, QVariant> createEvent(int i) | 24 | static 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 | ||
32 | static QMap<QString, QVariant> createMail(int i) | 33 | QMap<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 | ||
39 | static QMap<QString, QVariant> createFolder(int i) | 42 | static 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 | ||
46 | QMap<QString, QMap<QString, QVariant> > populateEvents() | 59 | QMap<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 | ||
55 | QMap<QString, QMap<QString, QVariant> > populateMails() | 68 | static 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 | ||
64 | QMap<QString, QMap<QString, QVariant> > populateFolders() | 83 | QMap<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 | ||
78 | static QMap<QString, QMap<QString, QVariant> > s_eventSource = populateEvents(); | 99 | DummyStore::DummyStore() |
79 | static QMap<QString, QMap<QString, QVariant> > s_mailSource = populateMails(); | 100 | { |
80 | static QMap<QString, QMap<QString, QVariant> > s_folderSource = populateFolders(); | 101 | mFolders = populateFolders(); |
102 | mMails = populateMails(); | ||
103 | mEvents = populateEvents(); | ||
104 | |||
105 | } | ||
81 | 106 | ||
82 | QMap<QString, QMap<QString, QVariant> > DummyStore::events() const | 107 | QMap<QString, QMap<QString, QVariant> > &DummyStore::events() |
83 | { | 108 | { |
84 | return s_eventSource; | 109 | return mEvents; |
85 | } | 110 | } |
86 | 111 | ||
87 | QMap<QString, QMap<QString, QVariant> > DummyStore::mails() const | 112 | QMap<QString, QMap<QString, QVariant> > &DummyStore::mails() |
88 | { | 113 | { |
89 | return s_mailSource; | 114 | return mMails; |
90 | } | 115 | } |
91 | 116 | ||
92 | QMap<QString, QMap<QString, QVariant> > DummyStore::folders() const | 117 | QMap<QString, QMap<QString, QVariant> > &DummyStore::folders() |
93 | { | 118 | { |
94 | return s_folderSource; | 119 | return mFolders; |
95 | } | 120 | } |