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