+static void ui_arc_listview_populate(GtkWidget *view, gint type)
+{
+GtkTreeModel *model;
+GtkTreeIter iter;
+GList *list;
+gint i;
+
+ DB( g_print("ui_arc_listview_populate()\n") );
+
+ DB( g_print(" - type=%d\n", type) );
+
+
+ //insert all glist item into treeview
+ model = gtk_tree_view_get_model(GTK_TREE_VIEW(view));
+
+
+ gtk_list_store_clear (GTK_LIST_STORE(model));
+
+ i=0;
+ list = g_list_first(GLOBALS->arc_list);
+ while (list != NULL)
+ {
+ Archive *item = list->data;
+
+ if( (type == ARC_TYPE_SCHEDULED) && !(item->flags & OF_AUTO) )
+ goto next;
+
+ if( (type == ARC_TYPE_TEMPLATE) && (item->flags & OF_AUTO) )
+ goto next;
+
+ gtk_list_store_append (GTK_LIST_STORE(model), &iter);
+ gtk_list_store_set (GTK_LIST_STORE(model), &iter,
+ LST_DEFARC_DATAS, item, //data struct
+ LST_DEFARC_OLDPOS, i, //oldpos
+ -1);
+
+ //DB( g_print(" populate_treeview: %d %08x\n", i, list->data) );
+next:
+ i++; list = g_list_next(list);
+ }
+
+}
+
+
+static void ui_arc_listview_select_by_pointer(GtkTreeView *treeview, gpointer user_data)
+{
+GtkTreeModel *model;
+GtkTreeIter iter;
+GtkTreeSelection *selection;
+gboolean valid;
+Archive *arc = user_data;
+
+ model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
+ selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
+
+ valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter);
+ while (valid)
+ {
+ Archive *tmp_arc;
+
+ gtk_tree_model_get (model, &iter, LST_DEFARC_DATAS, &tmp_arc, -1);
+ if( arc == tmp_arc )
+ {
+ gtk_tree_selection_select_iter (selection, &iter);
+ break;
+ }
+
+ valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter);
+ }
+}
+
+