From d0617d0ad6926c250e29d1a40db93733fa911e5d Mon Sep 17 00:00:00 2001 From: Michael Bohlender Date: Wed, 9 Mar 2016 16:35:53 +0100 Subject: rename composer -> composercontroller --- framework/domain/composer.cpp | 199 ------------------------------------------ 1 file changed, 199 deletions(-) delete mode 100644 framework/domain/composer.cpp (limited to 'framework/domain/composer.cpp') diff --git a/framework/domain/composer.cpp b/framework/domain/composer.cpp deleted file mode 100644 index 2f4fe2e9..00000000 --- a/framework/domain/composer.cpp +++ /dev/null @@ -1,199 +0,0 @@ -/* - Copyright (c) 2016 Michael Bohlender - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ - - -#include "composer.h" -#include -#include -#include -#include -#include -#include -#include - -#include "mailtemplates.h" - -Composer::Composer(QObject *parent) : QObject(parent) -{ - m_identityModel << "Kuberich " << "Uni " << "Spam "; -} - -QString Composer::to() const -{ - return m_to; -} - -void Composer::setTo(const QString &to) -{ - if(m_to != to) { - m_to = to; - emit toChanged(); - } -} - -QString Composer::cc() const -{ - return m_cc; -} - -void Composer::setCc(const QString &cc) -{ - if(m_cc != cc) { - m_cc = cc; - emit ccChanged(); - } -} - -QString Composer::bcc() const -{ - return m_bcc; -} - -void Composer::setBcc(const QString &bcc) -{ - if(m_bcc != bcc) { - m_bcc = bcc; - emit bccChanged(); - } -} - -QString Composer::subject() const -{ - return m_subject; -} - -void Composer::setSubject(const QString &subject) -{ - if(m_subject != subject) { - m_subject = subject; - emit subjectChanged(); - } -} - -QString Composer::body() const -{ - return m_body; -} - -void Composer::setBody(const QString &body) -{ - if(m_body != body) { - m_body = body; - emit bodyChanged(); - } -} - -QStringList Composer::identityModel() const -{ - return m_identityModel; -} - -int Composer::fromIndex() const -{ - return m_fromIndex; -} - -void Composer::setFromIndex(int fromIndex) -{ - if(m_fromIndex != fromIndex) { - m_fromIndex = fromIndex; - emit fromIndexChanged(); - } -} - -QVariant Composer::originalMessage() const -{ - return m_originalMessage; -} - -void Composer::setOriginalMessage(const QVariant &originalMessage) -{ - const auto mailData = KMime::CRLFtoLF(originalMessage.toByteArray()); - if (!mailData.isEmpty()) { - KMime::Message::Ptr mail(new KMime::Message); - mail->setContent(mailData); - mail->parse(); - auto reply = MailTemplates::reply(mail); - //We assume reply - setTo(reply->to(true)->asUnicodeString()); - setCc(reply->cc(true)->asUnicodeString()); - setSubject(reply->subject(true)->asUnicodeString()); - setBody(reply->body()); - m_msg = QVariant::fromValue(reply); - } else { - m_msg = QVariant(); - } -} - -KMime::Message::Ptr Composer::assembleMessage() -{ - auto mail = m_msg.value(); - if (!mail) { - mail = KMime::Message::Ptr::create(); - } - for (const auto &to : KEmailAddress::splitAddressList(m_to)) { - QByteArray displayName; - QByteArray addrSpec; - QByteArray comment; - KEmailAddress::splitAddress(to.toUtf8(), displayName, addrSpec, comment); - mail->to(true)->addAddress(addrSpec, displayName); - } - mail->subject(true)->fromUnicodeString(m_subject, "utf-8"); - mail->setBody(m_body.toUtf8()); - mail->assemble(); - return mail; -} - -void Composer::send() -{ - auto mail = assembleMessage(); - Kube::ApplicationContext settings; - auto account = settings.currentAccount(); - auto identity = account.primaryIdentity(); - auto transport = identity.transport(); - - Kube::Context context; - context.setProperty("message", QVariant::fromValue(mail)); - - context.setProperty("username", transport.username()); - context.setProperty("password", transport.password()); - context.setProperty("server", transport.server()); - - Kube::Action("org.kde.kube.actions.sendmail", context).execute(); - clear(); -} - -void Composer::saveAsDraft() -{ - auto mail = assembleMessage(); - Kube::Context context; - context.setProperty("message", QVariant::fromValue(mail)); - Kube::Action("org.kde.kube.actions.saveasdraft", context).execute(); - clear(); -} - -void Composer::clear() -{ - setSubject(""); - setBody(""); - setTo(""); - setCc(""); - setBcc(""); - setFromIndex(-1); -} -- cgit v1.2.3