[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdemultimedia/juk
From:       Jan Gerrit Marker <jangerrit () weiler-marker ! com>
Date:       2011-08-10 13:38:35
Message-ID: 20110810133835.5C144AC871 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1246207 by jangmarker:

juk: Cleanup and make unmuting work

Restore the old volume when unmuting JuK. The value before
the mute is hold in a membervariable of the mute/unmute
button (the PlayerManager does not seem to keep it).
Cleans up some pointer declarations (->Class *variable)
according to KDElibs. Furthermore a new string for the
mute/unmute button is added ("Mute/Unmute" for the tooltip).

 M  +12 -6     volumepopupbutton.cpp  
 M  +1 -0      volumepopupbutton.h  


--- trunk/KDE/kdemultimedia/juk/volumepopupbutton.cpp #1246206:1246207
@@ -35,6 +35,8 @@
 VolumePopupButton::VolumePopupButton( QWidget * parent )
     : QToolButton( parent )
 {
+    m_volumeBeforeMute = 0.0;
+
     //create the volume popup
     m_volumeMenu = new QMenu( this );
 
@@ -59,12 +61,13 @@
     sliderActionWidget->setDefaultWidget( mainBox );
 
     connect( m_volumeSlider, SIGNAL(volumeChanged(float)), player, SLOT(setVolume(float)) );
-    connect( m_volumeSlider, SIGNAL(volumeChanged(float)), player, SLOT(setVolume(float)) );
 
     QToolBar *muteBar = new QToolBar( QString(), mainBox );
     muteBar->setContentsMargins( 0, 0, 0, 0 );
     muteBar->setIconSize( QSize( 16, 16 ) );
+
     m_muteAction = new QAction( KIcon( "audio-volume-muted" ), QString(), muteBar );
+    m_muteAction->setToolTip( i18n( "Mute/Unmute" ) );
     m_muteAction->setCheckable ( true );
     m_muteAction->setChecked( player->muted() );
 
@@ -77,8 +80,7 @@
     // set correct icon and label initially
     volumeChanged( player->volume() );
 
-    connect( m_volumeSlider, SIGNAL(volumeChanged(float)),
-             this, SLOT(volumeChanged(float)) );
+    connect( m_volumeSlider, SIGNAL(volumeChanged(float)), this, SLOT(volumeChanged(float)) );
 }
 
 void
@@ -90,6 +92,11 @@
 void
 VolumePopupButton::volumeChanged( float newVolume )
 {
+    if (!JuK::JuKInstance()->playerManager()->muted())
+    {
+        m_volumeBeforeMute = newVolume;
+    }
+
     if ( newVolume <= 0.0001 )
         setIcon( KIcon( "audio-volume-muted" ) );
     else if ( newVolume < 0.34 )
@@ -115,16 +122,15 @@
 void
 VolumePopupButton::muteStateChanged( bool muted )
 {
-    const float volume = JuK::JuKInstance()->playerManager()->volume();
-
     if ( muted )
     {
+        const float volume = JuK::JuKInstance()->playerManager()->volume();
         setIcon( KIcon( "audio-volume-muted" ) );
         setToolTip( i18n( "Volume: %1% %2", volume, ( muted ? i18n( "(muted)" ) : "" ) ) );
     }
     else
     {
-        volumeChanged( volume );
+        JuK::JuKInstance()->playerManager()->setVolume( m_volumeBeforeMute );
     }
 
     m_muteAction->setChecked( muted );
--- trunk/KDE/kdemultimedia/juk/volumepopupbutton.h #1246206:1246207
@@ -51,6 +51,7 @@
     QMenu * m_volumeMenu;
     VolumeSlider * m_volumeSlider;
     QAction * m_muteAction;
+    float m_volumeBeforeMute;
 };
 
 #endif // VOLUMEPOPUPBUTTON_H
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic