From 45a62e785aa1bee08d4bf1493b6e4470251e1e75 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 29 Jan 2024 09:02:52 +0100 Subject: [PATCH] AutoTest: Use setupFunction for TestSettingsPage Change-Id: Ib592b3fd92480a5e712cf7cd69d4b5c899a1f216 Reviewed-by: Jarek Kobus --- src/plugins/autotest/autotestplugin.cpp | 4 ++-- src/plugins/autotest/testsettingspage.cpp | 25 ++++++++++++++++------- src/plugins/autotest/testsettingspage.h | 8 +------- 3 files changed, 21 insertions(+), 16 deletions(-) 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