Commit Graph

34 Commits

Author SHA1 Message Date
836029eadc remove GTK_OBJECT cast and other GTK stuff.
2002-11-13  Not Zed  <NotZed@Ximian.com>

        * evolution-storage.c: remove GTK_OBJECT cast and other GTK stuff.

        * evolution-storage.h: this is a gobject not a gtkobject, fix cast
        macros, and get_type call.

svn path=/trunk/; revision=18735
2002-11-13 09:44:11 +00:00
9c73777f22 First big sync of my GNOME 2 porting work (incomplete, and still
pretty broken).

Weeeeee!

svn path=/trunk/; revision=18503
2002-11-02 08:25:03 +00:00
d91364b056 New, implementation for the cancel_discover_shared_folder virtual method.
* e-corba-storage.c (cancel_discover_shared_folder): New,
implementation for the cancel_discover_shared_folder virtual
method.
(class_init): Install.

* evolution-test-component.c
(storage_discover_shared_folder_callback): Instead of passing the
listener to the timeout function, just pass the storage.  Put the
listener and the timeout ID on the storage object by using
gtk_object_set_data().
(shared_folder_discovery_timeout_callback): Updated accordingly.
(storage_cancel_discover_shared_folder_callback): New, callback
for the cancel_discover_shared_folder signal.
(setup_custom_storage): Connect.

* e-shell-shared-folder-picker-dialog.c: New member storage in
struct DiscoveryData.  While I am at it, rename member user to
user_email_address.
(discover_folder): Set the storage member.
(cleanup_discovery): Unref storage member.
(progress_dialog_clicked_callback): New, callback for the
"clicked" signal on the dialog.
(discover_folder): Connect.

* evolution-storage.c (class_init): Install signal
"cancel_discover_shared_folder".
(impl_Storage_cancelDiscoverSharedFolder): New, implementation for
the cancelDiscoverSharedFolder CORBA method; emit
"cancel_discover_shared_folder".
(evolution_storage_get_epv): Install CORBA method implementation.

* evolution-storage.h: Add signal cancel_discover_shared_folder.

* e-storage.c (e_storage_cancel_discover_shared_folder): New.

* e-storage.h: New virtual method cancel_discover_shared_folder.

* Evolution-Storage.idl (cancelDiscoverSharedFolder): New.

svn path=/trunk/; revision=18386
2002-10-17 20:47:06 +00:00
45fd176750 Calls e_shell_command_remove_shared_folder. (file_verbs): Set up
* 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
2002-09-30 18:41:05 +00:00
f312a007fd New callback for the show_folder_properties signal.
* 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
2002-08-06 16:27:48 +00:00
090af2cb0e Pass zero as the @sorting_priority to evolution_storage_new_folder().
* gui/component/addressbook-storage.c (load_source_data): Pass
zero as the @sorting_priority to evolution_storage_new_folder().
(addressbook_storage_add_source): Likewise.

* subscribe-dialog.c (recursive_add_folder): Pass zero as
@sorting_priority to evolution_storage_new_folder().

* mail-folder-cache.c (real_flush_updates): Pass zero as
@sorting_priority to evolution_storage_new_folder().

* evolution-test-component.c (setup_custom_storage): Pass
@sorting_priority to evolution_storage_new_folder() so we test it.
Also make /FirstFolder have an "inbox" custom icon.

* e-local-storage.c (new_folder): Pass zero as @sorting_priority
to evolution_storage_new_folder().

* evolution-storage.c (evolution_storage_new_folder): New arg
@sorting_priority; put it in the CORBA folder struct.

* evolution-shell-client.c
(impl_FolderSelectionListener_selected): Copy the sortingPriority
as well.

* e-folder.c (e_folder_to_corba): Set sortingPriority.

* e-corba-storage-registry.c
(impl_StorageRegistry_getFolderByUri): Set sortingPriority in the
new CORBA Folder struct.

* e-corba-storage.c (impl_StorageListener_notifyFolderCreated):
Set the custom_icon if folder->customIconName is not an empty
string.  Likewise, set the sorting_priority

* Evolution-common.idl: New member sortingPriority in struct
Folder.

* e-storage-set-view.c (folder_sort_callback): Sort according to
the sorting_priorities.

* e-folder.c: New member sorting_priority in EFolderPrivate.
(init): Init to zero.
(e_folder_set_custom_icon): Emit "changed" if required.
(e_folder_set_sorting_priority): New.

svn path=/trunk/; revision=17404
2002-07-10 15:26:31 +00:00
6d2b6fa6d2 Pass NULL @custom_icon_name to evolution_storage_new_folder().
* gui/component/addressbook-storage.c (load_source_data): Pass
NULL @custom_icon_name to evolution_storage_new_folder().
(addressbook_storage_add_source): Likewise.  [Note we could be
passing a nice custom here. ;-)]

