diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-03-26 22:43:15 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-03-26 22:43:15 +0200 |
commit | 2b0278a02b8bb5de9da79de395942c55449c1c59 (patch) | |
tree | 80a3255cea34cfe6fdb74d69e041c1a4d6da7e08 /framework/domain/maillistmodel.cpp | |
parent | 35bb27c935eb444aa11b3063458a24122445a4d2 (diff) | |
download | kube-2b0278a02b8bb5de9da79de395942c55449c1c59.tar.gz kube-2b0278a02b8bb5de9da79de395942c55449c1c59.zip |
Update email status
Diffstat (limited to 'framework/domain/maillistmodel.cpp')
-rw-r--r-- | framework/domain/maillistmodel.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/framework/domain/maillistmodel.cpp b/framework/domain/maillistmodel.cpp index bdf7b9f5..278dca22 100644 --- a/framework/domain/maillistmodel.cpp +++ b/framework/domain/maillistmodel.cpp | |||
@@ -67,6 +67,7 @@ QHash< int, QByteArray > MailListModel::roleNames() const | |||
67 | roles[ThreadSize] = "threadSize"; | 67 | roles[ThreadSize] = "threadSize"; |
68 | roles[Mail] = "mail"; | 68 | roles[Mail] = "mail"; |
69 | roles[Incomplete] = "incomplete"; | 69 | roles[Incomplete] = "incomplete"; |
70 | roles[Status] = "status"; | ||
70 | 71 | ||
71 | return roles; | 72 | return roles; |
72 | } | 73 | } |
@@ -137,6 +138,15 @@ QVariant MailListModel::data(const QModelIndex &idx, int role) const | |||
137 | return QVariant::fromValue(mail); | 138 | return QVariant::fromValue(mail); |
138 | case Incomplete: | 139 | case Incomplete: |
139 | return !mail->getFullPayloadAvailable(); | 140 | return !mail->getFullPayloadAvailable(); |
141 | case Status: | ||
142 | const auto status = srcIdx.data(Sink::Store::StatusRole).toInt(); | ||
143 | if (status == Sink::ApplicationDomain::SyncStatus::SyncInProgress) { | ||
144 | return InProgressStatus; | ||
145 | } | ||
146 | if (status == Sink::ApplicationDomain::SyncStatus::SyncError) { | ||
147 | return ErrorStatus; | ||
148 | } | ||
149 | return NoStatus; | ||
140 | } | 150 | } |
141 | return QSortFilterProxyModel::data(idx, role); | 151 | return QSortFilterProxyModel::data(idx, role); |
142 | } | 152 | } |
@@ -208,7 +218,7 @@ void MailListModel::setMail(const QVariant &variant) | |||
208 | } | 218 | } |
209 | mCurrentQueryItem = mail->identifier(); | 219 | mCurrentQueryItem = mail->identifier(); |
210 | Sink::Query query = Sink::StandardQueries::completeThread(*mail); | 220 | Sink::Query query = Sink::StandardQueries::completeThread(*mail); |
211 | query.setFlags(Sink::Query::LiveQuery); | 221 | query.setFlags(Sink::Query::LiveQuery | Sink::Query::UpdateStatus); |
212 | query.request<Mail::Subject>(); | 222 | query.request<Mail::Subject>(); |
213 | query.request<Mail::Sender>(); | 223 | query.request<Mail::Sender>(); |
214 | query.request<Mail::To>(); | 224 | query.request<Mail::To>(); |