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.cpp27
1 files changed, 10 insertions, 17 deletions
diff --git a/framework/domain/maillistmodel.cpp b/framework/domain/maillistmodel.cpp
index 2df3ecbc..eb282533 100644
--- a/framework/domain/maillistmodel.cpp
+++ b/framework/domain/maillistmodel.cpp
@@ -56,33 +56,26 @@ QHash< int, QByteArray > MailListModel::roleNames() const
56QVariant MailListModel::data(const QModelIndex &idx, int role) const 56QVariant MailListModel::data(const QModelIndex &idx, int role) const
57{ 57{
58 auto srcIdx = mapToSource(idx); 58 auto srcIdx = mapToSource(idx);
59 auto mail = srcIdx.data(Sink::Store::DomainObjectRole).value<Sink::ApplicationDomain::Mail::Ptr>();
59 switch (role) { 60 switch (role) {
60 case Subject: 61 case Subject:
61 return srcIdx.sibling(srcIdx.row(), 0).data(Qt::DisplayRole).toString(); 62 return mail->getSubject();
62 case Sender: 63 case Sender:
63 return srcIdx.sibling(srcIdx.row(), 1).data(Qt::DisplayRole).toString(); 64 return mail->getSender();
64 case SenderName: 65 case SenderName:
65 return srcIdx.sibling(srcIdx.row(), 2).data(Qt::DisplayRole).toString(); 66 return mail->getSenderName();
66 case Date: 67 case Date:
67 return srcIdx.sibling(srcIdx.row(), 3).data(Qt::DisplayRole).toString(); 68 return mail->getDate();
68 case Unread: 69 case Unread:
69 return srcIdx.sibling(srcIdx.row(), 4).data(Qt::DisplayRole).toBool(); 70 return mail->getUnread();
70 case Important: 71 case Important:
71 return srcIdx.sibling(srcIdx.row(), 5).data(Qt::DisplayRole).toBool(); 72 return mail->getImportant();
72 case Id: 73 case Id:
73 return srcIdx.data(Sink::Store::DomainObjectBaseRole).value<Sink::ApplicationDomain::ApplicationDomainType::Ptr>()->identifier(); 74 return mail->identifier();
74 case DomainObject: 75 case DomainObject:
75 return srcIdx.data(Sink::Store::DomainObjectRole); 76 return QVariant::fromValue(mail);
76 case MimeMessage: { 77 case MimeMessage: {
77 auto filename = srcIdx.sibling(srcIdx.row(), 6).data(Qt::DisplayRole).toString(); 78 return mail->getMimeMessage();
78 QFile file(filename);
79 if (file.open(QFile::ReadOnly)) {
80 auto content = file.readAll();
81 return content;
82 } else {
83 qWarning() << "Failed to open the file";
84 }
85 return "Failed to read mail.";
86 } 79 }
87 } 80 }
88 return QSortFilterProxyModel::data(idx, role); 81 return QSortFilterProxyModel::data(idx, role);