aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-storage-set.h
Commit message (Collapse)AuthorAgeFilesLines
* Calls e_shell_command_remove_shared_folder. (file_verbs): Set upDan Winship2002-10-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * e-shell-view-menu.c (command_remove_other_users_folder): Calls e_shell_command_remove_shared_folder. (file_verbs): Set up command_remove_other_users_folder. * e-shell-folder-commands.c (e_shell_command_remove_shared_folder): New. Calls e_storage_set_async_remove_shared_folder with a callback to pop up an error dialog if it fails. * e-storage-set.c (e_storage_set_async_remove_shared_folder): Implement. Mostly like async_remove_folder. * e-storage.c (e_storage_supports_shared_folders, e_storage_async_discover_shared_folder, e_storage_async_remove_shared_folder): New methods. Default implementations return FALSE, NOTIMPLEMENTED, and NOTIMPLEMENTED. * e-corba-storage.c (supports_shared_folders, async_discover_shared_folder, async_remove_shared_folder): Implement using CORBA. * Evolution-Storage.idl: add Storage_asyncRemoveSharedFolder * e-shell-shared-folder-picker-dialog.c: Remove all the CORBA stuff from here and use the new EStorage methods. (setup_server_option_menu): Use e_storage_supports_shared_folders. (discover_folder): Use e_storage_async_discover_shared_folder. * evolution-storage.c (impl_Storage_asyncRemoveSharedFolder): Implement this by emitting a REMOVE_SHARED_FOLDER signal. (impl_Storage_asyncDiscoverSharedFolder): Make the DISCOVER_SHARED_FOLDER signal put the Bonobo_Listener first like all the other signals do. (class_init): Set up REMOVE_SHARED_FOLDER signal. svn path=/trunk/; revision=18265
* [Finish fixing #11645.]Ettore Perazzoli2002-09-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * e-shell-folder-commands.c (xfer_result_callback): Don't update the shortcuts here anymore since now the shell takes care of it. * e-shell.c (storage_set_moved_folder_callback): New callback for EStorageSetView::folder_moved; update the shortcuts. (e_shell_construct): Connect. * e-storage-set.c: Renamed StorageConverterCallbackData to StorageCallbackData. New members destination_folder, source_folder, operation in it. (class_init): Install "moved_folder" signal. (storage_callback_data_new): Renamed from storage_converter_callback_data_new. (storage_callback_data_free): New. (storage_callback): Renamed from storage_callback_converter. Use storage_callback_data_free(). (e_storage_set_async_create_folder): Updated to use the storage_callback and storage_callback_data_new(). (e_storage_set_async_remove_folder): Likewise. (e_storage_set_async_xfer_folder): Likewise. * e-storage-set.h: New signal "moved_folder". svn path=/trunk/; revision=18216
* New callback for the show_folder_properties signal.Ettore Perazzoli2002-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * evolution-test-component.c (storage_show_folder_properties_callback): New callback for the show_folder_properties signal. (setup_custom_storage): Add two property items, and connect the callback to the signal. * e-storage-set-view.c: Renamed private member container into ui_container; new member ui_component. (init): Initialize ui_component to NULL. (impl_destroy): Unref if not NULL. (e_storage_set_view_construct): If @ui_container is not NULL, weakref it and create a new ui_component that uses it as its container. (ui_container_destroy_notify): New, weakref destroy callback for priv->ui_container. (remove_property_items): New helper function. (setup_folder_properties_items_if_corba_storage_clicked): New helper function. (folder_property_item_verb_callback): New callback for the verbs associated to the folder property items. (popup_folder_menu): Set up the per-storage folder property items using setup_folder_properties_items_if_corba_storage_clicked() and remove them with remove_property_items() after the menu has been popped down. Don't invoke populate_folder_context_menu if there is no handler for this node [this avoids a spurious warning]. * e-corba-storage.c (e_corba_storage_show_folder_properties): New. (e_corba_storage_get_folder_property_items): New. (e_corba_storage_free_property_items_list): New. * evolution-storage.c: New private member folder_property_items. (init): Init to NULL. (destroy): Free. (impl_showFolderProperties): New, implementation for the Storage::showFolderProperties CORBA method. (class_init): Set up the "show_folder_properties" signal here. (impl_Storage__get_propertyItems): New, getter for the Storage::propertyItems property. (corba_class_init): Install the new methods. (evolution_storage_add_property_item): New function to add property items to the storage. * evolution-storage.h: New signal show_folder_properties. * e-storage-set.c (e_storage_set_create_new_view): Renamed from e_storage_set_new_view(). * Evolution-Storage.idl: Added attribute folderPropertyItems and method ::showFolderProperties. svn path=/trunk/; revision=17714
* Support for delayed filling-in of storages/folders.Dan Winship2002-03-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix the license text to make sense.Ettore Perazzoli2001-10-271-1/+0
| | | | svn path=/trunk/; revision=14192
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-271-2/+2
| | | | | | explicitly. svn path=/trunk/; revision=14186
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-1/+1
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* the only problematic area - pass NULL for now in as the BonoboUIContainer.Chris Toshok2001-05-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-11 Chris Toshok <toshok@ximian.com> * evolution-storage-set-view-factory.c (evolution_storage_set_view_factory_new_view): the only problematic area - pass NULL for now in as the BonoboUIContainer. how do we pass this container to the control? * e-storage-set-view.c (folder_context_menu_activate): un-#if 0 this function. (populate_folder_context_menu_with_common_items): build our popup using the new xml bonobo stuffs. (popup_folder_menu): convert to using the new xml bonobo stuffs. (right_click): only do the popup menu if we have a BonoboUIContainer. (e_storage_set_view_new): add BonoboUIContainer* arg. (e_storage_set_view_construct): same. * e-storage-set-view.h: add BonoboUIContainer* args to e_storage_set_view_new and e_storage_set_view_construct. * e-shell-folder-creation-dialog.c (add_storage_set_view): pass NULL for the BonoboUIContainer, since we shouldn't (?) have a popup in this dialog. * e-shell-folder-selection-dialog.c (e_shell_folder_selection_dialog_construct): pass NULL for the BonoboUIContainer, since we shouldn't (?) have a popup in this dialog. * e-storage-set.h: add BonoboUIContainer* arg to e_storage_set_new_view. * e-storage-set.c (e_storage_set_new_view): add arg, and track change to e_storage_set_view_new. * e-shell-view.h: add prototype for e_shell_view_get_bonobo_ui_container. * e-shell-view.c (setup_storage_set_subwindow): track change to e_storage_set_view_new. (e_shell_view_construct): the BonoboUIContainer is now part of our private structure. (e_shell_view_get_bonobo_ui_container): new function. svn path=/trunk/; revision=9756
* Changed the EStorageSet API to have a single `xfer()' method insteadEttore Perazzoli2001-03-221-21/+18
| | | | | | | | | | | | of separate copy/move (as in the IDL). Actually implement the `xfer()' operation for the case when source and destination are in the same storage. Fix the `EStorageSet' API by having a special `EStorageSetResultCallback' callback type for it (instead of using `EStorageResultCallback', which would never work). Also, removed some unused variables in `e-storage-set-view.c'. svn path=/trunk/; revision=8895
* More DnD work. Now we handle copying and moving of folders, althoughEttore Perazzoli2001-03-221-3/+11
| | | | | | | | | the hooks to actually make the physical operation happen are missing. Also, fix a stupid cut & paste error in Chris' commit (and re-indent the code a bit to make it match the surrounding style). svn path=/trunk/; revision=8890
* Remove <config.h> #includes from the `.h' files, which is known to be,Ettore Perazzoli2001-02-061-4/+0
| | | | | | um, a wrong thing to do. svn path=/trunk/; revision=7983
* Add "highligted" field to Folder. Add update_folder method toDan Winship2000-11-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Evolution-Storage.idl: Add "highligted" field to Folder. Add update_folder method to StorageListener to change display_name and highlight status. * e-folder.c: Add "highlighted" to EFolder to match the Evolution::Folder type. (e_folder_get_highlighted, e_folder_set_highlighted): Added * evolution-storage-listener.c (impl_Evolution_StorageListener_update_folder, etc): * e-storage.c (e_storage_updated_folder, etc): * e-corba-storage.c (impl_StorageListener_update_folder, etc): Implement update_folder. * e-storage-set.c (storage_updated_folder_cb, etc): Re-emit updated_folder signals received from EStorage. * e-storage-set-view.c (various): Add another model column to the ETable and set it up as a bold_column based on e_folder_get_highligted. (updated_folder_cb, etc): Listen to EStorageSet update_folder signal and emit ETree node_changed signals. * evolution-storage.c (evolution_storage_update_folder): Client function to update a folder's display_name and highlighted status. * Evolution-LocalStorage.idl: * evolution-local-storage.c: * e-local-storage.c: Change set_display_name to update_folder to match Evolution::StorageListener svn path=/trunk/; revision=6328
* Update the ::user_select_folder() interface so that it accepts both aEttore Perazzoli2000-08-041-0/+5
| | | | | | physical URI or an evolution: one for specifying the default folder. svn path=/trunk/; revision=4508
* Implemented folder creation dialog (File -> New -> Folder). To makeEttore Perazzoli2000-06-111-17/+28
| | | | | | | | it really work though, the components should implement creation functionality by passing an appropriate function pointer in `e_shell_component_new()' for @create_folder_fn. svn path=/trunk/; revision=3504
* Fixed a refcount leak and added interfaces to add/remove foldersEttore Perazzoli2000-06-081-16/+18
| | | | | | from an EStorage (although they are not implemented yet). svn path=/trunk/; revision=3460
* Made the storage view update at changes in the storage, andEttore Perazzoli2000-05-261-9/+7
| | | | | | | | | | implemented a BonoboObject for wrapping the Evolution::Storage CORBA interface. Also fixed a few bugs. This makes the shell's storage extensibility usable for Evolution components. svn path=/trunk/; revision=3219
* Reorganized the shell to allow dynamic registration of storages andEttore Perazzoli2000-05-251-21/+18
| | | | | | | folder types, and changed all the components to work with the new setup. svn path=/trunk/; revision=3199
* Get rid of the old `evolution-service-repository' cruft and startEttore Perazzoli2000-05-231-1/+2
| | | | | | implementing new CORBA storage interfaces for the shell. svn path=/trunk/; revision=3178
* Initial implementation of the tree view for the folders.Ettore Perazzoli2000-05-141-12/+23
| | | | svn path=/trunk/; revision=3020
* Big shell reorganization.Ettore Perazzoli2000-05-071-0/+87
svn path=/trunk/; revision=2848