[Pkg-owncloud-commits] [owncloud-client] 13/83: Set an "active" role for the menubar icon on Mac

Sandro Knauß hefee-guest at moszumanska.debian.org
Sat May 31 11:31:38 UTC 2014


This is an automated email from the git hooks/post-receive script.

hefee-guest pushed a commit to branch master
in repository owncloud-client.

commit 97362cff32cbaec7323a39088eed77efdb43d06d
Author: Daniel Molkentin <danimo at owncloud.com>
Date:   Wed May 21 11:11:53 2014 +0200

    Set an "active" role for the menubar icon on Mac
    
    Fixes #1730
---
 src/mirall/theme.cpp | 31 ++++++++++++++++++++++++-------
 src/mirall/theme.h   |  1 +
 2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/src/mirall/theme.cpp b/src/mirall/theme.cpp
index 713e07c..349c3f1 100644
--- a/src/mirall/theme.cpp
+++ b/src/mirall/theme.cpp
@@ -16,6 +16,8 @@
 #include "version.h"
 #include "config.h"
 
+#include "mirall/utility.h"
+
 #include <QtCore>
 #ifndef TOKEN_AUTH_ONLY
 #include <QtGui>
@@ -125,10 +127,10 @@ QIcon Theme::themeIcon( const QString& name, bool sysTray ) const
         icon = QIcon::fromTheme( name );
     } else {
         QList<int> sizes;
-        sizes <<16 << 22 << 32 << 48 << 64 << 128;
+        sizes << 16 << 22 << 32 << 48 << 64 << 128;
         foreach (int size, sizes) {
-            QString pixmapName = QString::fromLatin1(":/mirall/theme/%1/%2-%3.png").arg(flavor).arg(name).arg(size);
-            if (QFile::exists(pixmapName)) {
+            QString pixmapName = QString::fromLatin1(":/mirall/theme/%3/%1-%2.png").arg(name).arg(size);
+            if (QFile::exists(pixmapName.arg(flavor))) {
                 QPixmap px(pixmapName);
                 // HACK, get rid of it by supporting FDO icon themes, this is really just emulating ubuntu-mono
                 if (qgetenv("DESKTOP_SESSION") == "ubuntu") {
@@ -138,6 +140,10 @@ QIcon Theme::themeIcon( const QString& name, bool sysTray ) const
                     p.drawPixmap(px.rect(), mask, mask.rect());
                 }
                 icon.addPixmap(px);
+                if (Utility::isMac()) {
+                    QString selIcon = pixmapName.arg(systrayIconFlavorSelected(_mono));
+                    icon.addPixmap(QPixmap(selIcon), QIcon::Selected);
+                }
             }
         }
         if (icon.isNull()) {
@@ -178,11 +184,22 @@ QString Theme::systrayIconFlavor(bool mono) const
 {
     QString flavor;
     if (mono) {
-#ifdef Q_OS_MAC
-        flavor = QLatin1String("black");
-#else
+        if (Utility::isMac()) {
+            flavor = QLatin1String("black");
+        } else {
+            flavor = QLatin1String("white");
+        }
+    } else {
+        flavor = QLatin1String("colored");
+    }
+    return flavor;
+}
+
+QString Theme::systrayIconFlavorSelected(bool mono) const
+{
+    QString flavor;
+    if (mono) {
         flavor = QLatin1String("white");
-#endif
     } else {
         flavor = QLatin1String("colored");
     }
diff --git a/src/mirall/theme.h b/src/mirall/theme.h
index 6e40b9f..8ef6ef0 100644
--- a/src/mirall/theme.h
+++ b/src/mirall/theme.h
@@ -131,6 +131,7 @@ public:
 
     /** colored, white or black */
     QString systrayIconFlavor(bool mono) const;
+    QString systrayIconFlavorSelected(bool mono) const;
 
 #ifndef TOKEN_AUTH_ONLY
     /**

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git



More information about the Pkg-owncloud-commits mailing list