X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Finterface.c;h=02086d558caf76a1823ab6a2146e846e411a6b72;hb=00135851c96fd5e095b658e99bb72ad5c89b658c;hp=5fc0aab14a9159de794014aa0fa50f67562474ab;hpb=1862bc53805aba6e7079ab48a3cb6d89332a0cb1;p=rugen diff --git a/src/interface.c b/src/interface.c index 5fc0aab..02086d5 100644 --- a/src/interface.c +++ b/src/interface.c @@ -26,104 +26,157 @@ #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ g_object_set_data (G_OBJECT (component), name, widget) -static void create_buttons_transport(GtkWidget *top, GtkWidget *parent_box) +static +GtkWidget * +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); - gtk_box_pack_start (GTK_BOX (parent_box), hbox, FALSE, TRUE, 0); - - - 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"); + 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, int type) +{ + gchar name[32]; + GtkWidget *hbox, *label[2]; + + hbox = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox); + + 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, type), + FALSE, TRUE, 0); + + 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; }; GtkWidget* @@ -153,11 +206,9 @@ create_gdv1394d (void) GtkWidget *notebook1; GtkWidget *empty_notebook_page; GtkWidget *label40; - GtkWidget *hbox20; - GtkWidget *label46; - GtkWidget *label47; 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")); @@ -235,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); @@ -276,26 +353,18 @@ create_gdv1394d (void) gtk_widget_show (empty_notebook_page); gtk_container_add (GTK_CONTAINER (notebook1), empty_notebook_page); - label40 = gtk_label_new (""); + label40 = gtk_label_new ("label40"); gtk_widget_show (label40); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label40); gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_LEFT); - hbox20 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox20); - gtk_box_pack_start (GTK_BOX (vbox6), hbox20, FALSE, TRUE, 0); - - label46 = gtk_label_new (""); - gtk_widget_show (label46); - gtk_box_pack_start (GTK_BOX (hbox20), label46, TRUE, TRUE, 0); - gtk_label_set_justify (GTK_LABEL (label46), GTK_JUSTIFY_LEFT); - - create_buttons_transport(gdv1394d, hbox20); + gtk_box_pack_start (GTK_BOX (vbox6), + create_block_buttons_transport(gdv1394d, 1), + FALSE, TRUE, 0); - label47 = gtk_label_new (""); - gtk_widget_show (label47); - gtk_box_pack_start (GTK_BOX (hbox20), label47, TRUE, TRUE, 0); - gtk_label_set_justify (GTK_LABEL (label47), GTK_JUSTIFY_LEFT); + gtk_box_pack_start (GTK_BOX (vbox6), + create_block_buttons_transport(gdv1394d, 2), + FALSE, TRUE, 0); vbox_trim = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox_trim); @@ -328,9 +397,6 @@ create_gdv1394d (void) GLADE_HOOKUP_OBJECT (gdv1394d, vbox6, "vbox6"); GLADE_HOOKUP_OBJECT (gdv1394d, notebook1, "notebook1"); GLADE_HOOKUP_OBJECT (gdv1394d, label40, "label40"); - GLADE_HOOKUP_OBJECT (gdv1394d, hbox20, "hbox20"); - GLADE_HOOKUP_OBJECT (gdv1394d, label46, "label46"); - GLADE_HOOKUP_OBJECT (gdv1394d, label47, "label47"); GLADE_HOOKUP_OBJECT (gdv1394d, vbox_trim, "vbox_trim"); GLADE_HOOKUP_OBJECT (gdv1394d, statusbar, "statusbar"); @@ -493,643 +559,331 @@ create_window_connection (void) return window_connection; } -GtkWidget* -create_page_status (void) +static GtkWidget* create_pane_status (GtkWidget* parent, GtkWidget* top) { - GtkWidget *page_status; - GtkWidget *scrolledwindow4; - GtkWidget *viewport1; - GtkWidget *table3; - GtkWidget *label_unit_0; - GtkWidget *label_unit_1; - GtkWidget *label_unit_2; - GtkWidget *label_unit_3; - GtkWidget *label_unit_4; - GtkWidget *label_unit_5; - GtkWidget *label_unit_6; - GtkWidget *label_unit_7; - GtkWidget *label_unit_8; - GtkWidget *label_unit_9; - GtkWidget *label_unit_10; - GtkWidget *label_unit_11; - GtkWidget *label_unit_13; - GtkWidget *label_unit_14; - GtkWidget *label_unit_15; - GtkWidget *radiobutton_0; - GSList *radiobutton_0_group = NULL; - GtkWidget *radiobutton_1; - GtkWidget *radiobutton_2; - GtkWidget *radiobutton_3; - GtkWidget *radiobutton_4; - GtkWidget *radiobutton_5; - GtkWidget *radiobutton_6; - GtkWidget *radiobutton_7; - GtkWidget *radiobutton_8; - GtkWidget *radiobutton_9; - GtkWidget *radiobutton_10; - GtkWidget *radiobutton_11; - GtkWidget *label_unit_12; - GtkWidget *radiobutton_12; - GtkWidget *radiobutton_13; - GtkWidget *radiobutton_14; - GtkWidget *radiobutton_15; - - page_status = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_title (GTK_WINDOW (page_status), _("page_status")); - - scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_show (scrolledwindow4); - gtk_container_add (GTK_CONTAINER (page_status), scrolledwindow4); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - viewport1 = gtk_viewport_new (NULL, NULL); - gtk_widget_show (viewport1); - gtk_container_add (GTK_CONTAINER (scrolledwindow4), viewport1); - - table3 = gtk_table_new (32, 1, FALSE); - gtk_widget_show (table3); - gtk_container_add (GTK_CONTAINER (viewport1), table3); - - label_unit_0 = gtk_label_new (_("00")); - gtk_table_attach (GTK_TABLE (table3), label_unit_0, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_0), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_0), 0, 0.5); - - label_unit_1 = gtk_label_new (_("01")); - gtk_table_attach (GTK_TABLE (table3), label_unit_1, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_1), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_1), 0, 0.5); - - label_unit_2 = gtk_label_new (_("02")); - gtk_table_attach (GTK_TABLE (table3), label_unit_2, 0, 1, 5, 6, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_2), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_2), 0, 0.5); - - label_unit_3 = gtk_label_new (_("03")); - gtk_table_attach (GTK_TABLE (table3), label_unit_3, 0, 1, 7, 8, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_3), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_3), 0, 0.5); - - label_unit_4 = gtk_label_new (_("04")); - gtk_table_attach (GTK_TABLE (table3), label_unit_4, 0, 1, 9, 10, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_4), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_4), 0, 0.5); - - label_unit_5 = gtk_label_new (_("05")); - gtk_table_attach (GTK_TABLE (table3), label_unit_5, 0, 1, 11, 12, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_5), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_5), 0, 0.5); - - label_unit_6 = gtk_label_new (_("06")); - gtk_table_attach (GTK_TABLE (table3), label_unit_6, 0, 1, 13, 14, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_6), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_6), 0, 0.5); - - label_unit_7 = gtk_label_new (_("07")); - gtk_table_attach (GTK_TABLE (table3), label_unit_7, 0, 1, 15, 16, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_7), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_7), 0, 0.5); - - label_unit_8 = gtk_label_new (_("08")); - gtk_table_attach (GTK_TABLE (table3), label_unit_8, 0, 1, 17, 18, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_8), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_8), 0, 0.5); - - label_unit_9 = gtk_label_new (_("09")); - gtk_table_attach (GTK_TABLE (table3), label_unit_9, 0, 1, 19, 20, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_9), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_9), 0, 0.5); - - label_unit_10 = gtk_label_new (_("10")); - gtk_table_attach (GTK_TABLE (table3), label_unit_10, 0, 1, 21, 22, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_10), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_10), 0, 0.5); - - label_unit_11 = gtk_label_new (_("11")); - gtk_table_attach (GTK_TABLE (table3), label_unit_11, 0, 1, 23, 24, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_11), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_11), 0, 0.5); - - label_unit_13 = gtk_label_new (_("13")); - gtk_table_attach (GTK_TABLE (table3), label_unit_13, 0, 1, 27, 28, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_13), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_13), 0, 0.5); - - label_unit_14 = gtk_label_new (_("14")); - gtk_table_attach (GTK_TABLE (table3), label_unit_14, 0, 1, 29, 30, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_14), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_14), 0, 0.5); - - label_unit_15 = gtk_label_new (_("15")); - gtk_table_attach (GTK_TABLE (table3), label_unit_15, 0, 1, 31, 32, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_15), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_15), 0, 0.5); - - radiobutton_0 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_0, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_0), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_0)); - - radiobutton_1 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_1, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_1), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_1)); - - radiobutton_2 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_2, 0, 1, 4, 5, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_2), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_2)); - - radiobutton_3 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_3, 0, 1, 6, 7, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_3), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_3)); - - radiobutton_4 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_4, 0, 1, 8, 9, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_4), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_4)); - - radiobutton_5 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_5, 0, 1, 10, 11, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_5), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_5)); + int i; + char buf[32]; + + GtkWidget *scrolledwindow; + GtkWidget *viewport; + GtkWidget *table; + GSList *radiobutton_group = NULL; + + // create a scrolled area + scrolledwindow = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow); + if ( parent ) + gtk_container_add (GTK_CONTAINER (parent), scrolledwindow); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + GLADE_HOOKUP_OBJECT (top, scrolledwindow, "scrolledwindow4"); + + // create a viewport + viewport = gtk_viewport_new (NULL, NULL); + gtk_widget_show (viewport); + gtk_container_add (GTK_CONTAINER (scrolledwindow), viewport); + GLADE_HOOKUP_OBJECT (top, viewport, "viewport1"); + + // create a table for displaying radios + table = gtk_table_new (32, 1, FALSE); + gtk_widget_show (table); + gtk_container_add (GTK_CONTAINER (viewport), table); + GLADE_HOOKUP_OBJECT (top, table, "table3"); + + for (i = 0; i < 16; i++) + { + GtkWidget *label_unit; + GtkWidget *radiobutton; + + // label unit + snprintf(buf, sizeof(buf), "%.2d", i); + label_unit = gtk_label_new (buf); + gtk_table_attach (GTK_TABLE (table), label_unit, 0, 1, i * 2 + 1, i * 2 + 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label_unit), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label_unit), 0, 0.5); + snprintf(buf, sizeof(buf), "label_unit_%d", i); + GLADE_HOOKUP_OBJECT (top, label_unit, buf); + + // radio button + radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("")); + gtk_table_attach (GTK_TABLE (table), radiobutton, 0, 1, i * 2, i * 2 + 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton), radiobutton_group); + radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton)); + snprintf(buf, sizeof(buf), "radiobutton_%d", i); + GLADE_HOOKUP_OBJECT (top, radiobutton, buf); + } + + return scrolledwindow; +} - radiobutton_6 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_6, 0, 1, 12, 13, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_6), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_6)); +static +GtkWidget* +create_playlist_buttons( GtkWidget* parent, GtkWidget* top ) +{ + int i; + const static struct + { + gchar* tooltip; + gchar* stock; + gchar* label; + gchar* hookup; + } buttons[] = + { + { + "Refresh", + "gtk-refresh", + "", + "button_clips_refresh", + }, + { + "Load root folder", + "gtk-home", + "", + "button_clips_home" + }, + { + "Move clip up", + "gtk-go-up", + "", + "button_up" + }, + { + "Move clip down", + "gtk-go-down", + "", + "button_down" + }, + { + "Remove clip", + "gtk-delete", + "", + "button_remove" + }, + { + "Remove all but current clip", + "gtk-clear", + "", + "button_clean" + }, + { + NULL, NULL, NULL, NULL + } + }; + + GtkWidget *label44, *label45, *hbuttonbox5; + + label44 = gtk_label_new (_(" ")); + gtk_widget_show (label44); + gtk_box_pack_start (GTK_BOX (parent), label44, TRUE, TRUE, 0); + gtk_label_set_justify (GTK_LABEL (label44), GTK_JUSTIFY_LEFT); + + for(i = 0; buttons[i].stock; i++) + { + GtkWidget *button, *alignment, *hbox, *image, *label; + + button = gtk_button_new (); + gtk_widget_show (button); + gtk_box_pack_start (GTK_BOX (parent), button, FALSE, FALSE, 0); + GTK_WIDGET_UNSET_FLAGS (button, GTK_CAN_FOCUS); + GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); + gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); + gtk_widget_set_tooltip_text (button, buttons[i].tooltip); + + alignment = gtk_alignment_new (0, 0.5, 0, 0); + gtk_widget_show (alignment); + gtk_container_add (GTK_CONTAINER (button), alignment); + + hbox = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox); + gtk_container_add (GTK_CONTAINER (alignment), hbox); + + image = gtk_image_new_from_stock (buttons[i].stock, GTK_ICON_SIZE_MENU); + gtk_widget_show (image); + gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); + + label = gtk_label_new_with_mnemonic (buttons[i].label); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); + + GLADE_HOOKUP_OBJECT (top, button, buttons[i].hookup); + }; + + hbuttonbox5 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox5); + gtk_box_pack_start (GTK_BOX (parent), hbuttonbox5, FALSE, FALSE, 0); + + label45 = gtk_label_new (_(" ")); + gtk_widget_show (label45); + gtk_box_pack_start (GTK_BOX (parent), label45, TRUE, TRUE, 0); + gtk_label_set_justify (GTK_LABEL (label45), GTK_JUSTIFY_LEFT); + + return parent; +} - radiobutton_7 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_7, 0, 1, 14, 15, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_7), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_7)); +static +GtkWidget* +create_pane_filedir( GtkWidget* top ) +{ + GtkWidget* vpaned; + GtkWidget* scrolledwindow[2]; + GtkWidget* list[2]; + GtkWidget* label_directory; + GtkWidget* vbox; + + /* create vbox for label pack */ + vbox = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox); + + /* create a label for dir name */ + label_directory = gtk_label_new (_("Disconnected")); + gtk_widget_show (label_directory); + gtk_box_pack_start (GTK_BOX (vbox), label_directory, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (label_directory), 0, 0.5); + GLADE_HOOKUP_OBJECT (top, label_directory, "label_directory"); + + /* create a vertical pane for dirs list and clips list */ + vpaned = gtk_vpaned_new (); + gtk_widget_show (vpaned); + gtk_box_pack_start (GTK_BOX (vbox), vpaned, TRUE, TRUE, 0); + + /* create two scrolled window for lists areas */ + scrolledwindow[0] = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow[0]); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow[0]), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + scrolledwindow[1] = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow[1]); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow[1]), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + /* pane them */ + gtk_paned_pack1 (GTK_PANED (vpaned), scrolledwindow[0], FALSE, FALSE); + 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], 450, -1); + gtk_paned_set_position(GTK_PANED (vpaned), 250); + + /* list_dirs */ + list[0] = gtk_tree_view_new (); + gtk_widget_show (list[0]); + gtk_container_add (GTK_CONTAINER (scrolledwindow[0]), list[0]); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list[0]), FALSE); + GLADE_HOOKUP_OBJECT (top, list[0], "list_dir"); + + /* list_clips */ + list[1] = gtk_tree_view_new (); + gtk_widget_show (list[1]); + gtk_container_add (GTK_CONTAINER (scrolledwindow[1]), list[1]); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list[1]), FALSE); + gtk_tree_view_set_enable_search (GTK_TREE_VIEW (list[1]), FALSE); + GLADE_HOOKUP_OBJECT (top, list[1], "list_clips"); + + gtk_widget_grab_focus (list[0]); + + return vbox; +}; - radiobutton_8 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_8, 0, 1, 16, 17, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_8), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_8)); +static +GtkWidget* +create_pane_playlist( GtkWidget* top ) +{ + GtkWidget *table; + GtkWidget *scrolledwindow; + GtkWidget *treeview; + GtkWidget *alignment; + GtkWidget *hbox; + + table = gtk_table_new (2, 1, FALSE); + + scrolledwindow = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow); + gtk_table_attach (GTK_TABLE (table), scrolledwindow, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + + treeview = gtk_tree_view_new (); + gtk_widget_show (treeview); + gtk_container_add (GTK_CONTAINER (scrolledwindow), treeview); + + alignment = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_show (alignment); + gtk_table_attach (GTK_TABLE (table), alignment, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + hbox = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox); + gtk_container_add (GTK_CONTAINER (alignment), hbox); + + create_playlist_buttons(hbox, top); + + GLADE_HOOKUP_OBJECT (top, table, "table4"); + GLADE_HOOKUP_OBJECT (top, scrolledwindow, "scrolledwindow5"); + GLADE_HOOKUP_OBJECT (top, treeview, "treeview1"); + GLADE_HOOKUP_OBJECT (top, alignment, "alignment12"); + GLADE_HOOKUP_OBJECT (top, hbox, "hbox19"); + + return table; +}; - radiobutton_9 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_9, 0, 1, 18, 19, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_9), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_9)); +GtkWidget* +create_page_operate (void) +{ + GtkWidget *page_clips; + GtkWidget *hpaned1; + GtkWidget *hpaned0; + GtkWidget *frame1, *frame2; - radiobutton_10 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_10, 0, 1, 20, 21, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_10), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_10)); + page_clips = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (page_clips), _("page_operate")); + GLADE_HOOKUP_OBJECT_NO_REF (page_clips, page_clips, "page_operate"); - radiobutton_11 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_11, 0, 1, 22, 23, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_11), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_11)); + hpaned0 = gtk_hpaned_new (); + gtk_widget_show (hpaned0); + gtk_container_add (GTK_CONTAINER (page_clips), hpaned0); + GLADE_HOOKUP_OBJECT (page_clips, hpaned0, "hpaned0"); - label_unit_12 = gtk_label_new (_("12")); - gtk_table_attach (GTK_TABLE (table3), label_unit_12, 0, 1, 25, 26, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (label_unit_12), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (label_unit_12), 0, 0.5); + frame1 = gtk_frame_new ("Playlist"); + frame2 = gtk_frame_new ("Units"); + gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN); + gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN); + gtk_widget_show(frame1); + GLADE_HOOKUP_OBJECT (page_clips, frame1, "page_clips"); + gtk_widget_show(frame2); + GLADE_HOOKUP_OBJECT (page_clips, frame2, "page_status"); - radiobutton_12 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_12, 0, 1, 24, 25, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_12), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_12)); + gtk_widget_set_size_request (hpaned0, 200 , -1); + gtk_paned_pack1 (GTK_PANED (hpaned0), frame1, TRUE, FALSE); + gtk_widget_set_size_request (frame1, 50, -1); + gtk_paned_pack2 (GTK_PANED (hpaned0), frame2, FALSE, FALSE); + gtk_widget_set_size_request (frame2, 250, -1); - radiobutton_13 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_13, 0, 1, 26, 27, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_13), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_13)); + create_pane_status (frame2, page_clips); - radiobutton_14 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_14, 0, 1, 28, 29, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_14), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_14)); + hpaned1 = gtk_hpaned_new (); + gtk_widget_show (hpaned1); + gtk_container_add (GTK_CONTAINER (frame1), hpaned1); + gtk_paned_set_position (GTK_PANED (hpaned1), 120); - radiobutton_15 = gtk_radio_button_new_with_mnemonic (NULL, _("")); - gtk_table_attach (GTK_TABLE (table3), radiobutton_15, 0, 1, 30, 31, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_15), radiobutton_0_group); - radiobutton_0_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_15)); + gtk_paned_pack1 (GTK_PANED (hpaned1), + create_pane_filedir(page_clips), + FALSE, TRUE); - /* Store pointers to all widgets, for use by lookup_widget(). */ - GLADE_HOOKUP_OBJECT_NO_REF (page_status, page_status, "page_status"); - GLADE_HOOKUP_OBJECT (page_status, scrolledwindow4, "scrolledwindow4"); - GLADE_HOOKUP_OBJECT (page_status, viewport1, "viewport1"); - GLADE_HOOKUP_OBJECT (page_status, table3, "table3"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_0, "label_unit_0"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_1, "label_unit_1"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_2, "label_unit_2"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_3, "label_unit_3"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_4, "label_unit_4"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_5, "label_unit_5"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_6, "label_unit_6"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_7, "label_unit_7"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_8, "label_unit_8"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_9, "label_unit_9"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_10, "label_unit_10"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_11, "label_unit_11"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_13, "label_unit_13"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_14, "label_unit_14"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_15, "label_unit_15"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_0, "radiobutton_0"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_1, "radiobutton_1"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_2, "radiobutton_2"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_3, "radiobutton_3"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_4, "radiobutton_4"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_5, "radiobutton_5"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_6, "radiobutton_6"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_7, "radiobutton_7"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_8, "radiobutton_8"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_9, "radiobutton_9"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_10, "radiobutton_10"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_11, "radiobutton_11"); - GLADE_HOOKUP_OBJECT (page_status, label_unit_12, "label_unit_12"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_12, "radiobutton_12"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_13, "radiobutton_13"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_14, "radiobutton_14"); - GLADE_HOOKUP_OBJECT (page_status, radiobutton_15, "radiobutton_15"); - - return page_status; -} + gtk_paned_pack2 (GTK_PANED (hpaned1), + create_pane_playlist(page_clips), + FALSE, TRUE); -GtkWidget* -create_page_clips (void) -{ - GtkWidget *page_clips; - GtkWidget *vbox8; - GtkWidget *hbox26; - GtkWidget *label_directory; - GtkWidget *optionmenu1; - GtkWidget *menu1; - GtkWidget *mode_0; - GtkWidget *mode_1; - GtkWidget *mode_2; - GtkWidget *mode_3; - GtkWidget *hpaned1; - GtkWidget *table1; - GtkWidget *scrolledwindow1; - GtkWidget *list_dir; - GtkWidget *vpaned1; - GtkWidget *table5; - GtkWidget *scrolledwindow6; - GtkWidget *list_clips; - GtkWidget *table4; - GtkWidget *scrolledwindow5; - GtkWidget *treeview1; - GtkWidget *alignment12; - GtkWidget *hbox19; - GtkWidget *label44; - GtkWidget *button_clips_refresh; - GtkWidget *alignment5; - GtkWidget *hbox12; - GtkWidget *image5; - GtkWidget *label36; - GtkWidget *button_clips_home; - GtkWidget *alignment6; - GtkWidget *hbox13; - GtkWidget *image6; - GtkWidget *label37; - GtkWidget *button_up; - GtkWidget *image21; - GtkWidget *button_down; - GtkWidget *image22; - GtkWidget *button_remove; - GtkWidget *image23; - GtkWidget *button_clean; - GtkWidget *image24; - GtkWidget *hbuttonbox5; - GtkWidget *label45; - - page_clips = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_title (GTK_WINDOW (page_clips), _("page_clips")); - - vbox8 = gtk_vbox_new (FALSE, 0); - gtk_widget_show (vbox8); - gtk_container_add (GTK_CONTAINER (page_clips), vbox8); - - hbox26 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox26); - gtk_box_pack_start (GTK_BOX (vbox8), hbox26, FALSE, FALSE, 0); - - label_directory = gtk_label_new (_("Disconnected")); - gtk_widget_show (label_directory); - gtk_box_pack_start (GTK_BOX (hbox26), label_directory, TRUE, TRUE, 0); - gtk_misc_set_alignment (GTK_MISC (label_directory), 0, 0.5); - - optionmenu1 = gtk_option_menu_new (); - gtk_widget_show (optionmenu1); - gtk_box_pack_start (GTK_BOX (hbox26), optionmenu1, FALSE, FALSE, 0); - GTK_WIDGET_UNSET_FLAGS (optionmenu1, GTK_CAN_FOCUS); - - menu1 = gtk_menu_new (); - - mode_0 = gtk_menu_item_new_with_mnemonic (_("Play")); - gtk_widget_show (mode_0); - gtk_container_add (GTK_CONTAINER (menu1), mode_0); - - mode_1 = gtk_menu_item_new_with_mnemonic (_("Load")); - gtk_widget_show (mode_1); - gtk_container_add (GTK_CONTAINER (menu1), mode_1); - - mode_2 = gtk_menu_item_new_with_mnemonic (_("Append")); - gtk_widget_show (mode_2); - gtk_container_add (GTK_CONTAINER (menu1), mode_2); - - mode_3 = gtk_menu_item_new_with_mnemonic (_("Insert")); - gtk_widget_show (mode_3); - gtk_container_add (GTK_CONTAINER (menu1), mode_3); - - gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu1), menu1); - - hpaned1 = gtk_hpaned_new (); - gtk_widget_show (hpaned1); - gtk_box_pack_start (GTK_BOX (vbox8), hpaned1, TRUE, TRUE, 0); - gtk_paned_set_position (GTK_PANED (hpaned1), 120); - - table1 = gtk_table_new (1, 1, FALSE); - gtk_widget_show (table1); - gtk_paned_pack1 (GTK_PANED (hpaned1), table1, FALSE, TRUE); - - scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_show (scrolledwindow1); - gtk_table_attach (GTK_TABLE (table1), scrolledwindow1, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - list_dir = gtk_tree_view_new (); - gtk_widget_show (list_dir); - gtk_container_add (GTK_CONTAINER (scrolledwindow1), list_dir); - gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list_dir), FALSE); - - vpaned1 = gtk_vpaned_new (); - gtk_widget_show (vpaned1); - gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned1, TRUE, TRUE); - gtk_paned_set_position (GTK_PANED (vpaned1), 130); - - table5 = gtk_table_new (1, 1, FALSE); - gtk_widget_show (table5); - gtk_paned_pack1 (GTK_PANED (vpaned1), table5, TRUE, TRUE); - - scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_show (scrolledwindow6); - gtk_table_attach (GTK_TABLE (table5), scrolledwindow6, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - list_clips = gtk_tree_view_new (); - gtk_widget_show (list_clips); - gtk_container_add (GTK_CONTAINER (scrolledwindow6), list_clips); - gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list_clips), FALSE); - gtk_tree_view_set_enable_search (GTK_TREE_VIEW (list_clips), FALSE); - - table4 = gtk_table_new (2, 1, FALSE); - gtk_paned_pack2 (GTK_PANED (vpaned1), table4, TRUE, TRUE); - - scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_show (scrolledwindow5); - gtk_table_attach (GTK_TABLE (table4), scrolledwindow5, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - treeview1 = gtk_tree_view_new (); - gtk_widget_show (treeview1); - gtk_container_add (GTK_CONTAINER (scrolledwindow5), treeview1); - - alignment12 = gtk_alignment_new (0.5, 0.5, 1, 1); - gtk_widget_show (alignment12); - gtk_table_attach (GTK_TABLE (table4), alignment12, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_FILL), 0, 0); - hbox19 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox19); - gtk_container_add (GTK_CONTAINER (alignment12), hbox19); - - label44 = gtk_label_new (_(" ")); - gtk_widget_show (label44); - gtk_box_pack_start (GTK_BOX (hbox19), label44, TRUE, TRUE, 0); - gtk_label_set_justify (GTK_LABEL (label44), GTK_JUSTIFY_LEFT); - - button_clips_refresh = gtk_button_new (); - gtk_widget_show (button_clips_refresh); - gtk_box_pack_start (GTK_BOX (hbox19), button_clips_refresh, FALSE, FALSE, 0); - GTK_WIDGET_UNSET_FLAGS (button_clips_refresh, GTK_CAN_FOCUS); - GTK_WIDGET_SET_FLAGS (button_clips_refresh, GTK_CAN_DEFAULT); - gtk_button_set_relief (GTK_BUTTON (button_clips_refresh), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (button_clips_refresh, _("Refresh")); - - alignment5 = gtk_alignment_new (0, 0.5, 0, 0); - gtk_widget_show (alignment5); - gtk_container_add (GTK_CONTAINER (button_clips_refresh), alignment5); - - hbox12 = gtk_hbox_new (FALSE, 2); - gtk_widget_show (hbox12); - gtk_container_add (GTK_CONTAINER (alignment5), hbox12); - - image5 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU); - gtk_widget_show (image5); - gtk_box_pack_start (GTK_BOX (hbox12), image5, FALSE, FALSE, 0); - - label36 = gtk_label_new_with_mnemonic (""); - gtk_widget_show (label36); - gtk_box_pack_start (GTK_BOX (hbox12), label36, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT); - - button_clips_home = gtk_button_new (); - gtk_widget_show (button_clips_home); - gtk_box_pack_start (GTK_BOX (hbox19), button_clips_home, FALSE, FALSE, 0); - GTK_WIDGET_UNSET_FLAGS (button_clips_home, GTK_CAN_FOCUS); - GTK_WIDGET_SET_FLAGS (button_clips_home, GTK_CAN_DEFAULT); - gtk_button_set_relief (GTK_BUTTON (button_clips_home), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (button_clips_home, _("Load root folder")); - - alignment6 = gtk_alignment_new (0, 0.5, 0, 0); - gtk_widget_show (alignment6); - gtk_container_add (GTK_CONTAINER (button_clips_home), alignment6); - - hbox13 = gtk_hbox_new (FALSE, 2); - gtk_widget_show (hbox13); - gtk_container_add (GTK_CONTAINER (alignment6), hbox13); - - image6 = gtk_image_new_from_stock ("gtk-home", GTK_ICON_SIZE_MENU); - gtk_widget_show (image6); - gtk_box_pack_start (GTK_BOX (hbox13), image6, FALSE, FALSE, 0); - - label37 = gtk_label_new_with_mnemonic (""); - gtk_widget_show (label37); - gtk_box_pack_start (GTK_BOX (hbox13), label37, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (label37), GTK_JUSTIFY_LEFT); - - button_up = gtk_button_new (); - gtk_widget_show (button_up); - gtk_box_pack_start (GTK_BOX (hbox19), button_up, FALSE, FALSE, 0); - GTK_WIDGET_UNSET_FLAGS (button_up, GTK_CAN_FOCUS); - GTK_WIDGET_SET_FLAGS (button_up, GTK_CAN_DEFAULT); - gtk_button_set_relief (GTK_BUTTON (button_up), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (button_up, _("Move clip up")); - - image21 = gtk_image_new_from_stock ("gtk-go-up", GTK_ICON_SIZE_MENU); - gtk_widget_show (image21); - gtk_container_add (GTK_CONTAINER (button_up), image21); - - button_down = gtk_button_new (); - gtk_widget_show (button_down); - gtk_box_pack_start (GTK_BOX (hbox19), button_down, FALSE, FALSE, 0); - GTK_WIDGET_UNSET_FLAGS (button_down, GTK_CAN_FOCUS); - GTK_WIDGET_SET_FLAGS (button_down, GTK_CAN_DEFAULT); - gtk_button_set_relief (GTK_BUTTON (button_down), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (button_down, _("Move clip down")); - - image22 = gtk_image_new_from_stock ("gtk-go-down", GTK_ICON_SIZE_MENU); - gtk_widget_show (image22); - gtk_container_add (GTK_CONTAINER (button_down), image22); - - button_remove = gtk_button_new (); - gtk_widget_show (button_remove); - gtk_box_pack_start (GTK_BOX (hbox19), button_remove, FALSE, FALSE, 0); - GTK_WIDGET_UNSET_FLAGS (button_remove, GTK_CAN_FOCUS); - GTK_WIDGET_SET_FLAGS (button_remove, GTK_CAN_DEFAULT); - gtk_button_set_relief (GTK_BUTTON (button_remove), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (button_remove, _("Remove clip")); - - image23 = gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_MENU); - gtk_widget_show (image23); - gtk_container_add (GTK_CONTAINER (button_remove), image23); - - button_clean = gtk_button_new (); - gtk_widget_show (button_clean); - gtk_box_pack_start (GTK_BOX (hbox19), button_clean, FALSE, FALSE, 0); - GTK_WIDGET_UNSET_FLAGS (button_clean, GTK_CAN_FOCUS); - GTK_WIDGET_SET_FLAGS (button_clean, GTK_CAN_DEFAULT); - gtk_button_set_relief (GTK_BUTTON (button_clean), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (button_clean, _("Remove all but current clip")); - - image24 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU); - gtk_widget_show (image24); - gtk_container_add (GTK_CONTAINER (button_clean), image24); - - hbuttonbox5 = gtk_hbutton_box_new (); - gtk_widget_show (hbuttonbox5); - gtk_box_pack_start (GTK_BOX (hbox19), hbuttonbox5, FALSE, FALSE, 0); - - label45 = gtk_label_new (_(" ")); - gtk_widget_show (label45); - gtk_box_pack_start (GTK_BOX (hbox19), label45, TRUE, TRUE, 0); - gtk_label_set_justify (GTK_LABEL (label45), GTK_JUSTIFY_LEFT); /* Store pointers to all widgets, for use by lookup_widget(). */ - GLADE_HOOKUP_OBJECT_NO_REF (page_clips, page_clips, "page_clips"); - GLADE_HOOKUP_OBJECT (page_clips, vbox8, "vbox8"); - GLADE_HOOKUP_OBJECT (page_clips, hbox26, "hbox26"); - GLADE_HOOKUP_OBJECT (page_clips, label_directory, "label_directory"); - GLADE_HOOKUP_OBJECT (page_clips, optionmenu1, "optionmenu1"); - GLADE_HOOKUP_OBJECT (page_clips, menu1, "menu1"); - GLADE_HOOKUP_OBJECT (page_clips, mode_0, "mode_0"); - GLADE_HOOKUP_OBJECT (page_clips, mode_1, "mode_1"); - GLADE_HOOKUP_OBJECT (page_clips, mode_2, "mode_2"); - GLADE_HOOKUP_OBJECT (page_clips, mode_3, "mode_3"); GLADE_HOOKUP_OBJECT (page_clips, hpaned1, "hpaned1"); - GLADE_HOOKUP_OBJECT (page_clips, table1, "table1"); - GLADE_HOOKUP_OBJECT (page_clips, scrolledwindow1, "scrolledwindow1"); - GLADE_HOOKUP_OBJECT (page_clips, list_dir, "list_dir"); - GLADE_HOOKUP_OBJECT (page_clips, vpaned1, "vpaned1"); - GLADE_HOOKUP_OBJECT (page_clips, table5, "table5"); - GLADE_HOOKUP_OBJECT (page_clips, scrolledwindow6, "scrolledwindow6"); - GLADE_HOOKUP_OBJECT (page_clips, list_clips, "list_clips"); - GLADE_HOOKUP_OBJECT (page_clips, table4, "table4"); - GLADE_HOOKUP_OBJECT (page_clips, scrolledwindow5, "scrolledwindow5"); - GLADE_HOOKUP_OBJECT (page_clips, treeview1, "treeview1"); - GLADE_HOOKUP_OBJECT (page_clips, alignment12, "alignment12"); - GLADE_HOOKUP_OBJECT (page_clips, hbox19, "hbox19"); - GLADE_HOOKUP_OBJECT (page_clips, label44, "label44"); - GLADE_HOOKUP_OBJECT (page_clips, button_clips_refresh, "button_clips_refresh"); - GLADE_HOOKUP_OBJECT (page_clips, alignment5, "alignment5"); - GLADE_HOOKUP_OBJECT (page_clips, hbox12, "hbox12"); - GLADE_HOOKUP_OBJECT (page_clips, image5, "image5"); - GLADE_HOOKUP_OBJECT (page_clips, label36, "label36"); - GLADE_HOOKUP_OBJECT (page_clips, button_clips_home, "button_clips_home"); - GLADE_HOOKUP_OBJECT (page_clips, alignment6, "alignment6"); - GLADE_HOOKUP_OBJECT (page_clips, hbox13, "hbox13"); - GLADE_HOOKUP_OBJECT (page_clips, image6, "image6"); - GLADE_HOOKUP_OBJECT (page_clips, label37, "label37"); - GLADE_HOOKUP_OBJECT (page_clips, button_up, "button_up"); - GLADE_HOOKUP_OBJECT (page_clips, image21, "image21"); - GLADE_HOOKUP_OBJECT (page_clips, button_down, "button_down"); - GLADE_HOOKUP_OBJECT (page_clips, image22, "image22"); - GLADE_HOOKUP_OBJECT (page_clips, button_remove, "button_remove"); - GLADE_HOOKUP_OBJECT (page_clips, image23, "image23"); - GLADE_HOOKUP_OBJECT (page_clips, button_clean, "button_clean"); - GLADE_HOOKUP_OBJECT (page_clips, image24, "image24"); - GLADE_HOOKUP_OBJECT (page_clips, hbuttonbox5, "hbuttonbox5"); - GLADE_HOOKUP_OBJECT (page_clips, label45, "label45"); - - gtk_widget_grab_focus (list_dir); + return page_clips; }