From 456aa0e1ca479cfea93d29d9abf7b593a554c4c8 Mon Sep 17 00:00:00 2001 From: Maksym Veremeyenko Date: Wed, 15 Jun 2011 08:18:12 +0300 Subject: [PATCH] split control buttons into primary and secondary group --- src/interface.c | 43 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/interface.c b/src/interface.c index 2e48427..233b178 100644 --- a/src/interface.c +++ b/src/interface.c @@ -28,70 +28,85 @@ static GtkWidget * -create_buttons_transport(GtkWidget *top) +create_buttons_transport(GtkWidget *top, int type) { int i; GtkWidget *hbox; gchar name[32]; const static struct { + int type; gchar* tooltip; gchar* filename; } buttons[] = { { + 2, "Beginning of playlist", "stock_media-begin-16.png" }, { + 2, "Start of clip", "stock_media-prev-16.png" }, { + 2, "Rewind", "stock_media-rew-16.png" }, { + 2, "Previous frame", "stock_media-prev-frame-16.png" }, { + 1, "Pause", "stock_media-pause-16.png" }, { + 1, "Play", "stock_media-play-16.png" }, { + 1, "Stop", "stock_media-stop-16.png" }, { + 2, "Next frame", "stock_media-next-frame-16.png" }, { + 2, "Fast forward", "stock_media-fwd-16.png" }, { + 2, "Next clip", "stock_media-next-16.png" }, { + 2, "End of playlist", "stock_media-end-16.png" }, { + 2, "Loop On", "eof-loop-16.png" }, { + 2, "Loop Off", "eof-pause-16.png" }, { + 0, NULL, NULL } @@ -105,6 +120,9 @@ create_buttons_transport(GtkWidget *top) { GtkWidget *transport, *image; + if ( type != buttons[i].type ) + continue; + transport = gtk_button_new (); gtk_widget_show (transport); gtk_box_pack_start (GTK_BOX (hbox), transport, TRUE, FALSE, 0); @@ -124,33 +142,40 @@ create_buttons_transport(GtkWidget *top) GLADE_HOOKUP_OBJECT (top, image, name); }; - GLADE_HOOKUP_OBJECT (top, hbox, "buttons_transport_hbox"); + snprintf(name, sizeof(name), "buttons_transport_hbox_%d", type); + GLADE_HOOKUP_OBJECT (top, hbox, name); return hbox; }; static GtkWidget * -create_block_buttons_transport(GtkWidget *top) +create_block_buttons_transport(GtkWidget *top, int type) { + gchar name[32]; GtkWidget *hbox, *label[2]; hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox); - label[0] = gtk_label_new ("label46"); + snprintf(name, sizeof(name), "bbt_label_%da", type); + label[0] = gtk_label_new (name); gtk_widget_show (label[0]); gtk_box_pack_start (GTK_BOX (hbox), label[0], TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label[0]), GTK_JUSTIFY_LEFT); + GLADE_HOOKUP_OBJECT (top, label[0], name); + gtk_box_pack_start (GTK_BOX (hbox), - create_buttons_transport(top), + create_buttons_transport(top, type), FALSE, TRUE, 0); - label[1] = gtk_label_new ("label47"); + snprintf(name, sizeof(name), "bbt_label_%db", type); + label[1] = gtk_label_new (name); gtk_widget_show (label[1]); gtk_box_pack_start (GTK_BOX (hbox), label[1], TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label[1]), GTK_JUSTIFY_LEFT); + GLADE_HOOKUP_OBJECT (top, label[0], name); return hbox; }; @@ -308,7 +333,11 @@ create_gdv1394d (void) gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_LEFT); gtk_box_pack_start (GTK_BOX (vbox6), - create_block_buttons_transport(gdv1394d), + create_block_buttons_transport(gdv1394d, 1), + FALSE, TRUE, 0); + + gtk_box_pack_start (GTK_BOX (vbox6), + create_block_buttons_transport(gdv1394d, 2), FALSE, TRUE, 0); vbox_trim = gtk_vbox_new (FALSE, 0); -- 1.7.4.4