From e5e5645a808dc33960dcd38fb53ace523b162736 Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Tue, 29 Oct 2019 08:54:07 +0100 Subject: [PATCH] Don't call twice same method --- CMakeLists.txt | 2 +- src/kmail_part.cpp | 2 +- src/kmmainwidget.cpp | 14 ++++++++------ src/kmmainwidget.h | 2 +- src/kmmainwin.cpp | 4 ++-- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index abccc2154..2119aa1d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,7 +69,7 @@ set(MAILCOMMON_LIB_VERSION_LIB "5.12.50") set(KDEPIM_APPS_LIB_VERSION_LIB "5.12.43") set(MESSAGELIB_LIB_VERSION_LIB "5.12.72") set(LIBKLEO_LIB_VERSION_LIB "5.12.40") -set(PIMCOMMON_LIB_VERSION_LIB "5.12.41") +set(PIMCOMMON_LIB_VERSION_LIB "5.12.42") set(LIBKDEPIM_LIB_VERSION_LIB "5.12.40") set(LIBKSIEVE_LIB_VERSION_LIB "5.12.40") diff --git a/src/kmail_part.cpp b/src/kmail_part.cpp index a336cc692..e322d03bf 100644 --- a/src/kmail_part.cpp +++ b/src/kmail_part.cpp @@ -130,7 +130,7 @@ void KMailPart::guiActivateEvent(KParts::GUIActivateEvent *e) { KParts::ReadOnlyPart::guiActivateEvent(e); if (e->activated()) { - mainWidget->initializeFilterActions(); + mainWidget->initializeFilterActions(true); mainWidget->tagActionManager()->createActions(); mainWidget->folderShortcutActionManager()->createActions(); mainWidget->populateMessageListStatusFilterCombo(); diff --git a/src/kmmainwidget.cpp b/src/kmmainwidget.cpp index ed8c6743d..99aef5d03 100644 --- a/src/kmmainwidget.cpp +++ b/src/kmmainwidget.cpp @@ -4112,7 +4112,7 @@ void KMMainWidget::slotIntro() void KMMainWidget::slotShowStartupFolder() { connect(MailCommon::FilterManager::instance(), &FilterManager::filtersChanged, - this, &KMMainWidget::initializeFilterActions); + this, [this]() { initializeFilterActions(true); }); // Plug various action lists. This can't be done in the constructor, as that is called before // the main window or Kontact calls createGUI(). // This function however is called with a single shot timer. @@ -4134,7 +4134,7 @@ void KMMainWidget::checkAkonadiServerManagerState() { Akonadi::ServerManager::State state = Akonadi::ServerManager::self()->state(); if (state == Akonadi::ServerManager::Running) { - initializeFilterActions(); + initializeFilterActions(true); } else { connect(Akonadi::ServerManager::self(), &ServerManager::stateChanged, this, &KMMainWidget::slotServerStateChanged); @@ -4144,7 +4144,7 @@ void KMMainWidget::checkAkonadiServerManagerState() void KMMainWidget::slotServerStateChanged(Akonadi::ServerManager::State state) { if (state == Akonadi::ServerManager::Running) { - initializeFilterActions(); + initializeFilterActions(true); disconnect(Akonadi::ServerManager::self(), SIGNAL(stateChanged(Akonadi::ServerManager::State))); } } @@ -4211,7 +4211,7 @@ void KMMainWidget::clearFilterActions() void KMMainWidget::clearPluginActions() { - //KMailPluginInterface::self()->clearPluginActions(QStringLiteral("kmail"), mGUIClient); + KMailPluginInterface::self()->clearPluginActions(QStringLiteral("kmail"), mGUIClient); } void KMMainWidget::initializePluginActions() @@ -4239,9 +4239,11 @@ QAction *KMMainWidget::filterToAction(MailCommon::MailFilter *filter) } //----------------------------------------------------------------------------- -void KMMainWidget::initializeFilterActions() +void KMMainWidget::initializeFilterActions(bool clearFilter) { - clearFilterActions(); + if (clearFilter) { + clearFilterActions(); + } mApplyFilterActionsMenu->menu()->addAction(mApplyAllFiltersAction); mApplyFilterFolderActionsMenu->menu()->addAction(mApplyAllFiltersFolderAction); mApplyFilterFolderRecursiveActionsMenu->menu()->addAction(mApplyAllFiltersFolderRecursiveAction); diff --git a/src/kmmainwidget.h b/src/kmmainwidget.h index 445aee1e3..09c507f41 100644 --- a/src/kmmainwidget.h +++ b/src/kmmainwidget.h @@ -169,7 +169,7 @@ public: QString fullCollectionPath() const; - void initializeFilterActions(); + void initializeFilterActions(bool clearFilter); /** Clear and create actions for marked filters */ void clearFilterActions(); /** diff --git a/src/kmmainwin.cpp b/src/kmmainwin.cpp index 1e4256c4d..5acdbbd09 100644 --- a/src/kmmainwin.cpp +++ b/src/kmmainwin.cpp @@ -163,9 +163,9 @@ void KMMainWin::slotUpdateGui() applyMainWindowSettings(KMKernel::self()->config()->group("Main Window")); // plug dynamically created actions again - mKMMainWidget->initializeFilterActions(); + mKMMainWidget->initializeFilterActions(false); mKMMainWidget->tagActionManager()->createActions(); - mKMMainWidget->initializePluginActions(); + //FIXME mKMMainWidget->initializePluginActions(); } void KMMainWin::setupStatusBar()