← Back to team overview

ayatana-commits team mailing list archive

[Merge] lp:~cjcurran/indicator-sound/initial-state-update into lp:indicator-sound

 

Conor Curran has proposed merging lp:~cjcurran/indicator-sound/initial-state-update into lp:indicator-sound.

Requested reviews:
  Indicator Applet Developers (indicator-applet-developers)
Related bugs:
  #656947 Sound indicator works incorrect with playing status
  https://bugs.launchpad.net/bugs/656947


Fixes the bug attached.

-- 
https://code.launchpad.net/~cjcurran/indicator-sound/initial-state-update/+merge/39444
Your team ayatana-commits is subscribed to branch lp:indicator-sound.
=== modified file 'src/metadata-widget.c'
--- src/metadata-widget.c	2010-10-04 16:07:46 +0000
+++ src/metadata-widget.c	2010-10-27 13:26:43 +0000
@@ -511,10 +511,35 @@
 metadata_widget_set_twin_item(MetadataWidget* self,
            								    DbusmenuMenuitem* twin_item)
 {
-    MetadataWidgetPrivate* priv = METADATA_WIDGET_GET_PRIVATE(self);
-    priv->twin_item = twin_item;
-    g_signal_connect(G_OBJECT(priv->twin_item), "property-changed", 
-                              G_CALLBACK(metadata_widget_property_update), self);
+  MetadataWidgetPrivate* priv = METADATA_WIDGET_GET_PRIVATE(self);
+  priv->twin_item = twin_item;
+  g_signal_connect( G_OBJECT(priv->twin_item), "property-changed", 
+                            G_CALLBACK(metadata_widget_property_update), self);
+  gtk_label_set_text( GTK_LABEL(priv->container_label), 
+                      dbusmenu_menuitem_property_get( priv->twin_item,
+                                                      DBUSMENU_METADATA_MENUITEM_ALBUM));
+	metadata_widget_style_labels( self, GTK_LABEL(priv->container_label));
+
+  gtk_label_set_text( GTK_LABEL(priv->piece_label), 
+                      dbusmenu_menuitem_property_get( priv->twin_item,
+                                                      DBUSMENU_METADATA_MENUITEM_TITLE));
+	metadata_widget_style_labels( self, GTK_LABEL(priv->piece_label));
+  gtk_label_set_text( GTK_LABEL(priv->artist_label), 
+                      dbusmenu_menuitem_property_get( priv->twin_item,
+                                                      DBUSMENU_METADATA_MENUITEM_ARTIST));
+	metadata_widget_style_labels( self, GTK_LABEL(priv->artist_label));
+
+  g_string_erase(priv->image_path, 0, -1);
+	g_string_overwrite( priv->image_path,
+                      0,
+                      dbusmenu_menuitem_property_get( priv->twin_item,
+                                                      DBUSMENU_METADATA_MENUITEM_ARTURL ));
+
+	// if its a remote image queue a redraw incase the download took too long
+	if (g_str_has_prefix (dbusmenu_menuitem_property_get (priv->twin_item, DBUSMENU_METADATA_MENUITEM_ARTURL ),
+                        g_get_user_cache_dir())){
+	  gtk_widget_queue_draw(GTK_WIDGET(self));                                                          
+  }                       
 }
 
 

=== modified file 'src/mpris2-controller.vala'
--- src/mpris2-controller.vala	2010-10-14 11:45:32 +0000
+++ src/mpris2-controller.vala	2010-10-27 13:26:43 +0000
@@ -84,7 +84,7 @@
 			this.properties_interface = (FreeDesktopProperties) connection.get_object("org.freedesktop.Properties.PropertiesChanged",
 			                                                                          "/org/mpris/MediaPlayer2");                                                                                
 			this.properties_interface.PropertiesChanged += property_changed_cb;			
-			
+      
 		} catch (DBus.Error e) {
       	error("Problems connecting to the session bus - %s", e.message);
     }		