* subscribe-dialog.c (recursive_add_folder): Pass NULL for
@custom_icon_name to evolution_storage_new_folder().

* mail-folder-cache.c (real_flush_updates): Pass NULL for
@custom_icon_name to evolution_storage_new_folder().

* evolution-test-component.c (setup_custom_storage): Pass NULL for
@custom_icon_name to evolution_storage_new_folder().

* e-local-storage.c (new_folder): Pass the custom_icon_name here
to evolution_storage_new_folder().

* evolution-shell-client.c
(impl_FolderSelectionListener_selected): Set customIconName here
too.

* e-folder.c (e_folder_to_corba): Set customIconName too.

* e-corba-storage-registry.c
(impl_StorageRegistry_getFolderByUri): Set customIconName.  Also,
use e_safe_corba_string() to clean up the code a bit.

* evolution-storage.c (evolution_storage_new_folder): New arg
@custom_icon_name.

* Evolution-common.idl: New member customIconName in struct
Folder.

svn path=/trunk/; revision=17397
2002-07-09 20:27:17 +00:00
13c9d214fa Set the can_sync_offline property on the EFolder based on the
* e-corba-storage.c (impl_StorageListener_notifyFolderCreated):
Set the can_sync_offline property on the EFolder based on the
canSyncOffline value on the CORBA folder.

* evolution-test-component.c (setup_custom_storage): Pass FALSE
for @sync_offline to evolution_storage_new_folder().

* e-local-storage.c (new_folder): Pass FALSE for @sync_offline to
evolution_storage_new_folder().

* evolution-storage.h (evolution_storage_new_folder): New arg
@can_sync_offline.

* subscribe-dialog.c (recursive_add_folder): Pass TRUE for
@sync_offline to evolution_storage_new_folder().

* mail-folder-cache.c (real_flush_updates): Pass TRUE for
@sync_offline to evolution_storage_new_folder().

* gui/component/addressbook-storage.c (load_source_data): Pass
FALSE for @sync_offline to evolution_storage_new_folder().
(addressbook_storage_add_source): Pass FALSE for @sync_offline to
evolution_storage_new_folder().

svn path=/trunk/; revision=16947
2002-05-20 19:06:03 +00:00
c1b5780b8a Added some tests for the custom storage.
* evolution-test-component.c: Added some tests for the custom
storage.

* evolution-storage.c: New signal DISCOVER_SHARED_FOLDER.
(impl_Storage_asyncXferFolder): Renamed from
impl_Storage_async_xfer_folder.
(impl_Storage_asyncRemoveFolder): Renamed from
impl_Storage_async_remove_folder.
(impl_Storage_asyncCreateFolder): Renamed from
impl_Storage_async_create_folder.
(impl_Storage_asyncOpenFolder): Renamed from
impl_storage_async_open_folder.
(impl_Storage_addListener): Renamed from
impl_Storage_add_listener.
(impl_Storage_removeListener): Renamed from
impl_Storage_remove_listener.
(impl_Storage_asyncDiscoverSharedFolder): New, implementation for
::asyncDiscoverSharedFolder.
(evolution_storage_get_epv): Install the CORBA method here.
(class_init): Set up the "discover_shared_folder" signal here.
(e_marshal_NONE__POINTER_POINTER): Yet Another Marshaller.  Die
die die.

* Evolution-Storage.idl (Storage::asyncDiscoverSharedFolder): New
method.
(StorageListener::notifySharedFolderDiscovered): New method.

* e-shell-view-menu.c (command_open_other_users_folder): New,
implementation for the FileOpenOtherUsersFolder verb.

* Makefile.am: Generate stubs and skels for
Evolution::Addressbook::SelectNames as well.

* glade/e-shell-shared-folder-picker-dialog.glade: New.

svn path=/trunk/; revision=16746
2002-05-10 16:54:23 +00:00
d325e6d453 Pass %FALSE as @has_shared_folders to evolution_storage_new().
* e-local-storage.c (construct): Pass %FALSE as
@has_shared_folders to evolution_storage_new().

* evolution-storage.c: New member has_shared_folders in
EvolutionStoragePrivate.
(init): Initialize to FALSE.
(evolution_storage_new): New arg @has_shared_folders.
(evolution_storage_construct): Likewise.
(impl_Storage__get_folderList): Renamed from
impl_Storage__get_folder_list.
(impl_Storage__get_hasSharedFolders): New, implementation for
::hasSharedFolders.
(evolution_storage_get_epv): Install the CORBA method
implementation.

