From dbf02772c392f13613ba2a15a9e218b0e391eded Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Sat, 3 Mar 2012 10:51:06 +0100 Subject: [PATCH] Fixed tray icon, use theme for this Fixed folder enable/disable. --- src/mirall/application.cpp | 24 +++++++++--------------- src/mirall/statusdialog.cpp | 2 +- src/mirall/theme.cpp | 5 +++++ src/mirall/theme.h | 5 +++-- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/mirall/application.cpp b/src/mirall/application.cpp index f927554da..4cb5f8ba4 100644 --- a/src/mirall/application.cpp +++ b/src/mirall/application.cpp @@ -376,9 +376,10 @@ void Application::slotInfoFolder( const QString& alias ) void Application::slotEnableFolder(const QString& alias, const bool enable) { - qDebug() << "enable folder with alias " << alias; + qDebug() << "Application: enable folder with alias " << alias; _folderMan->slotEnableFolder( alias, enable ); + _statusDialog->setFolderList( _folderMan->map() ); } @@ -439,21 +440,15 @@ void Application::computeOverallSyncStatus() trayMessage += folderMessage; } - QString statusIcon = MIRALL_ICON; - qDebug() << "overall result is " << overallResult.status(); - if( overallResult.status() == SyncResult::Error ) { - statusIcon = "dialog-close"; - } else if( overallResult.status() == SyncResult::Success ) { - statusIcon = MIRALL_ICON; - } else if( overallResult.status() == SyncResult::Disabled ) { - statusIcon = "dialog-cancel"; - } else if( overallResult.status() == SyncResult::SetupError ) { - statusIcon = "dialog-cancel"; - } else if( overallResult.status() == SyncResult::Undefined ) { - statusIcon = "view-refresh"; + + QIcon statusIcon = _theme->syncStateIcon( overallResult.status(), 20 ); + if( overallResult.status() == SyncResult::Success ) { + // Rather display the mirall icon instead of the ok icon. + statusIcon = _theme->applicationIcon( 24 ); } - _tray->setIcon(QIcon::fromTheme(statusIcon, QIcon( QString( ":/mirall/resources/%1").arg(statusIcon)))); + + _tray->setIcon( statusIcon ); _tray->setToolTip(trayMessage); // Only refresh the folder if it is being shown @@ -462,6 +457,5 @@ void Application::computeOverallSyncStatus() } } - } // namespace Mirall diff --git a/src/mirall/statusdialog.cpp b/src/mirall/statusdialog.cpp index f49363c49..254f29d16 100644 --- a/src/mirall/statusdialog.cpp +++ b/src/mirall/statusdialog.cpp @@ -190,7 +190,7 @@ void StatusDialog::setFolderList( Folder::Map folders ) item->setData( f->path(), FolderViewDelegate::FolderPathRole ); item->setData( f->alias(), FolderViewDelegate::FolderNameRole ); item->setData( f->syncEnabled(), FolderViewDelegate::FolderSyncEnabled ); - qDebug() << "Folder is SyncEnabled: " << f->syncEnabled(); + qDebug() << "***** Folder is SyncEnabled: " << f->syncEnabled(); SyncResult res = f->syncResult(); SyncResult::Status status = res.status(); diff --git a/src/mirall/theme.cpp b/src/mirall/theme.cpp index b7f2873ca..634e491d7 100644 --- a/src/mirall/theme.cpp +++ b/src/mirall/theme.cpp @@ -84,6 +84,11 @@ QString Theme::statusHeaderText( SyncResult::Status status ) const return resultStr; } +QIcon Theme::applicationIcon( int size ) const +{ + return QIcon::fromTheme( "mirall", QIcon(QString(":mirall/resources/mirall-%1").arg(size) ) ); +} + QString Theme::version() const { return QString::fromLocal8Bit( MIRALL_STRINGIFY( MIRALL_VERSION ) ); diff --git a/src/mirall/theme.h b/src/mirall/theme.h index 13e4cfc2b..271d48fa3 100644 --- a/src/mirall/theme.h +++ b/src/mirall/theme.h @@ -39,10 +39,11 @@ public: /** * get a folder icon for a given backend in a given size. */ - virtual QIcon folderIcon( const QString&, int ) const; - virtual QIcon syncStateIcon( SyncResult::Status, int ) const; + virtual QIcon folderIcon( const QString&, int ) const; + virtual QIcon syncStateIcon( SyncResult::Status, int ) const; virtual QString statusHeaderText( SyncResult::Status ) const; virtual QPixmap splashScreen() const = 0; + virtual QIcon applicationIcon( int ) const; virtual QString version() const; private: