summaryrefslogtreecommitdiffstats
path: root/framework/domain/maillistmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'framework/domain/maillistmodel.cpp')
-rw-r--r--framework/domain/maillistmodel.cpp12
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>();