1 /*
2    SPDX-FileCopyrightText: 2012-2021 Laurent Montel <montel@kde.org>
3 
4    SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "abstractbase.h"
10 #include "libimportwizard_export.h"
11 #include <KSharedConfig>
12 #include <QMap>
13 
14 namespace KIdentityManagement
15 {
16 class Identity;
17 class IdentityManager;
18 }
19 
20 namespace MailTransport
21 {
22 class Transport;
23 }
24 
25 class LIBIMPORTWIZARD_EXPORT AbstractSettings : public LibImportWizard::AbstractBase
26 {
27     Q_OBJECT
28 public:
29     AbstractSettings();
30     ~AbstractSettings() override;
31 
32 protected:
33     void addImportInfo(const QString &log) override;
34     void addImportError(const QString &log) override;
35 
36     void syncKmailConfig();
37 
38     QString uniqueIdentityName(const QString &name);
39 
40     QString createResource(const QString &resources, const QString &name, const QMap<QString, QVariant> &settings);
41 
42     KIdentityManagement::Identity *createIdentity(QString &name);
43 
44     MailTransport::Transport *createTransport();
45 
46     void storeTransport(MailTransport::Transport *mt, bool isDefault = false);
47 
48     void storeIdentity(KIdentityManagement::Identity *identity);
49 
50     void addKmailConfig(const QString &groupName, const QString &key, const QString &value);
51     void addKmailConfig(const QString &groupName, const QString &key, bool value);
52     void addKmailConfig(const QString &groupName, const QString &key, int value);
53 
54     void addComposerHeaderGroup(const QString &groupName, const QString &name, const QString &value);
55 
56     void addCheckMailOnStartup(const QString &agentIdentifyName, bool loginAtStartup);
57     void addToManualCheck(const QString &agentIdentifyName, bool manualCheck);
58     int readKmailSettings(const QString &groupName, const QString &key);
59 
60     KIdentityManagement::IdentityManager *mManager = nullptr;
61     KSharedConfigPtr mKmailConfig;
62 };
63 
64