diff --git a/data/data.qrc b/data/data.qrc
index 8d1da3038..757a5756f 100644
--- a/data/data.qrc
+++ b/data/data.qrc
@@ -172,6 +172,8 @@
icons/32x32/phone-palm-pre.png
icons/32x32/phone.png
icons/32x32/qtlogo.png
+ icons/32x32/rate-disabled.png
+ icons/32x32/rate-enabled.png
icons/32x32/search.png
icons/32x32/tools-wizard.png
icons/32x32/view-choose.png
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp
index e679960a5..d055bfcb9 100644
--- a/src/ui/mainwindow.cpp
+++ b/src/ui/mainwindow.cpp
@@ -1163,17 +1163,29 @@ void MainWindow::MediaPlaying() {
IconLoader::Load("media-playback-pause", IconLoader::Base));
ui_->action_play_pause->setText(tr("Pause"));
- bool enable_play_pause = !(app_->player()->GetCurrentItem()->options() &
- PlaylistItem::PauseDisabled);
+ const PlaylistItemPtr item = app_->player()->GetCurrentItem();
+
+ bool enable_play_pause = !(item->options() & PlaylistItem::PauseDisabled);
ui_->action_play_pause->setEnabled(enable_play_pause);
- bool can_seek = !(app_->player()->GetCurrentItem()->options() &
- PlaylistItem::SeekDisabled);
+ bool can_seek = !(item->options() & PlaylistItem::SeekDisabled);
ui_->track_slider->SetCanSeek(can_seek);
// We now always enable Love when playing since it works for local files
ui_->action_love->setEnabled(true);
+ // Set the rate/love icon
+ if (item) {
+ if (item->IsLocalLibraryItem()) {
+ ui_->action_love->setIcon(IconLoader::Load("rate-enabled",
+ IconLoader::Base));
+ }
+ else {
+ ui_->action_love->setIcon(IconLoader::Load("love",
+ IconLoader::Lastfm));
+ }
+ }
+
#ifdef HAVE_LIBLASTFM
bool enable_love = app_->scrobbler()->IsScrobblingEnabled();
if (tray_icon_) {