void gsearchtool_set_columns_order (GtkTreeView * treeview) { GtkTreeViewColumn * last = NULL; GSList * order; GSList * it; order = gsearchtool_gconf_get_list ("/apps/gnome-search-tool/columns_order", GCONF_VALUE_INT); for (it = order; it; it = it->next) { GtkTreeViewColumn * cur; gint id; id = GPOINTER_TO_INT (it->data); if (id >= 0 && id < NUM_COLUMNS) { cur = gsearchtool_gtk_tree_view_get_column_with_sort_column_id (treeview, id); if (cur && cur != last) { gtk_tree_view_move_column_after (treeview, cur, last); last = cur; } } } g_slist_free (order); }
void gsearchtool_set_columns_order (GtkTreeView * treeview) { GtkTreeViewColumn * last = NULL; GSettings * settings; GVariant * value; settings = g_settings_new ("org.mate.search-tool"); value = g_settings_get_value (settings, "columns-order"); if (value) { GVariantIter *iter; GVariant *item; g_variant_get (value, "ai", &iter); while ((item = g_variant_iter_next_value (iter))) { GtkTreeViewColumn * cur; gint id; g_variant_get (item, "i", &id); if (id >= 0 && id < NUM_COLUMNS) { cur = gsearchtool_gtk_tree_view_get_column_with_sort_column_id (treeview, id); if (cur && cur != last) { gtk_tree_view_move_column_after (treeview, cur, last); last = cur; } } g_variant_unref (item); } g_variant_iter_free (iter); g_variant_unref (value); } g_object_unref (settings); }