X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Finterface.c;h=02086d558caf76a1823ab6a2146e846e411a6b72;hb=00135851c96fd5e095b658e99bb72ad5c89b658c;hp=cbf12d2159aa0f23c52d71a5119b7e9c687a87b8;hpb=ab4680865dcc824b7be92ad8662600971bab7c97;p=rugen diff --git a/src/interface.c b/src/interface.c index cbf12d2..02086d5 100644 --- a/src/interface.c +++ b/src/interface.c @@ -28,129 +28,153 @@ static GtkWidget * -create_buttons_transport(GtkWidget *top) +create_buttons_transport(GtkWidget *top, int type) { - int i; - GtkWidget *hbox; - gchar name[32]; - const static struct - { - gchar* tooltip; - gchar* filename; - } buttons[] = - { - { - "Beginning of playlist", - "stock_media-begin-16.png" - }, - { - "Start of clip", - "stock_media-prev-16.png" - }, - { - "Rewind", - "stock_media-rew-16.png" - }, - { - "Previous frame", - "stock_media-prev-frame-16.png" - }, - { - "Pause", - "stock_media-pause-16.png" - }, - { - "Play", - "stock_media-play-16.png" - }, - { - "Stop", - "stock_media-stop-16.png" - }, - { - "Next frame", - "stock_media-next-frame-16.png" - }, - { - "Fast forward", - "stock_media-fwd-16.png" - }, - { - "Next clip", - "stock_media-next-16.png" - }, - { - "End of playlist", - "stock_media-end-16.png" - }, - { - "Loop On", - "eof-loop-16.png" - }, - { - "Loop Off", - "eof-pause-16.png" - }, - { - NULL, - NULL - } - }; - - hbox = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox); - - - for(i = 0; buttons[i].filename; i++) - { - GtkWidget *transport, *image; - - transport = gtk_button_new (); - gtk_widget_show (transport); - gtk_box_pack_start (GTK_BOX (hbox), transport, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport, buttons[i].tooltip); - - image = gtk_image_new_from_pixbuf(create_pixbuf(buttons[i].filename)); - gtk_widget_show (image); - gtk_container_add (GTK_CONTAINER (transport), image); - - snprintf(name, sizeof(name), "transport_%d", i); - GLADE_HOOKUP_OBJECT (top, transport, name); - - snprintf(name, sizeof(name), "transport_image_%d", i); - GLADE_HOOKUP_OBJECT (top, image, name); - }; - - GLADE_HOOKUP_OBJECT (top, hbox, "buttons_transport_hbox"); - - return hbox; + int i; + GtkWidget *hbox; + gchar name[32]; + const static struct + { + int type; + gchar* tooltip; + gchar* filename; + } buttons[] = + { + { + 2, + "Beginning of playlist", + "begin-16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 2, + "Start of clip", + "prev-16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 2, + "Rewind", + "rew-16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 2, + "Previous frame", + "prev-frame-16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 1, + "Play", + "player_play_64x32_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 1, + "Pause", + "player_pause_32x32_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 1, + "Stop", + "player_stop_32x32_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 2, + "Next frame", + "next-frame-16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 2, + "Fast forward", + "fwd-16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 2, + "Next clip", + "next-16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 2, + "End of playlist", + "end-16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 2, + "Loop On", + "loop_on_16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 2, + "Loop Off", + "loop_off_16x16_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ + }, + { + 0, + NULL, + NULL + } + }; + + hbox = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox); + + + for(i = 0; buttons[i].filename; i++) + { + 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); + GTK_WIDGET_UNSET_FLAGS (transport, GTK_CAN_FOCUS); + gtk_button_set_relief (GTK_BUTTON (transport), GTK_RELIEF_NONE); + gtk_widget_set_tooltip_text (transport, buttons[i].tooltip); + + image = gtk_image_new_from_pixbuf(create_pixbuf(buttons[i].filename)); + gtk_widget_show (image); + gtk_container_add (GTK_CONTAINER (transport), image); + + snprintf(name, sizeof(name), "transport_%d", i); + GLADE_HOOKUP_OBJECT (top, transport, name); + + snprintf(name, sizeof(name), "transport_image_%d", i); + GLADE_HOOKUP_OBJECT (top, image, name); + }; + + 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 (""); 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 (""); 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; }; @@ -184,6 +208,7 @@ create_gdv1394d (void) GtkWidget *label40; GtkWidget *vbox_trim; GtkWidget *statusbar; + GtkWidget *button_open_playlist, *button_save_playlist; gdv1394d = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (gdv1394d), _("Melted Client")); @@ -261,6 +286,32 @@ create_gdv1394d (void) gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1)); + tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-open", + gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); + button_open_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), + GTK_TOOLBAR_CHILD_BUTTON, + NULL, + "Open Playlist", + _("Open playlist"), NULL, + tmp_toolbar_icon, NULL, NULL); + gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); + gtk_widget_show (button_open_playlist); + GLADE_HOOKUP_OBJECT (gdv1394d, button_open_playlist, "button_open_playlist"); + + tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-save-as", + gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); + button_save_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), + GTK_TOOLBAR_CHILD_BUTTON, + NULL, + "Save Playlist", + _("Save playlist"), NULL, + tmp_toolbar_icon, NULL, NULL); + gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); + gtk_widget_show (button_save_playlist); + GLADE_HOOKUP_OBJECT (gdv1394d, button_save_playlist, "button_save_playlist"); + + gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1)); + // vseparator1 = gtk_vseparator_new (); // gtk_widget_show (vseparator1); // gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), vseparator1, NULL, NULL); @@ -308,7 +359,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); @@ -706,11 +761,11 @@ create_pane_filedir( GtkWidget* top ) GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); /* pane them */ - gtk_widget_set_size_request (vpaned, 400 , -1); gtk_paned_pack1 (GTK_PANED (vpaned), scrolledwindow[0], FALSE, FALSE); - gtk_widget_set_size_request (scrolledwindow[0], 150, -1); + gtk_widget_set_size_request (scrolledwindow[0], 250, -1); gtk_paned_pack2 (GTK_PANED (vpaned), scrolledwindow[1], TRUE, FALSE); - gtk_widget_set_size_request (scrolledwindow[1], 250, -1); + gtk_widget_set_size_request (scrolledwindow[1], 450, -1); + gtk_paned_set_position(GTK_PANED (vpaned), 250); /* list_dirs */ list[0] = gtk_tree_view_new ();