diff options
Diffstat (limited to 'framework/mail/maillistmodel.cpp')
-rw-r--r-- | framework/mail/maillistmodel.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/framework/mail/maillistmodel.cpp b/framework/mail/maillistmodel.cpp index 80fb661f..e6a9c218 100644 --- a/framework/mail/maillistmodel.cpp +++ b/framework/mail/maillistmodel.cpp | |||
@@ -25,6 +25,7 @@ QHash< int, QByteArray > MailListModel::roleNames() const | |||
25 | roles[Important] = "important"; | 25 | roles[Important] = "important"; |
26 | roles[Id] = "id"; | 26 | roles[Id] = "id"; |
27 | roles[MimeMessage] = "mimeMessage"; | 27 | roles[MimeMessage] = "mimeMessage"; |
28 | roles[DomainObject] = "domainObject"; | ||
28 | 29 | ||
29 | return roles; | 30 | return roles; |
30 | } | 31 | } |
@@ -70,3 +71,50 @@ void MailListModel::runQuery(const Akonadi2::Query &query) | |||
70 | setSourceModel(m_model.data()); | 71 | setSourceModel(m_model.data()); |
71 | } | 72 | } |
72 | 73 | ||
74 | void MailListModel::setParentFolder(const QVariant &parentFolder) | ||
75 | { | ||
76 | auto folder = parentFolder.value<Akonadi2::ApplicationDomain::Folder::Ptr>(); | ||
77 | if (!folder) { | ||
78 | qWarning() << "No folder: " << parentFolder; | ||
79 | return; | ||
80 | } | ||
81 | Akonadi2::Query query; | ||
82 | query.syncOnDemand = false; | ||
83 | query.processAll = false; | ||
84 | query.liveQuery = true; | ||
85 | query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important" << "folder"; | ||
86 | query.propertyFilter.insert("folder", folder->identifier()); | ||
87 | query.resources << folder->resourceInstanceIdentifier(); | ||
88 | qWarning() << "Running folder query: " << folder->resourceInstanceIdentifier() << folder->identifier(); | ||
89 | runQuery(query); | ||
90 | } | ||
91 | |||
92 | QVariant MailListModel::parentFolder() const | ||
93 | { | ||
94 | return QVariant(); | ||
95 | } | ||
96 | |||
97 | void MailListModel::setMail(const QVariant &variant) | ||
98 | { | ||
99 | auto mail = variant.value<Akonadi2::ApplicationDomain::Mail::Ptr>(); | ||
100 | if (!mail) { | ||
101 | qWarning() << "No mail: " << mail; | ||
102 | return; | ||
103 | } | ||
104 | Akonadi2::Query query; | ||
105 | query.syncOnDemand = false; | ||
106 | query.processAll = false; | ||
107 | query.liveQuery = false; | ||
108 | query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important" << "mimeMessage"; | ||
109 | query.ids << mail->identifier(); | ||
110 | query.resources << mail->resourceInstanceIdentifier(); | ||
111 | qWarning() << "Running mail query: " << mail->resourceInstanceIdentifier() << mail->identifier(); | ||
112 | runQuery(query); | ||
113 | } | ||
114 | |||
115 | QVariant MailListModel::mail() const | ||
116 | { | ||
117 | return QVariant(); | ||
118 | } | ||
119 | |||
120 | |||