Make considering launcher for reconnects configurable

Similar to the systemd configuration
This commit is contained in:
Martchus 2018-04-03 00:11:55 +02:00
parent 0c104f60b8
commit 6d155d3d63
5 changed files with 77 additions and 46 deletions

View File

@ -60,6 +60,15 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="considerForReconnectCheckBox">
<property name="text">
<string>Consider process status for reconnect attempts to local instance
• Don't reconnect when the process is not running
• Try to reconnect when starting the process</string>
</property>
</widget>
</item>
<item> <item>
<widget class="Line" name="line"> <widget class="Line" name="line">
<property name="sizePolicy"> <property name="sizePolicy">

View File

@ -189,6 +189,7 @@ void restore()
launcher.enabled = settings.value(QStringLiteral("syncthingAutostart"), launcher.enabled).toBool(); launcher.enabled = settings.value(QStringLiteral("syncthingAutostart"), launcher.enabled).toBool();
launcher.syncthingPath = settings.value(QStringLiteral("syncthingPath"), launcher.syncthingPath).toString(); launcher.syncthingPath = settings.value(QStringLiteral("syncthingPath"), launcher.syncthingPath).toString();
launcher.syncthingArgs = settings.value(QStringLiteral("syncthingArgs"), launcher.syncthingArgs).toString(); launcher.syncthingArgs = settings.value(QStringLiteral("syncthingArgs"), launcher.syncthingArgs).toString();
launcher.considerForReconnect = settings.value(QStringLiteral("considerLauncherForReconnect"), launcher.considerForReconnect).toBool();
settings.beginGroup(QStringLiteral("tools")); settings.beginGroup(QStringLiteral("tools"));
for (const QString &tool : settings.childGroups()) { for (const QString &tool : settings.childGroups()) {
settings.beginGroup(tool); settings.beginGroup(tool);
@ -274,6 +275,7 @@ void save()
settings.setValue(QStringLiteral("syncthingAutostart"), launcher.enabled); settings.setValue(QStringLiteral("syncthingAutostart"), launcher.enabled);
settings.setValue(QStringLiteral("syncthingPath"), launcher.syncthingPath); settings.setValue(QStringLiteral("syncthingPath"), launcher.syncthingPath);
settings.setValue(QStringLiteral("syncthingArgs"), launcher.syncthingArgs); settings.setValue(QStringLiteral("syncthingArgs"), launcher.syncthingArgs);
settings.setValue(QStringLiteral("considerLauncherForReconnect"), launcher.considerForReconnect);
settings.beginGroup(QStringLiteral("tools")); settings.beginGroup(QStringLiteral("tools"));
for (auto i = launcher.tools.cbegin(), end = launcher.tools.cend(); i != end; ++i) { for (auto i = launcher.tools.cbegin(), end = launcher.tools.cend(); i != end; ++i) {
const ToolParameter &toolParams = i.value(); const ToolParameter &toolParams = i.value();

View File

@ -636,6 +636,8 @@ QWidget *LauncherOptionPage::setupWidget()
ui()->syncthingPathLabel->setText(QCoreApplication::translate("QtGui::LauncherOptionPage", "%1 executable").arg(m_tool)); ui()->syncthingPathLabel->setText(QCoreApplication::translate("QtGui::LauncherOptionPage", "%1 executable").arg(m_tool));
ui()->logLabel->setText(QCoreApplication::translate("QtGui::LauncherOptionPage", "%1 log (interleaved stdout/stderr)").arg(m_tool)); ui()->logLabel->setText(QCoreApplication::translate("QtGui::LauncherOptionPage", "%1 log (interleaved stdout/stderr)").arg(m_tool));
} }
// hide "consider for reconnect" checkbox for tools
ui()->considerForReconnectCheckBox->setVisible(m_tool.isEmpty());
// setup other widgets // setup other widgets
ui()->syncthingPathSelection->provideCustomFileMode(QFileDialog::ExistingFile); ui()->syncthingPathSelection->provideCustomFileMode(QFileDialog::ExistingFile);
ui()->logTextEdit->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); ui()->logTextEdit->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
@ -659,6 +661,7 @@ bool LauncherOptionPage::apply()
settings.enabled = ui()->enabledCheckBox->isChecked(); settings.enabled = ui()->enabledCheckBox->isChecked();
settings.syncthingPath = ui()->syncthingPathSelection->lineEdit()->text(); settings.syncthingPath = ui()->syncthingPathSelection->lineEdit()->text();
settings.syncthingArgs = ui()->argumentsLineEdit->text(); settings.syncthingArgs = ui()->argumentsLineEdit->text();
settings.considerForReconnect = ui()->considerForReconnectCheckBox->isChecked();
} else { } else {
ToolParameter &params = settings.tools[m_tool]; ToolParameter &params = settings.tools[m_tool];
params.autostart = ui()->enabledCheckBox->isChecked(); params.autostart = ui()->enabledCheckBox->isChecked();
@ -675,6 +678,7 @@ void LauncherOptionPage::reset()
ui()->enabledCheckBox->setChecked(settings.enabled); ui()->enabledCheckBox->setChecked(settings.enabled);
ui()->syncthingPathSelection->lineEdit()->setText(settings.syncthingPath); ui()->syncthingPathSelection->lineEdit()->setText(settings.syncthingPath);
ui()->argumentsLineEdit->setText(settings.syncthingArgs); ui()->argumentsLineEdit->setText(settings.syncthingArgs);
ui()->considerForReconnectCheckBox->setChecked(settings.considerForReconnect);
} else { } else {
const ToolParameter params = settings.tools.value(m_tool); const ToolParameter params = settings.tools.value(m_tool);
ui()->enabledCheckBox->setChecked(params.autostart); ui()->enabledCheckBox->setChecked(params.autostart);

View File

@ -370,48 +370,57 @@
<context> <context>
<name>QtGui::LauncherOptionPage</name> <name>QtGui::LauncherOptionPage</name>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="6"/> <location filename="../settings/launcheroptionpage.ui" line="14"/>
<source>Syncthing launcher</source> <source>Syncthing launcher</source>
<translation>Syncthing-Starter</translation> <translation>Syncthing-Starter</translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="18"/> <location filename="../settings/launcheroptionpage.ui" line="26"/>
<source>Launch Syncthing when starting the tray icon</source> <source>Launch Syncthing when starting the tray icon</source>
<translation>Starte Syncthing beim Starten des Tray-Icons</translation> <translation>Starte Syncthing beim Starten des Tray-Icons</translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="43"/> <location filename="../settings/launcheroptionpage.ui" line="51"/>
<source>Syncthing executable</source> <source>Syncthing executable</source>
<translation>Ausführbare Datei von Syncthing</translation> <translation>Ausführbare Datei von Syncthing</translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="53"/> <location filename="../settings/launcheroptionpage.ui" line="61"/>
<source>Arguments</source> <source>Arguments</source>
<translation>Argumente</translation> <translation>Argumente</translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="87"/> <location filename="../settings/launcheroptionpage.ui" line="74"/>
<source>Consider process status for reconnect attempts to local instance
Don&apos;t reconnect when the process is not running
Try to reconnect when starting the process</source>
<translation>Verwende den Status des Starters für Neuverbindungsversuche zur lokalen Instanz
Nicht versuchen neu zu verbinden, wenn Syncthing nicht läuft
Automatisch neu verbinden, wenn Syncthing gestartet wird</translation>
</message>
<message>
<location filename="../settings/launcheroptionpage.ui" line="104"/>
<source>Syncthing log (interleaved stdout/stderr)</source> <source>Syncthing log (interleaved stdout/stderr)</source>
<translation>Syncthing-Log (stdout/stderr)</translation> <translation>Syncthing-Log (stdout/stderr)</translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="103"/> <location filename="../settings/launcheroptionpage.ui" line="120"/>
<source>Apply and launch now</source> <source>Apply and launch now</source>
<translation>Jetzt starten</translation> <translation>Jetzt starten</translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="120"/> <location filename="../settings/launcheroptionpage.ui" line="137"/>
<location filename="../settings/settingsdialog.cpp" line="731"/> <location filename="../settings/settingsdialog.cpp" line="735"/>
<source>Stop launched instance</source> <source>Stop launched instance</source>
<translation>Stoppen</translation> <translation>Stoppen</translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="139"/> <location filename="../settings/launcheroptionpage.ui" line="156"/>
<source>No log messages available yet</source> <source>No log messages available yet</source>
<translation>Bisher keine Log-Meldungen</translation> <translation>Bisher keine Log-Meldungen</translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="146"/> <location filename="../settings/launcheroptionpage.ui" line="163"/>
<source>Ensure latest log is visible</source> <source>Ensure latest log is visible</source>
<translation>Log folgen</translation> <translation>Log folgen</translation>
</message> </message>
@ -436,19 +445,19 @@
<translation>%1-Log (stdout/stderr)</translation> <translation>%1-Log (stdout/stderr)</translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="708"/> <location filename="../settings/settingsdialog.cpp" line="712"/>
<source>%1 exited with exit code %2 <source>%1 exited with exit code %2
</source> </source>
<translation>%1 wurde mit dem Statuscode %2 beendet</translation> <translation>%1 wurde mit dem Statuscode %2 beendet</translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="712"/> <location filename="../settings/settingsdialog.cpp" line="716"/>
<source>%1 crashed with exit code %2 <source>%1 crashed with exit code %2
</source> </source>
<translation>%1 ist mit dem Statuscode %2 abgestürzt</translation> <translation>%1 ist mit dem Statuscode %2 abgestürzt</translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="748"/> <location filename="../settings/settingsdialog.cpp" line="752"/>
<source>Kill launched instance</source> <source>Kill launched instance</source>
<translation>Töten</translation> <translation>Töten</translation>
</message> </message>
@ -552,22 +561,22 @@
<context> <context>
<name>QtGui::SettingsDialog</name> <name>QtGui::SettingsDialog</name>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="909"/> <location filename="../settings/settingsdialog.cpp" line="913"/>
<source>Tray</source> <source>Tray</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="916"/> <location filename="../settings/settingsdialog.cpp" line="920"/>
<source>Web view</source> <source>Web view</source>
<translation>Weboberfläche</translation> <translation>Weboberfläche</translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="923"/> <location filename="../settings/settingsdialog.cpp" line="927"/>
<source>Startup</source> <source>Startup</source>
<translation>Starten</translation> <translation>Starten</translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="945"/> <location filename="../settings/settingsdialog.cpp" line="949"/>
<source>Settings</source> <source>Settings</source>
<translation>Einstellungen</translation> <translation>Einstellungen</translation>
</message> </message>
@ -706,8 +715,8 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.</transl
<location filename="../settings/systemdoptionpage.ui" line="99"/> <location filename="../settings/systemdoptionpage.ui" line="99"/>
<location filename="../settings/systemdoptionpage.ui" line="154"/> <location filename="../settings/systemdoptionpage.ui" line="154"/>
<location filename="../settings/systemdoptionpage.ui" line="231"/> <location filename="../settings/systemdoptionpage.ui" line="231"/>
<location filename="../settings/settingsdialog.cpp" line="830"/> <location filename="../settings/settingsdialog.cpp" line="834"/>
<location filename="../settings/settingsdialog.cpp" line="842"/> <location filename="../settings/settingsdialog.cpp" line="846"/>
<source>unknown</source> <source>unknown</source>
<translation>unbekannt</translation> <translation>unbekannt</translation>
</message> </message>
@ -741,12 +750,12 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.</transl
<translation>Stoppen</translation> <translation>Stoppen</translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="803"/> <location filename="../settings/settingsdialog.cpp" line="807"/>
<source>specified unit is either inactive or doesn&apos;t exist</source> <source>specified unit is either inactive or doesn&apos;t exist</source>
<translation>angegebene Unit ist entweder nicht geladen oder existiert nicht</translation> <translation>angegebene Unit ist entweder nicht geladen oder existiert nicht</translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="825"/> <location filename="../settings/settingsdialog.cpp" line="829"/>
<source>since </source> <source>since </source>
<translation>seit </translation> <translation>seit </translation>
</message> </message>
@ -813,7 +822,7 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.</transl
<name>QtGui::WebViewOptionPage</name> <name>QtGui::WebViewOptionPage</name>
<message> <message>
<location filename="../settings/webviewoptionpage.ui" line="6"/> <location filename="../settings/webviewoptionpage.ui" line="6"/>
<location filename="../settings/settingsdialog.cpp" line="864"/> <location filename="../settings/settingsdialog.cpp" line="868"/>
<source>General</source> <source>General</source>
<translation>Allgemein</translation> <translation>Allgemein</translation>
</message> </message>
@ -843,7 +852,7 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.</transl
<translation>Lasse Weboberfläche im Hintgergrund weiter offen, wenn Fenster nicht offen</translation> <translation>Lasse Weboberfläche im Hintgergrund weiter offen, wenn Fenster nicht offen</translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="866"/> <location filename="../settings/settingsdialog.cpp" line="870"/>
<source>Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine. <source>Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine.
The Web UI will be opened in the default web browser instead.</source> The Web UI will be opened in the default web browser instead.</source>
<translation>Syncthing Tray wurde nicht mit Unterstützung für die eingebaute Anzeige der Weboberfläche unter Verwendung von Qt WebKit oder Qt WebEngine gebaut. <translation>Syncthing Tray wurde nicht mit Unterstützung für die eingebaute Anzeige der Weboberfläche unter Verwendung von Qt WebKit oder Qt WebEngine gebaut.

View File

@ -370,48 +370,55 @@
<context> <context>
<name>QtGui::LauncherOptionPage</name> <name>QtGui::LauncherOptionPage</name>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="6"/> <location filename="../settings/launcheroptionpage.ui" line="14"/>
<source>Syncthing launcher</source> <source>Syncthing launcher</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="18"/> <location filename="../settings/launcheroptionpage.ui" line="26"/>
<source>Launch Syncthing when starting the tray icon</source> <source>Launch Syncthing when starting the tray icon</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="43"/> <location filename="../settings/launcheroptionpage.ui" line="51"/>
<source>Syncthing executable</source> <source>Syncthing executable</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="53"/> <location filename="../settings/launcheroptionpage.ui" line="61"/>
<source>Arguments</source> <source>Arguments</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="87"/> <location filename="../settings/launcheroptionpage.ui" line="74"/>
<source>Consider process status for reconnect attempts to local instance
Don&apos;t reconnect when the process is not running
Try to reconnect when starting the process</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settings/launcheroptionpage.ui" line="104"/>
<source>Syncthing log (interleaved stdout/stderr)</source> <source>Syncthing log (interleaved stdout/stderr)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="103"/> <location filename="../settings/launcheroptionpage.ui" line="120"/>
<source>Apply and launch now</source> <source>Apply and launch now</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="120"/> <location filename="../settings/launcheroptionpage.ui" line="137"/>
<location filename="../settings/settingsdialog.cpp" line="731"/> <location filename="../settings/settingsdialog.cpp" line="735"/>
<source>Stop launched instance</source> <source>Stop launched instance</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="139"/> <location filename="../settings/launcheroptionpage.ui" line="156"/>
<source>No log messages available yet</source> <source>No log messages available yet</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/launcheroptionpage.ui" line="146"/> <location filename="../settings/launcheroptionpage.ui" line="163"/>
<source>Ensure latest log is visible</source> <source>Ensure latest log is visible</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -436,19 +443,19 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="708"/> <location filename="../settings/settingsdialog.cpp" line="712"/>
<source>%1 exited with exit code %2 <source>%1 exited with exit code %2
</source> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="712"/> <location filename="../settings/settingsdialog.cpp" line="716"/>
<source>%1 crashed with exit code %2 <source>%1 crashed with exit code %2
</source> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="748"/> <location filename="../settings/settingsdialog.cpp" line="752"/>
<source>Kill launched instance</source> <source>Kill launched instance</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -552,22 +559,22 @@
<context> <context>
<name>QtGui::SettingsDialog</name> <name>QtGui::SettingsDialog</name>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="909"/> <location filename="../settings/settingsdialog.cpp" line="913"/>
<source>Tray</source> <source>Tray</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="916"/> <location filename="../settings/settingsdialog.cpp" line="920"/>
<source>Web view</source> <source>Web view</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="923"/> <location filename="../settings/settingsdialog.cpp" line="927"/>
<source>Startup</source> <source>Startup</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="945"/> <location filename="../settings/settingsdialog.cpp" line="949"/>
<source>Settings</source> <source>Settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -701,8 +708,8 @@ This dialog closes automatically when the process finally terminates.</source>
<location filename="../settings/systemdoptionpage.ui" line="99"/> <location filename="../settings/systemdoptionpage.ui" line="99"/>
<location filename="../settings/systemdoptionpage.ui" line="154"/> <location filename="../settings/systemdoptionpage.ui" line="154"/>
<location filename="../settings/systemdoptionpage.ui" line="231"/> <location filename="../settings/systemdoptionpage.ui" line="231"/>
<location filename="../settings/settingsdialog.cpp" line="830"/> <location filename="../settings/settingsdialog.cpp" line="834"/>
<location filename="../settings/settingsdialog.cpp" line="842"/> <location filename="../settings/settingsdialog.cpp" line="846"/>
<source>unknown</source> <source>unknown</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -737,12 +744,12 @@ This dialog closes automatically when the process finally terminates.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="803"/> <location filename="../settings/settingsdialog.cpp" line="807"/>
<source>specified unit is either inactive or doesn&apos;t exist</source> <source>specified unit is either inactive or doesn&apos;t exist</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="825"/> <location filename="../settings/settingsdialog.cpp" line="829"/>
<source>since </source> <source>since </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -809,7 +816,7 @@ This dialog closes automatically when the process finally terminates.</source>
<name>QtGui::WebViewOptionPage</name> <name>QtGui::WebViewOptionPage</name>
<message> <message>
<location filename="../settings/webviewoptionpage.ui" line="6"/> <location filename="../settings/webviewoptionpage.ui" line="6"/>
<location filename="../settings/settingsdialog.cpp" line="864"/> <location filename="../settings/settingsdialog.cpp" line="868"/>
<source>General</source> <source>General</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -839,7 +846,7 @@ This dialog closes automatically when the process finally terminates.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settings/settingsdialog.cpp" line="866"/> <location filename="../settings/settingsdialog.cpp" line="870"/>
<source>Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine. <source>Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine.
The Web UI will be opened in the default web browser instead.</source> The Web UI will be opened in the default web browser instead.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>