rendered paste bodyFrom fca362c0d6f79626f29b13aab9f847b51a23983a Mon Sep 17 00:00:00 2001From: Jakub Wieczorek <faw217@gmail.com>Date: Sun, 21 Feb 2010 01:37:45 +0100Subject: [PATCH] The main toolbar should be entirely repainted when the moodbar is enabled/disabled or its style is changed.Currently it would continue to perform partial repaints which wouldmake some part of it appear with different moodbar style or withoutit even when it's enabled.--- src/MainWindow.cpp | 1 + src/widgets/SliderWidget.cpp | 13 ++++++++++++- src/widgets/SliderWidget.h | 1 + 3 files changed, 14 insertions(+), 1 deletions(-)diff --git a/src/MainWindow.cpp b/src/MainWindow.cppindex 6fbaac4..48a79be 100644--- a/src/MainWindow.cpp+++ b/src/MainWindow.cpp@@ -237,6 +237,7 @@ 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 ); m_mainToolbar->hide(); diff --git a/src/widgets/SliderWidget.cpp b/src/widgets/SliderWidget.cppindex 165b2bb..e00a1cd 100644--- a/src/widgets/SliderWidget.cpp+++ b/src/widgets/SliderWidget.cpp@@ -358,6 +358,7 @@ Amarok::TimeSlider::TimeSlider( QWidget *parent ) : Amarok::Slider( Qt::Horizontal, 0, parent ) , m_triangles() , m_knobX( 0.0 )+ , m_oldShowMoodbar( AmarokConfig::showMoodbarInSlider() ) { m_usingCustomStyle = true; setFocusPolicy( Qt::NoFocus );@@ -388,9 +389,19 @@ void Amarok::TimeSlider::resizeEvent(QResizeEvent * event) } void Amarok::TimeSlider::sliderChange( SliderChange change )-{ +{ if ( change == SliderValueChange || change == SliderRangeChange ) {+ bool showMoodbar = AmarokConfig::showMoodbarInSlider();++ // If the setting has changed, request a full repaint.+ if ( showMoodbar != m_oldShowMoodbar )+ {+ m_oldShowMoodbar = showMoodbar;+ update();+ return;+ }+ int oldKnobX = m_knobX; qreal percent = 0.0; if ( maximum() > minimum() )diff --git a/src/widgets/SliderWidget.h b/src/widgets/SliderWidget.hindex 95bec39..5de653b 100644--- a/src/widgets/SliderWidget.h+++ b/src/widgets/SliderWidget.h@@ -149,6 +149,7 @@ namespace Amarok QTimer *m_animTimer; // Used for a smooth progress. QList<BookmarkTriangle*> m_triangles; int m_knobX; // The position of the current indicator.+ bool m_oldShowMoodbar; }; } -- 1.6.4.2