fix status getting then second unit always overwrite last status
[rugen] / src / interface.c
index 85d1a43..e8abeff 100644 (file)
@@ -658,33 +658,119 @@ create_playlist_buttons( GtkWidget* parent, GtkWidget* top )
        return parent;
 }
 
+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_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;
+};
+
+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;
+};
 
 GtkWidget*
 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 *hpaned0;
        GtkWidget *frame1, *frame2;
 
@@ -714,138 +800,24 @@ create_page_operate (void)
 
        create_pane_status (frame2, page_clips);
 
-  vbox8 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox8);
-       gtk_container_add (GTK_CONTAINER (frame1), 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);
+       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);
 
-       create_playlist_buttons(hbox19, page_clips);
 
   /* Store pointers to all widgets, for use by lookup_widget(). */
-  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");
-
-  gtk_widget_grab_focus (list_dir);
+
   return page_clips;
 }