diff --git a/CMakeLists.txt b/CMakeLists.txt index e72c88365..c958f0c8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,7 @@ option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE) find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED DBus Network Test Widgets WebEngine WebEngineWidgets) set(LIBGRAVATAR_VERSION_LIB "5.12.1") -set(MAILCOMMON_LIB_VERSION_LIB "5.12.1") +set(MAILCOMMON_LIB_VERSION_LIB "5.12.2") set(KDEPIM_APPS_LIB_VERSION_LIB "5.12.1") set(MESSAGELIB_LIB_VERSION_LIB "5.12.1") set(LIBKLEO_LIB_VERSION_LIB "5.12.1") diff --git a/src/kmmainwidget.cpp b/src/kmmainwidget.cpp index 815b3baaa..7350b4272 100644 --- a/src/kmmainwidget.cpp +++ b/src/kmmainwidget.cpp @@ -1422,41 +1422,33 @@ void KMMainWidget::slotExpireFolder() if (!mCurrentFolderSettings) { return; } - bool mustDeleteExpirationAttribute = false; - MailCommon::ExpireCollectionAttribute *attr = MailCommon::Util::expirationCollectionAttribute(mCurrentCollection, mustDeleteExpirationAttribute); - bool canBeExpired = true; - if (!attr->isAutoExpire()) { - canBeExpired = false; - } else if (attr->unreadExpireUnits() == MailCommon::ExpireCollectionAttribute::ExpireNever - && attr->readExpireUnits() == MailCommon::ExpireCollectionAttribute::ExpireNever) { - canBeExpired = false; - } - - if (!canBeExpired) { - const QString message = i18n("This folder does not have any expiry options set"); - KMessageBox::information(this, message); - if (mustDeleteExpirationAttribute) { - delete attr; + const MailCommon::ExpireCollectionAttribute *attr = mCurrentCollection.attribute(); + if (attr) { + bool canBeExpired = true; + if (!attr->isAutoExpire()) { + canBeExpired = false; + } else if (attr->unreadExpireUnits() == MailCommon::ExpireCollectionAttribute::ExpireNever + && attr->readExpireUnits() == MailCommon::ExpireCollectionAttribute::ExpireNever) { + canBeExpired = false; } - return; - } - if (KMailSettings::self()->warnBeforeExpire()) { - const QString message = i18n("Are you sure you want to expire the folder %1?", - mCurrentFolderSettings->name().toHtmlEscaped()); - if (KMessageBox::warningContinueCancel(this, message, i18n("Expire Folder"), - KGuiItem(i18n("&Expire"))) - != KMessageBox::Continue) { - if (mustDeleteExpirationAttribute) { - delete attr; - } + if (!canBeExpired) { + const QString message = i18n("This folder does not have any expiry options set"); + KMessageBox::information(this, message); return; } - } - MailCommon::Util::expireOldMessages(mCurrentCollection, true /*immediate*/); - if (mustDeleteExpirationAttribute) { - delete attr; + if (KMailSettings::self()->warnBeforeExpire()) { + const QString message = i18n("Are you sure you want to expire the folder %1?", + mCurrentFolderSettings->name().toHtmlEscaped()); + if (KMessageBox::warningContinueCancel(this, message, i18n("Expire Folder"), + KGuiItem(i18n("&Expire"))) + != KMessageBox::Continue) { + return; + } + } + + MailCommon::Util::expireOldMessages(mCurrentCollection, true /*immediate*/); } }