Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Goetz <markus@woboq.com>2014-08-12 16:47:43 +0400
committerMarkus Goetz <markus@woboq.com>2014-08-12 16:48:42 +0400
commitfaa502163eb6b33af532148d215bfe4d3fb249be (patch)
tree5df30cf439a9ebd32d647e4a5c0c8914584334d9
parent4ff0e7e0a23ed34bd3603cd03ac59c945cc1a21d (diff)
OS X: Finally(?) fix stay-on-top behaviour of settings dialog
Fixes #1795
-rw-r--r--.gitmodules2
m---------src/3rdparty/qtmacgoodies0
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/mirall/owncloudgui.cpp15
4 files changed, 17 insertions, 1 deletions
diff --git a/.gitmodules b/.gitmodules
index 208d31911..ffec18175 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -3,7 +3,7 @@
url = https://github.com/owncloud/documentation
[submodule "src/3rdparty/qtmacgoodies"]
path = src/3rdparty/qtmacgoodies
- url = git://github.com/shadone/qtmacgoodies.git
+ url = git://github.com/guruz/qtmacgoodies.git
[submodule "binary"]
path = binary
url = git://github.com/owncloud/owncloud-client-binary.git
diff --git a/src/3rdparty/qtmacgoodies b/src/3rdparty/qtmacgoodies
-Subproject cf09d34dc7199538727e3d32a9b937ee7389002
+Subproject fa067757146e768f31103160eb97991cd0186cf
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ec15a250a..837ab77ed 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -45,6 +45,7 @@ if (APPLE)
list(APPEND 3rdparty_SRC
3rdparty/qtmacgoodies/src/macpreferenceswindow.mm
3rdparty/qtmacgoodies/src/macstandardicon.mm
+ 3rdparty/qtmacgoodies/src/macwindow.mm
)
endif()
diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp
index b21e4724e..1f494882b 100644
--- a/src/mirall/owncloudgui.cpp
+++ b/src/mirall/owncloudgui.cpp
@@ -29,6 +29,7 @@
#include "mirall/account.h"
#include "openfilemanager.h"
#include "creds/abstractcredentials.h"
+#include "macwindow.h" // qtmacgoodies
#include <QDesktopServices>
#include <QMessageBox>
@@ -145,6 +146,14 @@ void ownCloudGui::slotTrayClicked( QSystemTrayIcon::ActivationReason reason )
if( reason == QSystemTrayIcon::Trigger ) {
slotOpenSettingsDialog(true); // start settings if config is existing.
}
+#else
+ // On Mac, if the settings dialog is already visible but hidden
+ // by other applications, this will bring it to the front.
+ if( reason == QSystemTrayIcon::Trigger ) {
+ if (!_settingsDialog.isNull() && _settingsDialog->isVisible()) {
+ slotShowSettings();
+ }
+ }
#endif
}
@@ -504,6 +513,7 @@ void ownCloudGui::slotShowGuiMessage(const QString &title, const QString &messag
void ownCloudGui::slotShowSettings()
{
+ qDebug() << Q_FUNC_INFO;
if (_settingsDialog.isNull()) {
_settingsDialog =
#if defined(Q_OS_MAC)
@@ -566,6 +576,11 @@ void ownCloudGui::raiseDialog( QWidget *raiseWidget )
raiseWidget->showNormal();
raiseWidget->raise();
raiseWidget->activateWindow();
+
+#if defined(Q_OS_MAC)
+ // viel hilft viel ;-)
+ MacWindow::bringToFront(raiseWidget);
+#endif
}
}