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
{
public:
FilterSettingsPageWidget(FilterSettingsPage *page)
FilterSettingsPageWidget(const std::function<void()> &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<void ()> &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

View File

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

View File

@@ -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,