* Evolution-Storage.idl: Make Storage::name a readonly attribute.  New attribute Storage::

* component-factory.c (add_storage): Pass %FALSE as
@has_shared_folders to evolution_storage_new().

* gui/component/addressbook-storage.c
(addressbook_get_other_contact_storage): Pass %FALSE as
@has_shared_folders to evolution_storage_new().

svn path=/trunk/; revision=16733
2002-05-09 16:10:50 +00:00
86b700d089 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
2002-03-14 22:22:35 +00:00
7065f6dba3 Make storages-with-toplevel-views less of a hack.
* e-folder-tree.c (e_folder_tree_add): Allow the caller to "add" a
	root folder, if the existing root folder has no children.
	(e_folder_tree_new): Use e_folder_tree_add to create the root
	folder, since it can do that now.

	* e-storage.c: (e_storage_construct): Replace toplevel_node_uri
	and toplevel_node_type args with root_folder.
	(e_storage_new): Likewise.
	(*): Remove toplevel uri/type stuff everywhere. Also remove
	display_name since now we will use the name of the root folder for
	that.

	* evolution-storage.c: Remove toplevel uri/type stuff everywhere.

	* e-local-storage.c (construct): Pass root_folder to
	e_storage_construct instead of toplevel uri/type.
	Also, evolution_storage_new no longer takes toplevel uri/type.

	* e-corba-storage.c (e_corba_storage_construct): Out with toplevel
	uri/type, in with root_folder.
	(e_corba_storage_new): Remove toplevel uri/type.

	* e-shell.c (setup_local_storage): Create a top-level folder of
	type "summary" for the Summary storage.

	* e-storage-set-view.c (set_e_shortcut_selection): Remove
	special-case for storages.
	(etree_icon_at): Remove special case for figuring out storage
	icons (but leave the code that makes the icon disappear once the
	storage is opened).
	(etree_value_at): Remove special case for storage names. (But
	still make storages always bold.) Remove unused special-case code
	for Summary.

	* e-shortcuts.c (load_shortcuts): Remove special case for
	storages, reorganize a bit.

	* e-shortcuts-view.c (get_shortcut_info): Remove special case for
	storages.

	* e-shell-view.c (update_for_current_uri): Remove special case for
	storages.
	(socket_destroy_cb): Likewise.
	(get_type_for_storage): No longer needed.
	(get_view_for_uri): No longer needs to special-case storages (but
	add a special case for folders of type "noselect", to make them
	unselectable like storages-without-toplevel-views used to be).

	* e-storage-set.c (get_storage_for_path): If passed "/foo", return
	"/" as subpath_return so e_storage_set_get_folder will DTRT in the
	NWO.

	* Evolution-Storage.idl (addStorage): Remove the toplevel_node_uri
	and toplevel_node_type arguments.

	* e-corba-storage-registry.c (impl_StorageRegistry_addStorage):
	Likewise.

svn path=/trunk/; revision=15965
2002-03-07 18:26:57 +00:00
a40ab7c842 Fix the license text to make sense.
svn path=/trunk/; revision=14192
2001-10-27 01:09:28 +00:00
067aaf149e Update the licensing information to require version 2 of the GPL
explicitly.

svn path=/trunk/; revision=14186
2001-10-26 23:53:35 +00:00
a8dc6d1f7c Implement. (class_init): Add the signal "xfer_folder" signal.
* evolution-storage.c (impl_Storage_async_xfer_folder): Implement.
(class_init): Add the signal "xfer_folder" signal.

* evolution-storage.h: New signal "xfer_folder".

svn path=/trunk/; revision=14177
2001-10-26 22:41:11 +00:00
1a4d87b9d7 Remove "display_name" arg from update methods. It was only there to do the
* Evolution-Storage.idl: Remove "display_name" arg from update
	methods. It was only there to do the "Inbox (5)" hack, which is
	supported directly now.

	* evolution-storage.c (impl_Storage_updateFolder): no longer takes
	display_name.
	(evolution_storage_update_folder,
	evolution_storage_update_folder_by_uri): Likewise.
	(class_init): Update signal signature.

	* evolution-storage-listener.c
	(impl_GNOME_Evolution_StorageListener_notifyFolderUpdated): No
	longer takes display_name, but make it pass the unread_count along
	in the signal it emits.
	(class_init): Update signal signature.

	* e-local-storage.c (bonobo_interface_update_folder_cb):
	* e-corba-storage.c (impl_StorageListener_notifyFolderUpdated): No
	longer take display_name.

