diff --git a/src/plugins/help/filtersettingspage.cpp b/src/plugins/help/filtersettingspage.cpp index de082526c53..e227b025ef0 100644 --- a/src/plugins/help/filtersettingspage.cpp +++ b/src/plugins/help/filtersettingspage.cpp @@ -18,7 +18,7 @@ namespace Help::Internal { class FilterSettingsPageWidget : public Core::IOptionsPageWidget { public: - FilterSettingsPageWidget(FilterSettingsPage *page) + FilterSettingsPageWidget(const std::function &onChanged) { LocalHelpManager::setupGuiHelpEngine(); @@ -41,9 +41,9 @@ public: updateFilterPage); updateFilterPage(); - setOnApply([widget, page] { + setOnApply([widget, onChanged] { if (widget->applySettings(LocalHelpManager::filterEngine())) - emit page->filtersChanged(); + onChanged(); widget->readSettings(LocalHelpManager::filterEngine()); }); @@ -51,12 +51,12 @@ public: } }; -FilterSettingsPage::FilterSettingsPage() +FilterSettingsPage::FilterSettingsPage(const std::function &onChanged) { setId("D.Filters"); setDisplayName(Tr::tr("Filters")); setCategory(Help::Constants::HELP_CATEGORY); - setWidgetCreator([this] { return new FilterSettingsPageWidget(this); }); + setWidgetCreator([onChanged] { return new FilterSettingsPageWidget(onChanged); }); } } // Help::Internal diff --git a/src/plugins/help/filtersettingspage.h b/src/plugins/help/filtersettingspage.h index 112726c1af9..54256b1d7f0 100644 --- a/src/plugins/help/filtersettingspage.h +++ b/src/plugins/help/filtersettingspage.h @@ -9,13 +9,8 @@ namespace Help::Internal { class FilterSettingsPage : public Core::IOptionsPage { - Q_OBJECT - public: - FilterSettingsPage(); - -signals: - void filtersChanged(); + explicit FilterSettingsPage(const std::function &onChanged); }; } // Help::Internal diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index e46effd10b7..7329b3dad67 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -134,7 +134,7 @@ public: QRect m_externalWindowState; DocSettingsPage m_docSettingsPage; - FilterSettingsPage m_filterSettingsPage; + FilterSettingsPage m_filterSettingsPage{[this] {setupHelpEngineIfNeeded(); }}; SearchTaskHandler m_searchTaskHandler; GeneralSettingsPage m_generalSettingsPage; @@ -197,8 +197,6 @@ HelpPluginPrivate::HelpPluginPrivate() connect(&m_searchTaskHandler, &SearchTaskHandler::search, this, &QDesktopServices::openUrl); - connect(&m_filterSettingsPage, &FilterSettingsPage::filtersChanged, - this, &HelpPluginPrivate::setupHelpEngineIfNeeded); connect(Core::HelpManager::Signals::instance(), &Core::HelpManager::Signals::documentationChanged, this,