region: remove helper function not needed since GTK+ 3.0

GTK+ 3.0 introduced gtk_tree_model_iter_previous() so we no longer need to
keep this helper function.

Also, simplify the use of GtkTreeIters by allocating them on the stack.

https://bugzilla.gnome.org/show_bug.cgi?id=652374
This commit is contained in:
Rui Matos 2011-06-12 01:12:20 +01:00 committed by Sergey V. Udaltsov
parent 6db9b9fbfa
commit 60a2507366

View file

@ -374,39 +374,20 @@ remove_selected_layout (GtkWidget * button, GtkBuilder * dialog)
update_layouts_list (model, dialog); update_layouts_list (model, dialog);
} }
static gboolean
_tree_model_iter_previous (GtkTreeModel *tree_model,
GtkTreeIter *iter)
{
GtkTreePath *path;
gboolean ret;
path = gtk_tree_model_get_path (tree_model, iter);
ret = gtk_tree_path_prev (path);
if (ret != FALSE)
gtk_tree_model_get_iter (tree_model, iter, path);
gtk_tree_path_free (path);
return ret;
}
static void static void
move_up_selected_layout (GtkWidget * button, GtkBuilder * dialog) move_up_selected_layout (GtkWidget * button, GtkBuilder * dialog)
{ {
GtkTreeModel *model; GtkTreeModel *model;
GtkTreeIter iter, *prev; GtkTreeIter iter, prev;
if (get_selected_iter (dialog, &model, &iter) == FALSE) if (get_selected_iter (dialog, &model, &iter) == FALSE)
return; return;
prev = gtk_tree_iter_copy (&iter); prev = iter;
if (!_tree_model_iter_previous (model, prev)) { if (!gtk_tree_model_iter_previous (model, &prev))
gtk_tree_iter_free (prev);
return; return;
}
gtk_list_store_swap (GTK_LIST_STORE (model), &iter, prev); gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &prev);
gtk_tree_iter_free (prev);
update_layouts_list (model, dialog); update_layouts_list (model, dialog);
} }
@ -415,19 +396,16 @@ static void
move_down_selected_layout (GtkWidget * button, GtkBuilder * dialog) move_down_selected_layout (GtkWidget * button, GtkBuilder * dialog)
{ {
GtkTreeModel *model; GtkTreeModel *model;
GtkTreeIter iter, *next; GtkTreeIter iter, next;
if (get_selected_iter (dialog, &model, &iter) == FALSE) if (get_selected_iter (dialog, &model, &iter) == FALSE)
return; return;
next = gtk_tree_iter_copy (&iter); next = iter;
if (!gtk_tree_model_iter_next (model, next)) { if (!gtk_tree_model_iter_next (model, &next))
gtk_tree_iter_free (next);
return; return;
}
gtk_list_store_swap (GTK_LIST_STORE (model), &iter, next); gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &next);
gtk_tree_iter_free (next);
update_layouts_list (model, dialog); update_layouts_list (model, dialog);
} }