diff options
author | Dan Winship <danw@src.gnome.org> | 2002-03-15 06:22:35 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2002-03-15 06:22:35 +0800 |
commit | 86b700d089bfb9565c3792ff3df1a1ac6cf225c3 (patch) | |
tree | 73a4b5104266850b756b8d9e6dbcefc17904f68a /shell/ChangeLog | |
parent | eafda9ba48e7f29a9f98792a498eb9c568f81d59 (diff) | |
download | gsoc2013-evolution-86b700d089bfb9565c3792ff3df1a1ac6cf225c3.tar gsoc2013-evolution-86b700d089bfb9565c3792ff3df1a1ac6cf225c3.tar.gz gsoc2013-evolution-86b700d089bfb9565c3792ff3df1a1ac6cf225c3.tar.bz2 gsoc2013-evolution-86b700d089bfb9565c3792ff3df1a1ac6cf225c3.tar.lz gsoc2013-evolution-86b700d089bfb9565c3792ff3df1a1ac6cf225c3.tar.xz gsoc2013-evolution-86b700d089bfb9565c3792ff3df1a1ac6cf225c3.tar.zst gsoc2013-evolution-86b700d089bfb9565c3792ff3df1a1ac6cf225c3.zip |
Support for delayed filling-in of storages/folders.
* Evolution-Storage.idl (StorageListener): add
notifyHasSubfolders, to announce that a folder has currently-
unknown subfolders.
(Storage): add asyncOpenFolder, to request that previously-
announced subfolders be filled in.
* evolution-storage.c (impl_Storage_async_open_folder): emit
OPEN_FOLDER.
(evolution_storage_has_subfolders): Implement by calling
notifyHasSubfolders on all of its listeners.
* evolution-storage-listener.c
(impl_GNOME_Evolution_StorageListener_notifyHasSubfolders): emit
HAS_SUBFOLDERS.
* e-corba-storage.c (impl_StorageListener_notifyHasSubfolders):
Implement by calling e_storage_has_subfolders.
(async_open_folder): Implement by calling asyncOpenFolder on the
CORBA storage.
* e-storage.c (EStoragePrivate, init, destroy): Keep a list of
pseudofolders representing un-filled-in subtrees.
(impl_async_open_folder): No-op default implementation
(e_storage_async_open_folder): New function to request that
un-filled-in subtrees be filled in.
(e_storage_new_folder): If the new folder's parent has an
"un-filled-in children" pseudofolder, remove it.
(e_storage_has_subfolders): New function to note that a folder has
unknown children. If the folder previously was marked as having
real children, remove them, and emit CLOSE_FOLDER to reset it back
to an a "unknown subfolders" state.
* e-storage-set.c (make_full_path): Make this deal with path being
"/", since that case gets used from storage_close_folder_cb
sometimes.
(storage_close_folder_cb): Proxy EStorage's CLOSE_FOLDER signal.
(storage_set_view_folder_opened): Handle EStorageSetView's
FOLDER_OPENED signal by calling e_storage_async_open_folder.
* e-storage-set-view.c (etree_fill_in_children): If the given node
is its parent's first child, emit FOLDER_OPENED for the parent.
(close_folder_cb): Handler for EStorageSet's CLOSE_FOLDER signal.
Ask the model to close that node.
(e_storage_set_view_construct): Set the default expanded state for
the tree to FALSE rather than TRUE, to prevent unwanted expansion
of delayed nodes. (This only affects the very first time the tree
is displayed anyway: after that its state is loaded off disk.)
* e-shell.c (e_shell_construct): Register the "noselect" type with
the folder type registry, so icon lookups on placeholder folders
will work.
svn path=/trunk/; revision=16169
Diffstat (limited to 'shell/ChangeLog')
-rw-r--r-- | shell/ChangeLog | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index c302cd1380..3b869920bd 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,59 @@ +2002-03-14 Dan Winship <danw@ximian.com> + + Support for delayed filling-in of storages/folders. + + * Evolution-Storage.idl (StorageListener): add + notifyHasSubfolders, to announce that a folder has currently- + unknown subfolders. + (Storage): add asyncOpenFolder, to request that previously- + announced subfolders be filled in. + + * evolution-storage.c (impl_Storage_async_open_folder): emit + OPEN_FOLDER. + (evolution_storage_has_subfolders): Implement by calling + notifyHasSubfolders on all of its listeners. + + * evolution-storage-listener.c + (impl_GNOME_Evolution_StorageListener_notifyHasSubfolders): emit + HAS_SUBFOLDERS. + + * e-corba-storage.c (impl_StorageListener_notifyHasSubfolders): + Implement by calling e_storage_has_subfolders. + (async_open_folder): Implement by calling asyncOpenFolder on the + CORBA storage. + + * e-storage.c (EStoragePrivate, init, destroy): Keep a list of + pseudofolders representing un-filled-in subtrees. + (impl_async_open_folder): No-op default implementation + (e_storage_async_open_folder): New function to request that + un-filled-in subtrees be filled in. + (e_storage_new_folder): If the new folder's parent has an + "un-filled-in children" pseudofolder, remove it. + (e_storage_has_subfolders): New function to note that a folder has + unknown children. If the folder previously was marked as having + real children, remove them, and emit CLOSE_FOLDER to reset it back + to an a "unknown subfolders" state. + + * e-storage-set.c (make_full_path): Make this deal with path being + "/", since that case gets used from storage_close_folder_cb + sometimes. + (storage_close_folder_cb): Proxy EStorage's CLOSE_FOLDER signal. + (storage_set_view_folder_opened): Handle EStorageSetView's + FOLDER_OPENED signal by calling e_storage_async_open_folder. + + * e-storage-set-view.c (etree_fill_in_children): If the given node + is its parent's first child, emit FOLDER_OPENED for the parent. + (close_folder_cb): Handler for EStorageSet's CLOSE_FOLDER signal. + Ask the model to close that node. + (e_storage_set_view_construct): Set the default expanded state for + the tree to FALSE rather than TRUE, to prevent unwanted expansion + of delayed nodes. (This only affects the very first time the tree + is displayed anyway: after that its state is loaded off disk.) + + * e-shell.c (e_shell_construct): Register the "noselect" type with + the folder type registry, so icon lookups on placeholder folders + will work. + 2002-03-13 Ettore Perazzoli <ettore@ximian.com> * e-shell-settings-dialog.c (load_pages): Use |