diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-05-06 17:30:26 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-05-06 17:30:26 +0200 |
commit | f72c61e0a3afc364ab6f60e42f2d7e0ff5574a3c (patch) | |
tree | 8bc2ff56000ff611a23489255e6b16e4eb05b38d /src/main.c | |
parent | 3874830ea6c953fc29ef6286c1808b0e29b552aa (diff) | |
download | gtk-vlc-player-f72c61e0a3afc364ab6f60e42f2d7e0ff5574a3c.tar.gz |
adjustment support for the gtk-vlc-player plugin
gtk-vlc-player may be connected to scale widgets (and later on the transcript widget) using GtkAdjustments
* the main program has been updated accordingly
* the main program also updates the "play" button now
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 22 |
1 files changed, 16 insertions, 6 deletions
@@ -13,13 +13,17 @@ * GtkBuilder signal callbacks */ +/* NOTE: for some strange reason the parameters are switched */ void -playpause_button_clicked_cb(GtkWidget *widget, - gpointer data __attribute__((unused))) +playpause_button_clicked_cb(GtkWidget *widget, gpointer data) { - gtk_vlc_player_toggle(GTK_VLC_PLAYER(widget)); + gtk_button_set_label(GTK_BUTTON(data), + gtk_vlc_player_toggle(GTK_VLC_PLAYER(widget)) + ? "gtk-media-play" + : "gtk-media-pause"); } +/* NOTE: for some strange reason the parameters are switched */ void stop_button_clicked_cb(GtkWidget *widget, gpointer data __attribute__((unused))) @@ -27,12 +31,11 @@ stop_button_clicked_cb(GtkWidget *widget, gtk_vlc_player_stop(GTK_VLC_PLAYER(widget)); } - int main(int argc, char *argv[]) { GtkBuilder *builder; - GtkWidget *window, *player; + GtkWidget *window, *player, *scale; /* init threads */ #ifdef HAVE_X11_XLIB_H @@ -50,11 +53,18 @@ main(int argc, char *argv[]) window = GTK_WIDGET(gtk_builder_get_object(builder, "player_window")); player = GTK_WIDGET(gtk_builder_get_object(builder, "player_widget")); + scale = GTK_WIDGET(gtk_builder_get_object(builder, "scale_widget")); + + g_object_unref(G_OBJECT(builder)); - g_object_unref(builder); + /* connect scale with player widget */ + gtk_range_set_adjustment(GTK_RANGE(scale), + gtk_vlc_player_get_time_adjustment(GTK_VLC_PLAYER(player))); gtk_vlc_player_load(GTK_VLC_PLAYER(player), argv[1]); + gtk_widget_set_sensitive(GTK_WIDGET(scale), TRUE); + gtk_widget_show_all(window); gdk_threads_enter(); |