diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-05-04 21:29:20 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-05-04 21:29:20 +0200 |
commit | 1574afef9e64bd598fc386d754ef8d46795cdbb0 (patch) | |
tree | f21cac84157eddacb9b59088f2d08b00d9b2e03b /src/main.c | |
parent | 1b0605ae2ef81e0b936cf18b4dad2d39e835f75d (diff) | |
download | experiment-player-1574afef9e64bd598fc386d754ef8d46795cdbb0.tar.gz |
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)
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 33 |
1 files changed, 25 insertions, 8 deletions
@@ -9,9 +9,29 @@ #include <gtk/gtk.h> #include <gtk-vlc-player.h> +/* + * 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); |