summaryrefslogtreecommitdiffstats
path: root/framework/domain/composercontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'framework/domain/composercontroller.cpp')
-rw-r--r--framework/domain/composercontroller.cpp35
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
32ComposerController::ComposerController(QObject *parent) : QObject(parent) 34ComposerController::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
37QString ComposerController::to() const 38QString ComposerController::to() const
@@ -99,22 +100,11 @@ void ComposerController::setBody(const QString &body)
99 } 100 }
100} 101}
101 102
102QStringList ComposerController::identityModel() const 103QAbstractItemModel *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;;
107int ComposerController::fromIndex() const
108{
109 return m_fromIndex;
110}
111
112void ComposerController::setFromIndex(int fromIndex)
113{
114 if(m_fromIndex != fromIndex) {
115 m_fromIndex = fromIndex;
116 emit fromIndexChanged();
117 }
118} 108}
119 109
120QStringList ComposerController::attachemts() const 110QStringList 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()
174void ComposerController::send() 166void 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}