Procházet zdrojové kódy

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 <kevin.ottens@nextcloud.com>
Kevin Ottens před 5 roky
rodič
revize
2ce1669ceb

+ 5 - 5
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()

+ 1 - 1
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

+ 2 - 2
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();
             }
         }
     }

+ 7 - 0
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) {

+ 1 - 0
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);