diff --git a/src/plugins/autotest/autotestplugin.cpp b/src/plugins/autotest/autotestplugin.cpp index 9e0defa04cd..5c35a8e69af 100644 --- a/src/plugins/autotest/autotestplugin.cpp +++ b/src/plugins/autotest/autotestplugin.cpp @@ -94,8 +94,6 @@ public: void onRunUnderCursorTriggered(TestRunMode mode); void onDisableTemporarily(bool disable); - TestSettingsPage m_testSettingPage; - TestCodeParser m_testCodeParser; TestTreeModel m_testTreeModel{&m_testCodeParser}; TestRunner m_testRunner; @@ -506,6 +504,8 @@ public: void initialize() final { + setupTestSettingsPage(); + dd = new AutotestPluginPrivate; #ifdef WITH_TESTS ExtensionSystem::PluginManager::registerScenario("TestModelManagerInterface", diff --git a/src/plugins/autotest/testsettingspage.cpp b/src/plugins/autotest/testsettingspage.cpp index f168af2f1e4..c11e2dfe318 100644 --- a/src/plugins/autotest/testsettingspage.cpp +++ b/src/plugins/autotest/testsettingspage.cpp @@ -10,6 +10,8 @@ #include "testsettings.h" #include "testtreemodel.h" +#include + #include #include #include @@ -253,14 +255,23 @@ void TestSettingsWidget::onFrameworkItemChanged() // TestSettingsPage -TestSettingsPage::TestSettingsPage() +class TestSettingsPage final : public Core::IOptionsPage { - setId(Constants::AUTOTEST_SETTINGS_ID); - setDisplayName(Tr::tr("General")); - setCategory(Constants::AUTOTEST_SETTINGS_CATEGORY); - setDisplayCategory(Tr::tr("Testing")); - setCategoryIconPath(":/autotest/images/settingscategory_autotest.png"); - setWidgetCreator([] { return new TestSettingsWidget; }); +public: + TestSettingsPage() + { + setId(Constants::AUTOTEST_SETTINGS_ID); + setDisplayName(Tr::tr("General")); + setCategory(Constants::AUTOTEST_SETTINGS_CATEGORY); + setDisplayCategory(Tr::tr("Testing")); + setCategoryIconPath(":/autotest/images/settingscategory_autotest.png"); + setWidgetCreator([] { return new TestSettingsWidget; }); + } +}; + +void setupTestSettingsPage() +{ + static TestSettingsPage theTestSettingsPage; } } // Autotest::Internal diff --git a/src/plugins/autotest/testsettingspage.h b/src/plugins/autotest/testsettingspage.h index 03eb214097d..711ea114a81 100644 --- a/src/plugins/autotest/testsettingspage.h +++ b/src/plugins/autotest/testsettingspage.h @@ -3,14 +3,8 @@ #pragma once -#include - namespace Autotest::Internal { -class TestSettingsPage : public Core::IOptionsPage -{ -public: - TestSettingsPage(); -}; +void setupTestSettingsPage(); } // Autotest::Internal