2 Copyright (c) 2015-2016 Montel Laurent <montel@kde.org>
4 This program is free software; you can redistribute it and/or modify it
5 under the terms of the GNU General Public License, version 2, as
6 published by the Free Software Foundation.
8 This program is distributed in the hope that it will be useful, but
9 WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 General Public License for more details.
13 You should have received a copy of the GNU General Public License along
14 with this program; if not, write to the Free Software Foundation, Inc.,
15 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 #include "kmmigrateapplication.h"
20 #include <Kdelibs4ConfigMigrator>
22 KMMigrateApplication::KMMigrateApplication()
27 void KMMigrateApplication::migrate()
30 Kdelibs4ConfigMigrator
migrate(QStringLiteral("kmail"));
31 migrate
.setConfigFiles(QStringList() << QStringLiteral("kmail2rc") << QStringLiteral("kmail2.notifyrc") << QStringLiteral("kmailsnippetrc")
32 << QStringLiteral("customtemplatesrc") << QStringLiteral("templatesconfigurationrc") << QStringLiteral("kpimcompletionorder")
33 << QStringLiteral("messageviewer.notifyrc") << QStringLiteral("sievetemplaterc") << QStringLiteral("foldermailarchiverc"));
34 migrate
.setUiFiles(QStringList() << QStringLiteral("kmail_part.rc") << QStringLiteral("kmcomposerui.rc") << QStringLiteral("kmmainwin.rc")
35 << QStringLiteral("kmreadermainwin.rc"));
38 // Migrate folders and files.
39 if (mMigrator
.checkIfNecessary()) {
44 void KMMigrateApplication::initializeMigrator()
46 const int currentVersion
= 2;
47 mMigrator
.setApplicationName(QStringLiteral("kmail2"));
48 mMigrator
.setConfigFileName(QStringLiteral("kmail2rc"));
49 mMigrator
.setCurrentConfigVersion(currentVersion
);
51 // To migrate we need a version > currentVersion
52 const int initialVersion
= currentVersion
+ 1;
54 PimCommon::MigrateFileInfo migrateInfoAutoSave
;
55 migrateInfoAutoSave
.setFolder(true);
56 migrateInfoAutoSave
.setType(QStringLiteral("data"));
57 migrateInfoAutoSave
.setPath(QStringLiteral("kmail2/autosave/"));
58 migrateInfoAutoSave
.setVersion(initialVersion
);
59 mMigrator
.insertMigrateInfo(migrateInfoAutoSave
);
62 PimCommon::MigrateFileInfo migrateInfoMessageViewer
;
63 migrateInfoMessageViewer
.setFolder(true);
64 migrateInfoMessageViewer
.setType(QStringLiteral("data"));
65 migrateInfoMessageViewer
.setPath(QStringLiteral("messageviewer/theme/"));
66 migrateInfoMessageViewer
.setVersion(initialVersion
);
67 mMigrator
.insertMigrateInfo(migrateInfoMessageViewer
);
70 PimCommon::MigrateFileInfo migrateInfoAutocorrect
;
71 migrateInfoAutocorrect
.setFolder(true);
72 migrateInfoAutocorrect
.setType(QStringLiteral("data"));
73 migrateInfoAutocorrect
.setPath(QStringLiteral("autocorrect/"));
74 migrateInfoAutocorrect
.setVersion(initialVersion
);
75 mMigrator
.insertMigrateInfo(migrateInfoAutocorrect
);
78 PimCommon::MigrateFileInfo migrateInfoGravatar
;
79 migrateInfoGravatar
.setFolder(true);
80 migrateInfoGravatar
.setType(QStringLiteral("data"));
81 migrateInfoGravatar
.setPath(QStringLiteral("gravatar/"));
82 migrateInfoGravatar
.setVersion(initialVersion
);
83 mMigrator
.insertMigrateInfo(migrateInfoGravatar
);
86 PimCommon::MigrateFileInfo migrateInfoAdblockrules
;
87 migrateInfoAdblockrules
.setFolder(false);
88 migrateInfoAdblockrules
.setType(QStringLiteral("data"));
89 migrateInfoAdblockrules
.setPath(QStringLiteral("kmail2/"));
90 migrateInfoAdblockrules
.setFilePatterns(QStringList() << QStringLiteral("adblockrules_*"));
91 migrateInfoAdblockrules
.setVersion(initialVersion
);
92 mMigrator
.insertMigrateInfo(migrateInfoAdblockrules
);
95 PimCommon::MigrateFileInfo migrateInfoVCardFromIdentity
;
96 migrateInfoVCardFromIdentity
.setFolder(false);
97 migrateInfoVCardFromIdentity
.setType(QStringLiteral("data"));
98 migrateInfoVCardFromIdentity
.setPath(QStringLiteral("kmail2/"));
99 migrateInfoVCardFromIdentity
.setFilePatterns(QStringList() << QStringLiteral("*.vcf"));
100 migrateInfoVCardFromIdentity
.setVersion(initialVersion
);
101 mMigrator
.insertMigrateInfo(migrateInfoVCardFromIdentity
);