From fe07f7962cad589b65e2ab4b878d4e939e9080b4 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 6 Jul 2022 12:36:54 +0200 Subject: [PATCH] Squish: Move ownership of SquishTools into plugin Change-Id: I9b5ed4ea37c2945642d644ec672f6e8cd2986c29 Reviewed-by: David Schulz --- src/plugins/squish/squishfilehandler.cpp | 14 ++++---------- src/plugins/squish/squishfilehandler.h | 5 +---- src/plugins/squish/squishplugin.cpp | 3 +++ src/plugins/squish/squishplugin.h | 4 +++- 4 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/plugins/squish/squishfilehandler.cpp b/src/plugins/squish/squishfilehandler.cpp index 18eeb07f52e..95e77438a23 100644 --- a/src/plugins/squish/squishfilehandler.cpp +++ b/src/plugins/squish/squishfilehandler.cpp @@ -46,16 +46,10 @@ static SquishFileHandler *m_instance = nullptr; SquishFileHandler::SquishFileHandler(QObject *parent) : QObject(parent) - , m_squishTools(new SquishTools) { m_instance = this; } -SquishFileHandler::~SquishFileHandler() -{ - delete m_squishTools; -} - SquishFileHandler *SquishFileHandler::instance() { if (!m_instance) @@ -154,7 +148,7 @@ void SquishFileHandler::runTestCase(const QString &suiteName, const QString &tes { QTC_ASSERT(!suiteName.isEmpty() && !testCaseName.isEmpty(), return ); - if (m_squishTools->state() != SquishTools::Idle) + if (SquishTools::instance()->state() != SquishTools::Idle) return; const QDir suitePath = QFileInfo(m_suites.value(suiteName)).absoluteDir(); @@ -168,14 +162,14 @@ void SquishFileHandler::runTestCase(const QString &suiteName, const QString &tes return; } - m_squishTools->runTestCases(suitePath.absolutePath(), QStringList(testCaseName)); + SquishTools::instance()->runTestCases(suitePath.absolutePath(), QStringList(testCaseName)); } void SquishFileHandler::runTestSuite(const QString &suiteName) { QTC_ASSERT(!suiteName.isEmpty(), return ); - if (m_squishTools->state() != SquishTools::Idle) + if (SquishTools::instance()->state() != SquishTools::Idle) return; const QString suiteConf = m_suites.value(suiteName); @@ -190,7 +184,7 @@ void SquishFileHandler::runTestSuite(const QString &suiteName) } QStringList testCases = SquishTestTreeModel::instance()->getSelectedSquishTestCases(suiteConf); - m_squishTools->runTestCases(suitePath.absolutePath(), testCases); + SquishTools::instance()->runTestCases(suitePath.absolutePath(), testCases); } void addAllEntriesRecursively(SquishTestTreeItem *item) diff --git a/src/plugins/squish/squishfilehandler.h b/src/plugins/squish/squishfilehandler.h index 50994cbd7a2..873c338ce3b 100644 --- a/src/plugins/squish/squishfilehandler.h +++ b/src/plugins/squish/squishfilehandler.h @@ -34,14 +34,12 @@ namespace Squish { namespace Internal { -class SquishTools; - class SquishFileHandler : public QObject { Q_OBJECT public: explicit SquishFileHandler(QObject *parent = nullptr); - ~SquishFileHandler() override; + ~SquishFileHandler() override = default; static SquishFileHandler *instance(); void openTestSuites(); void closeTestSuite(const QString &suiteName); @@ -62,7 +60,6 @@ signals: private: QMap m_suites; QStringList m_sharedFolders; - SquishTools *m_squishTools; void modifySuiteItem(const QString &suiteName, const QString &filePath, diff --git a/src/plugins/squish/squishplugin.cpp b/src/plugins/squish/squishplugin.cpp index 4e1f61fa2fd..5bc03a3248e 100644 --- a/src/plugins/squish/squishplugin.cpp +++ b/src/plugins/squish/squishplugin.cpp @@ -30,6 +30,7 @@ #include "squishoutputpane.h" #include "squishsettings.h" #include "squishtesttreemodel.h" +#include "squishtools.h" #include @@ -54,6 +55,7 @@ SquishPlugin::~SquishPlugin() delete m_objectsMapEditorFactory; delete m_navigationWidgetFactory; delete m_outputPane; + delete m_squishTools; } SquishPlugin *SquishPlugin::instance() @@ -74,6 +76,7 @@ bool SquishPlugin::initialize(const QStringList &arguments, QString *errorString Q_UNUSED(errorString) m_squishSettings.readSettings(ICore::settings()); + m_squishTools = new SquishTools; initializeMenuEntries(); diff --git a/src/plugins/squish/squishplugin.h b/src/plugins/squish/squishplugin.h index d4e172204df..cdc776f39fc 100644 --- a/src/plugins/squish/squishplugin.h +++ b/src/plugins/squish/squishplugin.h @@ -38,6 +38,7 @@ class ObjectsMapEditorFactory; class SquishNavigationWidgetFactory; class SquishOutputPane; class SquishTestTreeModel; +class SquishTools; class SquishPlugin : public ExtensionSystem::IPlugin { @@ -59,7 +60,8 @@ public: private: void initializeMenuEntries(); - SquishTestTreeModel *m_treeModel; + SquishTools * m_squishTools = nullptr; + SquishTestTreeModel *m_treeModel = nullptr; SquishSettings m_squishSettings; SquishSettingsPage m_settingsPage{&m_squishSettings};