diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,7 +105,7 @@ set(AKONADI_CONTACT_VERSION "5.2.80") set(KCONTACTS_LIB_VERSION "5.2.81") set(KCALENDARCORE_LIB_VERSION "5.2.80") - set(IDENTITYMANAGEMENT_LIB_VERSION "5.2.80") + set(IDENTITYMANAGEMENT_LIB_VERSION "5.3.41") set(KLDAP_LIB_VERSION "5.2.80") set(KMAILTRANSPORT_LIB_VERSION "5.2.80") set(CALENDARUTILS_LIB_VERSION "5.2.80") @@ -137,7 +137,7 @@ set(LIBMAILIMPORTER_VERSION_LIB "5.2.80") set(MAILCOMMON_LIB_VERSION_LIB "5.3.41") set(KDEPIM_APPS_LIB_VERSION_LIB "5.2.80") - set(MESSAGELIB_LIB_VERSION_LIB "5.3.41") + set(MESSAGELIB_LIB_VERSION_LIB "5.3.42") set(LIBKLEO_LIB_VERSION_LIB "5.2.80") set(LIBGRANTLEETHEME_LIB_VERSION_LIB "5.2.80") set(PIMCOMMON_LIB_VERSION_LIB "5.3.41") diff --git a/accountwizard/CMakeLists.txt b/accountwizard/CMakeLists.txt --- a/accountwizard/CMakeLists.txt +++ b/accountwizard/CMakeLists.txt @@ -42,7 +42,7 @@ set(AKONADI_MIMELIB_VERSION "5.2.80") set(AKONADI_CONTACT_VERSION "5.2.80") set(KCONTACTS_LIB_VERSION "5.2.81") - set(IDENTITYMANAGEMENT_LIB_VERSION "5.2.80") + set(IDENTITYMANAGEMENT_LIB_VERSION "5.3.41") set(KLDAP_LIB_VERSION "5.2.80") set(KMAILTRANSPORT_LIB_VERSION "5.2.80") set(KPIMTEXTEDIT_LIB_VERSION "5.2.80") @@ -55,7 +55,7 @@ option(KDEPIM_ENTERPRISE_BUILD "Enable features specific to the enterprise branch, which are normally disabled. Also, it disables many components not needed for Kontact such as the Kolab client." FALSE) find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Xml DBus Test) set(MAILCOMMON_LIB_VERSION_LIB "5.3.41") - set(MESSAGELIB_LIB_VERSION_LIB "5.3.41") + set(MESSAGELIB_LIB_VERSION_LIB "5.3.42") set(PIMCOMMON_LIB_VERSION_LIB "5.3.41") set(LIBKDEPIM_LIB_VERSION_LIB "5.2.80") diff --git a/akonadiconsole/CMakeLists.txt b/akonadiconsole/CMakeLists.txt --- a/akonadiconsole/CMakeLists.txt +++ b/akonadiconsole/CMakeLists.txt @@ -51,7 +51,7 @@ set(QT_REQUIRED_VERSION "5.6.0") find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets DBus Sql) set(LIBMAILIMPORTER_VERSION_LIB "5.2.80") - set(MESSAGELIB_LIB_VERSION_LIB "5.3.41") + set(MESSAGELIB_LIB_VERSION_LIB "5.3.42") set(LIBKLEO_LIB_VERSION_LIB "5.2.80") set(LIBKDEPIM_LIB_VERSION_LIB "5.2.80") set(KCALENDARCORE_LIB_VERSION "5.2.80") diff --git a/akregator/CMakeLists.txt b/akregator/CMakeLists.txt --- a/akregator/CMakeLists.txt +++ b/akregator/CMakeLists.txt @@ -45,7 +45,7 @@ set(LIBGRANTLEETHEME_LIB_VERSION_LIB "5.2.80") set(LIBKDEPIM_LIB_VERSION_LIB "5.2.80") set(LIBKLEO_LIB_VERSION_LIB "5.2.80") - set(MESSAGELIB_LIB_VERSION_LIB "5.3.41") + set(MESSAGELIB_LIB_VERSION_LIB "5.3.42") set(PIMCOMMON_LIB_VERSION_LIB "5.3.41") set(SYNDICATION_LIB_VERSION "5.2.80") diff --git a/blogilo/CMakeLists.txt b/blogilo/CMakeLists.txt --- a/blogilo/CMakeLists.txt +++ b/blogilo/CMakeLists.txt @@ -47,7 +47,7 @@ find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Test Sql WebEngine WebEngineWidgets) set(PIMCOMMON_LIB_VERSION_LIB "5.3.41") set(LIBKDEPIM_LIB_VERSION_LIB "5.2.80") - set(MESSAGELIB_LIB_VERSION_LIB "5.3.41") + set(MESSAGELIB_LIB_VERSION_LIB "5.3.42") # Find KF5 package find_package(KF5DBusAddons ${KF5_VERSION} CONFIG REQUIRED) find_package(KF5DocTools ${KF5_VERSION} REQUIRED) diff --git a/grantleeeditor/CMakeLists.txt b/grantleeeditor/CMakeLists.txt --- a/grantleeeditor/CMakeLists.txt +++ b/grantleeeditor/CMakeLists.txt @@ -36,7 +36,7 @@ set(KDEPIM_VERSION_NUMBER "5.3.40") set(KDEPIM_VERSION "${KDEPIM_VERSION_NUMBER}${KDEPIM_DEV_VERSION}") - set(MESSAGELIB_LIB_VERSION_LIB "5.3.41") + set(MESSAGELIB_LIB_VERSION_LIB "5.3.42") set(AKONADI_MIMELIB_VERSION "5.2.80") set(KPIMTEXTEDIT_LIB_VERSION "5.2.80") set(KDEPIM_LIB_VERSION "${KDEPIM_VERSION_NUMBER}") diff --git a/importwizard/CMakeLists.txt b/importwizard/CMakeLists.txt --- a/importwizard/CMakeLists.txt +++ b/importwizard/CMakeLists.txt @@ -48,10 +48,10 @@ find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Gui) set(LIBMAILIMPORTER_VERSION_LIB "5.2.80") set(MAILCOMMON_LIB_VERSION_LIB "5.3.41") - set(MESSAGELIB_LIB_VERSION_LIB "5.3.41") + set(MESSAGELIB_LIB_VERSION_LIB "5.3.42") set(PIMCOMMON_LIB_VERSION_LIB "5.3.41") set(LIBKDEPIM_LIB_VERSION_LIB "5.2.80") - set(IDENTITYMANAGEMENT_LIB_VERSION "5.2.80") + set(IDENTITYMANAGEMENT_LIB_VERSION "5.3.41") set(KCONTACTS_LIB_VERSION "5.2.81") # Find KF5 package diff --git a/kalarm/CMakeLists.txt b/kalarm/CMakeLists.txt --- a/kalarm/CMakeLists.txt +++ b/kalarm/CMakeLists.txt @@ -41,7 +41,7 @@ set(KHOLIDAYS_LIB_VERSION "5.2.80") set(KMAILTRANSPORT_LIB_VERSION "5.2.80") set(KPIMTEXTEDIT_LIB_VERSION "5.2.80") - set(IDENTITYMANAGEMENT_LIB_VERSION "5.2.80") + set(IDENTITYMANAGEMENT_LIB_VERSION "5.3.41") set(AKONADI_VERSION "5.2.80") set(KMIME_LIB_VERSION "5.2.80") set(AKONADIKALARM_LIB_VERSION "5.2.80") diff --git a/kmail/CMakeLists.txt b/kmail/CMakeLists.txt --- a/kmail/CMakeLists.txt +++ b/kmail/CMakeLists.txt @@ -46,7 +46,7 @@ set(KCONTACTS_LIB_VERSION "5.2.81") set(KCALENDARCORE_LIB_VERSION "5.2.80") set(CALENDARUTILS_LIB_VERSION "5.2.80") - set(IDENTITYMANAGEMENT_LIB_VERSION "5.2.80") + set(IDENTITYMANAGEMENT_LIB_VERSION "5.3.41") set(KLDAP_LIB_VERSION "5.2.80") set(KMAILTRANSPORT_LIB_VERSION "5.2.80") set(GPGMEPP_LIB_VERSION "5.2.80") @@ -64,7 +64,7 @@ set(LIBGRAVATAR_VERSION_LIB "5.2.80") set(MAILCOMMON_LIB_VERSION_LIB "5.3.41") set(KDEPIM_APPS_LIB_VERSION_LIB "5.2.80") - set(MESSAGELIB_LIB_VERSION_LIB "5.3.41") + set(MESSAGELIB_LIB_VERSION_LIB "5.3.42") set(LIBKLEO_LIB_VERSION_LIB "5.2.80") set(PIMCOMMON_LIB_VERSION_LIB "5.3.41") set(LIBKDEPIM_LIB_VERSION_LIB "5.2.80") diff --git a/kmail/src/configuredialog/configuresecuritypage.cpp b/kmail/src/configuredialog/configuresecuritypage.cpp --- a/kmail/src/configuredialog/configuresecuritypage.cpp +++ b/kmail/src/configuredialog/configuresecuritypage.cpp @@ -212,7 +212,6 @@ mWidget->setupUi(this); connect(mWidget->mEncToSelf, &QCheckBox::toggled, this, &SecurityPageComposerCryptoTab::slotEmitChanged); connect(mWidget->mShowKeyApprovalDlg, &QCheckBox::toggled, this, &SecurityPageComposerCryptoTab::slotEmitChanged); - connect(mWidget->mAutoEncrypt, &QCheckBox::toggled, this, &SecurityPageComposerCryptoTab::slotEmitChanged); connect(mWidget->mNeverEncryptWhenSavingInDrafts, &QCheckBox::toggled, this, &SecurityPageComposerCryptoTab::slotEmitChanged); connect(mWidget->mStoreEncrypted, &QCheckBox::toggled, this, &SecurityPageComposerCryptoTab::slotEmitChanged); connect(mWidget->mShowEncSignIndicator, &QCheckBox::toggled, this, &SecurityPageComposerCryptoTab::slotEmitChanged); @@ -230,7 +229,6 @@ loadWidget(mWidget->mEncToSelf, MessageComposer::MessageComposerSettings::self()->cryptoEncryptToSelfItem()); loadWidget(mWidget->mShowKeyApprovalDlg, MessageComposer::MessageComposerSettings::self()->cryptoShowKeysForApprovalItem()); - loadWidget(mWidget->mAutoEncrypt, MessageComposer::MessageComposerSettings::self()->pgpAutoEncryptItem()); loadWidget(mWidget->mNeverEncryptWhenSavingInDrafts, KMailSettings::self()->neverEncryptDraftsItem()); loadWidget(mWidget->mStoreEncrypted, KMailSettings::self()->cryptoStoreEncryptedItem()); @@ -242,7 +240,6 @@ saveCheckBox(mWidget->mEncToSelf, MessageComposer::MessageComposerSettings::self()->cryptoEncryptToSelfItem()); saveCheckBox(mWidget->mShowKeyApprovalDlg, MessageComposer::MessageComposerSettings::self()->cryptoShowKeysForApprovalItem()); - saveCheckBox(mWidget->mAutoEncrypt, MessageComposer::MessageComposerSettings::self()->pgpAutoEncryptItem()); saveCheckBox(mWidget->mNeverEncryptWhenSavingInDrafts, KMailSettings::self()->neverEncryptDraftsItem()); saveCheckBox(mWidget->mStoreEncrypted, KMailSettings::self()->cryptoStoreEncryptedItem()); saveCheckBox(mWidget->mShowEncSignIndicator, KMailSettings::self()->showCryptoLabelIndicatorItem()); @@ -253,7 +250,6 @@ loadWidget(mWidget->mEncToSelf, MessageComposer::MessageComposerSettings::self()->cryptoEncryptToSelfItem()); loadWidget(mWidget->mShowKeyApprovalDlg, MessageComposer::MessageComposerSettings::self()->cryptoShowKeysForApprovalItem()); - loadWidget(mWidget->mAutoEncrypt, MessageComposer::MessageComposerSettings::self()->pgpAutoEncryptItem()); loadWidget(mWidget->mNeverEncryptWhenSavingInDrafts, KMailSettings::self()->neverEncryptDraftsItem()); loadWidget(mWidget->mStoreEncrypted, KMailSettings::self()->cryptoStoreEncryptedItem()); loadWidget(mWidget->mShowEncSignIndicator, KMailSettings::self()->showCryptoLabelIndicatorItem()); diff --git a/kmail/src/identity/identitydialog.h b/kmail/src/identity/identitydialog.h --- a/kmail/src/identity/identitydialog.h +++ b/kmail/src/identity/identitydialog.h @@ -129,6 +129,7 @@ Kleo::EncryptionKeyRequester *mSMIMEEncryptionKeyRequester; KComboBox *mPreferredCryptoMessageFormat; QCheckBox *mAutoSign; + QCheckBox *mAutoEncrypt; // "advanced" tab: KLineEdit *mReplyToEdit; KLineEdit *mBccEdit; diff --git a/kmail/src/identity/identitydialog.cpp b/kmail/src/identity/identitydialog.cpp --- a/kmail/src/identity/identitydialog.cpp +++ b/kmail/src/identity/identitydialog.cpp @@ -370,6 +370,10 @@ glay->addWidget(mAutoSign, row, 0); ++row; + mAutoEncrypt = new QCheckBox(i18n("Automatically encrypt messages when possible")); + glay->addWidget(mAutoEncrypt, row, 0); + + ++row; glay->setRowStretch(row, 1); // @@ -797,6 +801,7 @@ mPreferredCryptoMessageFormat->setCurrentIndex(format2cb( Kleo::stringToCryptoMessageFormat(ident.preferredCryptoMessageFormat()))); mAutoSign->setChecked(ident.pgpAutoSign()); + mAutoEncrypt->setChecked(ident.pgpAutoEncrypt()); // "Advanced" tab: mReplyToEdit->setText(ident.replyToAddr()); @@ -895,6 +900,7 @@ ident.setPreferredCryptoMessageFormat( QLatin1String(Kleo::cryptoMessageFormatToString(cb2format(mPreferredCryptoMessageFormat->currentIndex())))); ident.setPgpAutoSign(mAutoSign->isChecked()); + ident.setPgpAutoEncrypt(mAutoEncrypt->isChecked()); // "Advanced" tab: ident.setReplyToAddr(mReplyToEdit->text()); ident.setBcc(mBccEdit->text()); diff --git a/kmail/src/kmmigrateapplication.h b/kmail/src/kmmigrateapplication.h --- a/kmail/src/kmmigrateapplication.h +++ b/kmail/src/kmmigrateapplication.h @@ -30,6 +30,8 @@ void migrate(); private: void initializeMigrator(); + void migrateAlwaysEncrypt(); + PimCommon::MigrateApplicationFiles mMigrator; }; diff --git a/kmail/src/kmmigrateapplication.cpp b/kmail/src/kmmigrateapplication.cpp --- a/kmail/src/kmmigrateapplication.cpp +++ b/kmail/src/kmmigrateapplication.cpp @@ -18,7 +18,9 @@ */ #include "kmmigrateapplication.h" - +#include +#include +#include #include KMMigrateApplication::KMMigrateApplication() @@ -41,6 +43,9 @@ if (mMigrator.checkIfNecessary()) { mMigrator.start(); } + + // Migrate global "Always encrypt" option to per-identity options + migrateAlwaysEncrypt(); } void KMMigrateApplication::initializeMigrator() @@ -102,3 +107,28 @@ migrateInfoVCardFromIdentity.setVersion(initialVersion); mMigrator.insertMigrateInfo(migrateInfoVCardFromIdentity); } + +void KMMigrateApplication::migrateAlwaysEncrypt() +{ + KConfig cfg(QStringLiteral("kmail2rc")); + if (!cfg.hasGroup("Composer")) { + return; + } + + KConfigGroup grp = cfg.group("Composer"); + if (!grp.hasKey("pgp-auto-encrypt")) { + return; + } + + const bool pgpAutoEncrypt = grp.readEntry("pgp-auto-encrypt", false); + grp.deleteEntry("pgp-auto-encrypt"); + + // Only update the per-identity flag to true + if (pgpAutoEncrypt) { + KIdentityManagement::IdentityManager mgr; + for (auto iter = mgr.modifyBegin(), end = mgr.modifyEnd(); iter != end; ++iter) { + iter->setPgpAutoEncrypt(pgpAutoEncrypt); + } + mgr.commit(); + } +} diff --git a/kmail/src/ui/composercryptoconfiguration.ui b/kmail/src/ui/composercryptoconfiguration.ui --- a/kmail/src/ui/composercryptoconfiguration.ui +++ b/kmail/src/ui/composercryptoconfiguration.ui @@ -59,16 +59,6 @@ - - - When this option is enabled, every message you send will be encrypted whenever encryption is possible and desired; of course, it is still possible to disable the automatic encryption for each message individually. - - - Automatically encrypt &messages whenever possible - - - - Never sign/encrypt when sa&ving as draft diff --git a/korganizer/CMakeLists.txt b/korganizer/CMakeLists.txt --- a/korganizer/CMakeLists.txt +++ b/korganizer/CMakeLists.txt @@ -41,7 +41,7 @@ set(AKONADI_MIMELIB_VERSION "5.2.80") set(AKONADI_CONTACT_VERSION "5.2.80") set(KCALENDARCORE_LIB_VERSION "5.2.80") - set(IDENTITYMANAGEMENT_LIB_VERSION "5.2.80") + set(IDENTITYMANAGEMENT_LIB_VERSION "5.3.41") set(KLDAP_LIB_VERSION "5.2.80") set(KMAILTRANSPORT_LIB_VERSION "5.2.80") set(CALENDARUTILS_LIB_VERSION "5.2.80") diff --git a/sieveeditor/CMakeLists.txt b/sieveeditor/CMakeLists.txt --- a/sieveeditor/CMakeLists.txt +++ b/sieveeditor/CMakeLists.txt @@ -41,7 +41,7 @@ set(KDEPIM_LIB_VERSION "${KDEPIM_VERSION_NUMBER}") set(KDEPIM_LIB_SOVERSION "5") - set(MESSAGELIB_LIB_VERSION_LIB "5.3.41") + set(MESSAGELIB_LIB_VERSION_LIB "5.3.42") set(LIBKSIEVE_LIB_VERSION_LIB "5.3.42") set(PIMCOMMON_LIB_VERSION_LIB "5.3.41")