X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Finterface.c;h=65b98147dea5ff3816ec06b3ab23417494dccb5f;hb=ac32b19e6e2ef9a9548045894484d1634bf400eb;hp=552c2f598100d1acba016ed1d78d0fd1e947bbe9;hpb=238f85cfbe00b3f598e4ba330f773e75732e88d6;p=rugen diff --git a/src/interface.c b/src/interface.c index 552c2f5..65b9814 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", + "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", + "player_pause_32x32.png" + }, + { + 1, + "Play", + "player_play_64x32.png" + }, + { + 1, + "Stop", + "player_stop_32x32.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 + } + }; + + 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 (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, type), + FALSE, TRUE, 0); + + 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; }; GtkWidget* @@ -153,9 +206,6 @@ create_gdv1394d (void) GtkWidget *notebook1; GtkWidget *empty_notebook_page; GtkWidget *label40; - GtkWidget *hbox20; - GtkWidget *label46; - GtkWidget *label47; GtkWidget *vbox_trim; GtkWidget *statusbar; @@ -276,26 +326,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); + gtk_box_pack_start (GTK_BOX (vbox6), + create_block_buttons_transport(gdv1394d, 1), + 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); - - 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 +370,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,7 +532,7 @@ create_window_connection (void) return window_connection; } -static void create_pane_status (GtkWidget* parent) +static GtkWidget* create_pane_status (GtkWidget* parent, GtkWidget* top) { int i; char buf[32]; @@ -506,21 +545,22 @@ static void create_pane_status (GtkWidget* parent) // create a scrolled area scrolledwindow = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow); - gtk_container_add (GTK_CONTAINER (parent), 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 (parent, scrolledwindow, "scrolledwindow4"); + 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 (parent, viewport, "viewport1"); + 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 (parent, table, "table3"); + GLADE_HOOKUP_OBJECT (top, table, "table3"); for (i = 0; i < 16; i++) { @@ -536,7 +576,7 @@ static void create_pane_status (GtkWidget* parent) 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 (parent, label_unit, buf); + GLADE_HOOKUP_OBJECT (top, label_unit, buf); // radio button radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("")); @@ -546,339 +586,277 @@ static void create_pane_status (GtkWidget* parent) 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 (parent, radiobutton, buf); + GLADE_HOOKUP_OBJECT (top, radiobutton, buf); } + + return scrolledwindow; +} + +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; } +static GtkWidget* -create_page_status (void) +create_pane_filedir( GtkWidget* top ) { - GtkWidget *page_status; + 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_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_paned_pack2 (GTK_PANED (vpaned), scrolledwindow[1], TRUE, FALSE); + gtk_widget_set_size_request (scrolledwindow[1], 250, -1); + + /* 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; +}; - page_status = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_title (GTK_WINDOW (page_status), _("page_status")); - GLADE_HOOKUP_OBJECT_NO_REF (page_status, page_status, "page_status"); +static +GtkWidget* +create_pane_playlist( GtkWidget* top ) +{ + GtkWidget *table; + GtkWidget *scrolledwindow; + GtkWidget *treeview; + GtkWidget *alignment; + GtkWidget *hbox; - create_pane_status (page_status); + table = gtk_table_new (2, 1, FALSE); - return page_status; -} + 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; +}; GtkWidget* -create_page_clips (void) +create_page_operate (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); + GtkWidget *hpaned0; + GtkWidget *frame1, *frame2; + + 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"); + + hpaned0 = gtk_hpaned_new (); + gtk_widget_show (hpaned0); + gtk_container_add (GTK_CONTAINER (page_clips), hpaned0); + GLADE_HOOKUP_OBJECT (page_clips, hpaned0, "hpaned0"); + + 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"); + + 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); + + create_pane_status (frame2, page_clips); + + hpaned1 = gtk_hpaned_new (); + gtk_widget_show (hpaned1); + gtk_container_add (GTK_CONTAINER (frame1), hpaned1); + gtk_paned_set_position (GTK_PANED (hpaned1), 120); + + gtk_paned_pack1 (GTK_PANED (hpaned1), + create_pane_filedir(page_clips), + FALSE, TRUE); + + gtk_paned_pack2 (GTK_PANED (hpaned1), + create_pane_playlist(page_clips), + FALSE, TRUE); + - 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; }