Small refactoring. (#340428, Paolo Borelli).

2006-05-27  Kristian Rietveld  <kris@gtk.org>

	Small refactoring. (#340428, Paolo Borelli).

	* gtk/gtkliststore.c (gtk_list_store_set_valist_internal),
	(gtk_list_store_insert_with_valuesv): refactor code to determine
	iter compare func into gtk_list_store_get_compare_func().

	* gtk/gtktreestore.c (gtk_tree_store_set_valist_internal),
	(gtk_tree_store_insert_with_valuesv): likewise.
This commit is contained in:
Kristian Rietveld 2006-05-27 21:43:10 +00:00 committed by Kristian Rietveld
parent 29a3dba6a7
commit e7b5cdb8e0
4 changed files with 76 additions and 68 deletions

View File

@ -1,3 +1,14 @@
2006-05-27 Kristian Rietveld <kris@gtk.org>
Small refactoring. (#340428, Paolo Borelli).
* gtk/gtkliststore.c (gtk_list_store_set_valist_internal),
(gtk_list_store_insert_with_valuesv): refactor code to determine
iter compare func into gtk_list_store_get_compare_func().
* gtk/gtktreestore.c (gtk_tree_store_set_valist_internal),
(gtk_tree_store_insert_with_valuesv): likewise.
2006-05-27 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_queue_draw_arrow): really fix

View File

@ -1,3 +1,14 @@
2006-05-27 Kristian Rietveld <kris@gtk.org>
Small refactoring. (#340428, Paolo Borelli).
* gtk/gtkliststore.c (gtk_list_store_set_valist_internal),
(gtk_list_store_insert_with_valuesv): refactor code to determine
iter compare func into gtk_list_store_get_compare_func().
* gtk/gtktreestore.c (gtk_tree_store_set_valist_internal),
(gtk_tree_store_insert_with_valuesv): likewise.
2006-05-27 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_queue_draw_arrow): really fix

View File

@ -688,6 +688,31 @@ gtk_list_store_set_value (GtkListStore *list_store,
}
}
static GtkTreeIterCompareFunc
gtk_list_store_get_compare_func (GtkListStore *list_store)
{
GtkTreeIterCompareFunc func = NULL;
if (GTK_LIST_STORE_IS_SORTED (list_store))
{
if (list_store->sort_column_id != -1)
{
GtkTreeDataSortHeader *header;
header = _gtk_tree_data_list_get_header (list_store->sort_list,
list_store->sort_column_id);
g_return_val_if_fail (header != NULL, NULL);
g_return_val_if_fail (header->func != NULL, NULL);
func = header->func;
}
else
{
func = list_store->default_sort_func;
}
}
return func;
}
static void
gtk_list_store_set_valist_internal (GtkListStore *list_store,
GtkTreeIter *iter,
@ -700,23 +725,7 @@ gtk_list_store_set_valist_internal (GtkListStore *list_store,
column = va_arg (var_args, gint);
if (GTK_LIST_STORE_IS_SORTED (list_store))
{
if (list_store->sort_column_id != -1)
{
GtkTreeDataSortHeader *header;
header = _gtk_tree_data_list_get_header (list_store->sort_list,
list_store->sort_column_id);
g_return_if_fail (header != NULL);
g_return_if_fail (header->func != NULL);
func = header->func;
}
else
{
func = list_store->default_sort_func;
}
}
func = gtk_list_store_get_compare_func (list_store);
if (func != _gtk_tree_data_list_compare_func)
*maybe_need_sort = TRUE;
@ -1905,23 +1914,7 @@ gtk_list_store_insert_with_valuesv (GtkListStore *list_store,
list_store->length++;
if (GTK_LIST_STORE_IS_SORTED (list_store))
{
if (list_store->sort_column_id != -1)
{
GtkTreeDataSortHeader *header;
header = _gtk_tree_data_list_get_header (list_store->sort_list,
list_store->sort_column_id);
g_return_if_fail (header != NULL);
g_return_if_fail (header->func != NULL);
func = header->func;
}
else
{
func = list_store->default_sort_func;
}
}
func = gtk_list_store_get_compare_func (list_store);
if (func != _gtk_tree_data_list_compare_func)
maybe_need_sort = TRUE;

View File

@ -840,6 +840,31 @@ gtk_tree_store_set_value (GtkTreeStore *tree_store,
}
}
static GtkTreeIterCompareFunc
gtk_tree_store_get_compare_func (GtkTreeStore *tree_store)
{
GtkTreeIterCompareFunc func = NULL;
if (GTK_TREE_STORE_IS_SORTED (tree_store))
{
if (tree_store->sort_column_id != -1)
{
GtkTreeDataSortHeader *header;
header = _gtk_tree_data_list_get_header (tree_store->sort_list,
tree_store->sort_column_id);
g_return_val_if_fail (header != NULL, NULL);
g_return_val_if_fail (header->func != NULL, NULL);
func = header->func;
}
else
{
func = tree_store->default_sort_func;
}
}
return func;
}
static void
gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
GtkTreeIter *iter,
@ -852,23 +877,7 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
column = va_arg (var_args, gint);
if (GTK_TREE_STORE_IS_SORTED (tree_store))
{
if (tree_store->sort_column_id != -1)
{
GtkTreeDataSortHeader *header;
header = _gtk_tree_data_list_get_header (tree_store->sort_list,
tree_store->sort_column_id);
g_return_if_fail (header != NULL);
g_return_if_fail (header->func != NULL);
func = header->func;
}
else
{
func = tree_store->default_sort_func;
}
}
func = gtk_tree_store_get_compare_func (tree_store);
if (func != _gtk_tree_data_list_compare_func)
*maybe_need_sort = TRUE;
@ -1403,23 +1412,7 @@ gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store,
iter->user_data = new_node;
g_node_insert (parent_node, position, new_node);
if (GTK_TREE_STORE_IS_SORTED (tree_store))
{
if (tree_store->sort_column_id != -1)
{
GtkTreeDataSortHeader *header;
header = _gtk_tree_data_list_get_header (tree_store->sort_list,
tree_store->sort_column_id);
g_return_if_fail (header != NULL);
g_return_if_fail (header->func != NULL);
func = header->func;
}
else
{
func = tree_store->default_sort_func;
}
}
func = gtk_tree_store_get_compare_func (tree_store);
if (func != _gtk_tree_data_list_compare_func)
maybe_need_sort = TRUE;