Index: CMakeLists.txt =================================================================== --- CMakeLists.txt +++ 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") Index: accountwizard/CMakeLists.txt =================================================================== --- accountwizard/CMakeLists.txt +++ 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") Index: akonadiconsole/CMakeLists.txt =================================================================== --- akonadiconsole/CMakeLists.txt +++ 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") Index: akregator/CMakeLists.txt =================================================================== --- akregator/CMakeLists.txt +++ 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") Index: blogilo/CMakeLists.txt =================================================================== --- blogilo/CMakeLists.txt +++ 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) Index: grantleeeditor/CMakeLists.txt =================================================================== --- grantleeeditor/CMakeLists.txt +++ 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}") Index: importwizard/CMakeLists.txt =================================================================== --- importwizard/CMakeLists.txt +++ 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 Index: kalarm/CMakeLists.txt =================================================================== --- kalarm/CMakeLists.txt +++ 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") Index: kmail/CMakeLists.txt =================================================================== --- kmail/CMakeLists.txt +++ 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") Index: kmail/src/configuredialog/configuresecuritypage.cpp =================================================================== --- kmail/src/configuredialog/configuresecuritypage.cpp +++ 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()); Index: kmail/src/identity/identitydialog.h =================================================================== --- kmail/src/identity/identitydialog.h +++ kmail/src/identity/identitydialog.h @@ -129,6 +129,7 @@ Kleo::EncryptionKeyRequester *mSMIMEEncryptionKeyRequester; KComboBox *mPreferredCryptoMessageFormat; QCheckBox *mAutoSign; + QCheckBox *mAutoEncrypt; // "advanced" tab: KLineEdit *mReplyToEdit; KLineEdit *mBccEdit; Index: kmail/src/identity/identitydialog.cpp =================================================================== --- kmail/src/identity/identitydialog.cpp +++ 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()); Index: kmail/src/kmmigrateapplication.h =================================================================== --- kmail/src/kmmigrateapplication.h +++ kmail/src/kmmigrateapplication.h @@ -30,6 +30,8 @@ void migrate(); private: void initializeMigrator(); + void migrateAlwaysEncrypt(); + PimCommon::MigrateApplicationFiles mMigrator; }; Index: kmail/src/kmmigrateapplication.cpp =================================================================== --- kmail/src/kmmigrateapplication.cpp +++ 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(); + } +} Index: kmail/src/ui/composercryptoconfiguration.ui =================================================================== --- kmail/src/ui/composercryptoconfiguration.ui +++ 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 Index: korganizer/CMakeLists.txt =================================================================== --- korganizer/CMakeLists.txt +++ 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") Index: sieveeditor/CMakeLists.txt =================================================================== --- sieveeditor/CMakeLists.txt +++ 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.41") set(PIMCOMMON_LIB_VERSION_LIB "5.3.41")