Bug 220695 - moodbar does not update after moodbar style change
Summary: moodbar does not update after moodbar style change
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Moodbar (show other bugs)
Version: 2.3-GIT
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-30 15:40 UTC by Alexander Potashev
Modified: 2010-01-08 15:12 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Potashev 2009-12-30 15:40:08 UTC
Version:           2.2-GIT (using 4.3.85 (KDE 4.3.85 (KDE 4.4 Beta2)), Gentoo)
Compiler:          x86_64-pc-linux-gnu-gcc
OS:                Linux (x86_64) release 2.6.32

1. Start a song with .mood data.
2. Go to the configuration dialog and change the Moodbar style (General -> Moodbar Options -> Moodbar style) to another style, click OK.
3. The Moodbar doesn't update unless you move your mouse over it. If you don't do that, it updates following the progress slider.
Comment 1 Nikolaj Hald Nielsen 2010-01-08 15:10:40 UTC
commit 5ce25f059b0d36c5f25cf0c08812ad5d63c77d44
Author: Nikolaj Hald Nielsen <nhn@kde.org>
Date:   Fri Jan 8 15:09:38 2010 +0100

    Fix moodbar in progress slider not correctly updating after moodbar style change
    ChangeLog++
    BUG: 220695

diff --git a/ChangeLog b/ChangeLog
index 8f27e50..4f901a4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,8 @@ VERSION 2.2.3
     * Improved usability of the playlist layout editor dialog.
 
   BUGFIXES:
+    * Fixed moodbar in progress slider not correctly updating after moodbar
+      style change (BR 220695)
     * Fixed progress slider not moving for many streams (and possible other
       types of tracks) (BR 221747)
     * Sort artists named like "The Foo" correctly in all cases. (BR 176670)
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index 79c97a4..6d3dfd6 100644
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -46,6 +46,7 @@
 #include "context/ContextView.h"
 #include "context/ToolbarView.h"
 #include "covermanager/CoverManager.h" // for actions
+#include "moodbar/MoodbarManager.h"
 #include "playlist/layouts/LayoutConfigAction.h"
 #include "playlist/PlaylistActions.h"
 #include "playlist/PlaylistController.h"
@@ -237,12 +238,14 @@ MainWindow::init()
     m_mainToolbar = new MainToolbar( 0 );
     m_mainToolbar->setAllowedAreas( Qt::TopToolBarArea | Qt::BottomToolBarArea );
     m_mainToolbar->setMovable ( true );
+    connect( The::moodbarManager(), SIGNAL( moodbarStyleChanged() ), m_mainToolbar, SLOT( repaint() ) );
     addToolBar( Qt::TopToolBarArea, m_mainToolbar );
 
     //create slim toolbar
     m_slimToolbar = new SlimToolbar( 0 );
     m_slimToolbar->setAllowedAreas( Qt::TopToolBarArea | Qt::BottomToolBarArea );
     m_slimToolbar->setMovable ( true );
+    connect( The::moodbarManager(), SIGNAL( moodbarStyleChanged() ), m_slimToolbar, SLOT( repaint() ) );
     addToolBar( Qt::TopToolBarArea, m_slimToolbar );
     m_slimToolbar->hide();
 
diff --git a/src/moodbar/MoodbarManager.cpp b/src/moodbar/MoodbarManager.cpp
index f5b5c6f..a6da95c 100644
--- a/src/moodbar/MoodbarManager.cpp
+++ b/src/moodbar/MoodbarManager.cpp
@@ -128,6 +128,7 @@ QPixmap MoodbarManager::getMoodbar( Meta::TrackPtr track, int width, int height
         m_lastPaintMode = AmarokConfig::moodbarPaintStyle();
         m_cache->discard();
         m_moodDataMap.clear();
+        emit moodbarStyleChanged();
     }
 
 
