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

List:       kde-commits
Subject:    KDE/kdeplasma-addons/applets/nowplaying
From:       Rob Scheepmaker <r.scheepmaker () student ! utwente ! nl>
Date:       2009-09-02 2:36:39
Message-ID: 1251858999.116292.24271.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1018658 by scheepmaker:

Don't misbehave when sources get added later. (e.g. when remoting)



 M  +2 -2      controls.cpp  
 M  +8 -1      nowplaying.cpp  


--- trunk/KDE/kdeplasma-addons/applets/nowplaying/controls.cpp #1018657:1018658
@@ -52,7 +52,7 @@
 
 void Controls::playPauseClicked()
 {
-    if (m_state == Playing) {
+    if (m_state == Playing && m_controller) {
         m_state = Paused;
         m_playpause->setIcon("media-playback-start");
         m_controller->associateWidget(m_playpause, "play");
@@ -67,7 +67,7 @@
 
 void Controls::stateChanged(State state)
 {
-    if (m_state != state) {
+    if (m_state != state && m_controller) {
         if (state == Playing) {
             m_playpause->setIcon("media-playback-pause");
             m_controller->associateWidget(m_playpause, "pause");
--- trunk/KDE/kdeplasma-addons/applets/nowplaying/nowplaying.cpp #1018657:1018658
@@ -211,7 +211,7 @@
                     //i18n("No media player found")
                     //i18nc("The state of a music player", "Stopped")
     if (name != m_watchingPlayer) {
-        kDebug() << "Wasn't expecting an update from" << name;
+        kDebug() << "Wasn't expecting an update from" << name << " but watching " << m_watchingPlayer;
         return;
     }
     if (data.isEmpty()) {
@@ -312,8 +312,15 @@
 {
     kDebug() << "Player" << name << "added";
     if (m_watchingPlayer.isEmpty()) {
+        //findPlayer();
         kDebug() << "Installing" << name << "as watched player";
         m_watchingPlayer = name;
+
+        m_controller = dataEngine("nowplaying")->serviceForSource(m_watchingPlayer);
+        m_controller->associateWidget(m_positionSlider, "seek");
+        m_controller->associateWidget(m_volumeSlider, "volume");
+        emit controllerChanged(m_controller);
+
         dataEngine("nowplaying")->connectSource(m_watchingPlayer, this, 500);
     }
 }
[prev in list] [next in list] [prev in thread] [next in thread] 

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