Help: Remove dependency of IOptionPage's QObject base

Change-Id: Ide7b16406947cc4865653661d0020d657671bc16
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2023-05-08 14:48:39 +02:00
parent 905d76961d
commit b6acb9743a
3 changed files with 7 additions and 14 deletions

View File

@@ -18,7 +18,7 @@ namespace Help::Internal {
class FilterSettingsPageWidget : public Core::IOptionsPageWidget class FilterSettingsPageWidget : public Core::IOptionsPageWidget
{ {
public: public:
FilterSettingsPageWidget(FilterSettingsPage *page) FilterSettingsPageWidget(const std::function<void()> &onChanged)
{ {
LocalHelpManager::setupGuiHelpEngine(); LocalHelpManager::setupGuiHelpEngine();
@@ -41,9 +41,9 @@ public:
updateFilterPage); updateFilterPage);
updateFilterPage(); updateFilterPage();
setOnApply([widget, page] { setOnApply([widget, onChanged] {
if (widget->applySettings(LocalHelpManager::filterEngine())) if (widget->applySettings(LocalHelpManager::filterEngine()))
emit page->filtersChanged(); onChanged();
widget->readSettings(LocalHelpManager::filterEngine()); widget->readSettings(LocalHelpManager::filterEngine());
}); });
@@ -51,12 +51,12 @@ public:
} }
}; };
FilterSettingsPage::FilterSettingsPage() FilterSettingsPage::FilterSettingsPage(const std::function<void ()> &onChanged)
{ {
setId("D.Filters"); setId("D.Filters");
setDisplayName(Tr::tr("Filters")); setDisplayName(Tr::tr("Filters"));
setCategory(Help::Constants::HELP_CATEGORY); setCategory(Help::Constants::HELP_CATEGORY);
setWidgetCreator([this] { return new FilterSettingsPageWidget(this); }); setWidgetCreator([onChanged] { return new FilterSettingsPageWidget(onChanged); });
} }
} // Help::Internal } // Help::Internal

View File

@@ -9,13 +9,8 @@ namespace Help::Internal {
class FilterSettingsPage : public Core::IOptionsPage class FilterSettingsPage : public Core::IOptionsPage
{ {
Q_OBJECT
public: public:
FilterSettingsPage(); explicit FilterSettingsPage(const std::function<void()> &onChanged);
signals:
void filtersChanged();
}; };
} // Help::Internal } // Help::Internal

View File

@@ -134,7 +134,7 @@ public:
QRect m_externalWindowState; QRect m_externalWindowState;
DocSettingsPage m_docSettingsPage; DocSettingsPage m_docSettingsPage;
FilterSettingsPage m_filterSettingsPage; FilterSettingsPage m_filterSettingsPage{[this] {setupHelpEngineIfNeeded(); }};
SearchTaskHandler m_searchTaskHandler; SearchTaskHandler m_searchTaskHandler;
GeneralSettingsPage m_generalSettingsPage; GeneralSettingsPage m_generalSettingsPage;
@@ -197,8 +197,6 @@ HelpPluginPrivate::HelpPluginPrivate()
connect(&m_searchTaskHandler, &SearchTaskHandler::search, connect(&m_searchTaskHandler, &SearchTaskHandler::search,
this, &QDesktopServices::openUrl); this, &QDesktopServices::openUrl);
connect(&m_filterSettingsPage, &FilterSettingsPage::filtersChanged,
this, &HelpPluginPrivate::setupHelpEngineIfNeeded);
connect(Core::HelpManager::Signals::instance(), connect(Core::HelpManager::Signals::instance(),
&Core::HelpManager::Signals::documentationChanged, &Core::HelpManager::Signals::documentationChanged,
this, this,