From 1574afef9e64bd598fc386d754ef8d46795cdbb0 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Fri, 4 May 2012 21:29:20 +0200 Subject: use GtkBuilder for UI, more sophisticated UI default UI file is installed (/usr/share/experiment-player/default.ui) but the actually used file may be changed via --with-default-ui=... (useful for windows where it should read --with-default-ui=default.ui) --- src/main.c | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index df2f9ef..e57d175 100644 --- a/src/main.c +++ b/src/main.c @@ -9,9 +9,29 @@ #include #include +/* + * GtkBuilder signal callbacks + */ + +void +playpause_button_clicked_cb(GtkWidget *widget, + gpointer data __attribute__((unused))) +{ + gtk_vlc_player_toggle(GTK_VLC_PLAYER(widget)); +} + +void +stop_button_clicked_cb(GtkWidget *widget, + gpointer data __attribute__((unused))) +{ + gtk_vlc_player_stop(GTK_VLC_PLAYER(widget)); +} + + int main(int argc, char *argv[]) { + GtkBuilder *builder; GtkWidget *window, *player; /* init threads */ @@ -23,20 +43,17 @@ main(int argc, char *argv[]) gtk_init(&argc, &argv); -#if 0 - GtkBuilder *builder = gtk_builder_new(); + builder = gtk_builder_new(); - gtk_builder_add_from_file(builder, file, NULL); + gtk_builder_add_from_file(builder, DEFAULT_UI, NULL); gtk_builder_connect_signals(builder, NULL); -#endif - window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + window = GTK_WIDGET(gtk_builder_get_object(builder, "player_window")); + player = GTK_WIDGET(gtk_builder_get_object(builder, "player_widget")); - player = gtk_vlc_player_new(); - gtk_container_add(GTK_CONTAINER(window), player); + g_object_unref(builder); gtk_vlc_player_load(GTK_VLC_PLAYER(player), argv[1]); - gtk_vlc_player_play(GTK_VLC_PLAYER(player)); gtk_widget_show_all(window); -- cgit v1.2.3