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 <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2023-01-30 09:03:36 +01:00
parent 0a30b8aa26
commit 3c51f499ac
3 changed files with 8 additions and 4 deletions

View File

@@ -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));

View File

@@ -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();

View File

@@ -297,6 +297,7 @@ void SquishTools::writeServerSettingsChanges(const QList<QStringList> &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)