summaryrefslogtreecommitdiffstats
path: root/framework/domain
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-01-02 10:27:44 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-01-02 10:28:07 +0100
commit7037e7270a2a06e726871d953061213b26d66ea7 (patch)
tree3c83724cb62c368477188b786d82437c3b73ce71 /framework/domain
parent1ef70a4c8c2bb9fd70d5bc73614b09177b6b970c (diff)
downloadkube-7037e7270a2a06e726871d953061213b26d66ea7.tar.gz
kube-7037e7270a2a06e726871d953061213b26d66ea7.zip
Move to trash from mailview
Diffstat (limited to 'framework/domain')
-rw-r--r--framework/domain/mailcontroller.cpp10
-rw-r--r--framework/domain/mailcontroller.h2
-rw-r--r--framework/domain/maillistmodel.cpp7
-rw-r--r--framework/domain/maillistmodel.h4
4 files changed, 22 insertions, 1 deletions
diff --git a/framework/domain/mailcontroller.cpp b/framework/domain/mailcontroller.cpp
index 4c5ae5c6..3d29ba22 100644
--- a/framework/domain/mailcontroller.cpp
+++ b/framework/domain/mailcontroller.cpp
@@ -32,6 +32,16 @@ MailController::MailController()
32 QObject::connect(markAsReadAction(), &Kube::ControllerAction::triggered, this, &MailController::markAsRead); 32 QObject::connect(markAsReadAction(), &Kube::ControllerAction::triggered, this, &MailController::markAsRead);
33 QObject::connect(moveToTrashAction(), &Kube::ControllerAction::triggered, this, &MailController::moveToTrash); 33 QObject::connect(moveToTrashAction(), &Kube::ControllerAction::triggered, this, &MailController::moveToTrash);
34 QObject::connect(removeAction(), &Kube::ControllerAction::triggered, this, &MailController::remove); 34 QObject::connect(removeAction(), &Kube::ControllerAction::triggered, this, &MailController::remove);
35
36 QObject::connect(this, &MailController::mailChanged, &MailController::updateActions);
37 updateActions();
38}
39
40void MailController::updateActions()
41{
42 if (auto mail = getMail()) {
43 action_moveToTrash->setEnabled(!mail->getTrash());
44 }
35} 45}
36 46
37void MailController::markAsRead() 47void MailController::markAsRead()
diff --git a/framework/domain/mailcontroller.h b/framework/domain/mailcontroller.h
index 6c41f433..c20cf595 100644
--- a/framework/domain/mailcontroller.h
+++ b/framework/domain/mailcontroller.h
@@ -32,4 +32,6 @@ class MailController : public Kube::Controller
32 32
33public: 33public:
34 explicit MailController(); 34 explicit MailController();
35private slots:
36 void updateActions();
35}; 37};
diff --git a/framework/domain/maillistmodel.cpp b/framework/domain/maillistmodel.cpp
index 17b98c2b..950a2b8d 100644
--- a/framework/domain/maillistmodel.cpp
+++ b/framework/domain/maillistmodel.cpp
@@ -55,6 +55,7 @@ QHash< int, QByteArray > MailListModel::roleNames() const
55 roles[MimeMessage] = "mimeMessage"; 55 roles[MimeMessage] = "mimeMessage";
56 roles[DomainObject] = "domainObject"; 56 roles[DomainObject] = "domainObject";
57 roles[ThreadSize] = "threadSize"; 57 roles[ThreadSize] = "threadSize";
58 roles[Mail] = "mail";
58 59
59 return roles; 60 return roles;
60} 61}
@@ -97,6 +98,8 @@ QVariant MailListModel::data(const QModelIndex &idx, int role) const
97 return mail->getProperty("importantCollected").toList().contains(true); 98 return mail->getProperty("importantCollected").toList().contains(true);
98 case Draft: 99 case Draft:
99 return mail->getDraft(); 100 return mail->getDraft();
101 case Trash:
102 return mail->getTrash();
100 case Id: 103 case Id:
101 return mail->identifier(); 104 return mail->identifier();
102 case DomainObject: 105 case DomainObject:
@@ -105,6 +108,8 @@ QVariant MailListModel::data(const QModelIndex &idx, int role) const
105 return mail->getMimeMessage(); 108 return mail->getMimeMessage();
106 case ThreadSize: 109 case ThreadSize:
107 return mail->getProperty("count").toInt(); 110 return mail->getProperty("count").toInt();
111 case Mail:
112 return QVariant::fromValue(mail);
108 } 113 }
109 return QSortFilterProxyModel::data(idx, role); 114 return QSortFilterProxyModel::data(idx, role);
110} 115}
@@ -142,6 +147,7 @@ void MailListModel::setParentFolder(const QVariant &parentFolder)
142 query.request<Mail::Unread>(); 147 query.request<Mail::Unread>();
143 query.request<Mail::Important>(); 148 query.request<Mail::Important>();
144 query.request<Mail::Draft>(); 149 query.request<Mail::Draft>();
150 query.request<Mail::Trash>();
145 query.request<Mail::Folder>(); 151 query.request<Mail::Folder>();
146 qWarning() << "Running folder query: " << folder->resourceInstanceIdentifier() << folder->identifier(); 152 qWarning() << "Running folder query: " << folder->resourceInstanceIdentifier() << folder->identifier();
147 runQuery(query); 153 runQuery(query);
@@ -170,6 +176,7 @@ void MailListModel::setMail(const QVariant &variant)
170 query.request<Mail::Unread>(); 176 query.request<Mail::Unread>();
171 query.request<Mail::Important>(); 177 query.request<Mail::Important>();
172 query.request<Mail::Draft>(); 178 query.request<Mail::Draft>();
179 query.request<Mail::Trash>();
173 query.request<Mail::MimeMessage>(); 180 query.request<Mail::MimeMessage>();
174 qWarning() << "Running mail query: " << mail->resourceInstanceIdentifier() << mail->identifier(); 181 qWarning() << "Running mail query: " << mail->resourceInstanceIdentifier() << mail->identifier();
175 runQuery(query); 182 runQuery(query);
diff --git a/framework/domain/maillistmodel.h b/framework/domain/maillistmodel.h
index 22b97e11..71a0a6df 100644
--- a/framework/domain/maillistmodel.h
+++ b/framework/domain/maillistmodel.h
@@ -51,10 +51,12 @@ public:
51 Unread, 51 Unread,
52 Important, 52 Important,
53 Draft, 53 Draft,
54 Trash,
54 Id, 55 Id,
55 MimeMessage, 56 MimeMessage,
56 DomainObject, 57 DomainObject,
57 ThreadSize 58 ThreadSize,
59 Mail
58 }; 60 };
59 61
60 QHash<int, QByteArray> roleNames() const Q_DECL_OVERRIDE; 62 QHash<int, QByteArray> roleNames() const Q_DECL_OVERRIDE;