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.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/transport-widget.c b/src/transport-widget.c
index 28aff6f..e814ce5 100644
--- a/src/transport-widget.c
+++ b/src/transport-widget.c
@@ -203,8 +203,9 @@ transport_widget_init (TransportWidget *self)
g_signal_connect (GTK_ITEM(self),
"deselect",
G_CALLBACK (transport_widget_deselect),
- NULL);
-
+ NULL);
+ gtk_widget_realize ( GTK_WIDGET (self) );
+
}
static void
@@ -237,6 +238,13 @@ transport_widget_expose (GtkWidget *button, GdkEventExpose *event)
return FALSE;
}
+gboolean
+transport_widget_is_selected ( TransportWidget* widget )
+{
+ TransportWidgetPrivate* priv = TRANSPORT_WIDGET_GET_PRIVATE(widget);
+ return priv->has_focus;
+}
+
static void
transport_widget_toggle_play_pause(TransportWidget* button,
TransportWidgetState update)
@@ -376,10 +384,14 @@ transport_widget_react_to_key_press_event ( TransportWidget* transport,
/* printf("transport_widget_react_to_key_press_event: before drawing\n");*/
gtk_widget_realize ( GTK_WIDGET(transport) );
+ printf ( "transport widget - react to key press event -> is the window null: %i",
+ gtk_widget_get_window (GTK_WIDGET (transport) ) == NULL );
cairo_t *cr;
+
+ printf("transport_widget_react_to_key_press_event: before drawing\n");
cr = gdk_cairo_create ( GTK_WIDGET(transport)->window );
draw ( GTK_WIDGET(transport), cr );
- cairo_destroy (cr);
+ cairo_destroy (cr);
}
}
@@ -398,7 +410,6 @@ transport_widget_react_to_key_release_event ( TransportWidget* transport,
&value,
0 );
}
-/* printf("transport_widget_react_to_key_release_event: before transport_widget_react_to_key_release_event\n");*/
transport_widget_react_to_button_release ( transport,
transport_event );
}
@@ -464,22 +475,18 @@ transport_widget_react_to_button_release ( TransportWidget* button,
g_return_if_fail(IS_TRANSPORT_WIDGET(button));
TransportWidgetPrivate* priv = TRANSPORT_WIDGET_GET_PRIVATE(button);
if(priv->current_command == TRANSPORT_NADA){
- //g_debug("returning from the playbutton release because my previous command was nada");
-/* printf("transport_widget_react_to_button_release: inside if(priv->current_command == TRANSPORT_NADA)\n");*/
/* Update the drawing in any case, should not hurt :) */
// return;
}
else if(priv->current_command != TRANSPORT_NADA &&
command != TRANSPORT_NADA){
priv->current_command = command;
-/* printf("transport_widget_react_to_button_release: inside if(priv->current_command != TRANSPORT_NADA && command != TRANSPORT_NADA)\n");*/
}
-/* printf("transport_widget_react_to_button_release: before drawing\n");*/
cairo_t *cr;
cr = gdk_cairo_create ( GTK_WIDGET(button)->window );
priv->current_command = TRANSPORT_NADA;
- priv->key_event = TRANSPORT_NADA;
+ priv->key_event = TRANSPORT_NADA;
draw ( GTK_WIDGET(button), cr );
cairo_destroy (cr);
}