From 8a9072b8c27f53636f3767514af41a4d3b82213e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 12 Oct 2022 15:08:03 +0200 Subject: [PATCH] Squish: Handle changing configured Squish path Update shared folders if the path to Squish has changed. Change-Id: Iea861d1f51dd4170bc4b481176fa1a8019c24d3d Reviewed-by: David Schulz --- src/plugins/squish/squishplugin.cpp | 5 +++++ src/plugins/squish/squishsettings.cpp | 2 ++ src/plugins/squish/squishsettings.h | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/src/plugins/squish/squishplugin.cpp b/src/plugins/squish/squishplugin.cpp index ce9fdffbc6c..f2e486770c9 100644 --- a/src/plugins/squish/squishplugin.cpp +++ b/src/plugins/squish/squishplugin.cpp @@ -108,6 +108,7 @@ void SquishPluginPrivate::initializeMenuEntries() bool SquishPluginPrivate::initializeGlobalScripts() { QTC_ASSERT(dd->m_squishTools, return false); + SquishFileHandler::instance()->setSharedFolders({}); const Utils::FilePath squishserver = dd->m_squishSettings.squishPath.filePath().pathAppended( Utils::HostOsInfo::withExecutableSuffix("bin/squishserver")); @@ -135,6 +136,10 @@ bool SquishPlugin::initialize(const QStringList &, QString *) bool SquishPlugin::delayedInitialize() { + + connect(&dd->m_squishSettings, &SquishSettings::squishPathChanged, + dd, &SquishPluginPrivate::initializeGlobalScripts); + return dd->initializeGlobalScripts(); } diff --git a/src/plugins/squish/squishsettings.cpp b/src/plugins/squish/squishsettings.cpp index 17daef73f41..58fad483e77 100644 --- a/src/plugins/squish/squishsettings.cpp +++ b/src/plugins/squish/squishsettings.cpp @@ -84,6 +84,8 @@ SquishSettings::SquishSettings() serverHost.setEnabled(!checked); serverPort.setEnabled(!checked); }); + connect(&squishPath, &Utils::StringAspect::valueChanged, + this, &SquishSettings::squishPathChanged); } Utils::FilePath SquishSettings::scriptsPath(Language language) const diff --git a/src/plugins/squish/squishsettings.h b/src/plugins/squish/squishsettings.h index 1f411cde60a..02b84d94937 100644 --- a/src/plugins/squish/squishsettings.h +++ b/src/plugins/squish/squishsettings.h @@ -38,6 +38,7 @@ public: class SquishSettings : public Utils::AspectContainer { + Q_OBJECT public: SquishSettings(); @@ -50,6 +51,9 @@ public: Utils::BoolAspect local; Utils::BoolAspect verbose; Utils::BoolAspect minimizeIDE; + +signals: + void squishPathChanged(); }; class SquishSettingsPage final : public Core::IOptionsPage