Commit Graph

24 Commits

Author SHA1 Message Date
11213eb9c8 new boolean flag.
* e-folder.c (e_folder_get_has_subfolders,
        e_folder_set_has_subfolders): new boolean flag.

        * e-storage.c (EStoragePrivate, impl_finalize, init): Remove the
        pseudofolders hash
        (e_storage_async_open_folder): Replace the pseudofolders test with
        a test of whether the folder has the "has_subfolders" flag set.
        (e_storage_new_folder): Likewise (for the folder's parent).
        (e_storage_declare_has_subfolders): Set "has_subfolders" on the
        folder.
        (e_storage_get_has_subfolders): Check "has_subfolders" on the
        folder.
        Should fix #33919.

svn path=/trunk/; revision=20845
2003-04-15 17:09:32 +00:00
e774bd7f2d [Fix #28451.]
* e-storage-set-view.c: New member sort_idle_id in
EStorageSetViewPrivate.
(init): Init to zero.
(impl_destroy): Remove the idle source if not zero.
(queue_resort): New.
(sort_idle_callback): Idle function to sort.
(setup_folder_changed_callback): New.
(new_folder_cb): Call it on the new folder so we get the callback
for new folders too.
(popup_folder_menu): Ref the folder before popping up the menu,
unref it after popping it down [the folder might be unreffed in
gnome_popup_menu_do_popup_modal() because of a folder action].
(new_storage_cb): Just queue_resort() instead of sorting.
(new_folder_cb): Likewise.
(insert_folders): Likewise.
(insert_storages): Likewise.
(folder_changed_cb): Queue a resort here too.

* e-folder.c (class_init): Set up "name_changed" signal.
(e_folder_set_name): Emit "name_changed".

* e-folder.h: New signal "name_changed".

svn path=/trunk/; revision=18093
2002-09-17 19:27:04 +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
779e0f5058 Call e_icon_factory_init().
* main.c (main): Call e_icon_factory_init().

* e-local-storage.c (setup_folder_as_stock): New arg @icon_name;
if not NULL, set up a custom icon for the folder.
(setup_stock_folders): Set up custom icons for inbox and outbox.

* e-storage-set-view.c (get_pixbuf_for_folder): If the folder has
a custom icon, return the custom icon.

* e-folder.c: New member custom_icon_name.
(init): Initialize to NULL.
(destroy): Free.
(e_folder_get_custom_icon): New.
(e_folder_set_custom_icon): New.

svn path=/trunk/; revision=17391
2002-07-09 17:06:19 +00:00
3682e0ef1f Remove exception. (cancelSyncFolder): Remove exception.
* Evolution-Offline.idl (syncFolder): Remove exception.
(cancelSyncFolder): Remove exception.

* e-shell-config-offline.c (storage_set_view_has_checkbox_func):
New.
(e_shell_config_offline_create_control): Pass it as the
@has_checkbox_func.

* e-folder.c: New member can_sync_offline in EFolderPrivate.
(init): Init to FALSE.
(e_folder_get_can_sync_offline): New.
(e_folder_to_corba): Set canSyncOffline in the returned CORBA
folder.
(e_folder_set_physical_uri): Protect from when @physical_uri and
->physical_uri are the same thing.
(e_folder_set_description): Same here with description.
(e_folder_set_type_string): And type.

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

svn path=/trunk/; revision=16946
2002-05-20 18:38:10 +00:00
ee4d8e5cb0 Put the EStorageSetView in an EScrollFrame.
* evolution-storage-set-view-factory.c
(evolution_storage_set_view_factory_new_view): Put the
EStorageSetView in an EScrollFrame.

* e-shell.c (impl_Shell_createStorageSetView):
CORBA_Object_duplicate the object before returning.

* evolution-test-component.c
(create_new_folder_selector): New function to create a simple test
environment for the new checkbox-enabled StorageSetView.
(register_component): Add user-creatable type FolderSelector.
(user_create_new_item_callback): Handle FolderSelector.
(dialog_clicked_callback): Print out the checked items in the
folder selector.
(main): Print out a message before going into bonobo_main().

* evolution-storage-set-view.c
(impl_StorageSetView__get_showFolders): Renamed from
impl_StorageSetView__get_show_folders.
(impl_StorageSetView__set_showFolders): Renamed from
impl_StorageSetView__set_show_folders.
(impl_StorageSetView__set_showCheckboxes): New, write the
showCheckboxes CORBA attribute.
(impl_StorageSetView__get_showCheckboxes): New, read the
showCheckboxes CORBA attribute.
(impl_StorageSetView__get_checkedFolders): New, read the
checkedFolders CORBA attribute.
(corba_class_init): Install the new CORBA methods methods.

* e-storage-set-view.c (essv_add_to_list): strdup() the path.
(e_storage_set_view_get_storage_set): New.

* e-folder.c (e_folder_to_corba): New.

* Evolution-StorageSetView.idl: Add showCheckboxes and
checkedFolders attributes.

* Evolution-common.idl: Add typedef for FolderList.

svn path=/trunk/; revision=16704
2002-05-07 16:57:45 +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
51f77f649b [Finally! Fix #413, "Support for stock folders", and #786, "i18n:
default folder names are not translated".]

* e-local-storage.c (setup_folder_as_stock): New helper function.
(setup_stock_folders): Use it to set the default folders as
"stock" folders.  This will give them a translated name and also
make them unmodifiable.
(load_all_folders): Call `setup_stock_folders()' here.

* e-shell-folder-commands.c (delete_cb): Display an error dialog
if the deletion fails.
(e_shell_command_delete_folder): Pass the shell view to the delete
callback.

* e-storage.c (e_storage_result_to_string): Add a string for
`E_STORAGE_CANTCHANGESTOCKFOLDER' as well.

* e-local-storage.c (remove_folder): Don't allow a stock folder to
be removed.
(impl_async_xfer_folder): Don't allow a stock folder to be moved.

* e-corba-storage.c (async_remove_folder): Don't allow a stock
folder to be removed.

* e-storage.h: New enum value `E_STORAGE_CANTCHANGESTOCKFOLDER' in
`EStorageResult'.

* e-folder.c: Make member `self_highlight' a :1 int.  New :1 int
member `is_stock'.
(init): Init `is_stock' to %FALSE.
(e_folder_set_is_stock): New.
(e_folder_get_is_stock): New.

* e-local-storage.c (bonobo_interface_update_folder_cb): For now,
don't set the display name.

svn path=/trunk/; revision=11931
2001-08-12 14:00:02 +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
33041e67fc split "highlighted" into self_highlight and child_highligh.
* e-folder.c (_EFolderPrivate): split "highlighted" into
	self_highlight and child_highligh.
	(e_folder_get_highlighted): Return TRUE if either self_highlight
	is true or any child is highlighted.
	(e_folder_set_child_highlight): New function to tell the folder
	about a child highlight change.

	* e-storage.c (folder_changed_cb): Update child highlights
	correctly on folders so that folders will be highlighted whenever
	their children are.

svn path=/trunk/; revision=8311
2001-02-21 01:42:12 +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
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
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
725d0a088d Big shell reorganization.
svn path=/trunk/; revision=2848
2000-05-07 01:57:49 +00:00
fac254ed25 Removing more cruft.
svn path=/trunk/; revision=2766
2000-05-03 01:07:55 +00:00
d37d28ddf2 Get rid of crufty `e-service' modules.
svn path=/trunk/; revision=2764
2000-05-03 00:05:06 +00:00
7e4f187a10 Update for shortcut bar changes.
* shell/e-shortcut.c (e_shortcut_bar_view_new, shell_icon_cb):
	Update for shortcut bar changes.

	* shell/e-folder.h: add E_FOLDER_SUMMARY
	* shell/e-shell.c (e_shell_setup_default_folders): make the
	"Today" icon be of type E_FOLDER_SUMMARY, not E_FOLDER_MAIL.

svn path=/trunk/; revision=2269
2000-03-31 18:34:59 +00:00
4ec9945f05 added the get_e_folder_type function.
2000-03-12  bertrand  <bertrand@helixcode.com>

	* shell/e-folder.c (e_folder_get_folder_type): added the
	get_e_folder_type function.

2000-03-12  bertrand  <bertrand@helixcode.com>

	* folder-browser.h: added a reference to an
	Evolution::Shell object.

	* folder-browser-factory.c (folder_browser_set_shell):
	(folder_browser_control_add_service_repository_interface):
	(folder_browser_factory): the folder-browser control now
	implements the Evolution/ServiceRepository interface.

Sync for matt

svn path=/trunk/; revision=2108
2000-03-13 00:10:21 +00:00
5adb1dedf6 Implementation of the service repository interface as a bonobo object.
2000-03-12  bertrand  <bertrand@helixcode.com>

	* shell/evolution-service-repository.c:
	* shell/evolution-service-repository.h:
	Implementation of the service repository interface
	as a bonobo object.

	* shell/evolution-service-repository.idl:
	new file. Contains the definition for the service
	repository interface.

	* shell/Shell.idl: move the shell related stuff
	here

svn path=/trunk/; revision=2103
2000-03-12 15:17:01 +00:00
f669ff481f add a field refering to a service associated to the efolder. In the case
2000-03-12  bertrand  <bertrand@helixcode.com>

	* shell/e-folder.h: add a field refering to a
	service associated to the efolder. In the case of
	distant folders, it is generally a server.

	* shell/e-service.c: New class. Models a service.
	A service is an object with an URI and a root folder.
	It genreally reporesents a distant folder.
	A service is generally a ressource shared amongst
	several folders.
	* shell/e-service.h:


2000-03-10  bertrand  <bertrand@helixcode.com>

	* camel-service.h: cosmetic changes.

svn path=/trunk/; revision=2100
2000-03-12 05:09:43 +00:00
3c49032de4 Use e_bar_set_item_data.
2000-01-10  Miguel de Icaza  <miguel@gnu.org>

	* widgets/shortcut-bar/e-shortcut-bar.c (e_shortcut_bar_add_item):
	Use e_bar_set_item_data.

	Drop item_url;  Require image argument;  Require user data
	argument.

2000-01-09  Miguel de Icaza  <miguel@gnu.org>

	* widgets/shortcut-bar/e-icon-bar.c (e_icon_bar_init): Turn on anti-aliasing.

svn path=/trunk/; revision=1573
2000-01-15 20:08:30 +00:00
89db309e06 More work. Before the shortcut changes -mig
svn path=/trunk/; revision=1545
2000-01-09 05:21:37 +00:00