All pastes #1804290 Raw Edit

Mine

public diff v1 · immutable
#1804290 ·published 2010-02-21 00:58 UTC
rendered paste body
From 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