From 93656cf390cf07501b18a114226f5c012598b72d Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Mon, 3 Aug 2020 21:20:02 +0200 Subject: [PATCH] Fix expire trash --- .../expireaccounttrashfolderconfigwidget.cpp | 18 +++++++++++++----- .../expireaccounttrashfolderconfigwidget.h | 1 + 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/plugins/messageviewerconfigureplugins/expireaccounttrashfolder/expireaccounttrashfolderconfigwidget.cpp b/plugins/messageviewerconfigureplugins/expireaccounttrashfolder/expireaccounttrashfolderconfigwidget.cpp index 0e4b370d..96d4b046 100644 --- a/plugins/messageviewerconfigureplugins/expireaccounttrashfolder/expireaccounttrashfolderconfigwidget.cpp +++ b/plugins/messageviewerconfigureplugins/expireaccounttrashfolder/expireaccounttrashfolderconfigwidget.cpp @@ -42,21 +42,29 @@ ExpireAccountTrashFolderConfigWidget::~ExpireAccountTrashFolderConfigWidget() } -void ExpireAccountTrashFolderConfigWidget::save() +void ExpireAccountTrashFolderConfigWidget::save(bool saveSettings, bool expireNow) { const MailCommon::CollectionExpirySettings settings = mCollectionExpiryWidget->settings(); const Akonadi::AgentInstance::List agents = Akonadi::AgentManager::self()->instances(); + QList mListCollection; for (const Akonadi::AgentInstance &agent : agents) { Akonadi::Collection trashCol = Akonadi::SpecialMailCollections::self()->collection(Akonadi::SpecialMailCollections::Trash, agent); + if (mListCollection.contains(trashCol.id())) { + continue; + } + mListCollection.append(trashCol.id()); if (trashCol.isValid()) { - mCollectionExpiryWidget->save(settings, trashCol, true, true); + mCollectionExpiryWidget->save(settings, trashCol, saveSettings, expireNow); } } } +void ExpireAccountTrashFolderConfigWidget::save() +{ + save(true, false); +} + void ExpireAccountTrashFolderConfigWidget::slotSaveAndExpireRequested() { - qWarning() << " void ExpireAccountTrashFolderConfigWidget::slotSaveAndExpireRequested() not implement yet"; - //mCollectionExpiryWidget->save(collection, saveSettings, expireNow); - //TODO + save(true, true); } diff --git a/plugins/messageviewerconfigureplugins/expireaccounttrashfolder/expireaccounttrashfolderconfigwidget.h b/plugins/messageviewerconfigureplugins/expireaccounttrashfolder/expireaccounttrashfolderconfigwidget.h index 0cd5ef5d..d64641c0 100644 --- a/plugins/messageviewerconfigureplugins/expireaccounttrashfolder/expireaccounttrashfolderconfigwidget.h +++ b/plugins/messageviewerconfigureplugins/expireaccounttrashfolder/expireaccounttrashfolderconfigwidget.h @@ -34,6 +34,7 @@ public: ~ExpireAccountTrashFolderConfigWidget(); void save(); private: + void save(bool saveSettings, bool expireNow); void slotSaveAndExpireRequested(); MailCommon::CollectionExpiryWidget *mCollectionExpiryWidget = nullptr; }; -- GitLab