From b6acb9743ae05d1704a4bbc19538c726f5bb27d4 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 8 May 2023 14:48:39 +0200 Subject: [PATCH] Help: Remove dependency of IOptionPage's QObject base Change-Id: Ide7b16406947cc4865653661d0020d657671bc16 Reviewed-by: Qt CI Bot Reviewed-by: Christian Stenger --- src/plugins/help/filtersettingspage.cpp | 10 +++++----- src/plugins/help/filtersettingspage.h | 7 +------ src/plugins/help/helpplugin.cpp | 4 +--- 3 files changed, 7 insertions(+), 14 deletions(-) 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,