From: Kevin Ottens Date: Tue, 16 Jun 2020 16:59:16 +0000 (+0200) Subject: Bring forward the main systray dialog on second execution X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~222^2^2~148^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=2ce1669ceb46a29a04fa5f55b8b719ed88a7ce56;p=nextcloud-desktop.git Bring forward the main systray dialog on second execution Previously we were showing up the settings dialog but it doesn't quite make sense anymore now that we got two dialogs. Signed-off-by: Kevin Ottens --- diff --git a/src/gui/application.cpp b/src/gui/application.cpp index 65539b9b5..20d5b6e9b 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -433,14 +433,14 @@ void Application::slotParseMessage(const QString &msg, QObject *) QStringList options = msg.mid(lengthOfMsgPrefix).split(QLatin1Char('|')); parseOptions(options); setupLogging(); - } else if (msg.startsWith(QLatin1String("MSG_SHOWSETTINGS"))) { + } else if (msg.startsWith(QLatin1String("MSG_SHOWMAINDIALOG"))) { qCInfo(lcApplication) << "Running for" << _startedAt.elapsed() / 1000.0 << "sec"; if (_startedAt.elapsed() < 10 * 1000) { // This call is mirrored with the one in int main() - qCWarning(lcApplication) << "Ignoring MSG_SHOWSETTINGS, possibly double-invocation of client via session restore and auto start"; + qCWarning(lcApplication) << "Ignoring MSG_SHOWMAINDIALOG, possibly double-invocation of client via session restore and auto start"; return; } - showSettingsDialog(); + showMainDialog(); } } @@ -662,9 +662,9 @@ bool Application::versionOnly() return _versionOnly; } -void Application::showSettingsDialog() +void Application::showMainDialog() { - _gui->slotShowSettings(); + _gui->slotOpenMainDialog(); } void Application::slotGuiIsShowingSettings() diff --git a/src/gui/application.h b/src/gui/application.h index ac303cb4c..36d994a31 100644 --- a/src/gui/application.h +++ b/src/gui/application.h @@ -67,7 +67,7 @@ public: bool versionOnly(); // only display the version? void showVersion(); - void showSettingsDialog(); + void showMainDialog(); public slots: // TODO: this should not be public diff --git a/src/gui/main.cpp b/src/gui/main.cpp index 4b3da14b7..060cc7ef7 100644 --- a/src/gui/main.cpp +++ b/src/gui/main.cpp @@ -139,7 +139,7 @@ int main(int argc, char **argv) if (!app.sendMessage(QLatin1String("MSG_PARSEOPTIONS:") + msg)) return -1; } - if (!app.backgroundMode() && !app.sendMessage(QLatin1String("MSG_SHOWSETTINGS"))) { + if (!app.backgroundMode() && !app.sendMessage(QLatin1String("MSG_SHOWMAINDIALOG"))) { return -1; } return 0; @@ -172,7 +172,7 @@ int main(int argc, char **argv) } } if (!app.backgroundMode() && !QSystemTrayIcon::isSystemTrayAvailable() && desktopSession != "ubuntu") { - app.showSettingsDialog(); + app.showMainDialog(); } } } diff --git a/src/gui/owncloudgui.cpp b/src/gui/owncloudgui.cpp index 6c7971b2b..ef335ffed 100644 --- a/src/gui/owncloudgui.cpp +++ b/src/gui/owncloudgui.cpp @@ -154,6 +154,13 @@ void ownCloudGui::slotOpenSettingsDialog() } } +void ownCloudGui::slotOpenMainDialog() +{ + if (!_tray->isOpen()) { + _tray->showWindow(); + } +} + void ownCloudGui::slotTrayClicked(QSystemTrayIcon::ActivationReason reason) { if (reason == QSystemTrayIcon::Trigger || reason == QSystemTrayIcon::Context) { diff --git a/src/gui/owncloudgui.h b/src/gui/owncloudgui.h index 380a69659..74a1abfdd 100644 --- a/src/gui/owncloudgui.h +++ b/src/gui/owncloudgui.h @@ -86,6 +86,7 @@ public slots: void slotToggleLogBrowser(); void slotOpenOwnCloud(); void slotOpenSettingsDialog(); + void slotOpenMainDialog(); void slotSettingsDialogActivated(); void slotHelp(); void slotOpenPath(const QString &path);