diff --git a/src/plugins/vcsbase/commonvcssettings.cpp b/src/plugins/vcsbase/commonvcssettings.cpp index 3284f7df31b..46c412011e5 100644 --- a/src/plugins/vcsbase/commonvcssettings.cpp +++ b/src/plugins/vcsbase/commonvcssettings.cpp @@ -127,11 +127,11 @@ public: connect(cacheResetButton, &QPushButton::clicked, Core::VcsManager::instance(), &Core::VcsManager::clearVersionControlCache); - setOnApply([&s, page] { + setOnApply([&s] { if (s.isDirty()) { s.apply(); s.writeSettings(Core::ICore::settings()); - emit page->settingsChanged(); + emit s.settingsChanged(); } }); } diff --git a/src/plugins/vcsbase/commonvcssettings.h b/src/plugins/vcsbase/commonvcssettings.h index 8d781a45d72..376ad0bae90 100644 --- a/src/plugins/vcsbase/commonvcssettings.h +++ b/src/plugins/vcsbase/commonvcssettings.h @@ -12,6 +12,8 @@ namespace Internal { class CommonVcsSettings : public Utils::AspectContainer { + Q_OBJECT + public: CommonVcsSettings(); @@ -27,20 +29,18 @@ public: Utils::BoolAspect lineWrap; Utils::IntegerAspect lineWrapWidth; + +signals: + void settingsChanged(); }; class CommonOptionsPage final : public Core::IOptionsPage { - Q_OBJECT - public: - explicit CommonOptionsPage(); + CommonOptionsPage(); CommonVcsSettings &settings() { return m_settings; } -signals: - void settingsChanged(); - private: CommonVcsSettings m_settings; }; diff --git a/src/plugins/vcsbase/vcsplugin.cpp b/src/plugins/vcsbase/vcsplugin.cpp index 5d14b3a4722..0596f406b8b 100644 --- a/src/plugins/vcsbase/vcsplugin.cpp +++ b/src/plugins/vcsbase/vcsplugin.cpp @@ -40,7 +40,7 @@ public: explicit VcsPluginPrivate(VcsPlugin *plugin) : q(plugin) { - QObject::connect(&m_settingsPage, &CommonOptionsPage::settingsChanged, + QObject::connect(&m_settingsPage.settings(), &CommonVcsSettings::settingsChanged, [this] { slotSettingsChanged(); }); slotSettingsChanged(); } @@ -101,7 +101,7 @@ void VcsPlugin::initialize() return result; }); - connect(&d->m_settingsPage, &CommonOptionsPage::settingsChanged, + connect(&d->m_settingsPage.settings(), &CommonVcsSettings::settingsChanged, this, &VcsPlugin::settingsChanged); JsonWizardFactory::registerPageFactory(new Internal::VcsConfigurationPageFactory);