Merge pull request #6477 from symless/v1-issue-6471-retry-loop
Stopped gui locking into retry loop
This commit is contained in:
commit
0ef70ac2b2
|
@ -66,10 +66,11 @@ static const int debugLogLevel = 1;
|
|||
|
||||
static const char* synergyIconFiles[] =
|
||||
{
|
||||
":/res/icons/16x16/synergy-disconnected.png",
|
||||
":/res/icons/16x16/synergy-disconnected.png",
|
||||
":/res/icons/16x16/synergy-connected.png",
|
||||
":/res/icons/16x16/synergy-transfering.png"
|
||||
":/res/icons/16x16/synergy-disconnected.png", //synergyDisconnected
|
||||
":/res/icons/16x16/synergy-disconnected.png", //synergyConnecting
|
||||
":/res/icons/16x16/synergy-connected.png", //synergyConnected
|
||||
":/res/icons/16x16/synergy-transfering.png", //synergyListening
|
||||
":/res/icons/16x16/synergy-disconnected.png" //synergyPendingRetry
|
||||
};
|
||||
|
||||
#ifdef SYNERGY_ENTERPRISE
|
||||
|
@ -442,7 +443,7 @@ void MainWindow::appendLogRaw(const QString& text)
|
|||
|
||||
void MainWindow::updateFromLogLine(const QString &line)
|
||||
{
|
||||
// TODO: this code makes Andrew cry
|
||||
// TODO: This shouldn't be updating from log needs a better way of doing this
|
||||
checkConnected(line);
|
||||
checkFingerprint(line);
|
||||
checkSecureSocket(line);
|
||||
|
@ -712,6 +713,16 @@ void MainWindow::startSynergy()
|
|||
}
|
||||
}
|
||||
|
||||
void MainWindow::retryStart()
|
||||
{
|
||||
//This function is only called after a failed start
|
||||
//Only start synergy if the current state is pending retry
|
||||
if (m_SynergyState == synergyPendingRetry)
|
||||
{
|
||||
startSynergy();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
MainWindow::sslToggled (bool enabled)
|
||||
{
|
||||
|
@ -935,7 +946,9 @@ void MainWindow::synergyFinished(int exitCode, QProcess::ExitStatus)
|
|||
}
|
||||
|
||||
if (m_ExpectedRunningState == kStarted) {
|
||||
QTimer::singleShot(1000, this, SLOT(startSynergy()));
|
||||
|
||||
setSynergyState(synergyPendingRetry);
|
||||
QTimer::singleShot(1000, this, SLOT(retryStart()));
|
||||
appendLogInfo(QString("detected process not running, auto restarting"));
|
||||
}
|
||||
else {
|
||||
|
@ -955,7 +968,7 @@ void MainWindow::setSynergyState(qSynergyState state)
|
|||
if (synergyState() == state)
|
||||
return;
|
||||
|
||||
if ((state == synergyConnected) || (state == synergyConnecting) || (state == synergyListening))
|
||||
if ((state == synergyConnected) || (state == synergyConnecting) || (state == synergyListening) || (state == synergyPendingRetry))
|
||||
{
|
||||
disconnect (m_pButtonToggleStart, SIGNAL(clicked()), m_pActionStartSynergy, SLOT(trigger()));
|
||||
connect (m_pButtonToggleStart, SIGNAL(clicked()), m_pActionStopSynergy, SLOT(trigger()));
|
||||
|
@ -999,6 +1012,9 @@ void MainWindow::setSynergyState(qSynergyState state)
|
|||
case synergyConnecting:
|
||||
setStatus(tr("Synergy is starting..."));
|
||||
break;
|
||||
case synergyPendingRetry:
|
||||
setStatus(tr("There was an error, retrying..."));
|
||||
break;
|
||||
case synergyDisconnected:
|
||||
setStatus(tr("Synergy is not running"));
|
||||
break;
|
||||
|
|
|
@ -73,7 +73,8 @@ class MainWindow : public QMainWindow, public Ui::MainWindowBase
|
|||
synergyDisconnected,
|
||||
synergyConnecting,
|
||||
synergyConnected,
|
||||
synergyListening
|
||||
synergyListening,
|
||||
synergyPendingRetry
|
||||
};
|
||||
|
||||
enum qSynergyType
|
||||
|
@ -138,6 +139,7 @@ public slots:
|
|||
void appendLogDebug(const QString& text);
|
||||
void appendLogError(const QString& text);
|
||||
void startSynergy();
|
||||
void retryStart(); // If the connection failed this will retry a startSynergy
|
||||
|
||||
protected slots:
|
||||
void sslToggled(bool enabled);
|
||||
|
|
Loading…
Reference in New Issue