diff options
Diffstat (limited to 'e-util/e-tree-memory.c')
-rw-r--r-- | e-util/e-tree-memory.c | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/e-util/e-tree-memory.c b/e-util/e-tree-memory.c index 0b92b17ac4..017bb49844 100644 --- a/e-util/e-tree-memory.c +++ b/e-util/e-tree-memory.c @@ -611,83 +611,6 @@ e_tree_memory_node_remove (ETreeMemory *tree_memory, return ret; } -typedef struct { - ETreeMemory *memory; - gpointer closure; - ETreeMemorySortCallback callback; -} MemoryAndClosure; - -static gint -sort_callback (gconstpointer data1, - gconstpointer data2, - gpointer user_data) -{ - ETreePath path1 = *(ETreePath *) data1; - ETreePath path2 = *(ETreePath *) data2; - MemoryAndClosure *mac = user_data; - return (*mac->callback) (mac->memory, path1, path2, mac->closure); -} - -void -e_tree_memory_sort_node (ETreeMemory *tree_memory, - ETreePath node, - ETreeMemorySortCallback callback, - gpointer user_data) -{ - ETreeMemoryPath **children; - ETreeMemoryPath *child; - gint count; - gint i; - ETreeMemoryPath *path = node; - MemoryAndClosure mac; - ETreeMemoryPath *last; - - e_tree_model_pre_change (E_TREE_MODEL (tree_memory)); - - i = 0; - for (child = path->first_child; child; child = child->next_sibling) - i++; - - children = g_new (ETreeMemoryPath *, i); - - count = i; - - for (child = path->first_child, i = 0; - child; - child = child->next_sibling, i++) { - children[i] = child; - } - - mac.memory = tree_memory; - mac.closure = user_data; - mac.callback = callback; - - g_qsort_with_data ( - children, count, sizeof (ETreeMemoryPath *), - sort_callback, &mac); - - path->first_child = NULL; - last = NULL; - for (i = 0; - i < count; - i++) { - children[i]->prev_sibling = last; - if (last) - last->next_sibling = children[i]; - else - path->first_child = children[i]; - last = children[i]; - } - if (last) - last->next_sibling = NULL; - - path->last_child = last; - - g_free (children); - - e_tree_model_node_changed (E_TREE_MODEL (tree_memory), node); -} - void e_tree_memory_set_node_destroy_func (ETreeMemory *tree_memory, GFunc destroy_func, |