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)