svn path=/trunk/; revision=13587
2001-10-11 18:53:41 +00:00
38353e7c03 change to match create_folder. (e_marshal_NONE__POINTER_POINTER_POINTER):
2001-09-06  Chris Toshok  <toshok@ximian.com>

	* evolution-storage.c (impl_Storage_async_remove_folder): change
	to match create_folder.
	(e_marshal_NONE__POINTER_POINTER_POINTER): new marshaller for
	remove_folder.
	(class_init): make sure to use the right marshaller for
	create/remove_folder.

	* evolution-storage.h: change the signature of both the
	create_folder and remove_folder signals to be more in line with
	what's in evolution-storage.c.  They both take a Bonobo_Listener
	which the signal func notifies, instead of synchronously returning
	the result.

svn path=/trunk/; revision=12667
2001-09-07 01:58:00 +00:00
385ba85d42 [Removing Evolution::LocalStorage interface, abstracting the unread counts
2001-08-03  Jason Leach  <jleach@ximian.com>

        [Removing Evolution::LocalStorage interface, abstracting the
        unread counts from a folder's name, also abstract unread counts
        from a shortcut's name.  Fixes #4489 and #5497]

        * e-shortcuts.c (shortcut_item_new): Take an unread_count argument
        now.
        (shortcut_item_update): Ditto.

        * e-shortcuts-view-model.c (get_name_with_unread): Get a string
        containing a shortcut name and it's unread, because these are
        abstracted now.
        (load_group_into_model): Use the above function to make shortcuts
        that have unread counts.

        * e-storage-set-view.c (update_folder_with_unread_hash): Keep a
        hash of folder names with unread counts, because the folder name
        and it's unread count are to be separated, only the ETree is
        supposed to present it as one string.

        * e-shell-view.c: Renamed EShellView::view_title_bar to
        folder_title_bar, to closer match the

        * e-shell-view-menu.c (new_shortcut_dialog_folder_selected_cb):
        Make a shortcut with the unread count.

        * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
        Make a shortcut with the unread count.

        * e-local-storage.c: Updated for API changes.

        * e-folder.c (e_folder_get_unread_count): New function, does what
        it says.
        (e_folder_set_unread_count): Ditto.

        * e-corba-storage.c (impl_StorageListener_new_folder): Renamed to
        match the IDL function name.
        (impl_StorageListener_update_folder): Ditto.
        (impl_StorageListener_removed_folder): Ditto.

        * Evolution-Storage.idl (struct Folder): Replace the boolean
        highlighted with a long unread_count.
        (updateFolder): Brought in from the now dead
        Evolution::LocalStorage.

        * Evolution-Shell.idl (getLocalStorage): Return a Storage instead
        of a LocalStorage.

        * Evolution-LocalStorage.idl: Removed, no longer needed, only used
        function, updateFolder, has been moved into Evolution::Storage
        interface.

        * evolution-local-storage.[ch]: Ditto.

        * evolution-storage.c (impl_Storage_updateFolder): Implementation
        of the updateFolder taken from ::LocalStorage.
        (class_init): New "update_folder" signal, taken from
        evolution-local-storage.c too.
        (evolution_storage_update_folder): Take an @unread_count int
        instead of a @highlighted boolean.
        (evolution_storage_new_folder): Same for here.
        (evolution_storage_update_folder_by_uri): And here.

        * evolution-storage-listener.h: "update_folder" signal no longer
        sends a @highlighted boolean.

2001-08-03  Jason Leach  <jleach@ximian.com>

        * e-shell-view-menu.c (update_offline_menu_item): Use Jakub's new
        "Work Online" icon and fix a typo.

svn path=/trunk/; revision=11633
2001-08-03 23:08:38 +00:00
91cc026904 Update the copyrights, replacing Helix Code with Ximian and
helixcode.com with ximian.com all over the place.

svn path=/trunk/; revision=10440
2001-06-23 08:52:02 +00:00
09b9a3a4da Fix bug #3409: Removing an EvolutionStorage from the shell's folder
tree.

svn path=/trunk/; revision=10362
2001-06-21 16:03:26 +00:00
65464a8165 #include <glib.h> and move corresponding local includes to the top.
2001-04-25  Kjartan Maraas  <kmaraas@gnome.org>

	* e-component-register.c, e-corba-storage.c, e-folder-tree.c,
	e-folder-tree.h, e-folder.c, e-local-folder.c, e-shell.c,
	e-shortcuts-view-model.c, e-shortcuts.c, e-splash.c,
	e-storage-set-view.c, e-storage-set.c, evolution-local-storage.c,
	evolution-shell-component-client.c, evolution-shell-component.c,
	evolution-storage.[ch], importer/evolution-importer-client.[ch],
	importer/evolution-importer-listener.[ch],
	importer/evolution-importer.[ch],
	importer/evolution-intelligent-importer.[ch], importer/intelligent.c:
	#include <glib.h> and move corresponding local includes to the top.

svn path=/trunk/; revision=9556
2001-04-25 07:55:21 +00:00
3245f9dacf add asyncCreateFolder and asyncRemoveFolder interfaces. (Use
* Evolution-Storage.idl: add asyncCreateFolder and
	asyncRemoveFolder interfaces. (Use Bonobo::Listener rather than
	creating a new listener interface.)

	* Evolution-LocalStorage.idl: Remove the
	Evolution::LocalStorageOpsListener interface, which wasn't being
	used.

	* evolution-storage.c (impl_Storage_async_create_folder,
	impl_Storage_async_remove_folder): implement by emitting signals
	on the EvolutionStorage object. Convert from
	EvolutionStorageResult to GNOME_Evolution_Storage_Result (blah!)
	(class_init): Set up the new "create_folder" and "remove_folder"
	signals.

	* e-corba-storage.c (async_create_folder, async_remove_folder):
	Implement, using the new Evolution::Storage IDL. Convert from
	GNOME_Evolution_Storage_Result to EStorageResult (blah!)

	* e-storage-set.c (e_storage_set_async_create_folder): Don't allow
	a NULL description (since it doesn't allow a NULL anythign else).

	* e-shell-folder-creation-dialog.c (dialog_clicked_cb): Pass ""
	rather than NULL for the description.

svn path=/trunk/; revision=8230
2001-02-14 21:50:48 +00:00
f7926820ed Remove <config.h> #includes from the `.h' files, which is known to be,
um, a wrong thing to do.

svn path=/trunk/; revision=7983
2001-02-05 20:45:36 +00:00
ad68d3656f New function. Obvious.
* evolution-storage.c (evolution_storage_folder_exists): New
	function. Obvious.

svn path=/trunk/; revision=7654
2001-01-19 21:13:25 +00:00
f9f6c39872 New function to update a folder given its URI. Plus associated changes to
* evolution-storage.c (evolution_storage_update_folder_by_uri):
	New function to update a folder given its URI. Plus associated
	changes to other functions to keep track of the path<->URI
	mappings.

svn path=/trunk/; revision=7248
2001-01-04 17:02:57 +00:00
a66eae1674 Complete the code to associate a URI and a folder type to the toplevel
node in a storage.  It sucks a bit and needs a little more
refactoring.

svn path=/trunk/; revision=6878
2000-12-09 00:55:57 +00:00
9c28295de3 Start implementing a physical URI property for the toplevel nodes in
storages.  Also add initial code in the shell to handle that.

svn path=/trunk/; revision=6787
2000-12-05 01:08:18 +00:00
3d3cfc1137 A very, long, very tedious IDL API rename and re-scoping;
this script + some grunt approximates the work:

    s/Evolution_MessageList/GNOME_Evolution_MessageList/g;
    s/GNOME_Evolution_MessageList_select_message/GNOME_Evolution_MessageList_selectMessage/g;
    s/GNOME_Evolution_MessageList_open_message/GNOME_Evolution_MessageList_openMessage/g;

    s/Evolution_Folder([ \t])/GNOME_Evolution_Folder$1/g;
    s/Evolution_FolderTypeList/GNOME_Evolution_FolderTypeList/g;
    s/Evolution_FolderBrowser/GNOME_Evolution_FolderBrowser/g;
    s/GNOME_Evolution_FolderBrowser_get_message_list/GNOME_Evolution_FolderBrowser_getMessageList/g;

    s/Evolution_LocalStorage/GNOME_Evolution_LocalStorage/g;
    s/GNOME_Evolution_LocalStorage_update_folder/GNOME_Evolution_LocalStorage_updateFolder/g;

    s/Evolution_ShellView/GNOME_Evolution_ShellView/g;
    s/GNOME_Evolution_ShellView_set_message/GNOME_Evolution_ShellView_setMessage/g;
    s/GNOME_Evolution_ShellView_unset_message/GNOME_Evolution_ShellView_unsetMessage/g;
    s/GNOME_Evolution_ShellView_change_current_view/GNOME_Evolution_ShellView_changeCurrentView/g;

    s/Evolution_StorageSetViewListener/GNOME_Evolution_StorageSetViewListener/g;
    s/GNOME_Evolution_StorageSetViewListener_folder_selected/GNOME_Evolution_StorageSetViewListener_notifyFolderSelected/g;
    s/GNOME_Evolution_StorageSetViewListener_storage_selected/GNOME_Evolution_StorageSetViewListener_notifyStorageSelected/g;

    s/Evolution_StorageSetView/GNOME_Evolution_StorageSetView/g;
    s/GNOME_Evolution_StorageSetView_add_listener/GNOME_Evolution_StorageSetView_addListener/g;
    s/GNOME_Evolution_StorageSetView_remove_listener/GNOME_Evolution_StorageSetView_removeListener/g;

    s/Evolution_Shell/GNOME_Evolution_Shell/g;
    s/GNOME_Evolution_Shell_get_component_for_type/GNOME_Evolution_Shell_getComponentByType/g;
    s/GNOME_Evolution_Shell_user_select_folder/GNOME_Evolution_Shell_selectUserFolder/g;
    s/GNOME_Evolution_Shell_get_local_storage/GNOME_Evolution_Shell_getLocalStorage/g;
    s/GNOME_Evolution_Shell_create_storage_set_view/GNOME_Evolution_Shell_createStorageSetView/g;

    s/Evolution_FolderSelectionListener/GNOME_Evolution_FolderSelectionListener/g;
    s/GNOME_Evolution_FolderSelectionListener_selected/GNOME_Evolution_FolderSelectionListener_notifySelected/g;
    s/GNOME_Evolution_FolderSelectionListener_cancel/GNOME_Evolution_FolderSelectionListener_notifyCanceled/g;

    s/Evolution_Storage/GNOME_Evolution_Storage/g;
    s/GNOME_Evolution_Storage_add_listener/GNOME_Evolution_Storage_addListener/g;
    s/GNOME_Evolution_Storage_remove_listener/GNOME_Evolution_Storage_removeListener/g;

    s/GNOME_Evolution_StorageListener_destroyed/GNOME_Evolution_StorageListener_notifyDestroyed/g;
    s/GNOME_Evolution_StorageListener_new_folder/GNOME_Evolution_StorageListener_notifyFolderCreated/g;
    s/GNOME_Evolution_StorageListener_update_folder/GNOME_Evolution_StorageListener_notifyFolderUpdated/g;
    s/GNOME_Evolution_StorageListener_removed_folder/GNOME_Evolution_StorageListener_notifyFolderRemoved/g;

    s/GNOME_Evolution_StorageRegistry_register_storage/GNOME_Evolution_StorageRegistry_addStorage/g;
    s/GNOME_Evolution_StorageRegistry_unregister_storage/GNOME_Evolution_StorageRegistry_removeStorageByName/g;

    s/Evolution_ShellComponent/GNOME_Evolution_ShellComponent/g;
    s/GNOME_Evolution_ShellComponent_set_owner/GNOME_Evolution_ShellComponent_setOwner/g;
    s/GNOME_Evolution_ShellComponent_unset_owner/GNOME_Evolution_ShellComponent_unsetOwner/g;
    s/GNOME_Evolution_ShellComponent_create_view/GNOME_Evolution_ShellComponent_createView/g;
    s/GNOME_Evolution_ShellComponent_async_create_folder/GNOME_Evolution_ShellComponent_addFolderAsync/g;
    s/GNOME_Evolution_ShellComponent_async_remove_folder/GNOME_Evolution_ShellComponent_removeFolderAsync/g;
    s/GNOME_Evolution_ShellComponent_populate_folder_context_menu/GNOME_Evolution_ShellComponent_populateFolderContextMenu/g;

    s/GNOME_Evolution_ShellComponentListener_report_result/GNOME_Evolution_ShellComponentListener_notifyResult/g;

    s/Evolution_Session/GNOME_Evolution_Session/g;
    s/GNOME_Evolution_Session_save_configuration/GNOME_Evolution_Session_saveConfiguration/g;
    s/GNOME_Evolution_Session_load_configuration/GNOME_Evolution_Session_loadConfiguration/g;

    s/Evolution_Calendar_Cal/GNOME_Evolution_Calendar_Cal/g;
    s/GNOME_Evolution_Calendar_Cal_get_n_objects/GNOME_Evolution_Calendar_Cal_countObjects/g;
    s/GNOME_Evolution_Calendar_Cal_get_object/GNOME_Evolution_Calendar_Cal_getObject/g;
    s/GNOME_Evolution_Calendar_Cal_get_uids/GNOME_Evolution_Calendar_Cal_getUIds/g;
    s/GNOME_Evolution_Calendar_Cal_get_changed_uids/GNOME_Evolution_Calendar_Cal_getChangedUIds/g;
    s/GNOME_Evolution_Calendar_Cal_get_objects_in_range/GNOME_Evolution_Calendar_Cal_getObjectsInRange/g;
    s/GNOME_Evolution_Calendar_Cal_get_alarms_in_range/GNOME_Evolution_Calendar_Cal_getAlarmsInRange/g;
    s/GNOME_Evolution_Calendar_Cal_get_alarms_for_object/GNOME_Evolution_Calendar_Cal_getAlarmsForObject/g;
    s/GNOME_Evolution_Calendar_Cal_update_object/GNOME_Evolution_Calendar_Cal_updateObject/g;
    s/GNOME_Evolution_Calendar_Cal_remove_object/GNOME_Evolution_Calendar_Cal_removeObject/g;

    s/Evolution_Calendar_Listener/GNOME_Evolution_Calendar_Listener/g;
    s/GNOME_Evolution_Calendar_Listener_cal_loaded/GNOME_Evolution_Calendar_Listener_notifyCalLoaded/g;
    s/GNOME_Evolution_Calendar_Listener_obj_updated/GNOME_Evolution_Calendar_Listener_notifyObjUpdated/g;
    s/GNOME_Evolution_Calendar_Listener_obj_removed/GNOME_Evolution_Calendar_Listener_notifyObjRemoved/g;

    s/Evolution_Calendar_CalFactory/GNOME_Evolution_Calendar_CalFactory/g;
    s/GNOME_Evolution_Calendar_CalFactory_load/GNOME_Evolution_Calendar_CalFactory_load/g;
    s/GNOME_Evolution_Calendar_CalFactory_create/GNOME_Evolution_Calendar_CalFactory_create/g;

    s/Evolution_Composer/GNOME_Evolution_Composer/g;
    s/GNOME_Evolution_Composer_set_headers/GNOME_Evolution_Composer_setHeaders/g;
    s/GNOME_Evolution_Composer_set_body_text/GNOME_Evolution_Composer_setBodyText/g;
    s/GNOME_Evolution_Composer_attach_MIME/GNOME_Evolution_Composer_attachMIME/g;
    s/GNOME_Evolution_Composer_attach_data/GNOME_Evolution_Composer_attachData/g;
    s/GNOME_Evolution_Composer_show/GNOME_Evolution_Composer_show/g;

    s/Evolution_Addressbook_SelectNames/GNOME_Evolution_Addressbook_SelectNames/g;
    s/GNOME_Evolution_Addressbook_SelectNames_add_section/GNOME_Evolution_Addressbook_SelectNames_addSection/g;
    s/GNOME_Evolution_Addressbook_SelectNames_get_entry_for_section/GNOME_Evolution_Addressbook_SelectNames_getEntryBySection/g;
    s/GNOME_Evolution_Addressbook_SelectNames_activate_dialog/GNOME_Evolution_Addressbook_SelectNames_activateDialog/g;

    s/Evolution_CardCursor/GNOME_Evolution_Addressbook_CardCursor/g;
    s/GNOME_Evolution_Addressbook_CardCursor_get_length/GNOME_Evolution_Addressbook_CardCursor_getLength/g;
    s/GNOME_Evolution_Addressbook_CardCursor_get_nth/GNOME_Evolution_Addressbook_CardCursor_getNth/g;

    s/Evolution_BookViewListener/GNOME_Evolution_Addressbook_BookViewListener/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_added/GNOME_Evolution_Addressbook_BookViewListener_notifyCardAdded/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_removed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardRemoved/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_changed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardChanged/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_sequence_complete/GNOME_Evolution_Addressbook_BookViewListener_notifySequenceComplete/g;
    s/GNOME_Evolution_Addressbook_BookViewListener_signal_status_message/GNOME_Evolution_Addressbook_BookViewListener_notifyStatusMessage/g;

    s/Evolution_BookView/GNOME_Evolution_Addressbook_BookView/g;

    s/Evolution_Book/GNOME_Evolution_Addressbook_Book/g;
    s/GNOME_Evolution_Addressbook_Book_get_vcard/GNOME_Evolution_Addressbook_Book_getVCard/g;
    s/GNOME_Evolution_Addressbook_Book_can_write/GNOME_Evolution_Addressbook_Book_isWriteable/g;
    s/GNOME_Evolution_Addressbook_Book_can_write_card/GNOME_Evolution_Addressbook_Book_isCardWriteable/g;
    s/GNOME_Evolution_Addressbook_Book_create_card/GNOME_Evolution_Addressbook_Book_addCard/g;
    s/GNOME_Evolution_Addressbook_Book_remove_card/GNOME_Evolution_Addressbook_Book_removeCard/g;
    s/GNOME_Evolution_Addressbook_Book_modify_card/GNOME_Evolution_Addressbook_Book_modifyCard/g;
    s/GNOME_Evolution_Addressbook_Book_get_cursor/GNOME_Evolution_Addressbook_Book_getCursor/g;
    s/GNOME_Evolution_Addressbook_Book_get_book_view/GNOME_Evolution_Addressbook_Book_getBookView/g;
    s/GNOME_Evolution_Addressbook_Book_get_changes/GNOME_Evolution_Addressbook_Book_getChanges/g;
    s/GNOME_Evolution_Addressbook_Book_check_connection/GNOME_Evolution_Addressbook_Book_checkConnection/g;
    s/GNOME_Evolution_Addressbook_Book_get_static_capabilities/GNOME_Evolution_Addressbook_Book_getStaticCapabilities/g;
    s/GNOME_Evolution_Addressbook_Book_get_name/GNOME_Evolution_Addressbook_Book_getName/g;

    s/Evolution_BookListener/GNOME_Evolution_Addressbook_BookListener/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_create_card/GNOME_Evolution_Addressbook_BookListener_notifyCardCreated/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_remove_card/GNOME_Evolution_Addressbook_BookListener_notifyCardRemoved/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_modify_card/GNOME_Evolution_Addressbook_BookListener_notifyCardModified/g;
    s/GNOME_Evolution_Addressbook_BookListener_report_open_book_progress/GNOME_Evolution_Addressbook_BookListener_notifyOpenBookProgress/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_open_book/GNOME_Evolution_Addressbook_BookListener_notifyBookOpened/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_get_cursor/GNOME_Evolution_Addressbook_BookListener_notifyCursorRequested/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_get_view/GNOME_Evolution_Addressbook_BookListener_notifyViewRequested/g;
    s/GNOME_Evolution_Addressbook_BookListener_respond_get_changes/GNOME_Evolution_Addressbook_BookListener_notifyChangesRequested/g;
    s/GNOME_Evolution_Addressbook_BookListener_report_connection_status/GNOME_Evolution_Addressbook_BookListener_notifyConnectionStatus/g;

    s/Evolution_BookFactory/GNOME_Evolution_Addressbook_BookFactory/g;
    s/GNOME_Evolution_Addressbook_BookFactory_open_book/GNOME_Evolution_Addressbook_BookFactory_openBook/g;

    s/Evolution_SummaryComponent/GNOME_Evolution_Summary_Component/g;
    s/GNOME_Evolution_Summary_SummaryComponent_set_owner/GNOME_Evolution_Summary_Component_setOwner/g;
    s/GNOME_Evolution_Summary_SummaryComponent_unset_owner/GNOME_Evolution_Summary_Component_unsetOwner/g;
    s/GNOME_Evolution_Summary_SummaryComponent_create_view/GNOME_Evolution_Summary_Component_createView/g;
    s/GNOME_Evolution_Summary_SummaryComponent_destroy_view/GNOME_Evolution_Summary_Component_destroyView/g;

    s/Evolution_Summary([ \t])/GNOME_Evolution_Summary_ViewFrame$1/g;
    s/Evolution_Summary_set_title/GNOME_Evolution_Summary_ViewFrame_setTitle/g;
    s/Evolution_Summary_set_icon/GNOME_Evolution_Summary_ViewFrame_setIcon/g;
    s/Evolution_Summary_update_component/GNOME_Evolution_Summary_ViewFrame_updateComponent/g;

    s/GNOME_GNOME/GNOME/g;
    s/GNOME_GNOME/GNOME/g;
    s/GNOME_GNOME/GNOME/g;

svn path=/trunk/; revision=6535
2000-11-10 20:41:13 +00:00
f99dfd474c Make this take "highlighted" as well.
* evolution-storage.c (evolution_storage_new_folder): Make this
	take "highlighted" as well.

	* e-local-storage.c (new_folder):
	* e-corba-storage.c (impl_StorageListener_new_folder): set
	highlighted on the new folder.

	* e-storage-set-view.c (updated_folder_cb): Remove an unused
	variable.

svn path=/trunk/; revision=6338
2000-11-02 03:46:15 +00:00
0fa29927fc Add "highligted" field to Folder. Add update_folder method to
* 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
2000-11-02 00:11:53 +00:00
aa20072666 Added new interfaces to be exposed by the local storage, so that
components can get a list of all the folders and specify the display
name for them.  (Unfinished and untested.)

svn path=/trunk/; revision=5256
2000-09-08 08:34:35 +00:00
26112575da Changed `Evolution::Storage' so that the displayed name for a folder
is decoupled from its path, and updated all the components
accordingly.

svn path=/trunk/; revision=5159
2000-09-01 06:09:29 +00:00
e7255c4c78 Add missing #include "Evolution.h".
svn path=/trunk/; revision=3313
2000-05-31 18:37:46 +00:00
47ab2202ba Made the storage view update at changes in the storage, and
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
2000-05-26 14:49:12 +00:00