aboutsummaryrefslogtreecommitdiff
path: root/src/transport-widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport-widget.c')
-rw-r--r--src/transport-widget.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/transport-widget.c b/src/transport-widget.c
index ad044da..26b7a98 100644
--- a/src/transport-widget.c
+++ b/src/transport-widget.c
@@ -105,7 +105,7 @@ static void transport_widget_property_update ( DbusmenuMenuitem* item,
gpointer userdata );
static void transport_widget_menu_hidden ( GtkWidget *menu,
TransportWidget *transport);
-static void transport_widget_notify ( TransportWidget *item,
+static void transport_widget_notify ( GObject *item,
GParamSpec *pspec,
gpointer user_data );
static TransportWidgetEvent transport_widget_determine_button_event ( TransportWidget* button,
@@ -174,7 +174,7 @@ transport_widget_init (TransportWidget *self)
gtk_widget_set_size_request(GTK_WIDGET(self), 200, 43);
g_signal_connect (G_OBJECT(self),
- "notify::parent",
+ "notify",
G_CALLBACK (transport_widget_notify),
NULL);
}
@@ -203,7 +203,7 @@ transport_widget_expose (GtkWidget *button, GdkEventExpose *event)
event->area.width, event->area.height);
cairo_clip(cr);
- draw (button, cr);
+ draw (button, cr);
cairo_destroy (cr);
return FALSE;
@@ -220,16 +220,16 @@ transport_widget_toggle_play_pause(TransportWidget* button,
}
static void
-transport_widget_notify (TransportWidget *item,
- GParamSpec *pspec,
- gpointer user_data)
+transport_widget_notify ( GObject *item,
+ GParamSpec *pspec,
+ gpointer user_data )
{
if (g_strcmp0 (pspec->name, "parent")){
GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (item));
if (parent){
g_signal_connect ( parent, "hide",
G_CALLBACK (transport_widget_menu_hidden),
- item);
+ item );
}
}
}
@@ -238,7 +238,6 @@ static void
transport_widget_menu_hidden ( GtkWidget *menu,
TransportWidget *transport)
{
- //g_debug("Transport Widget's menu hidden method called");
g_return_if_fail(IS_TRANSPORT_WIDGET(transport));
transport_widget_react_to_button_release(transport, TRANSPORT_NADA);
}
@@ -1262,6 +1261,11 @@ transport_widget_set_twin_item(TransportWidget* self,
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);
}
/**
@@ -1280,8 +1284,7 @@ transport_widget_property_update(DbusmenuMenuitem* item, gchar* property,
{
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);
}
}