File indexing completed on 2024-10-27 04:51:00
0001 /* 0002 SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "kmcomposerupdatetemplatejob.h" 0008 #include "kmkernel.h" 0009 #include <MessageComposer/Composer> 0010 0011 #include <MessageComposer/MessageHelper> 0012 #include <TemplateParser/TemplateParserJob> 0013 0014 KMComposerUpdateTemplateJob::KMComposerUpdateTemplateJob(QObject *parent) 0015 : QObject(parent) 0016 { 0017 } 0018 0019 KMComposerUpdateTemplateJob::~KMComposerUpdateTemplateJob() = default; 0020 0021 void KMComposerUpdateTemplateJob::start() 0022 { 0023 auto parser = new TemplateParser::TemplateParserJob(mMsg, TemplateParser::TemplateParserJob::NewMessage, this); 0024 connect(parser, &TemplateParser::TemplateParserJob::parsingDone, this, &KMComposerUpdateTemplateJob::slotFinished); 0025 parser->setSelection(mTextSelection); 0026 parser->setAllowDecryption(true); 0027 parser->setIdentityManager(KMKernel::self()->identityManager()); 0028 if (!mCustomTemplate.isEmpty()) { 0029 parser->process(mCustomTemplate, mMsg, mCollectionForNewMessage.id()); 0030 } else { 0031 parser->processWithIdentity(mUoid, mMsg, mCollectionForNewMessage.id()); 0032 } 0033 } 0034 0035 void KMComposerUpdateTemplateJob::slotFinished() 0036 { 0037 Q_EMIT updateComposer(mIdent, mMsg, mUoid, mUoldId, mWasModified); 0038 deleteLater(); 0039 } 0040 0041 void KMComposerUpdateTemplateJob::setMsg(const KMime::Message::Ptr &msg) 0042 { 0043 mMsg = msg; 0044 } 0045 0046 void KMComposerUpdateTemplateJob::setCustomTemplate(const QString &customTemplate) 0047 { 0048 mCustomTemplate = customTemplate; 0049 } 0050 0051 void KMComposerUpdateTemplateJob::setTextSelection(const QString &textSelection) 0052 { 0053 mTextSelection = textSelection; 0054 } 0055 0056 void KMComposerUpdateTemplateJob::setWasModified(bool wasModified) 0057 { 0058 mWasModified = wasModified; 0059 } 0060 0061 void KMComposerUpdateTemplateJob::setUoldId(uint uoldId) 0062 { 0063 mUoldId = uoldId; 0064 } 0065 0066 void KMComposerUpdateTemplateJob::setUoid(uint uoid) 0067 { 0068 mUoid = uoid; 0069 } 0070 0071 void KMComposerUpdateTemplateJob::setIdent(const KIdentityManagementCore::Identity &ident) 0072 { 0073 mIdent = ident; 0074 } 0075 0076 void KMComposerUpdateTemplateJob::setCollection(const Akonadi::Collection &col) 0077 { 0078 mCollectionForNewMessage = col; 0079 } 0080 0081 #include "moc_kmcomposerupdatetemplatejob.cpp"