diff --git a/src/moodbar/MoodbarManager.h b/src/moodbar/MoodbarManager.h
index fd237a9..4c00c1a 100644
--- a/src/moodbar/MoodbarManager.h
+++ b/src/moodbar/MoodbarManager.h
@@ -51,6 +51,7 @@ public:
 signals:
     void moodbarReady( const QPixmap &pixmap );
     void moodbarCreationFailed( const QString &error );
+    void moodbarStyleChanged();
 
 private:
     MoodbarManager();
Comment 2 Nikolaj Hald Nielsen 2010-01-08 15:12:45 UTC
commit 5ce25f059b0d36c5f25cf0c08812ad5d63c77d44
Author: Nikolaj Hald Nielsen <nhn@kde.org>
Date:   Fri Jan 8 15:09:38 2010 +0100

    Fix moodbar in progress slider not correctly updating after moodbar style change
    ChangeLog++
    BUG: 220695

diff --git a/ChangeLog b/ChangeLog
index 8f27e50..4f901a4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,8 @@ VERSION 2.2.3
     * Improved usability of the playlist layout editor dialog.
 
   BUGFIXES:
+    * Fixed moodbar in progress slider not correctly updating after moodbar
+      style change (BR 220695)
     * Fixed progress slider not moving for many streams (and possible other
       types of tracks) (BR 221747)
     * Sort artists named like "The Foo" correctly in all cases. (BR 176670)
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index 79c97a4..6d3dfd6 100644
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -46,6 +46,7 @@
 #include "context/ContextView.h"
 #include "context/ToolbarView.h"
 #include "covermanager/CoverManager.h" // for actions
+#include "moodbar/MoodbarManager.h"
 #include "playlist/layouts/LayoutConfigAction.h"
 #include "playlist/PlaylistActions.h"
 #include "playlist/PlaylistController.h"
@@ -237,12 +238,14 @@ MainWindow::init()
     m_mainToolbar = new MainToolbar( 0 );
     m_mainToolbar->setAllowedAreas( Qt::TopToolBarArea | Qt::BottomToolBarArea );
     m_mainToolbar->setMovable ( true );
+    connect( The::moodbarManager(), SIGNAL( moodbarStyleChanged() ), m_mainToolbar, SLOT( repaint() ) );
     addToolBar( Qt::TopToolBarArea, m_mainToolbar );
 
     //create slim toolbar
     m_slimToolbar = new SlimToolbar( 0 );
     m_slimToolbar->setAllowedAreas( Qt::TopToolBarArea | Qt::BottomToolBarArea );
     m_slimToolbar->setMovable ( true );
+    connect( The::moodbarManager(), SIGNAL( moodbarStyleChanged() ), m_slimToolbar, SLOT( repaint() ) );
     addToolBar( Qt::TopToolBarArea, m_slimToolbar );
     m_slimToolbar->hide();
 
diff --git a/src/moodbar/MoodbarManager.cpp b/src/moodbar/MoodbarManager.cpp
index f5b5c6f..a6da95c 100644
--- a/src/moodbar/MoodbarManager.cpp
+++ b/src/moodbar/MoodbarManager.cpp
@@ -128,6 +128,7 @@ QPixmap MoodbarManager::getMoodbar( Meta::TrackPtr track, int width, int height
         m_lastPaintMode = AmarokConfig::moodbarPaintStyle();
         m_cache->discard();
         m_moodDataMap.clear();
+        emit moodbarStyleChanged();
     }
 
 
diff --git a/src/moodbar/MoodbarManager.h b/src/moodbar/MoodbarManager.h
index fd237a9..4c00c1a 100644
--- a/src/moodbar/MoodbarManager.h
+++ b/src/moodbar/MoodbarManager.h
@@ -51,6 +51,7 @@ public:
 signals:
     void moodbarReady( const QPixmap &pixmap );
     void moodbarCreationFailed( const QString &error );
+    void moodbarStyleChanged();
 
 private:
     MoodbarManager();