From 5f467a8f64182807cae9a27da004f84770590b7d Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Thu, 19 Sep 2002 17:03:09 +0000 Subject: (resort): New. (sort_idle_callback): Use it. (insert_storages): Use (resort): New. (sort_idle_callback): Use it. (insert_storages): Use resort() instead of queue_resort() so we sort immediately. svn path=/trunk/; revision=18116 --- shell/ChangeLog | 7 +++++++ shell/e-storage-set-view.c | 24 ++++++++++++++++-------- 2 files changed, 23 insertions(+), 8 deletions(-) (limited to 'shell') diff --git a/shell/ChangeLog b/shell/ChangeLog index b1061f760f..3f89a3575d 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,10 @@ +2002-09-19 Ettore Perazzoli + + * e-storage-set-view.c (resort): New. + (sort_idle_callback): Use it. + (insert_storages): Use resort() instead of queue_resort() so we + sort immediately. + 2002-09-18 Mike Kestner * e-storage-set-view.c (etree_value_at): bandaid for 30248. diff --git a/shell/e-storage-set-view.c b/shell/e-storage-set-view.c index 880ca55e9e..86538851d2 100644 --- a/shell/e-storage-set-view.c +++ b/shell/e-storage-set-view.c @@ -188,7 +188,7 @@ storage_sort_callback (ETreeMemory *etmm, return -1; if (path_2_local) return 1; - + return g_utf8_collate (e_tree_model_value_at (E_TREE_MODEL (etmm), node1, 0), e_tree_model_value_at (E_TREE_MODEL (etmm), node2, 0)); } @@ -241,13 +241,11 @@ sort_traverse_callback (ETreeModel *model, return FALSE; } -static int -sort_idle_callback (void *data) +static void +resort (EStorageSetView *storage_set_view) { - EStorageSetView *storage_set_view; EStorageSetViewPrivate *priv; - storage_set_view = E_STORAGE_SET_VIEW (data); priv = storage_set_view->priv; e_tree_memory_sort_node (E_TREE_MEMORY (priv->etree_model), priv->root_node, @@ -255,6 +253,18 @@ sort_idle_callback (void *data) e_tree_model_node_traverse (priv->etree_model, priv->root_node, sort_traverse_callback, storage_set_view); +} + +static int +sort_idle_callback (void *data) +{ + EStorageSetView *storage_set_view; + EStorageSetViewPrivate *priv; + + storage_set_view = E_STORAGE_SET_VIEW (data); + priv = storage_set_view->priv; + + resort (storage_set_view); priv->sort_idle_id = 0; return FALSE; @@ -2082,8 +2092,6 @@ insert_folders (EStorageSetView *storage_set_view, } e_free_string_list (folder_path_list); - - queue_resort (storage_set_view); } static void @@ -2119,7 +2127,7 @@ insert_storages (EStorageSetView *storage_set_view) e_free_object_list (storage_list); - queue_resort (storage_set_view); + resort (storage_set_view); } void -- cgit v1.2.3