1 /*
2    SPDX-FileCopyrightText: 2017-2021 Laurent Montel <montel@kde.org>
3 
4    SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include <Akonadi/Collection>
10 #include <KIdentityManagement/Identity>
11 #include <KMime/Message>
12 #include <QObject>
13 
14 class KMComposerUpdateTemplateJob : public QObject
15 {
16     Q_OBJECT
17 public:
18     explicit KMComposerUpdateTemplateJob(QObject *parent = nullptr);
19     ~KMComposerUpdateTemplateJob() override;
20     void start();
21     void setMsg(const KMime::Message::Ptr &msg);
22 
23     void setCustomTemplate(const QString &customTemplate);
24 
25     void setTextSelection(const QString &textSelection);
26 
27     void setWasModified(bool wasModified);
28 
29     void setUoldId(uint uoldId);
30 
31     void setUoid(uint uoid);
32 
33     void setIdent(const KIdentityManagement::Identity &ident);
34 
35     void setCollection(const Akonadi::Collection &col);
36 Q_SIGNALS:
37     void updateComposer(const KIdentityManagement::Identity &ident, const KMime::Message::Ptr &msg, uint uoid, uint uoldId, bool wasModified);
38 
39 private:
40     Q_DISABLE_COPY(KMComposerUpdateTemplateJob)
41     void slotFinished();
42 
43     QString mTextSelection;
44     QString mCustomTemplate;
45     KMime::Message::Ptr mMsg;
46     Akonadi::Collection mCollectionForNewMessage;
47     uint mUoldId = 0;
48     uint mUoid = 0;
49     KIdentityManagement::Identity mIdent;
50     bool mWasModified = false;
51 };
52 
53