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

List:       kde-commits
Subject:    KDE/kdemultimedia/kmix/gui
From:       Christian Esken <esken () kde ! org>
Date:       2011-12-30 21:50:56
Message-ID: 20111230215056.3011EAC7DB () svn ! kde ! org
[Download RAW message or body]

SVN commit 1270942 by esken:

Let the tray support capture-volume as fallback. Work-in-progress (tray icon works, \
but tray popup is broken at the moment)

 M  +20 -23    kmixdockwidget.cpp  


--- trunk/KDE/kdemultimedia/kmix/gui/kmixdockwidget.cpp #1270941:1270942
@@ -21,6 +21,8 @@
  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  \
                02110-1301, USA.
  */
 
+#include "gui/kmixdockwidget.h"
+
 #include <kaction.h>
 #include <klocale.h>
 #include <kapplication.h>
@@ -46,7 +48,6 @@
 
 #include "gui/dialogselectmaster.h"
 #include "apps/kmix.h"
-#include "gui/kmixdockwidget.h"
 #include "core/mixer.h"
 #include "gui/mixdevicewidget.h"
 #include "core/mixertoolbox.h"
@@ -224,14 +225,8 @@
     {
         // Playback volume will be used for the DockIcon if available.
         // This heuristic is "good enough" for the DockIcon for now.
-        int val = 0;
-        Volume& vol       = md->playbackVolume();
-        if (! vol.hasVolume() ) {
-           vol = md->captureVolume();
-        }
-        if ( vol.hasVolume() ) {
-            val = vol.getAvgVolumePercent(Volume::MALL);
-        }
+        Volume& vol = md->playbackVolume().hasVolume() ? md->playbackVolume() : \
md->captureVolume(); +       	int val = vol.getAvgVolumePercent(Volume::MALL);
 
         // create a new "virtual" value. With that we see "volume changes" as well \
as "muted changes"  newToolTipValue = val;
@@ -262,24 +257,24 @@
     {
         newPixmapType = 'e';
     }
-    else if ( md->playbackVolume().hasSwitch() && md->isMuted() )
+    else
     {
+    	Volume& vol = md->playbackVolume().hasVolume() ? md->playbackVolume() : \
md->captureVolume(); +    	bool isInactive =  vol.isCapture() ? md->isMuted() : \
!md->isRecSource(); +		if ( isInactive )
+		{
         newPixmapType = 'm';
     }
     else
     {
-        Volume& vol = md->playbackVolume();
-        if (! vol.hasVolume() ) {
-            vol = md->captureVolume();
-        }
         int percentage         = vol.getAvgVolumePercent(Volume::MALL);
         if      ( percentage <= 0 ) newPixmapType = '0';  // Hint: also \
negative-values  else if ( percentage < 25 ) newPixmapType = '1';
         else if ( percentage < 75 ) newPixmapType = '2';
         else                        newPixmapType = '3';
    }
+    }
 
-
    if ( newPixmapType != _oldPixmapType ) {
       // Pixmap must be changed => do so
       switch ( newPixmapType ) {
@@ -377,11 +372,6 @@
     }
 }
 
-// void
-// KMixDockWidget::trayToolTipEvent(QHelpEvent *e ) {
-//    kDebug(67100) << "trayToolTipEvent" ;
-//    setVolumeTip();
-// }
 
 void
 KMixDockWidget::trayWheelEvent(int delta,Qt::Orientation wheelOrientation)
@@ -399,8 +389,13 @@
 
     long int cv = inc * (delta / 120 );
 //    kDebug() << "twe: " << cv << " : " << vol;
-	if ( cv > 0 && md->isMuted())
+    bool isInactive =  vol.isCapture() ? md->isMuted() : !md->isRecSource();
+    kDebug() << "Operating on capture=" << vol.isCapture() << ", isInactive=" << \
isInactive; +	if ( cv > 0 && isInactive)
 	{   // increasing from muted state: unmute and start with a low volume level
+		if ( vol.isCapture())
+			md->setRecSource(true);
+		else
 	    md->setMuted(false);
 	    vol.setAllVolumes(cv);
 	}
@@ -460,9 +455,11 @@
     KToggleAction *dockMuteAction = \
                static_cast<KToggleAction*>(actionCollection()->action("dock_mute"));
     //kDebug(67100) << "---> md=" << md << "dockMuteAction=" << dockMuteAction << \
"isMuted=" << md->isMuted();  if ( md != 0 && dockMuteAction != 0 ) {
-        bool hasSwitch = md->playbackVolume().hasSwitch();
+    	Volume& vol = md->playbackVolume().hasVolume() ? md->playbackVolume() : \
md->captureVolume(); +    	bool isInactive =  vol.isCapture() ? md->isMuted() : \
!md->isRecSource(); +        bool hasSwitch = vol.hasSwitch();
         dockMuteAction->setEnabled( hasSwitch );
-        dockMuteAction->setChecked( hasSwitch && md->isMuted() );
+        dockMuteAction->setChecked( hasSwitch && !isInactive );
     }
     _contextMenuWasOpen = true;
 }


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

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