split control buttons into primary and secondary group
authorMaksym Veremeyenko <verem@m1stereo.tv>
Wed, 15 Jun 2011 05:18:12 +0000 (08:18 +0300)
committerMaksym Veremeyenko <verem@m1stereo.tv>
Wed, 15 Jun 2011 05:18:12 +0000 (08:18 +0300)
src/interface.c

index 2e48427..233b178 100644 (file)
 
 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);