From 808896f0d0499f10a2e3cbe684c76e48207edf86 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 1 Nov 2016 11:25:34 +0100 Subject: Show recepients --- components/package/contents/ui/SingleMailView.qml | 19 +++++++++---- framework/domain/maillistmodel.cpp | 34 ++++++++++++++++++++--- framework/domain/maillistmodel.h | 3 ++ framework/domain/outboxmodel.cpp | 5 ++-- 4 files changed, 49 insertions(+), 12 deletions(-) diff --git a/components/package/contents/ui/SingleMailView.qml b/components/package/contents/ui/SingleMailView.qml index bc3225b3..a29f5fd9 100644 --- a/components/package/contents/ui/SingleMailView.qml +++ b/components/package/contents/ui/SingleMailView.qml @@ -107,15 +107,12 @@ Item { opacity: 0.75 } - //TODO not yet in model - /* Text { - text: model.senderAd + text: model.senderAddress color: Kirigami.Theme.textColor opacity: 0.75 } - */ } RowLayout { @@ -123,7 +120,19 @@ Item { text: "To:" } Text { - text: "TODO TODO TODO"//model.receivers TODO not yet in model + text: model.to + + color: Kirigami.Theme.textColor + opacity: 0.75 + } + Text { + text: model.cc + + color: Kirigami.Theme.textColor + opacity: 0.75 + } + Text { + text: model.bcc color: Kirigami.Theme.textColor opacity: 0.75 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