From 3c51f499ac3d6bd39a0ef8e1e8e1e8be9bd649d3 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 30 Jan 2023 09:03:36 +0100 Subject: [PATCH] Squish: Fix perspective handling We always expect a perspective mode when starting the squishserver. Fixes writing the server configuration which worked coincidentally before as it had been still in Query mode but broke when separating runner and server into own classes. Change-Id: Ia2a986fb0f10bd2b3125916d3113f850db7f156a Reviewed-by: David Schulz --- src/plugins/squish/squishperspective.cpp | 1 + src/plugins/squish/squishperspective.h | 2 +- src/plugins/squish/squishtools.cpp | 9 ++++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/plugins/squish/squishperspective.cpp b/src/plugins/squish/squishperspective.cpp index 85e2aadb37e..fca93ce35db 100644 --- a/src/plugins/squish/squishperspective.cpp +++ b/src/plugins/squish/squishperspective.cpp @@ -396,6 +396,7 @@ void SquishPerspective::setPerspectiveMode(PerspectiveMode mode) m_stepOutAction->setEnabled(true); m_stopAction->setEnabled(true); break; + case Configuring: case Querying: case NoMode: m_pausePlayAction->setIcon(iconForType(IconType::Pause)); diff --git a/src/plugins/squish/squishperspective.h b/src/plugins/squish/squishperspective.h index 0ef31a790c6..1e5c4aa515f 100644 --- a/src/plugins/squish/squishperspective.h +++ b/src/plugins/squish/squishperspective.h @@ -30,7 +30,7 @@ class SquishPerspective : public Utils::Perspective { Q_OBJECT public: - enum PerspectiveMode { NoMode, Interrupted, Running, Recording, Querying }; + enum PerspectiveMode { NoMode, Interrupted, Running, Recording, Querying, Configuring }; SquishPerspective(); void initPerspective(); diff --git a/src/plugins/squish/squishtools.cpp b/src/plugins/squish/squishtools.cpp index ca4340e5ec4..b821fc034ce 100644 --- a/src/plugins/squish/squishtools.cpp +++ b/src/plugins/squish/squishtools.cpp @@ -297,6 +297,7 @@ void SquishTools::writeServerSettingsChanges(const QList &changes) return; } m_serverConfigChanges = changes; + m_perspective.setPerspectiveMode(SquishPerspective::Configuring); startSquishServer(ServerConfigChangeRequested); } @@ -363,10 +364,12 @@ void SquishTools::onServerStopped() } m_serverConfigChanges.removeFirst(); - if (!m_serverConfigChanges.isEmpty()) + if (!m_serverConfigChanges.isEmpty()) { startSquishServer(ServerConfigChangeRequested); - else - emit configChangesWritten(); + return; + } + emit configChangesWritten(); + m_perspective.setPerspectiveMode(SquishPerspective::NoMode); } else if (m_request == ServerStopRequested) { m_request = None; if (m_perspective.perspectiveMode() == SquishPerspective::Running)