From f70da74f46d53f81e042148f9e4593cc00251af4 Mon Sep 17 00:00:00 2001 From: Jeff Mitchell Date: Mon, 7 Nov 2011 20:47:04 -0500 Subject: [PATCH] Add private listening status showing --- resources.qrc | 1 + src/libtomahawk/actioncollection.cpp | 11 ++++++++--- src/libtomahawk/audio/audioengine.cpp | 8 ++++---- src/sourcetree/sourcedelegate.cpp | 14 ++++++++++++++ 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/resources.qrc b/resources.qrc index 369d4955d..22784a61c 100644 --- a/resources.qrc +++ b/resources.qrc @@ -72,6 +72,7 @@ data/images/music-icon.png data/images/configure.png data/images/create-playlist.png + data/images/private-listening.png data/images/add.png data/images/recently-played.png data/images/supercollection.png diff --git a/src/libtomahawk/actioncollection.cpp b/src/libtomahawk/actioncollection.cpp index db1bd78bd..262dc0c70 100644 --- a/src/libtomahawk/actioncollection.cpp +++ b/src/libtomahawk/actioncollection.cpp @@ -17,7 +17,8 @@ */ #include "actioncollection.h" -#include "tomahawksettings.h" +#include +#include ActionCollection* ActionCollection::s_instance = 0; ActionCollection* ActionCollection::instance() @@ -39,8 +40,12 @@ ActionCollection::initActions() { m_actionCollection[ "latchOn" ] = new QAction( tr( "&Listen Along" ), this ); m_actionCollection[ "latchOff" ] = new QAction( tr( "&Stop Listening Along" ), this ); - m_actionCollection[ "togglePrivacy" ] = new QAction( tr( QString( TomahawkSettings::instance()->privateListeningMode() == TomahawkSettings::PublicListening ? - "&Listen Privately" : "&Listen Publicly" ).toAscii().constData() ), this ); + + bool isPublic = TomahawkSettings::instance()->privateListeningMode() == TomahawkSettings::PublicListening; + QAction *privacyToggle = new QAction( tr( QString( isPublic ? "&Listen Privately" : "&Listen Publicly" ).toAscii().constData() ), this ); + privacyToggle->setIcon( QIcon( RESPATH "images/private-listening.png" ) ); + privacyToggle->setIconVisibleInMenu( isPublic ); + m_actionCollection[ "togglePrivacy" ] = privacyToggle; } diff --git a/src/libtomahawk/audio/audioengine.cpp b/src/libtomahawk/audio/audioengine.cpp index 5e815e33c..7578fc6be 100644 --- a/src/libtomahawk/audio/audioengine.cpp +++ b/src/libtomahawk/audio/audioengine.cpp @@ -411,10 +411,10 @@ AudioEngine::togglePrivateListeningMode() TomahawkSettings::instance()->setPrivateListeningMode( TomahawkSettings::PublicListening ); #ifndef TOMAHAWK_HEADLESS - ActionCollection::instance()->getAction( "togglePrivacy" )->setText( - tr( QString( TomahawkSettings::instance()->privateListeningMode() == TomahawkSettings::PublicListening ? - "&Listen Privately" : "&Listen Publicly" ).toAscii().constData() ) - ); + QAction *privacyToggle = ActionCollection::instance()->getAction( "togglePrivacy" ); + bool isPublic = TomahawkSettings::instance()->privateListeningMode() == TomahawkSettings::PublicListening; + privacyToggle->setText( tr( QString( isPublic ? "&Listen Privately" : "&Listen Publicly" ).toAscii().constData() ) ); + privacyToggle->setIconVisibleInMenu( isPublic ); #endif } diff --git a/src/sourcetree/sourcedelegate.cpp b/src/sourcetree/sourcedelegate.cpp index 99076ac92..a203e30db 100644 --- a/src/sourcetree/sourcedelegate.cpp +++ b/src/sourcetree/sourcedelegate.cpp @@ -29,11 +29,13 @@ #include "utils/tomahawkutils.h" #include "animationhelper.h" #include "source.h" +#include "tomahawksettings.h" #include #include #include #include