From 808896f0d0499f10a2e3cbe684c76e48207edf86 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 1 Nov 2016 11:25:34 +0100 Subject: Show recepients --- framework/domain/maillistmodel.cpp | 34 ++++++++++++++++++++++++++++++---- framework/domain/maillistmodel.h | 3 +++ framework/domain/outboxmodel.cpp | 5 ++--- 3 files changed, 35 insertions(+), 7 deletions(-) (limited to 'framework/domain') diff --git a/framework/domain/maillistmodel.cpp b/framework/domain/maillistmodel.cpp index 746f3523..5960f5b4 100644 --- a/framework/domain/maillistmodel.cpp +++ b/framework/domain/maillistmodel.cpp @@ -44,6 +44,9 @@ QHash< int, QByteArray > MailListModel::roleNames() const roles[Subject] = "subject"; roles[Sender] = "sender"; roles[SenderName] = "senderName"; + roles[To] = "to"; + roles[Cc] = "cc"; + roles[Bcc] = "bcc"; roles[Date] = "date"; roles[Unread] = "unread"; roles[Important] = "important"; @@ -56,6 +59,19 @@ QHash< int, QByteArray > MailListModel::roleNames() const return roles; } +static QString join(const QList &contacts) +{ + QStringList list; + for (const auto &contact : contacts) { + if (!contact.name.isEmpty()) { + list << QString("%1 <%2>").arg(contact.name).arg(contact.emailAddress); + } else { + list << contact.emailAddress; + } + } + return list.join(", "); +} + QVariant MailListModel::data(const QModelIndex &idx, int role) const { auto srcIdx = mapToSource(idx); @@ -64,9 +80,15 @@ QVariant MailListModel::data(const QModelIndex &idx, int role) const case Subject: return mail->getSubject(); case Sender: - return mail->getSender(); + return mail->getSender().emailAddress; case SenderName: - return mail->getSenderName(); + return mail->getSender().name; + case To: + return join(mail->getTo()); + case Cc: + return join(mail->getCc()); + case Bcc: + return join(mail->getBcc()); case Date: return mail->getDate(); case Unread: @@ -113,7 +135,9 @@ void MailListModel::setParentFolder(const QVariant &parentFolder) query.limit = 100; query.request(); query.request(); - query.request(); + query.request(); + query.request(); + query.request(); query.request(); query.request(); query.request(); @@ -140,7 +164,9 @@ void MailListModel::setMail(const QVariant &variant) query.liveQuery = false; query.request(); query.request(); - query.request(); + query.request(); + query.request(); + query.request(); query.request(); query.request(); query.request(); diff --git a/framework/domain/maillistmodel.h b/framework/domain/maillistmodel.h index a7cb5d84..22b97e11 100644 --- a/framework/domain/maillistmodel.h +++ b/framework/domain/maillistmodel.h @@ -44,6 +44,9 @@ public: Subject = Qt::UserRole + 1, Sender, SenderName, + To, + Cc, + Bcc, Date, Unread, Important, diff --git a/framework/domain/outboxmodel.cpp b/framework/domain/outboxmodel.cpp index b3533976..f2827f82 100644 --- a/framework/domain/outboxmodel.cpp +++ b/framework/domain/outboxmodel.cpp @@ -37,7 +37,6 @@ OutboxModel::OutboxModel(QObject *parent) query.liveQuery = true; query.request(); query.request(); - query.request(); query.request(); query.request(); query.request(); @@ -77,9 +76,9 @@ QVariant OutboxModel::data(const QModelIndex &idx, int role) const case Subject: return mail->getSubject(); case Sender: - return mail->getSender(); + return mail->getSender().emailAddress; case SenderName: - return mail->getSenderName(); + return mail->getSender().name; case Date: return mail->getDate(); case Unread: -- cgit v1.2.3