diff options
Diffstat (limited to 'framework/domain/composercontroller.cpp')
-rw-r--r-- | framework/domain/composercontroller.cpp | 35 |
1 files changed, 11 insertions, 24 deletions
diff --git a/framework/domain/composercontroller.cpp b/framework/domain/composercontroller.cpp index 4ab4ac21..a383de26 100644 --- a/framework/domain/composercontroller.cpp +++ b/framework/domain/composercontroller.cpp | |||
@@ -26,12 +26,13 @@ | |||
26 | #include <KCodecs/KEmailAddress> | 26 | #include <KCodecs/KEmailAddress> |
27 | #include <QVariant> | 27 | #include <QVariant> |
28 | #include <QDebug> | 28 | #include <QDebug> |
29 | #include <QQmlEngine> | ||
29 | 30 | ||
31 | #include "accountsmodel.h" | ||
30 | #include "mailtemplates.h" | 32 | #include "mailtemplates.h" |
31 | 33 | ||
32 | ComposerController::ComposerController(QObject *parent) : QObject(parent) | 34 | ComposerController::ComposerController(QObject *parent) : QObject(parent) |
33 | { | 35 | { |
34 | m_identityModel << "Kuberich <kuberich@kolabnow.com>" << "Uni <kuberich@university.edu>" << "Spam <hello.spam@spam.to>"; | ||
35 | } | 36 | } |
36 | 37 | ||
37 | QString ComposerController::to() const | 38 | QString ComposerController::to() const |
@@ -99,22 +100,11 @@ void ComposerController::setBody(const QString &body) | |||
99 | } | 100 | } |
100 | } | 101 | } |
101 | 102 | ||
102 | QStringList ComposerController::identityModel() const | 103 | QAbstractItemModel *ComposerController::identityModel() const |
103 | { | 104 | { |
104 | return m_identityModel; | 105 | static auto accountsModel = new AccountsModel(); |
105 | } | 106 | QQmlEngine::setObjectOwnership(accountsModel, QQmlEngine::CppOwnership); |
106 | 107 | return accountsModel;; | |
107 | int ComposerController::fromIndex() const | ||
108 | { | ||
109 | return m_fromIndex; | ||
110 | } | ||
111 | |||
112 | void ComposerController::setFromIndex(int fromIndex) | ||
113 | { | ||
114 | if(m_fromIndex != fromIndex) { | ||
115 | m_fromIndex = fromIndex; | ||
116 | emit fromIndexChanged(); | ||
117 | } | ||
118 | } | 108 | } |
119 | 109 | ||
120 | QStringList ComposerController::attachemts() const | 110 | QStringList ComposerController::attachemts() const |
@@ -165,6 +155,8 @@ KMime::Message::Ptr ComposerController::assembleMessage() | |||
165 | KEmailAddress::splitAddress(to.toUtf8(), displayName, addrSpec, comment); | 155 | KEmailAddress::splitAddress(to.toUtf8(), displayName, addrSpec, comment); |
166 | mail->to(true)->addAddress(addrSpec, displayName); | 156 | mail->to(true)->addAddress(addrSpec, displayName); |
167 | } | 157 | } |
158 | //FIXME set "from" from identity (or do that in the action directly?) | ||
159 | // mail->from(true)->addAddress("test@example.com", "John Doe"); | ||
168 | mail->subject(true)->fromUnicodeString(m_subject, "utf-8"); | 160 | mail->subject(true)->fromUnicodeString(m_subject, "utf-8"); |
169 | mail->setBody(m_body.toUtf8()); | 161 | mail->setBody(m_body.toUtf8()); |
170 | mail->assemble(); | 162 | mail->assemble(); |
@@ -174,17 +166,13 @@ KMime::Message::Ptr ComposerController::assembleMessage() | |||
174 | void ComposerController::send() | 166 | void ComposerController::send() |
175 | { | 167 | { |
176 | auto mail = assembleMessage(); | 168 | auto mail = assembleMessage(); |
177 | Kube::ApplicationContext settings; | 169 | auto currentAccountId = identityModel()->index(m_currentAccountIndex, 0).data(AccountsModel::AccountId).toByteArray(); |
178 | auto account = settings.currentAccount(); | ||
179 | auto identity = account.primaryIdentity(); | ||
180 | auto transport = identity.transport(); | ||
181 | 170 | ||
182 | Kube::Context context; | 171 | Kube::Context context; |
183 | context.setProperty("message", QVariant::fromValue(mail)); | 172 | context.setProperty("message", QVariant::fromValue(mail)); |
173 | context.setProperty("accountId", QVariant::fromValue(currentAccountId)); | ||
184 | 174 | ||
185 | context.setProperty("username", transport.username()); | 175 | qDebug() << "Current account " << currentAccountId; |
186 | context.setProperty("password", transport.password()); | ||
187 | context.setProperty("server", transport.server()); | ||
188 | 176 | ||
189 | Kube::Action("org.kde.kube.actions.sendmail", context).execute(); | 177 | Kube::Action("org.kde.kube.actions.sendmail", context).execute(); |
190 | clear(); | 178 | clear(); |
@@ -206,5 +194,4 @@ void ComposerController::clear() | |||
206 | setTo(""); | 194 | setTo(""); |
207 | setCc(""); | 195 | setCc(""); |
208 | setBcc(""); | 196 | setBcc(""); |
209 | setFromIndex(-1); | ||
210 | } | 197 | } |