@@ -150,8 +150,8 @@
 		}
 		else{
 			update = determine_play_state(this.player.PlaybackStatus);
-		}		
-		(this.owner.custom_items[PlayerController.widget_order.TRANSPORT] as TransportMenuitem).change_play_state(update);
+		}		    
+    (this.owner.custom_items[PlayerController.widget_order.TRANSPORT] as TransportMenuitem).change_play_state(update);
 		GLib.HashTable<string, Value?> cleaned_metadata = this.clean_metadata();
 		this.owner.custom_items[PlayerController.widget_order.METADATA].update(cleaned_metadata,
 			                          MetadataMenuitem.attributes_format());

=== modified file 'src/player-controller.vala'
--- src/player-controller.vala	2010-10-14 11:45:32 +0000
+++ src/player-controller.vala	2010-10-27 13:26:43 +0000
@@ -178,9 +178,8 @@
 		if(this.mpris_bridge.connected() == true){
 			this.update_state(state.CONNECTED);
 			TitleMenuitem title = this.custom_items[widget_order.TITLE] as TitleMenuitem;
-			title.toggle_active_triangle(true);			
-			TransportMenuitem transport = this.custom_items[widget_order.TRANSPORT] as TransportMenuitem;
-			transport.change_play_state(TransportMenuitem.state.PAUSED);
+			title.toggle_active_triangle(true);	
+      this.mpris_bridge.initial_update();
 		}
 		else{
 			this.update_state(state.DISCONNECTED);

=== modified file 'src/sound-service.c'
--- src/sound-service.c	2010-10-07 11:00:00 +0000
+++ src/sound-service.c	2010-10-27 13:26:43 +0000
@@ -41,8 +41,8 @@
   if (mainloop != NULL) {
     g_debug("Service shutdown !");
     //TODO: uncomment for release !!
-    close_pulse_activites();
-    g_main_loop_quit(mainloop);
+    //close_pulse_activites();
+    //g_main_loop_quit(mainloop);
   }
   return;
 }

=== modified file 'src/transport-menu-item.vala'
--- src/transport-menu-item.vala	2010-09-02 22:21:00 +0000
+++ src/transport-menu-item.vala	2010-10-27 13:26:43 +0000
@@ -42,6 +42,8 @@
 
 	public void change_play_state(state update)
 	{
+    debug("UPDATING THE TRANSPORT DBUSMENUITEM PLAY STATE WITH VALUE %i",
+          (int)update);
 		this.property_set_int(MENUITEM_PLAY_STATE, update);	
 	}
 	
@@ -60,5 +62,4 @@
 		return attrs;
 	}	
 
-	
 }
\ No newline at end of file

=== modified file 'src/transport-widget.c'
--- src/transport-widget.c	2010-10-01 11:18:08 +0000
+++ src/transport-widget.c	2010-10-27 13:26:43 +0000
@@ -1272,6 +1272,11 @@
     priv->twin_item = twin_item;
     g_signal_connect(G_OBJECT(priv->twin_item), "property-changed", 
                               G_CALLBACK(transport_widget_property_update), self);
+	  gint initial_state = dbusmenu_menuitem_property_get_int( twin_item,
+                                                             DBUSMENU_TRANSPORT_MENUITEM_PLAY_STATE );
+    g_debug("TRANSPORT WIDGET - INITIAL UPDATE = %i", initial_state);
+		transport_widget_toggle_play_pause( self,
+                                        (TransportWidgetState)initial_state);		    
 }
 
 /**
@@ -1290,8 +1295,7 @@
 	{
 		int update_value = g_value_get_int(value);
 		//g_debug("transport_widget_update_state - with value  %i", update_value);  
-		transport_widget_toggle_play_pause(bar,
-                                           (TransportWidgetState)update_value);		
+		transport_widget_toggle_play_pause(bar, (TransportWidgetState)update_value);		
 	}
 }
 


Follow ups