2000-11-25  Federico Mena Quintero  <federico@helixcode.com>

	* e-setup.c (check_dir_recur): Plug leaks of the fullname and
	fulldefaultname.
	(check_evolution_directory): Plug leaks of defaultdir and newfiles
	and the list's data; made the code have a single return point.

	* e-shell.c (e_shell_restore_from_settings): Plug leak of prefix.
	(corba_class_init): Plug leak; we were not assigning the
	vepv->_base_epv.

	* evolution-storage.c (corba_class_init): Likewise.

	* evolution-local-storage.c (corba_class_init): Likewise.

2000-11-24  Federico Mena Quintero  <federico@helixcode.com>

	* evolution-shell-component.c
	(impl_ShellComponent__get_supported_types): Plug leak; mark the
	CORBA sequence so that it will be released.

2000-11-14  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c (unmerge_on_error): add
	(e_shell_view_construct): hook up to system_exception on
	ui_container.

2000-11-11  Matt Bissiri  <bissiri@eecs.umich.edu>

	* e-shell.c: (setup_components), (save_settings_for_component):
	* evolution-storage.c: (evolution_storage_register_on_shell):
	Update the remaining "IDL:Evolution*" to "IDL:GNOME/Evolution*"
	to sync up with yesterday's IDL re-scoping.

2000-11-06  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c (unrealize): remove.
	(e_shell_view_construct): ditto.

2000-11-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-view.c: Make the panes of the EPaned not shrinkable
	beyond their minimum size.

2000-11-08  Matt Bissiri  <bissiri@eecs.umich.edu>

	* e-shell-folder-selection-dialog.c: Fix typo in a comment.

2000-11-06  Dan Winship  <danw@helixcode.com>

	* e-storage-set-view.c (insert_folders): Pass full_name, not
	folder_name to callback.

2000-11-06  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-view.c (impl_ShellView_change_current_view):
	Constified @uri.
	(impl_ShellView_set_title): Constified @title.

2000-11-06  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c: New member `crash_type_names' in `EShellPrivate'.
	(init): Init to NULL.
	(destroy): Free.
	(e_shell_component_maybe_crashed): New.

2000-11-06  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-component.c (impl_ShellComponent_create_view):
	`CORBA_Object_duplicate()' the return value.

2000-11-06  Kjartan Maraas  <kmaraas@gnome.org>

	* e-setup.c: Added #include <config.h>
	
2000-11-03  Ettore Perazzoli  <ettore@helixcode.com>

	* main.c: New local static variables `evolution_directory',
	`no_splash'.
	(main): Removed local variable `evolution_directory'.  Add a
	`--no-splash' command-line option for setting the value of
	`no_splash'.
	(idle_cb): Use the static `evolution_directory'.  Make the newly
	created shell show the splash or not according to the value of
	`no_splash'.

	* e-shell.c (setup_components): Deal with a NULL @splash
	parameter.
	(e_shell_construct): New arg `show_splash'.  Don't create a splash
	screen if FALSE; instead, pass NULL to `setup_components()' as the
	@splash arg.
	(e_shell_new): New arg `show_splash'.  Pass it to
	`e_shell_construct()'.

2000-11-03  Dan Winship  <danw@helixcode.com>

	* evolution-storage-listener.c (class_init): Fix the name of the
	signal passed to gtk_signal_new so that this actually works.

2000-11-01  Dan Winship  <danw@helixcode.com>

	* 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.

2000-10-26  Iain Holmes  <iain@helixcode.com>

	* Evolution-ShellView.idl: Added a change_current_view method and 
	a set_title.

	* evolution-shell-view.c (class_init): Added signals for the above methods.
	(impl_ShellView_change_current_view), (impl_ShellView_set_title): Implementations
	for above methods.
	(corba_class_init): Connect the implemenations.

	* e-shell-view.c (shell_view_interface_change_current_view): Change
	the display to the new uri.
	(shell_view_interface_set_title): Set the window title.
	(setup_evolution_shell_view_interface): Connect the signals to the above
	functions.

2000-11-01  Dan Winship  <danw@helixcode.com>

	* 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

2000-10-25    <jpr@helixcode.com>

	* e-shortcuts-view-model.c (load_group_into_model): Set folder to NULL to
	kill warning

2000-10-23  Dan Winship  <danw@helixcode.com>

	* Makefile.am (INCLUDES): Update EVOLUTION_LOCALEDIR

2000-10-20  Michael Meeks  <michael@helixcode.com>

	* evolution-shell-component-client.c
	(evolution_shell_component_client_populate_folder_context_menu),
	(evolution_shell_component_client_create_view): update to new UI handler

	* e-shell-view-menu.c (command_create_folder): ditto.

	* e-storage-set-view.c (popup_folder_menu): ditto.

	* evolution-shell-component-client.h: kill ui-compat include.

2000-10-19  Iain Holmes  <iain@helixcode.com>

	*e-shell-view.c (e_shell_view_save_settings): If there is no view
        save the default uri instead.
        (socket_destroy_cb): When a view crashes, change the view to the
        default one.

2000-10-18  Michael Meeks  <michael@helixcode.com>

	* evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu):
	update for new UI handler.

2000-10-18  Iain Holmes  <iain@helixcode.com>

	* e-shell-view.c (start_progress_bar): If the widget is not realized
	don't do anything, to prevent BadGC's at shut down.
	(stop_progress_bar): Don't draw anything if the widget is not realized.
	Same reason.

	* e-shell-folder-selection-dialog.c (dbl_click_cb): Emit the
	folder-selected signal.
	(e_shell_folder_selection_dialog_construct): Connect to the e-table's
	double-click signal.

2000-10-17  Iain Holmes  <iain@helixcode.com>
	
	* e-shell.c (view_deleted_cb): Save the settings before the
	view is destroyed.
	(e_shell_quit): Don't save the settings when there are no views.

2000-10-16  Iain Holmes  <iain@helixcode.com>

	* e-setup.c (check_evolution_directory): Better dialog.

	* e-splash.c (icon_free): Don't unref the canvas item.
	(e_splash_construct): Add a frame round the splash screen.

2000-10-16  Dan Winship  <danw@helixcode.com>

	* evolution-storage-set-view-factory.c
	(evolution_storage_set_view_factory_new_view): Add a typecast.

	* e-storage-set-view.c (popup_folder_menu): Move variable
	declarations into the #if 0 to kill warnings.
	(populate_folder_context_menu_with_common_items,
	folder_context_menu_activate_cb): Move these into #if 0 too.

	* e-shell.c: Add prototype.

	* e-shell-view.c (storage_set_view_box_map_cb): 
	* e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
	Remove unused variables.

	* e-setup.c: Fix warning caused by e-util -> gal migration.

2000-10-11  Iain Holmes  <iain@helixcode.com>

	* e-setup.c (check_evolution_directory): Check if there are any
	files in default_user that are not in ~/evolution and if so
	copy them over.
	(check_dir_recur): Recursive function to check the directory.

	* e-shell-view-menu.c: Look Maw! I'm an Evolution hacker too.

	* e-shell-view.c: Don't quit on when a view is destroyed.

	* e-shell.c: Save the settings for the remaining views whenever
	a view is destroyed.

2000-10-15  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (setup_storage_set_subwindow): Use an
	EScrollFrame instead of a GtkScrolledWindow.

2000-10-14  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (e_shell_construct): Display a splash screen.
	(setup_components): New arg @splash, pointer to an ESplash.
	Display the icons of the components in the splash and highlight
	them as the components are activated.

	* e-splash.c: New.
	* e-splash.h: New.

2000-10-13  Anna Marie Dirks  <anna@helixcode.com>
	
	* e-shell-folder-creation-dialog.glade: Added focus to the
	folder-name text entry.

2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-storage-set-view.c: Fixed the spec on this.

2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-storage-set-view.c: Changed this to use the built in cells.

2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-storage-set-view.c: Adapted this for the new ETable system.

2000-10-09  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c: Change paths in such a way as to require
	HEAD bonobo.
	(command_toggle_folder_bar, command_toggle_shortcut_bar): only
	respond to state changes.

2000-10-07  Matt Wilson  <msw@redhat.com>

	* e-shell-view.c (init): initialize priv->sockets to NULL, fixes
	startup crash on non-ia32 platforms

2000-10-06  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c: New member `sockets.
	(init): Init to NULL.
	(destroy): Free.  Also, disconnect the "destroy" signal from them
	before the controls get destroyed.
	(find_socket): New function.  [Thanks Dan.]
	(socket_destroy_cb): New callback for the destruction of a socket.
	(get_control_for_uri): Get the socket through `find_socket()' and
	connect the "destroy" signal to `socket_destroy_cb'.

2000-10-06  Chris Toshok  <toshok@helixcode.com>

	* e-storage-set-view.c (insert_storages): call
	_set_compare_function after inserting the storage.

2000-10-06  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c (e_shell_view_display_uri): add a freeze / thaw
	pair to reduce flicker on switching controls.

2000-10-05  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c (command_xml_dump): fix.

2000-10-05  Chris Toshok  <toshok@helixcode.com>

	* e-shell-folder-creation-dialog.c: #include <gal/widgets/e-gui-utils.h>
	
	* e-shell-folder-selection-dialog.c: same.

2000-10-05  Chris Toshok  <toshok@helixcode.com>

	* e-shell-folder-selection-dialog.c: add #include for
	libgnomeui/gnome-messagebox.h

2000-10-05  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c (shortcut_bar_mode_changed_cb): upd.
	(folder_bar_mode_changed_cb): upd.
	(command_xml_dump): clobber.
	(e_shell_view_menu_setup): upd.

	* e-shell-view.c (shell_view_interface_set_message_cb): upd.
	(shell_view_interface_unset_message_cb): upd.
	(e_shell_view_construct): upd.
	(get_control_for_uri): upd.
	(e_shell_view_get_bonobo_ui_component): upd.

2000-10-04  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c (setup_progress_bar): remove evil usize set.

2000-10-03  Matt Bissiri  <bissiri@eecs.umich.edu>

	* e-shell-view-menu.c (e_shell_view_menu_setup): Use
	`bonobo_ui_component_add_verb_list' instead of
	`bonobo_ui_component_add_verb_list_with_data' for help_verbs,
	so that `command_help' gets an html filename as user_data,
	instead of a ptr to EShellView.
	(menu_do_misc): Move DumpXML from help_verbs to here, because
	`command_xml_dump' needs to get EShellView as user_data.

2000-10-02  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcuts-view.c (show_new_group_dialog): Destroy the dialog
	if the user has clicked on "OK" or "Cancel".

2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* e-storage-set-view.c (e_storage_set_view_get_current_folder): if
	we're not displaying folders, the current folder is NULL.
	(class_init): fix typo.

	* Makefile.am (libeshell_a_SOURCES):
	evolution-storage-set-view-listener.[ch] should be here, not
	evolution_SOURCES.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* evolution-storage-set-view.c: add storage_selected behavior -
	loop over the listeners calling _storage_selected.

	* Evolution-StorageSetView.idl: add storage_selected to the
	Listener interface.

	* e-storage-set-view.c add storage_selected signal.
	(on_cursor_change): if the depth is less than 2, emit
	"storage_selected", otherwise emit "folder_selected".

	* e-storage-set-view.h: add storage_selected signal.

	* evolution-storage-set-view-listener.h: add storage_selected
	signal.

	* evolution-storage-set-view-listener.c: add storage_selected
	signal.

2000-10-02  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage-set-view-listener.c: New.
	* evolution-storage-set-view-listener.h: New.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* evolution-storage-set-view.c (impl_StorageSetView_add_listener): fix typo.
	(impl_StorageSetView_remove_listener): same.
	(impl_StorageSetView__get_show_folders): implementation of getter for show_folders.
	(impl_StorageSetView__set_show_folders): implementation of setter for show_folders.
	(corba_class_init): install _set_show_folders and _get_show_folders.

	* Evolution-StorageSetView.idl: add show_folders attribute to
	StorageSetView.

	* e-storage-set-view.h: add prototypes for
	e_storage_set_view_{get,set}_show_folders.

	* e-storage-set-view.c (insert_storages): split this code out from
	e_storage_set_view_construct so we can call it when "show_folders"
	has been changed.
	(e_storage_set_view_construct): remove the code to insert
	storages.
	(e_storage_set_view_set_show_folders): new function.  tears down
	existing tree and node/path hashtable and calls insert_storages.
	(e_storage_set_view_get_show_folders): new function, retrieves
	current show_folders state.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* evolution-storage-set-view-factory.c
	(evolution_storage_set_view_factory_new_view): pass
	storage_set_view_interface as second argument to
	bonobo_object_add_interface, and call gtk_widget_show on the
	storage_set_view widget.

2000-10-03  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c (setup_bonobo_ui_handler): kill.

	* e-shell-view-menu.c (e_shell_view_menu_setup): strip
	out the XML UI merge; move it to

	* e-shell-view.c (e_shell_view_construct): here, +
	freeze / thaw pair.

	* e-shell-view.c (setup_progress_bar): impl.
	(setup_widgets): hook in.
	(progress_bar_timeout_cb): fix.
	(start_progress_bar): fix.
	(stop_progress_bar): fix.
	(e_shell_view_construct): setup ui handler first.

2000-09-22  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c (e_shell_view_menu_setup): upd.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* e-storage-set-view.c (new_folder_cb): set the new node's compare function.
	(insert_folders): same.

	(new_storage_cb): remove uunecessary cast.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* e-storage-set-view.c (new_storage_cb): track e-tree sort api change.
	(treepath_compare): same.
	(new_folder_cb): same.
	
2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* e-storage-set-view.c (e_storage_set_view_construct): pass NULL
	for the open/closed pixbuf of the tree renderer.  we'll let it
	supply the default.
	(destroy): remove the expanded/unexpanded pixbuf references.
	(new_storage_cb): use e_tree_model_node_insert_id so we can (soon)
	save expanded/collapsed state.
	(new_folder_cb): same.
	(insert_folders): same.
	(e_storage_set_view_construct): same.

2000-10-02  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (impl_Shell_create_storage_set_view): New,
	implementation for `::create_storage_set_view'.
	(corba_class_init): Install.

	* evolution-storage-set-view-factory.c: New.
	* evolution-storage-set-view-factory.h: New.

	* evolution-storage-set-view.c: New.
	* evolution-storage-set-view.h: New.

	* Evolution-Shell.idl: New method
	`Shell::create_storage_set_view'.

	* Evolution.idl: #include <Evolution-StorageSetView.idl>.

	* Evolution-StorageSetView.idl: New.

2000-10-02  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage.c (find_listener_in_list): New helper
	function.
	(impl_Storage_remove_listener): New, implementation for
	`Storage::remove_listener'.
	(remove_listener): Helper function for
	`impl_Storage_remove_listener'.
	(evolution_storage_get_epv): Install the implementation for
	`::remove_listener'.
	(add_listener): Return a boolean indicating success or failure.
	Reject multiple additions of the same listener.
	(impl_Storage_add_listener): Updated accordingly: raise an
	exception if `add_listener' fails.

	* Evolution-Storage.idl: Added `Storage::remove_listener'.  Added
	exception `AlreadyListening' for `::add_listener'.

2000-09-29  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (popup_storage_set_view_button_clicked): Renamed
	from `popup_storage_set_view_close_button_clicked'.
	(storage_set_view_box_map_cb): Updated accordingly.  Connect to
	"button_clicked" instead of "close_button_clicked".
	(disconnect_popup_signals): Updated accordingly.
	(e_shell_view_set_folder_bar_mode): Update the button mode of the
	title bar according to the folder bar mode.

2000-09-28  Dan Winship  <danw@helixcode.com>

	* e-corba-storage.c (impl_StorageListener_new_folder): Don't print
	"Folder registered successfully" if it didn't. (Duh. :)

2000-09-28  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c: New constant `DEFAULT_URI'.
	(e_shell_view_load_settings): If the `DisplayedURI' from
	`gnome_config' cannot be displayed, display the `DEFAULT_URI'.

2000-09-26  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcuts.c (e_shortcuts_get_group_title): Cast the data
	pointer, not the node pointer.
	(e_shortcuts_add_group): If @group_num is -1, emit the effective
	group number with the "new_group" signal instead of -1, which is
	going to confuse the signal handler.
	(e_shortcuts_add_shortcut): Likewise with the shortcut.

	* e-shortcuts-view-model.c (shortcuts_new_group_cb): We are @data,
	not @shortcuts.
	(class_init): Install the `::destroy' handler.

	* e-shortcuts-view.c (e_shortcuts_view_construct): Set
	`priv->shortcuts'.
	(remove_shortcut_cb): Don't remove the item both on the data and
	the model.
	(toggle_small_icons_cb): Removed some crufty checks.
	(toggle_large_icons_cb): Likewise.
	(show_new_group_dialog): New, implementation for the "Create new
	shortcut group" dialog.
	(destroy_group_cb): Callback for the "Destroy this group" item.
	(create_new_group): Callback for the "Create new group" item.

2000-09-25  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcuts-view.c (item_selected): Renamed from
	`selected_item'.
	(class_init): Updated accordingly.
	(impl_shortcut_dropped): New function, implementation for
	`EShortcutBar::shortcut_dropped'.
	(impl_shortcut_dragged): New function, implementation for
	`EShortcutBar::shortcut_dragged'.
	(e_shortcuts_view_construct): Update to use EShortcutsViewModel.
	(class_init): Install them.

	* e-shortcuts.c (e_shortcuts_get_group_title): New.

	* e-shortcuts-view-model.c: New.
	* e-shortcuts-view-model.h: New.

2000-09-24  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (setup_local_storage): Don't unref the local storage.

2000-09-22  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c (e_shell_view_menu_setup): upd.

2000-09-21  Federico Mena Quintero  <federico@helixcode.com>

	* e-shell-view-menu.c: Fix mis-spelling of "calendar".

2000-09-21  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c (show_existing_view): upd.

	* Evolution-ShellComponent.idl: upd.

	* evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu):
	upd.

2000-09-18  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c (command_xml_dump): add xml dump option.

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
	$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

	* e-component-registry.c, e-corba-storage-registry.c,
	e-corba-storage.c, e-folder-type-registry.c, e-folder.c,
	e-local-folder.c, e-local-storage.c,
	e-shell-folder-creation-dialog.c,
	e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c,
	e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c,
	e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c,
	e-storage.c, evolution-local-storage.c, evolution-session.c,
	evolution-shell-client.c, evolution-shell-component-client.c,
	evolution-shell-component.c, evolution-shell-view.c,
	evolution-storage-listener.c, evolution-storage.c, main.c: Fixed
	the #include lines to deal properly with gal.

2000-09-16  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c (e_shell_view_menu_setup): use datadir.

2000-09-16  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.h: #include "bonobo-win.h", not "bonobo-app.h".

2000-09-15  Dan Winship  <danw@helixcode.com>

	* e-storage.c (get_path_for_physical_uri_foreach): foreach_data
	should be set to the caller-supplied data, not the tree item data.

2000-09-14  Iain Holmes  <iain@helixcode.com>

	* e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
	Remove the *kludge* so that the button width is set properly.
	Fixes bug #XXXX

2000-09-14  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c: Remove sillies in toggle paths.

2000-09-14  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c: move fn to bonobo.

2000-09-14  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(GNOME_PRINT_LIBS) to evolution_LDADD.

2000-09-14  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c (e_shell_view_construct): prune cruft.
	(shell_view_interface_unset_message_cb),
	(shell_view_interface_set_message_cb): impl.

2000-09-14  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c (e_shell_view_menu_setup): re-order to suit and
	add freeze / thaw, update paths to toggles, remove warnings

2000-09-07  Michael Meeks  <michael@helixcode.com>

	* e-shell-view-menu.c: Re-hash pretty much the whole file

	* ui.xml: Add.

	* e-shell-view.c (e_shell_view_construct): connect unrealize & delete_event
	to theit signals on the window (class_init): remove widget_class bits.

2000-09-06  Michael Meeks  <michael@helixcode.com>

	* e-shell.c (view_destroy_cb, destroy, e_shell_new_view, e_shell_quit): 
	update to track object type change.

	* e-shell.c (e_shell_restore_from_settings): ditto.

	* main.c (idle_cb): ditto.

	* e-shell-view.c (e_shell_view_new, e_shell_view_construct, setup_widgets): 
	updated for BonoboApp.
	(progress_bar_timeout_cb, start_progress_bar, stop_progress_bar),
	(shell_view_interface_set_message_cb, shell_view_interface_unset_message_cb): 
	emasculated for now.

	* e-storage-set-view.c (popup_folder_menu): disable popup menu for now.

2000-09-13  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (popdown_transient_folder_bar): New.
	(storage_set_view_box_button_release_event_cb): Rewritten to use
	it.
	(folder_selected_cb): Pop down the transient folder bar if the
	folder bar mode is `TRANSIENT'.

2000-09-12  Ettore Perazzoli  <ettore@helixcode.com>

	* ($(IDL_GENERATED)): Stupid `orbit-idl' wants a space after the
	`-I'.

2000-09-12  Lauris Kaplinski  <lauris@helixcode.com>

	* e-shell-view.c (update_folder_title_bar): Translate UTF-8

2000-09-12  Ettore Perazzoli  <ettore@helixcode.com>

	* Makefile.am: Remove the `ui.xml' stuff.

2000-09-11  Dan Winship  <danw@helixcode.com>

	* main.c (main): Initialize libunicode

2000-09-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-local-storage.c: Fixed some warnings.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-folder-selection-dialog.c (set_default_folder): Work on
	the assumption that @default_uri is not NULL.
	(e_shell_folder_selection_dialog_construct): Only call if the
	@default_uri is not NULL.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

	* e-local-storage.c (new_folder): Removed debugging message.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage.c (evolution_storage_new_folder): If
	description is NULL, use the empty string instead.

	* e-local-storage.c (new_folder): New utility function to add a
	new folder by keeping both the Bonobo interface and the EStorage
	up-to-date.
	(load_folders): Use it here instead of just
	`e_storage_new_folder()'.
	(component_async_create_folder_callback): Likewise.

	* e-shell-view.c (update_for_current_uri): Prevent an
	EStorageSetView warning if the path is NULL.

	* evolution-storage.c (impl_Storage_add_listener): New,
	implementation for `Evolution::Storage::add_listener'.
	(evolution_storage_get_epv): Install it.

	* evolution-storage-listener.c
	(evolution_storage_listener_corba_objref): New.
	(create_servant): Create the servant with `g_new0()' instead of
	`g_new()'.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage-listener.c
	(evolution_storage_listener_construct): Unset the `GTK_FLOATING'
	flag as `EvolutionStorageListener' is self-owned.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage.c (impl_list_folders): Removed.
	(impl_get_subfolder_paths): New static function, implementation
	for `::get_subfolder_paths'.
	(class_init): Install it.
	(e_storage_get_subfolder_paths): New.

	* e-storage.h: `list_folders' virtual method removed.  New virtual
	method `list_subfolder_paths'.

	* e-storage-set-view.c (etree_icon_at): If the folder is not
	found, return NULL.

	* e-local-storage.c (bonobo_interface_set_display_name_cb): New
	function, callback for the `set_display_name' signal on the
	EvolutionLocalStorage.
	(construct): Connect it.

	* e-storage-set-view.c (folder_changed_cb): New callback for the
	"changed" signal emitted by the EFolders.  It makes the model emit
	the "changed" signal for the appropriate row.
	(insert_folders): Connect it.

2000-09-09  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage-set-view.c (etree_value_at): Return the name of the
	folder or the storage instead of just returning the last segment
	of the path.

	* e-storage-set.c (e_storage_set_get_folder): If the storage is
	not found, just return NULL to avoid a g_warning.

2000-09-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-view.c: Fixed some warnings.

2000-09-09  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (update_for_current_uri): Make sure `folder_name'
	is always dynamically allocated, as we `g_free()' it.

2000-09-08  Lauris Kaplinski  <lauris@helixcode.com>

	* e-shell-view.c (update_for_current_uri): Translate UTF-8 string

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage.c (list_through_listener_foreach): Don't crash
	on nodes with no data.  [The root node has none indeed.]

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

	* e-folder-tree.c (e_folder_tree_get_folder): Return NULL if there
	is no folder with that @path, instead of segfaulting.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage.c: New member `folder_tree' in
	`EvolutionStoragePrivate'.
	(init): Initialize it.
	(destroy): Destroy it.
	(list_through_listener): New.
	(add_listener): Use it to list all the current folders through the
	listener.
	(evolution_storage_new_folder): Add the thingie to the
	`folder_tree'.
	(evolution_storage_removed_folder): Remove the thingie from the
	`folder_tree'.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage.c: Replaced the `path_to_folder' GHashTable with an
	EFolderTree named `folder_tree'.
	(init): Updated accordingly.
	(destroy): Updated accordingly.
	(free_private): Removed.
	(remove_folder): Removed.
	(folder_new): Removed.
	(folder_remove_subfolder): Removed.
	(folder_add_subfolder): Removed.
	(folder_destroy): Removed.
	(get_parent_path): Removed.
	(impl_list_folders): Reimplemented by using the `EFolderTree'
	methods.
	(e_storage_construct): Don't create the root folder here.
	(get_path_for_physical_uri_foreach): Updated to be an
	`EFolderTreeForeachFunc'.
	(e_storage_get_path_for_physical_uri): Likewise, updated to use
	`e_folder_tree_foreach()'.
	(e_storage_new_folder): Updated to use the EFolderTree.
	(e_storage_removed_folder): Likewise.
	(folder_destroy_notify): New function, for the destroy
	notification of `EFolder'.

	* evolution-storage-listener.c: Change the `servant' member in
	`EvolutionStorageListenerPrivate' into an
	`EvolutionStorageListenerServant'.

	* e-folder-tree.c: New.
	* e-folder-tree.h: New.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage-listener.c (create_servant): Return an
	`EvolutionStorageListenerServant' instead of a
	`POA_Evolution_StorageListener'.
	(evolution_storage_listener_new): Add a cast accordingly.

	* evolution-storage.c (corba_class_init): Remove `NO_WARNINGS'
	madness.

2000-09-08  Christopher James Lahey  <clahey@helixcode.com>

	* e-storage-set-view.c: Added base ETableModel functions.

	* evolution-storage-listener.c, evolution-storage.c: Fixed some
	warnings.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (set_owner_on_components): New.
	(e_shell_construct): Call it after setting up the local storage.

	* e-component-registry.c (register_component): Don't set the owner
	here.

	* evolution-shell-client.c
	(evolution_shell_client_get_local_storage): New.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-view.c (destroy): Chain to the parent's
	destroy method.

	* evolution-shell-component.c (destroy): Chain to the parent's
	destroy method.

	* evolution-storage.c: `corba_storage_listener' in
	`EvolutionStoragePrivate' replaced with a list of listeners,
	`corba_storage_listeners'.
	(init): Init to NULL.
	(add_listener): New utility function.
	(destroy): Destroy all the listeners.
	(evolution_storage_new_folder): Notify all the listeners.
	(evolution_storage_removed_folder): Likewise.

	* e-local-storage.c: New member `bonobo_interface' in
	`ELocalStoragePrivate'.
	(init): Init to NULL.
	(e_local_storage_get_corba_interface): New.

	* e-shell.c: New member `local_storage' in `EShellPrivate'.
	(init): Init to NULL.
	(setup_local_storage): Make it point to the newly created local
	storage.
	(destroy): Unref if not NULL.
	(impl_Shell_get_local_storage): New, implementation for
	`Evolution::Shell::get_local_storage'.
	(corba_class_init): Set it up.

	* evolution-local-storage-client.c: New.
	* evolution-local-storage-client.h: New.
	* evolution-local-storage.c: New.
	* evolution-local-storage.h: New.
	* evolution-storage-listener.c: New.
	* evolution-storage-listener.h: New.

	* Evolution-Storage.idl: New method `Storage::add_listener'.

	* Evolution-Shell.idl: New method `Shell::get_local_storage'.

	* Evolution-LocalStorage.idl: New.

2000-09-02  Lauris Kaplinski  <lauris@helixcode.com>

	* e-shell-folder-creation-dialog.c: Use e_utf8 wrappers

2000-09-01  Chris Toshok  <toshok@helixcode.com>

	* e-storage-set-view.c (removed_folder_cb): free node_data.
	(removed_storage_cb): same.
	(new_storage_cb): don't free the path we put in the node's
	node_data.
	(e_storage_set_view_set_current_folder): remove calls to
	set_cursor_row (-1), and clean up a little bit.

2000-09-01  Christopher James Lahey  <clahey@helixcode.com>

	* e-local-storage.c: Strdup path when setting the callback data.

	* evolution-storage.c: Removed an unused variable.

2000-08-31  Chris Toshok  <toshok@helixcode.com>

	* e-shell-view.c (init): initialize delayed_selection = NULL;

2000-09-01  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage.c (evolution_storage_new_folder): Handle @path
	as the full path.

	* e-storage.c (e_storage_new_folder): Consider @path to be the
	full path, not the parent path.
	* e-local-storage.c (load_folders): Updated accordingly.

	* Evolution-Storage.idl: Member `name' of `struct Folder' renamed
	to `display_name'.

2000-08-31  Chris Toshok  <toshok@helixcode.com>

	* e-shell-view.c: add delayed_selection to _EShellViewPrivate.
	(new_folder_cb): new function.  check if the path is our
	delayed_selection and if so, select it.
	(folder_selected_cb): if the user selects something using a UI
	gesture, clear out a pending delayed selection.
	(e_shell_view_display_uri): if the uri isn't available, save it in
	the delayed_selection field, and set up the new_folder signal.

2000-08-29  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (shell_view_interface_set_message_cb): If the
	message contains a newline, only display the part until the
	newline, excluding the newline.  Otherwise the status bar resizes
	nastily.

2000-08-28  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (setup_components): Removed the hardcoding of the
	shell component IDs.  Rather, do an OAF query looking for the
	`Evolution::ShellComponent' interface and activate all the
	components in the result.
	(MAIL_COMPONENT_ID): Removed.
	(CALENDAR_COMPONENT_ID): Removed.
	(ADDRESSBOOK_COMPONENT_ID): Removed.

	* e-storage-set-view.c: Make `sort_model' static.

2000-08-25  Chris Toshok  <toshok@helixcode.com>

	* e-storage-set-view.c: convert to use ETree instead of GtkCTree.

	* e-storage-set-view.h: change superclass from GtkCTree to ETable.

	* main.c (main): call e_cursors_init.

	* Makefile.am (evolution_LDADD): add libetable.a

2000-08-25  Peter Williams  <peterw@helixcode.com>

	Silence some obvious assertions.
	
	* e-shell.c (e_shell_construct): Ref our shortcut bar to
	sink it. Same with the folder_type_registry.

	* e-shell-folder-title-bar.c (destroy): Only attempt to unref
	priv->icon if nonnull.

	* e-shell-view.c (update_folder_title_bar): Don't attempt to set
	the folder_icon/_name if they're NULL.

2000-08-24  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-component-client.c
	(evolution_shell_component_client_new): Don't abort if the
	component cannot be activated.  Rather, just return NULL.

2000-08-20  arik devens  <arik@helixcode.com>

	* Makefile.am (evolution_LDADD): Added UNICODE_LIBS to link in the
	new e-text stuff.

2000-08-19  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-folder-title-bar.c: Fixed a warning.

2000-08-19  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-view.c: Fixed a warning.

2000-08-18  Larry Ewing  <lewing@helixcode.com>

	* e-shell-folder-title-bar.c (style_set_cb): update the pixmap
	define E_USE_STYLES to disable the current darkening behavior
	(destroy): free the icon.
	(e_shell_folder_title_bar_construct): style_set_cb does everything
	important now.
	(e_shell_folder_title_bar_set_icon): actually store the pixbuf
	when we set it so that we still have it if the style changes and
	take care of refcounting them properly.

2000-08-17  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view-menu.c (menu_create_file): Make capitalization of
	menu items consistent.
	(menu_create_view): Likewise.
	(menu_create_help): Likewise.
	(e_shell_view_menu_setup): Create a component menu placeholder so
	that components can add their own component-specific menus there.
	(menu_create_actions): Removed.
	(e_shell_view_menu_setup): Don't call it.
	(menu_create_tools): Removed.
	(e_shell_view_menu_setup): Don't call it.
	(menu_create_settings): New.
	(e_shell_view_menu_setup): Call it.

2000-08-13  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (delete_event): New.  Make the parent shell quit.

2000-08-13  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (shell_view_interface_set_message_cb): Removed
	debugging message.
	(shell_view_interface_unset_message_cb): Likewise.

2000-08-13  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c: New members `progress_bar_timeout_id',
	`progress_bar_value' in `EShellViewPrivate'.
	(init): Init them.
	(destroy): If the timeout id is not zero, remove the associated
	timeout.
	(progress_bar_timeout_cb): New.
	(start_progress_bar): New.
	(stop_progress_bar): New.
	(shell_view_interface_set_message_cb): If busy, start the progress
	bar.  Otherwise, stop it.
	(shell_view_interface_unset_message_cb): Stop the progress bar.

	* e-shell-view.c (setup_widgets): Enable the progress bar in the
	appbar.

	* e-shell-view.c (shell_view_interface_unset_message_cb): New
	function, callback for the `EvolutionShellView::unset_message'
	signal.
	(shell_view_interface_set_message_cb): New function, callback for
	the `EvolutionShellView::set_message' signal.
	(setup_evolution_shell_view_interface): Connect these signals to a
	newly created EvolutionShellView object, add ::add_interface this
	object to the control's frame.

	* evolution-shell-view.c: New.
	* evolution-shell-view.h: New.

	* Evolution-ShellView.idl: New interface.

2000-08-10  Dan Winship  <danw@helixcode.com>

	* Evolution-ShellComponent.idl: add "in string evolution_homedir"
	to ShellComponent::set_owner's arguments.

	* e-shell.c (e_shell_get_local_directory): Expose local_directory.

	* e-component-registry.c (register_component): Pass the shell's
	"local_directory" to the component as its evolution_homedir.

	* evolution-shell-component.c (impl_ShellComponent_set_owner):
	Update to include evolution_homedir.
	(class_init): Update signal prototype.

	* evolution-shell-component-client.c
	(evolution_shell_component_client_set_owner): Update to include
	evolution_homedir.

	* e-init.c: Remove. This wasn't being used.

2000-08-10  Peter Williams  <peterw@helixcode.com>

	* e-shell-view-menu.c (command_about_box): Add lil' ol'
	me to the about box.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-setup.c, e-shell.c: Fixed some warnings.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-view.c: Fixed a warning.

2000-08-09  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view-menu.c (menu_create_file_new): Create a placeholder
	for the print items.

2000-08-08  Dan Winship  <danw@helixcode.com>

	* e-setup.c (e_setup): Check for ~/evolution/shortcuts.xml in
	addition to ~/evolution, to make sure it's really the directory
	we're expecting it to be. Also, convert from old-style config file
	to new-style config directory.

2000-08-04  Michael Meeks  <michael@helixcode.com>

	* evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu):
	unref.

	* e-shell.c (e_shell_construct): Remove erroneous refs on
	folder_type_registry, storage_set.

	* e-shortcuts-view.c (destroy): unref the shortcuts, causing a
	massive ripple chain ref-count reaction.

2000-08-03  JP Rosevear  <jpr@helixcode.com>

	* e-shell.h: Remove gconf references

	* e-shell-view.h: Remove gconf references

	* main.c (idle_cb): Remove gconf references

	* Makefile.am: Remove gconf cflags and libs 

	* e-shell-view.c (e_shell_view_load_settings): Change to use
	gnome-config
	(e_shell_view_save_settings): ditto

	* e-shell.c (e_shell_restore_from_settings): Change to
	use gnome_config
	(save_settings_for_views): ditto

2000-08-03  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c (destroy): unref the UI handler.

2000-08-03  Jeffrey Stedfast  <fejj@helixcode.com>

	* e-shell-folder-selection-dialog.c (set_default_folder): Make
	sure default_uri isn't NULL!!

2000-08-03  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view-menu.c (command_goto_folder): Just use the current
	URI as the @default_uri parameter for
	`e_shell_folder_selection_dialog_new()'.

	* evolution-session.c (class_init): Call `corba_class_init()'.

	* e-shell-folder-selection-dialog.c
	(e_shell_folder_selection_dialog_new): @default_path renamed to
	@default_uri.
	(e_shell_folder_selection_dialog_construct): Likewise.  If the
	@default_uri is an `evolution:' one, use it as a path; if it is
	different, assume it is a physical URI and consequently look for
	the folder that has that physical URI and make it the default.
	(set_default_folder): New helper function.
	(e_shell_folder_selection_dialog_construct): Use it.

	* e-storage-set.c (e_storage_set_get_path_for_physical_uri): New.

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

2000-07-27  Dan Winship  <danw@helixcode.com>

	* main.c (idle_cb): work with either gconf 0.5 or newer

2000-07-26  Peter Williams  <peterw@helixcode.com>

	* e-storage.c (e_storage_new_folder): Fix tiny mem leak.

2000-07-26  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (disconnect_popup_signals): Disconnect the "map"
	signal handler too.

2000-07-25  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-folder-creation-dialog.c (add_folder_types): Work around
	GtkOptionMenu utter brokenness by destroying the associated
	Glade-built GtkMenu and creating a new one from scratch.

2000-07-24  Dan Winship  <danw@helixcode.com>

	* e-shell.c, main.c: Remove GOAD support.

	* evolution-shell-component-client.c: Remove GOAD support.
	(evolution_shell_component_client_new): Give the "maybe
	OAF_INFO_PATH" message if no oafinfo file was found, and give a
	"consult previous error messages" message if the component was
	found but not activated. Abort in either case.

2000-07-23  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view-menu.c: Converted to use `bonobo_ui_handler_*()'
	stuff directly, instead of converting from GnomeUIInfo.
	(command_quit): Update arg types for BonoboUIHandler.
	(command_run_bugbuddy): Likewise.
	(command_about_box): Likewise.
	(command_new_task): Removed.
	(command_new_journal_entry): Removed.
	(menu_create_file_new): New.
	(menu_create_file): New.
	(menu_create_edit): New.
	(menu_create_view): New.
	(menu_create_tools): New.
	(menu_create_actions): New.
	(e_shell_view_menu_setup): Create menus using them instead of
	converting from GnomeUIInfo.

2000-07-22  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (e_shell_construct): Don't unref NULL shortcuts, you
	idiot.

2000-07-22  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (e_shell_view_set_folder_bar_mode): Make the
	title bar non-clickable when the folder tree is visible.

	* e-shell-folder-title-bar.c: New members `button_arrow' and
	`clickable' in `EShellFolderTitleBarPrivate'.  Renamed `label'
	into `button_label'.  Added `label'.
	(init): Init them.
	(e_shell_folder_title_bar_construct): Pass a pointer to the title
	bar as the user data for the "realize" signal.  Create `label'.
	(title_button_box_realize_cb): Use the `button_arrow' member
	instead of using `gtk_object_{set,get}_data()'.
	(setup_style): Set the style for `label' too.
	(e_shell_folder_title_bar_set_clickable): New.
	(e_shell_folder_title_bar_set_title): Set both `label' and
	`button_label'.

2000-07-21  Peter Williams  <peterw@helixcode.com>

	* evolution-shell-client.c (user_select_folder): Don't use
	g_main_loop to block the caller; this will break when 
	threads are enabled and GDK_THREADS_ENTER deadlocks. Use
	gtk_main / gtk_main_exit to enter and exit the main loop,
	which handles the recursive case correctly.
	(impl_FolderSelectionListener_selected): Same.
	(impl_FolderSelectionListener_cancel): Same.
	(struct _FolderSelectionListenerServant): No more main_loop member.

2000-07-21  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (storage_set_view_box_button_release_event_cb):
	Set the toggle state to FALSE on the title bar.

	* e-shell-folder-title-bar.c: Signal "title_clicked" replaced by
	"title_toggled".
	(setup_style): Change the style for the button too.
	(e_shell_folder_title_bar_construct): Use a GtkToggleButton, not a
	GtkButton.
	(e_shell_folder_title_bar_set_toggle_state): New.

2000-07-21  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-folder-title-bar.c (create_icon_pixmap): New.  Create a
	small arrow-shaped GtkPixmap.
	(title_button_box_realize_cb): New.  Callback for the "realize"
	signal of the button's inner box.

	* e-shell-view.c (title_bar_clicked_cb): New function, callback
	for the "title_clicked" signal of the title bar.
	(setup_widgets): Connect it.

	* e-shell-view.c: New member `storage_set_title_bar' in
	`EShellViewPrivate'.
	(setup_storage_set_subwindow): Set it.

	* e-shell-folder-title-bar.c: Use a GtkLabel instead of an
	EClippedLabel for the title.
	(title_button_clicked_cb): New.
	(e_shell_folder_title_bar_construct): Put the label into a button.
	Connect the button's "clicked" signal to
	`title_button_clicked_cb'.

2000-07-21  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-component.c
	(impl_ShellComponent_populate_folder_context_menu): If the pointer
	to the function to populate the folder context menu is NULL, don't
	do anything.

2000-07-21  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage-set-view.c (popup_folder_menu): New.  Create a
	BonoboUIHandler-managed pop-up menu, let the component fill it in
	with `::populate_folder_context_menu', and display it.  Then
	destroy it with the associated BonoboUIHandler.
	(handle_right_button_selection): New.
	(handle_left_button_selection): New.  This pops up the right-click
	menu.
	(button_release_event): Use them.
	(init): Set the `GTK_BUTTON_SELECTS' flag for button #3's actions.

	* evolution-shell-component-client.c
	(evolution_shell_component_client_populate_folder_context_menu):
	New.
	(evolution_shell_component_client_async_create_folder): Added
	preconditions.

	* e-shell-view.c (e_shell_view_save_settings): Add missing cast.

	* evolution-shell-component.c: New member
	`populate_folder_context_menu' in
	`EvolutionShellComponentPrivate'.
	(impl_ShellComponent_populate_folder_context_menu): New,
	implementation for
	`Evolution::ShellComponent::populate_folder_context_menu'.
	(corba_class_init): Install it.
	(evolution_shell_component_new): New arg
	@populate_folder_context_menu.
	(evolution_shell_component_construct): Likewise.

	* Evolution-ShellComponent.idl: New method
	`::populate_folder_context_menu'.

2000-07-20  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (e_shell_view_save_settings): Save the paned
	positions.
	(e_shell_view_load_settings): Restore them.

2000-07-20  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (save_settings_for_views): New.  Code moved out of
	`e_shell_save_settings'.
	(e_shell_save_settings): Use it.
	(save_settings_for_component): New.
	(save_settings_for_components): New.
	(e_shell_save_settings): Use it, so that we make all the
	components save settings too.

	* e-component-registry.c
	(e_component_registry_get_id_list): New.
	(e_component_registry_get_component_by_id): New.

	* Makefile.am (libeshell_a_SOURCES): Add
	`evolution-shell-component-client' and `evolution-session'.

	* evolution-session.c: New.
	* evolution-session.h: New.

	* Makefile.am (evolution_SOURCES): Removed files that were already
	in `libeshell.a'.

	* Evolution.idl: #include <Evolution-Session.idl>.

	* Evolution-Session.idl: New.

2000-07-20  Ettore Perazzoli  <ettore@helixcode.com>

	* main.c (no_views_left_cb): Call `e_shell_quit()' on the shell
	before getting out of the GTK+ main loop.
	(view_delete_event_cb): Removed.
	(idle_cb): Don't call it.

	* e-shell-view-menu.c (command_new_view): New, implementation of
	the "New view" command.

2000-07-16  Damon Chaplin  <damon@helixcode.com>

	* e-shortcuts-view.c (e_shortcuts_view_construct): created a model
	for the EShortcutBar. This will probably have to be moved to support
	multiple views.
	(class_init): #if'd out overriding the class functions. They don't
	exist any more (they are in the model instead).

2000-07-12  Christopher James Lahey  <clahey@helixcode.com>

	* main.c: Fixed to match gconf API change.

2000-07-10  Dan Winship  <danw@helixcode.com>

	* main.c (development_warning): Update the message.

2000-07-10  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-folder-title-bar.c (title_button_clicked_cb):
	Temporarily `#if 0'ed out.

2000-07-10  Dan Winship  <danw@helixcode.com>

	* e-shell.c (impl_Shell_user_select_folder): Translate a
	default_folder of "" into NULL (which can't be passed over CORBA).

2000-07-10  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage.c (e_storage_new_folder): Removed debugging message.

	* e-storage-set.c (storage_new_folder_cb): Removed debugging
	message.

2000-07-10  Federico Mena Quintero  <federico@helixcode.com>

	* e-shell-view.c (unrealize): As a quasi-hack, do a gdk_flush()
	when the shell view is unrealized so that the DeleteEvent gets
	sent to the remote plugs as soon as possible before we start
	making other CORBA calls.  The problem is that our CORBA pipe is
	synchronous while our X pipe is asynch.  We have to ensure
	ordering for certain operations.  This is NOT the correct and
	complete fix, which should go in Bonobo.

2000-07-08  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (e_shell_view_display_uri): Don't update the
	current URI if there are problems creating a view for it.
	(show_error): Remove.  Not used anymore.

2000-07-08  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view-menu.c: Cleanup some unused menu items and added
	"FIXMEs" for the ones we plan to add in the short term but are not
	implemented yet.
	(command_create_folder): Get rid of an unused variable.

2000-07-07  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-client.c (user_select_folder): Fix small warning
	by adding proper cast when filling in the CORBA sequence struct.

2000-07-07  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (setup_corba_storages): Ref the CORBA storage
	registry.

2000-07-06  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage.c: Removed `corba_storage_registry' member
	from `EvolutionStoragePrivate'.
	(destroy): Don't unref/release it.  Call
	`StorageListener::destroy' to notify that we are dead.
	(evolution_storage_register): Don't ref and store the registry.

2000-07-05  Dan Winship  <danw@helixcode.com>

	* e-shell.c (e_shell_save_settings): Use the correct gconf path
	(/apps, not /app), and call gconf_client_suggest_sync at the end.
	(e_shell_restore_from_settings): Use the correct gconf path.

2000-07-05  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view-menu.c (command_goto_folder): Set the folder
	selection dialog as transient for the shell view.
	(command_create_folder): New, bound to the "Create folder"
	command in the "File" menu.

2000-07-01  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (impl_Shell_user_select_folder): New arg
	@allowed_types.  Pass it to the EShellFolderSelectionDialog.
	Connect to the "cancelled" and "folder_selected" signals instead
	of "clicked".
	(corba_listener_destroy_notify): New callback.
	(impl_Shell_user_select_folder): Associate it to the DestroyNotify
	for the "corba_listener" GtkObject data, so we don't leak it.
	(folder_selection_dialog_clicked_cb): Don't release the listener
	interface here.
	(folder_selection_dialog_cancelled_cb): New callback for the
	"cancelled" signal.
	(folder_selection_dialog_folder_selected_cb): New callback for the
	"folder_selected" signal.

	* e-shell-view-menu.c (command_goto_folder): Don't connect to
	"clicked".  Connect to "cancelled" and "folder_selected" instead.
	(folder_selection_dialog_cancelled_cb): New, callback for the
	"cancelled" signal.
	(folder_selection_dialog_folder_selected_cb): New, callback for
	the "folder_selected" signal.

	* e-shell-folder-selection-dialog.c New members `allowed_types',
	`storage_set' in `EShellFolderSelectionDialogPrivate'.
	(class_init): Install signals "folder_selected", "cancelled".
	(init): Init to NULL.
	(impl_destroy): Free/unref them.
	(e_shell_folder_selection_dialog_new): New arg @allowed_types.
	(e_shell_folder_selection_dialog_construct): New arg
	@allowed_types.  Initialize `priv->allowed_types' from it.
	(check_folder_type): New function.  Check if the selected folder
	is of the appropriate type and, if not, return FALSE and pop up an
	error dialog.  Otherwise, return TRUE.
	(impl_clicked): Use `check_folder_type()' to check if the folder
	type is OK.  If it is not, stop emission of the "clicked" signal.

	* e-shell-folder-selection-dialog.h: New signals
	"folder_selected", "cancelled".

	* evolution-shell-client.c
	(evolution_shell_client_user_select_folder): New arg
	@allowed_types.
	(user_select_folder): New arg @allowed_types.  Pass this to the
	::user_select_folder method.

	* Evolution-Shell.idl: New arg @required_types in
	::user_select_folder.

2000-07-01  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (setup_components): Don't ref the component registry.

2000-06-30  Dan Winship  <danw@helixcode.com>

	* Evolution-Shell.idl: add "cancel" to FolderSelectionListener.

	* evolution-shell-client.c (impl_FolderSelectionListener_cancel):
	Implement cancel (set *uri and *physical_uri to NULL).
	(evolution_shell_client_user_select_folder): document %NULL uri
	and physical_uri return values.
	
	* e-shell.c (folder_selection_dialog_clicked_cb): If the user
	clicked "Cancel" or used the wm to close the dialog, call _cancel
	instead of _selected.

2000-06-30  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-component.c (impl_ShellComponent_set_owner):
	Duplicate the object before storing it, you doofus.

2000-06-30  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-component.c (impl_ShellComponent_unset_owner):
	NULL the owner_client.

2000-06-30  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-client.h
	(evolution_shell_client_user_select_folder): Add prototype.

2000-06-29  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-component.c: New member `owner_client'.  Removed
	member `corba_owner'.  All the code updated to use it.
	(evolution_shell_component_get_owner): Changed so that it returns
	an EvolutionShellClient instead of the raw CORBA object.

	* evolution-shell-component.h: Change signal "owner_set" to get an
	EvolutionShellClient wrapper instead of a CORBA interface.

	* evolution-shell-client.c: New.
	* evolution-shell-client.h: New.

2000-06-29  Dan Winship  <danw@helixcode.com>

	* evolution-shell-component-client.c
	(evolution_shell_component_client_new): Update warning message to
	not say "CRASHING", since it won't if you have current bonobo.

2000-06-29  Peter Williams  <peter@beta.newton.cx>

	* e-shell.c (e_shell_restore_from_settings): Check for the 
	insanely invalid NumberOfViews = 0 case.

2000-06-29  Peter Williams  <peter@helixcode.com>

	* e-shell.c (e_shell_construct): Ref the various E-things that
	we create to go with our unrefs in the destructor.

2000-06-29  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (e_shell_view_construct): Don't ref the shell.
	(destroy): Don't unref the shell.

2000-06-29  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcuts.c (e_shortcuts_construct): Fix typo: @shortcuts
	should unset `GTK_FLOATING', not @storage_set.

	* e-shell-view.c (get_storage_set_path_from_uri): If @uri is NULL,
	return NULL.

	* main.c (idle_cb): Restore the shell from the settings.  If this
	fails, just create a new view.

	* e-shell.c (e_shell_save_settings): New.
	(e_shell_quit): Save settings before exiting.
	(e_shell_restore_from_settings): New.

	* e-shell-view.c (e_shell_view_save_settings): New.
	(e_shell_view_load_settings): New.

	* main.c (idle_cb): Initialize Gconf, create the GConfClient and
	pass it to `e_shell_new()'.

	* e-shell.c: New member `gconf_client' in `EShellPrivate'.
	(destroy): Unref it if not NULL.
	(init): Init to NULL.
	(e_shell_new): New param @gconf_client.
	(e_shell_construct): Likewise.

	* Makefile.am (INCLUDES): Add `GCONF_CFLAGS'.

2000-06-27  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
	Enable the title bar button.

2000-06-27  Michael Zucchi  <zucchi@zedzone.mmc.com.au>

	* e-shell.c (folder_selection_dialog_clicked_cb): Close the dialog
	when done.  Dont do anything if 'new' was pressed, and always
	return empty strings if 'cancel' was pressed.

2000-06-27  Michael Zucchi  <zucchi@zedzone.mmc.com.au>

	* e-shell.c (impl_Shell_user_select_folder): Set the listener as
	the corba_listener data, not the shell.

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* glade/Makefile.am: Added EXTRA_DIST for make distcheck.

2000-06-19  Ettore Perazzoli  <ettore@helixcode.com>

	* e-local-storage.c: Don't #define POSIX_SOURCE at all; this is
	not needed anymore as we no longer use `readdir_r'.

2000-06-19  Chris Toshok  <toshok@helixcode.com>

	* e-local-storage.c: #undef _POSIX_SOURCE after including
	dirent.h.  this breaks the build on freebsd if we leave it
	#defined.  go figure.

2000-06-19  Dan Winship  <danw@helixcode.com>

	* evolution-shell-component-client.c
	(evolution_shell_component_client_new): Add a warning before
	crashing due to a known bug when it can't activate a component, so
	people don't have to waste any time trying to figure out what's
	up.

2000-06-13  Ettore Perazzoli  <ettore@helixcode.com>

	* Makefile.am: Compile the CORBA-built files,
	evolution-shell-component.c and evolution-storage.c into a
	separate `libeshell.a' library.  Link the `evolution' executable
	to it.  Also cleaned up a bit and got rid of the `CPP_FLAGS'
	assignment.

2000-06-12  Michael Meeks  <michael@helixcode.com>

	* e-shell-folder-selection-dialog.c: include gnome-dialog.h
	(PARENT_TYPE): GNOME_TYPE_DIALOG replaced with gnome_dialog_get_type.

2000-06-10  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (impl_Shell_user_select_folder): New, implementation
	for `Shell:user_select_folder'.
	(corba_class_init): Install it.
	(folder_selection_dialog_clicked_cb): Callback for the folder
	selection dialog.

	* Evolution-Shell.idl: New method `Shell::user_select_folder'.
	New interface `FolderSelectionListener'.

	* glade/e-shell-folder-creation-dialog.glade: Make it larger.

	* e-shell-folder-creation-dialog.h: Fix typo: #include
	<gtk/gtkwindow.h>, not <gtk/gtkwidget.h>.

	* e-shell-view-menu.c: Added "Go to folder..." command.
	(commmand_goto_folder): Implementation for it.

	* e-shell-folder-selection-dialog.c: New.
	* e-shell-folder-selection-dialog.h: New.

2000-06-10  Ettore Perazzoli  <ettore@helixcode.com>

	* e-local-folder.c (save_metadata): Don't set the description in
	the XML file if null.  Compute the physical path correctly.

	* e-folder.c (e_folder_construct): Allow NULL description.

	* evolution-shell-component-client.c (init): Initalize
	`listener_interface' to `CORBA_OBJECT_NIL' and `listener_servant'
	to NULL.
	(create_listener_interface): Return void and set the `servant' and
	`listener_servant' fields directly.
	(evolution_shell_component_client_async_create_folder): Updated
	accordingly.

	* e-shell-folder-creation-dialog.c: New struct `DialogData' to be
	passed to the dialog's callbacks.
	(dialog_data_destroy): New.
	(e_shell_show_folder_creation_dialog): Set up a `DialogData'
	object and pass it as the data for the signals.
	(shell_destroy_cb): New handler for the "destroy" signal on the
	shell.
	(e_shell_show_folder_creation_dialog): Connect it.
	(dialog_destroy_cb): New handler for the "destroy" signal on the
	dialog; it frees the associated `DialogData'.
	(e_shell_show_folder_creation_dialog): Connect it.
	(async_create_cb): New function, callback for the async folder
	creation function.
	(entry_name_is_valid): New function to check if the entered folder
	name is valid.
	(dialog_clicked_cb): Check if the specified folder name is valid
	and, if so, asynchronously create the new folder.
	(add_folder_types): Set "type_name" data on each menu item.

	* e-storage-set-view.c (e_storage_set_view_get_current_folder):
	New function.

	* e-storage-set.c (get_storage_for_path): New helper function.
	(e_storage_set_get_folder): Use it.

	* e-storage.c (e_storage_async_create_folder): Renamed from
	`e_storage_create_folder'.
	(e_storage_remove_folder): Renamed from `e_storage_remove_folder'.
	(impl_create_create_folder): Renamed from `impl_create_folder'.
	(impl_create_remove_folder): Renamed from `impl_remove_folder'.
	(class_init): Updated accordingly.
	(e_storage_result_to_string): New function.

	* e-storage.h: `::create_folder' renamed to
	`::async_create_folder'.  `::remove_folder' renamed to
	`::async_remove_folder'.

	* evolution-shell-component.h: Return type of
	`EvolutionShellComponentCreateFolderFn' and
	`EvolutionShellComponentRemoveFolderFn' changed to `void'.

	* e-local-storage.c: `EComponentRegistry component_registry'
	replaced with `EFolderTypeRegistry folder_type_registry' in
	`ELocalStoragePrivate'
	(component_async_create_folder_callback): New function, to handle
	the callback from EvolutionShellComponent.
	(construct): Likewise.
	(e_local_storage_open): Replaced @component_registry with
	@folder_type_registry.
	(impl_create_folder): Implemented.

	* e-local-folder.c (e_local_folder_new): New.
	(e_local_folder_construct): New.
	(e_local_folder_save): Precondition: physical URI is not NULL.
	(save_metadata): Unlink the metadata file if `xmlSaveFile()'
	fails.

	* e-storage.c (e_storage_create_folder): Precondition: @path is
	absolute.
	(e_storage_remove_folder): Likewise.

2000-06-09  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view-menu.c: Removed folder menu and "save as..." command.

	* main.c (main): Call `glade_gnome_init()'.

	* e-shell-view-menu.c (command_new_folder): Implemented.

	* e-shell-folder-creation-dialog.c: New.
	* e-shell-folder-creation-dialog.h: New.

	* glade/Makefile.am: New.
	* glade/e-shell-folder-creation-dialog.glade: New.

	* e-shell-view.c (e_shell_view_get_current_uri): New.

	* e-folder-type-registry.c
	(e_folder_type_registry_get_type_names): New.

	* e-shell-view.c (get_control_for_uri): Updated to use
	`EvolutionShellComponentClient'.

	* e-folder-type-registry.c: Use `EvolutionShellComponentClient's
	instead of `BonoboObjectClient's.

	* e-component-registry.c: Use `EvolutionShellComponentClient'
	instead of `BonoboObjectClient' in `Component'.
	(component_new): Updated accordingly.
	(register_component): Likewise.

	* evolution-shell-component-client.h: New.
	* evolution-shell-component-client.c: New.

	* evolution-shell-component.c
	(impl_ShellComponent_async_create_folder): New, implementation of
	`::async_create_folder'.
	(impl_ShellComponent_async_remove_folder): New, implementation of
	`::async_remove_folder'.
	(corba_class_init): Install them.
	(evolution_shell_component_new): New args `create_folder_fn' and
	`remove_folder_fn' for setting the handlers for these new methods.
	(evolution_shell_component_construct): Likewise.

	* Evolution-ShellComponent.idl
	(ShellComponent::async_create_folder): New.
	(ShellComponent::async_remove_folder): New.
	(ShellComponentListener): New.

	* evolution-shell-component.c (impl_ShellComponent_create_view):
	New param @type.  Use the new `EvolutionShellComponentCreateViewFn'.

	* evolution-shell-component.h: New enum `EvolutionShellComponentResult'.
	Changed `EvolutionShellComponentCreateViewFn' to return an
	`EvolutionShellComponentResult'.

	* e-shell-view.c (get_control_for_uri): Pass the folder type to
	`ShellComponent::create_view'.

	* Evolution-ShellComponent.idl: New param @type for
	`ShellComponent::create_view'.

2000-06-08  Miguel de Icaza  <miguel@helixcode.com>

	* main.c (development_warning): Use version here.  Add padding to
	the message.
	Only destroy object if its window was not closed.

2000-06-08  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (setup_bonobo_ui_handler): Oops.  Don't create
	the toolbar.  This was not supposed to be committed.

2000-06-07  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage.c (folder_destroy): Don't destroy the subfolders.
	(remove_folder): New helper function.
	(free_private): Use it.
	(e_storage_removed_folder): Use it here too.
	(folder_destroy): Don't unref the EFolder if NULL.

	* e-storage-set-view.c (e_storage_set_view_construct): Use
	`gtk_signal_connect_while_alive()' instead of just
	`gtk_signal_connect()' so that the signal handler is automatically
	removed when we are destroyed.

	* e-storage-set.c (e_storage_set_remove_all_storages): New
	function.

	* e-shell-view.c (e_shell_view_construct): Use `bonobo_object_ref'
	on the shell instead of `gtk_object_ref'.
	(destroy): Unref the shell.

	* e-local-storage.h: #include "e-component-registry.h".

	* e-shell.c (setup_local_storage): Renamed from `setup_storages'.
	Only set up the local storage, not the CORBA one, and don't create
	the storage set.
	(e_shell_construct): Create the storage set here instead.  Call
	`setup_local_storage' after setting up the components.

	* e-local-storage.c: New member `component_registry' in
	`ELocalStoragePrivate'.
	(init): Init to NULL.
	(destroy): If not null, unref it.
	(e_local_storage_open): New arg @component_registry.
	(construct): New arg @component_registry.  Init
	`priv->component_registry' from it.

	* e-local-storage.c (impl_get_name): Renamed from `get_name'.
	(impl_create_folder): New function, implementing
	`EStorage::create_folder'.  Just a stub for now.
	(impl_remove_folder): New function, implementing
	`EStorage::remove_folder'.  Just a stub for now.
	(class_init): Install these stub implementations.

	* e-storage.c (e_storage_remove_folder): New function.
	(e_storage_create_folder): New function.
	(impl_create_folder): New function, default implementation for
	`::create_folder'.
	(impl_remove_folder): New function, default implementation for
	`::remove_folder'.
	(class_init): Install the implementations.

	* e-storage.c (impl_get_name): Renamed from `get_name'.
	(impl_get_folder): Renamed from `get_folder'.
	(impl_list_folders): Renamed from `list_folders'.

	* e-storage.h: New virtual methods `remove_folder',
	`create_folder'.

	* e-storage.c (e_storage_removed_folder): Renamed from
	`e_storage_remove_folder'.
	* e-corba-storage.c (impl_StorageListener_removed_folder): Updated
	accordingly.

2000-06-02  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (setup_bonobo_ui_handler): Create the default toolbar.

2000-06-02  Jeffrey Stedfast  <fejj@helixcode.com>

	* e-shell-view-menu.c: Changed "Using the Shell" to "Getting Started"

2000-06-02  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-view.c: Free the uri variable.

	* e-shell.c: Free the local_directory variable.

2000-06-02  Ettore Perazzoli  <ettore@helixcode.com>

	* main.c (view_delete_event_cb): New callback for the
	"delete_event" on the view.
	(idle_cb): Connect it.

2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

	* e-storage-set-view.c (set_e_shortcut_selection): Added a
	g_return_if_fail check.

2000-06-01  Dan Winship  <danw@helixcode.com>

	* e-shell-view-menu.c (command_help): New menu callback to launch
	the help browser.
	(menu_help): add pointers to the users' guide.
	(e_shell_view_menu_setup): Add the help menu stuff to the uih.

	* main.c (main): Set up gettext. (Problem noted by H�ctor Garc�a
	Alvarez)

2000-06-01  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (DEFAULT_WIDTH): Add more 5 pixels.

2000-06-01  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (DEFAULT_WIDTH): Made the default window a bit
	narrower.
	(DEFAULT_HEIGHT): And shorter.
	(setup_widgets): Set the border width of the vbox that holds the
	title bar to 2 pixels, so that the view looks a bit nicer.

2000-06-01  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (DEFAULT_TREE_WIDTH): Made the tree 150 pixel
	wide [instead of 100].
	(setup_widgets): Use `DEFAULT_TREE_WIDTH' instead of
	`DEFAULT_SHORTCUT_BAR_WIDTH' where appropriate.
	(e_shell_view_construct): Hide the folder bar by default.

	* e-storage-set-view.c (e_storage_set_view_construct): Set
	auto-resize mode for column one.

2000-06-01  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view-menu.c (e_shell_view_menu_setup): Set the
	statusbar.

	* e-shell-view.c: New member `appbar' for `EShellViewPrivate'.
	(init): Initialize to NULL.
	(setup_widgets): Install a status bar and set `appbar' to point to
	it.
	(setup_bonobo_ui_handler): Make the BonoboUIHandler use `appbar'
	as its statusbar.
	(e_shell_view_get_appbar): New function.
	(e_shell_view_construct): Set up the BonoboUIHandler after setting
	up the widgets.

	* e-shortcuts.c (class_init): Add new signals "new_shortcut",
	"removed_shortcut", "new_group", "removed_group".
	(e_shortcuts_remove_shortcut): Emit "remove_shortcut".
	(e_shortcuts_add_shortcut): Emit "new_shortcut".
	(e_shortcuts_remove_group): Emit "remove_group".
	(e_shortcuts_add_group): Emit "new_group".
	(unload_shortcuts): Emit "remove_group" for all the groups.

	* e-shortcuts.h: New signals "new_shortcut", "removed_shortcut",
	"new_group", "removed_group".

	* e-shortcuts-view.c (pop_up_right_click_menu): New function to
	pop up the right-click menu for the shortcut bar.
	(pop_up_right_click_menu_for_shortcut): New function.
	(selected_item): Pop up right click menu when appropriate.  Don't
	activate the shortcut when right-clicking.

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage.h: #include 'Evolution.h".

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c (show_error): Use `set_current_notebook_page()'
	instead of `gtk_notebook_set_page()'; this will also deactivate
	the current control properly.

	* e-shell-view-menu.c (e_shell_view_menu_setup): Initialize the
	state of the shortcut/folder toggle menu items using
	`e_shell_view_get_shortcut_bar_mode()' and
	`e_shell_view_get_folder_bar_mode()'.
	(command_toggle_shortcut_bar): Removed debugging message.
	(command_toggle_folder_bar): Likewise.

	* e-shell-view.c (e_shell_view_get_shortcut_bar_mode): New
	function.
	(e_shell_view_get_folder_bar_mode): New function.

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage-set-view.c: New constant `DRAG_RESISTANCE'.  New
	members `button_x', `button_y' in `EStorageSetViewPrivate'.
	(init): Initialize to zero.
	(button_press_event): Set.
	(motion_notify_event): Don't start drag unless the current x/y
	position is farther than `DRAG_RESISTANCE', in any of the two
	directions, from the original position of the button click.
	(button_release_event): Always ungrab the pointer, even if
	`selected_row_path' is NULL.

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-shell-component.c (class_init): Eeek!
	s/owner_set/owner_unset/.

	* e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
	Increase the size of the border of the hbox slightly to make the
	title bar a bit nicer.

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

	* e-component-registry.c (component_free): Invoke `::unset_owner'
	on the component before releasing it.

	* evolution-shell-component.c (class_init): Install the
	"owner_set" signal.
	(impl_ShellComponent_unset_owner): New function, implementation of
	`ShellComponent::unset_owner'.
	(corba_class_init): Install it.

	* evolution-shell-component.h: New signal "owner_unset".

	* Evolution-ShellComponent.idl: New method `ShellComponent::
	unset_owner'.

	* e-shell.c (e_shell_quit): Destroy all the views explicitly.

	* e-shell-view-menu.c: Changed `Show shortcut bar' and `Show
	folder tree' items into toggle items.
	(shortcut_bar_mode_changed_cb): New callback to update the status
	of the "show shortcut bar" toggle item when the shortcut bar is
	hidden/shown in the view.
	(folder_bar_mode_changed_cb): Likewise for the folder bar.
	(e_shell_view_menu_setup): Connect these to the corresponding
	signals on the shell.

	* e-shell-view.c: New members `shortcut_bar_mode' and
	`folder_bar_mode' in `EShellViewPrivate'.
	(init): Initialize `shortcut_bar_mode' and `folder_bar_mode' to
	`E_SHELL_VIEW_SUBWINDOW_HIDDEN'.
	(class_init): Add the new signals.
	(e_shell_view_set_shortcut_bar_mode): Renamed from
	`e_shell_view_show_shortcuts'.  Emit "shortcut_bar_mode_changed"
	and update the `shortcut_bar_mode' member.
	(e_shell_view_set_folder_bar_mode): Renamed from
	`e_shell_view_show_folders'.  Emit "folder_bar_mode_changed" and
	update the `folder_bar_mode' member.

	* e-shell-view.h: New signals "shortcut_bar_mode_changed",
	"folder_bar_mode_changed".

	* e-shell-view.c (setup_menus): Removed.
	(e_shell_view_construct): Use `e_shell_view_menu_setup' instead.
	(e_shell_view_get_bonobo_ui_handler): New function.

	* e-shell-view-menu.c (e_shell_view_menu_setup): New.

	* e-shell.c (impl_Shell_get_component_for_type): New function,
	implementation of `Evolution::Shell::get_component_for_type'.
	(corba_class_init): Install it into the EPV.

	* Evolution-Shell.idl: Added method `get_component_for_type'.

2000-05-30  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcuts.c: New members `dirty', `save_idle_id' in
	`EShortcutsPrivate'.
	(init): Initialize.
	(destroy): If the idle ID is nonzero, remove the idle.  If `dirty'
	is true, save.
	(idle_cb): New.
	(schedule_idle): New.
	(make_dirty): New.
	(e_shortcuts_remove_shortcut): Call it.
	(e_shortcuts_add_shortcut): Likewise.
	(e_shortcuts_remove_group): Likewise.
	(e_shortcuts_add_group): Likewise.

	* e-shell.c (e_shell_construct): Updated to match the `EShortcuts'
	API changes.

	* e-shortcuts.c: New member `file_name' in `EShortcutsPrivate'.
	(init): Init to NULL.
	(destroy): Free it.
	(e_shortcuts_load): Removed.
	(e_shortcuts_save): Removed.
	(e_shortcuts_new): New arg @file_name.  Load from the specified
	file name.

	* e-shortcuts-view.c (added_item): New method implementation.
	(removed_item): New method implementation.
	(added_group): New method implementation.
	(removed_group): New method implementation.
	(class_init): Install these.

	* e-shortcuts.c (e_shortcuts_remove_shortcut): New function.
	(e_shortcuts_add_shortcut): New function.
	(e_shortcuts_remove_group): New function.
	(e_shortcuts_add_group): New function.

	* e-shell-view.c: New member `view_title_bar' in
	`EShellViewPrivate'.
	(setup_widgets): Put an EShellFolderTitleBar on top of the tree
	view and the content view.
	(update_window_icon): Renamed from `set_icon'.
	(update_folder_title_bar): New.
	(popup_tree): New function to pop up the tree view when the title
	button in the title bar is clicked.
	(folder_title_clicked_cb): New callback for the "clicked" signal
	of EShellFolderTitleBar.
	(setup_widgets): Don't add a title bar to the shortcut bar.
	(create_storage_set_subwindow): New helper function.
	(setup_widgets): Use it.
	(show_error): Use an EClippedLabel instead of a GtkLabel.

	* e-shell-view.c: Replaced all the occurences of `gpointer' with
	`void *' for consistency.

	* e-shell-folder-title-bar.c: New file.
	* e-shell-folder-title-bar.h: New file.

	* e-storage-set-view.c (e_storage_set_view_construct): Ooops.  Fix
	inverted key/value pair in the call to `g_hash_table_insert()'.

2000-05-28  Dan Winship  <danw@helixcode.com>

	* main.c (main): Remove extra free of evolution_directory.

2000-05-28  Ettore Perazzoli  <ettore@helixcode.com>

	* evolution-storage.c (evolution_storage_register): Use the
	storage's name when registering.

2000-05-26  Matt Loper  <matt@helixcode.com>

	* e-shell-view-menu.c (command_about_box): Make authorlist more
	alphabetical.
	(command_show_treeview): New function; shows the treeview, when it
	has been hidden.
	(command_show_shortcut_bar): New function; shows the shortcut bar,
	when it's been hidden.

2000-05-26  Ettore Perazzoli  <ettore@helixcode.com>

	* e-corba-storage.c (impl_StorageListener_new_folder): Set the
	physical URI on the folder using `e_folder_set_physical_uri()'.

	* e-local-folder.c (get_physical_uri): Removed.
	(construct_loading_metadata): Use EFolder's `physical_uri' field
	instead of ours, which is gone.
	(save_metadata): Likewise.
	(destroy): Don't free.

	* e-local-folder.h: Removed `physical_uri' from `ELocalFolder'.

	* e-folder.c: New member `physical_uri' in `EFolderPrivate'.
	(init): Initialize to NULL.
	(destroy): Free it.
	(get_physical_uri): Removed.
	(e_folder_set_physical_uri): New function.

	* e-storage-set.c (e_storage_set_get_folder): Fix off-by-one error
	in extracting the base name.

	* e-storage.c: New member `path' in `Folder'.
	(folder_destroy): Free it.
	(folder_new): New arg.  Initialize `path' from it.
	(e_storage_construct): Updated accordingly.
	(e_storage_new_folder): Likewise.
	(e_storage_remove_folder): Remove the folder from the hash.

	* e-storage-set-view.c (remove_node): New function.
	(removed_storage_cb): Use it.
	(new_folder_cb): New function, callback for the "new_folder"
	signal on the EStorageSet.
	(removed_folder_cb): New function, callback for the
	"removed_folder" signal on the EStorageSet.
	(e_storage_set_view_construct): Connect these signal handlers to
	the respective signals on our model storage.

	* e-storage-set.c (storage_new_folder_cb): New function, callback
	for the "new_folder" signal on the storages.
	(storage_removed_folder_cb): New function, callback for the
	"removed_folder" signal on the storages.
	(e_storage_set_add_storage): Connect them to the signals of the
	storage being added.

	* e-corba-storage-registry.c
	(impl_StorageRegistry_register_storage): Throw an exception if
	`e_storage_set_add_storage()' returns false.

	* e-shell.c (setup_storages): Unref the local storage after adding
	to the storage set.

	* e-corba-storage-registry.c
	(impl_StorageRegistry_register_storage): Unref the storage after
	adding to the storage set.

	* e-storage-set.c: New hash table `name_to_named_storage' in
	`EStorageSetPrivate'.
	(named_storage_new): New helper function.
	(named_storage_destroy): New helper function.
	(e_storage_set_add_storage): Use the hash table.  Return value
	changed to `gboolean'.  Return FALSE if there is a storage with
	that name already.  Also, ref the storage.
	(e_storage_set_remove_storage): Likewise [but of course don't ref
	the storage].
	(e_storage_set_get_storage): Use the `name_to_named_storage' hash
	table.
	(destroy): Destroy the `name_to_named_storage' hash.

	* e-storage-set.h: New signals "new_folder", "removed_folder".

	* e-storage.c (e_storage_get_watcher_for_path): Removed.
	(get_watcher_for_path): Removed.
	(class_init): Install signals "new_folder" and "removed_folder".
	(e_storage_remove_folder): Emit "removed_folder".
	(e_storage_new_folder): Emit "new_folder".

	* e-storage.h: Removed method `get_watcher_for_path'.  New signals
	"new_folder", "removed_folder".

	* e-storage-watcher.c: Removed.
	* e-storage-watcher.h: Removed.

	* e-corba-storage-registry.c (corba_class_init): Set the
	Bonobo_Unknown evp parts.

	* evolution-storage.c: New.
	* evolution-storage.h: New.

	* evolution-shell-component.c
	(evolution_shell_component_get_owner): New.

	* e-storage-set-view.c (new_storage_cb): New function.
	(e_storage_set_view_construct): Connect to the "new_storage"
	signal on the EStorageSet.
	(removed_storage_cb): New function.
	(e_storage_set_view_construct): Connect to the "removed_storage"
	signal on the EStorageSet.

	* e-storage-set-view.c (e_storage_set_view_construct): Make this
	always look pretty, with Helix GNOME or without.

2000-05-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-storage-set-view.c: Make this always look pretty, with Helix
	GNOME or without.

2000-05-25  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage-set-view.c (e_storage_set_view_construct): Set the
	dotted line type again.  Dotted is less butt-ugly than continuous.

	* e-shell-view.c (show_error): Display page zero in the notebook.

	* main.c (idle_cb): Renamed from `new_view_idle_cb'.  Create the
	EShell object here, because now the shell depends on the GLib loop
	to be running for correct operation.
	(main): Don't create the EShell here.

	* e-storage-set-view.c (get_pixmap_and_mask_for_folder): If the
	icon is not found, set the returned pixmap and mask to NULL.

	* e-shell.c (e_shell_construct): Added precondition: @corba_object
	must be non-nil.
	(e_shell_new): Added precondition: @local_direcory must be
	non-null.

	* evolution-shell-component.c: New.
	* evolution-shell-component.h: New.

	* e-shell.c: New member `component_registry' in `EShellPrivate'.
	(init): Initialize to NULL.
	(destroy): Unref it.
	(setup_components): New function to set up the compnent registry
	and initialize the mail, calendar and addressbook components.
	(e_shell_construct): Call it.

	* e-storage-set.c: Updated to use EFolderTypeRegistry.
	* e-storage-set.h: Likewise.
	* e-shortcuts.c: Likewise.
	* e-shortcuts.h: Likewise.
	* e-shell.c: Likewise.

	* e-shell.h: Likewise.
	* e-shell-view.c: Likewise.
	* e-shortcuts-view.c: Likewise.
	* e-storage-set-view.c: Likewise.

	* e-component-registry.c: New.
	* e-component-registry.h: New.

	* e-folder-type-registry.c: New.
	* e-folder-type-registry.h: New.

	* e-folder-type-repository.c: Removed.
	* e-folder-type-repository.h: Removed.

	* Evolution-ShellComponent.idl: New struct `FolderType'; new type
	`FolderTypeList'. New attribute `supported_types'.
	(ShellComponent::set_owner): Renamed from `set_shell'.
	(ShellComponent::create_view): New.

2000-05-24  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-view.c: Was using the wrong include here.

	* e-storage-set-view.c: Got rid of the lines in the tree view.

2000-05-24  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added libepaned.a.

	* e-shell-view.c: Switched from GtkPaned to EPaned.

2000-05-23  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c: New member `corba_storage_registry' in
	`EShellPrivate'.
	(init): Initialize it to NULL.
	(destroy): Unref it if not NULL.
	(setup_corba_storages): New function to set up the CORBA storage
	registry and `bonobo_object_add_interface()' it to the shell.
	(setup_storages): Call it from here.

	* e-shell.h, e-shell.c: Derive EShell from BonoboObject instead of
	GtkObject.

	* e-storage.c (e_storage_remove_folder): Return value changed into
	`gboolean'; return false if an error occurs, true otherwise.
	(e_storage_new_folder): Likewise.

	* e-corba-storage-registry.c: New.
	* e-corba-storage-registry.h: New.

	* e-corba-storage.c: New.
	* e-corba-storage.h: New.

	* Evolution.idl: Include the new IDLs, but no
	`evolution-service-repository.idl' anymore.

	* Evolution-Shell.idl: New.
	* Evolution-ShellComponent.idl: New.
	* Evolution-Storage.idl: New.

	* evolution-service-repository.idl: Removed.
	* evolution-service-repository.c: Removed.
	* evolution-service-repository.h: Removed.

	* e-folder-type-repository.c (folder_type_new): Free `icon_path'.

2000-05-18  Dan Winship  <danw@helixcode.com>

	* main.c (new_view_idle_cb): add development_warning (moved from
	mail component)

2000-05-16  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage-set-view.c: Get rid of the `ICON_WIDTH' and
	`ICON_HEIGHT' #defines.
	(get_pixmap_and_mask_for_folder): Get the mini icon instead of the
	big one.  Use `E_SHELL_MINI_ICON_SIZE' instead of `ICON_WIDTH' and
	`ICON_HEIGHT'.

	* e-folder-type-repository.c: New member `mini_icon_pixbuf' in
	`FolderType'.
	(folder_type_new): Initialize `mini_icon_pixbuf' by loading the
	mini icon if possible.  If the mini icon is not found, resort to
	the big one.
	(folder_type_free): Unref the mini icon.
	(e_folder_type_repository_get_icon_for_type): New arg @mini.  If
	true, return the mini icon instead of the standard one.

	* e-shell-view.c (set_icon): Get the mini icon instead of the big
	one by using `e_shell_get_icon_path's @try_mini arg.

	* e-shell-constants.h: New file.

	* e-shell-utils.c
	(e_shell_get_icon_path): New arg @try_mini.  If true, look for the
	mini version [whose name ends in `-mini'].

	* e-folder-type-repository.c
	(folder_type_new): Free string returned by
	`e_shell_get_icon_path()'.

2000-05-16  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c: New members `storage_set_view_box',
	`shortcut_bar_box', `hpaned1_position', `hpaned2_position' in
	`EShellViewPrivate'.
	(init): Initialize them.
	(setup_widgets): Add title bars to the tree and shortcut views.
	(shortcuts_view_close_button_clicked_cb): New callback function.
	(setup_widgets): Connect to the "close_button_clicked" signal of
	the shortcut view's title bar.
	(storage_set_view_close_button_clicked_cb): New callback function.
	(setup_widgets): Connect to the "close_button_clicked" signal of
	the storage set view's title bar.
	(e_shell_view_show_shortcuts): New function.
	(e_shell_view_show_folders): New function.

	* e-shell-view.c: New members `hpaned1', `hpaned2' in
	`EShellViewPrivate'.
	(init): Initialize both to NULL.
	(setup_widgets): Invert the parenting order for the GtkHPaneds and
	store them into the private `hpaned' and `hpaned2' members.

	* Makefile.am (evolution_LDADD): Link with `libemiscwidgets.a'.

2000-05-15  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcuts.c
	(load_shortcuts_into_view): Removed.
	(e_shortcuts_new_view): Don't set up the shortcut bar manually
	here anymore, and don't set the icon callback either.  The
	`EShortcutsView' object is now able to do this by itself.

	* e-shortcuts-view.c
	(icon_callback): Moved here from `e-shortcuts.c'.
	(load_group): New function.
	(load_all_shortcuts): New function.
	(e_shortcuts_view_construct): Call it to load the shortcuts from
	the `EShortcuts' object.  Also, set `icon_callback' as the icon
	callback.

	* e-storage-set-view.c
	(button_press_event): Add/remove grab with `gtk_grab_add' and
	`gtk_grab_remove'.
	(button_release_event): Call `gtk_grab_remove' when removing the
	grab.

	* e-shortcuts.c: New member `title_to_group' in
	`EShortcutsPrivate'.
	(init): Initialize here.
	(destroy): Destroy here.
	(unload_shortcuts): Destroy and recreate here.
	(load_shortcuts): Avoid inserting multiple groups with the same
	title, and insert the groups into the `title_to_group' hash table.
	Also, avoid leaking the return value from `xmlNodeListGetString'.
	(e_shortcuts_get_group_titles): New function.
	(e_shortcuts_get_shortcuts_in_group): New function.
	(e_shortcuts_get_storage_set): New function.

	* e-storage-set-view.c
	(e_storage_set_view_set_current_folder): Emit the
	"folder_selected" signal.

	* e-local-folder.c
	(get_string_value): Return a `char *' to be deallocated by the
	caller instead of a `const char *' that does not need to be
	deallocated.
	(construct_loading_metadata): Free values returned from
	`get_string_value'.

2000-05-15  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage-set-view.c: New members `dragged_row_path',
	`selected_row_path_before_click' in `EStorageSetViewPrivate'.
	(init): Initialize them to NULL.
	(motion_notify_event): Set `dragged_row_path' from
	`selected_row_path'.
	(button_press_event): Initialize `selected_row_path_before_click'
	from `selected_row_path'.
	(button_release_event): Set `selected_row_path_before_click' to
	NULL.
	(drag_end): Restore the current selection from
	`selected_row_path_before_click'; then set both `dragged_row_path'
	to NULL.

2000-05-15  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage-set-view.c: New members `in_drag' and `drag_button' in
	`EStorageSetViewPrivate'.  New static variables `drag_types',
	`num_drag_types', `target_list'.
	(class_init): Create the `target_list'.
	(init): Initialize the private `in_drag' member to false.
	Initialize the private `drag_button' member to zero.
	(button_release_event): Set it to false.
	(motion_notify_event): New function, implementation of
	`GtkWidget::motion_notify_event'.  If `in_drag' is false, set it
	to true and set ourselves up as a drag source.
	(button_press_event): New function, implementation of
	`GtkWidget::button_press_event'.  Set `drag_button' to the event's
	button number and then chain to the implementation in the parent
	class.
	(drag_end): New function, implementation of `GtkWidget::drag_end'.
	(drag_data_get): New function, implementation of
	`GtkWidget::drag_data_get'.
	(set_e_shortcut_selection): New function, helper for `drag_data_get'.
	(set_uri_list_selection): New function, helper for `drag_data_get'.
	(class_init): Install these method implementations.

	* e-storage-set-view.c: New member `selected_row_path' in
	`EStorageSetViewPrivate'.
	(init): Initialize it to NULL.
	(tree_select_row): Set it to the path of the selected row.  Don't
	emit "folder_selected" yet.  Also, keep the grab.
	(button_release_event): New function, implementation of
	`GtkWidget::button_release_event'.  If `selected_row_path' is not
	NULL, emit the "folder_selected" signal with `selected_row_path'
	as the parameter and then set `selected_row_path' to NULL again.
	(class_init): Install `button_release_event'.

	* e-storage-set-view.c: Made `ICON_WIDTH' and `ICON_HEIGHT' global
	#defines.
	(e_storage_set_view_construct): Set the row height to
	`ICON_HEIGHT'.  Alos, set the selection mode to
	`GTK_SELECTION_BROWSE'.

2000-05-15  Iain Holmes  <ih@csd.abdn.ac.uk>

	* e-local-folder.c (get_string_value): Use the correct function to
	get the node's contents.
	
	* e-shortcuts.c (load_shortcuts): Same as above.

2000-05-14  Ettore Perazzoli  <ettore@helixcode.com>

	* e-folder-type-repository.c
	(e_folder_type_repository_get_control_id_for_type): Protect
	against non-existing types.
	(e_folder_type_repository_get_icon_for_type): Likewise.

2000-05-14  Ettore Perazzoli  <ettore@helixcode.com>

	* e-storage-set-view.c
	(folder_compare_cb): Callback comparison function for comparing
	folders based on their names.
	(insert_folders): Use it to sort the folder list before using it.

2000-05-14  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c
	(setup_storages): Pass the pointer to the folder type repository.
	(e_shell_construct): Initialize the folder type repository before
	everything else.

	* e-storage-set.c: New member `folder_type_repository' in
	`EStorageSetPrivate'.
	(init): Initialize it to NULL.
	(destroy): Unref it.
	(e_storage_set_construct): New arg @folder_type_repository.
	Initialize the corresponding member in the private struct through
	it.
	(e_storage_set_new): New arg @folder_type_repository.
	(e_storage_set_get_folder_type_repository): New function.

	* e-shortcuts.c (icon_callback): Just use [the new version of]
	`e_folder_type_repository_get_icon_for_type()' instead of loading
	the image manually.

	* e-folder-type-repository.c: New member `icon_pixbuf' in
	`FolderType'.
	(folder_type_new): Load the pixbuf.
	(folder_type_free): Unref the pixbuf.
	(e_folder_type_repository_get_icon_name_for_type): Renamed from
	`e_folder_type_repository_get_icon_for_type'.
	(e_folder_type_repository_get_icon_for_type): New function, now
	returning a `GdkPixbuf *'.

	* e-shortcuts.c
	(icon_callback): Use `e_shell_get_icon_name()'.

	* e-shell-view.c: New member `storage_set_view' in
	`EShellViewPrivate'.
	(init): Initialize it to NULL.
	(e_shell_view_construct): Create an EStorageSetView for the
	shell's EStorageSet and put it into a scrolled window.  Also, put
	the scrolled window into the EShellView with some
	[temporary] GtkPaned action.  Store the pointer to the
	EStorageSetView to `priv->storage_set_view'.
	(set_icon): Get an EShellView and an EFolder instead of an
	EShellView and a URI.  Also, don't leak.
	(update_for_current_uir): New helper function.  Call `set_icon'.
	(show_error): Call it.
	(folder_selected_cb): New function.
	(setup_widgets): Connect it to the "folder_selected" signal of the
	storage set view.

	* e-storage-set-view.c: New file.
	* e-storage-set-view.h: New file.

	* e-shell-utils.c: New file.
	* e-shell-utils.h: New file.

2000-05-10  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-view-menu.c: Added an about box.

2000-05-10  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-view.c: Set the icons when changing between components.

	* main.c: Set the default icon.  (The change in e-shell-view.c
	doesn't work unless we do this.)

2000-05-09  Matt Loper  <matt@helixcode.com>

	* e-shell-view-menu.c (command_run_bugbuddy): New function; allows
	users to submit a bug.
	(command_run_bugbuddy): Implemented with jacob's patch.

2000-05-09  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (e_shell_new_view): Display the specified @uri in the
	view.

	* e-shell-view.c (e_shell_view_construct): Removed arg @uri.
	(e_shell_view_new): Likewise.

	* main.c: New string constant `STARTUP_URI', specifying the URI to
	show in the startup view.
	(new_view_idle_cb): New callback function to create a new view for
	`STARTUP_URI' in the idle loop.  We need to do this in the idle
	loop because the CORBA stuff cannot work until the loop starts
	running.
	(main): Set `new_view_idle_cb' up as the idle callback instead of
	creating the view right away.

2000-05-09  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (setup_storages): Woops.  Don't free the path before
	the warning message, as we need to print it.

2000-05-08  Ettore Perazzoli  <ettore@helixcode.com>

	* main.c (destroy_cb): New function.
	(main): Connect it to the `destroy' signal on the shell.

2000-05-08  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcuts.c (load_shortcuts): Const fix.

2000-05-08  Larry Ewing  <lewing@helixcode.com>

	* e-shortcuts.c (load_shortcuts_into_view): xmlFree the return
	value of xmlGetProp.

2000-05-07  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcuts-view.c (e_shortcuts_view_construct): Use
	correct cast.

2000-05-07  Ettore Perazzoli  <ettore@helixcode.com>

	* main.c (main): Connect to "no_views_left", not "destroy".

	* e-shell.c (view_destroy_cb): Grmpf.

2000-05-07  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell.c (e_shell_construct): Output a warning message if the
	shortcut file is not found.
	(setup_storages): Output a warning message if the local storage
	cannot be initialized.
	(destroy): Destroy all the views.

	* e-shell-view.c
	(e_shell_view_construct): Ref the shell.

	* e-shortcuts-view.c
	(e_shortcuts_view_construct): Ref the shortcuts.

	* e-shell.c: Create the "no_views_left" signal.  New member
	`views' in `EShellPrivate'.
	(init): Initialize `views' to NULL.
	(view_destroy_cb): Destroy handler for a view: remove the view
	from `views', and emit the "no_views_left" signal if this was the
	last view.
	(e_shell_new_view): Add the new view to `views' and connect the
	"destroy" signal to `view_destroy_cb'.
	(destroy): Destroy the views.

	* e-shell.h: New signal "no_views_left".

	* e-shell-view-menu.c (command_quit): New function, implementation
	of the "quit" command.

	* e-shell-view.c (e_shell_view_get_shell): New function.

	* e-shell.c (e_shell_quit): New function.

	* main.c (main): If it is not possible to create the shell for
	some reason, pop up an error message.
	(shell_destroy_cb): New function, signal handler for "destroy" on
	the shell object.
	(main): Connect it.

2000-05-06  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcuts.c (destroy): Be safer about NULL objects.

	* e-shell.c (destroy): Be safer about NULL objects.

	* e-local-storage.c (load_folders): Use `readdir()', not
	`readdir_r()'.

2000-05-06  Ettore Perazzoli  <ettore@helixcode.com>

	* main.c (init_corba) [! USING_OAF]: We have no options no
	popt context.

2000-05-06  Ettore Perazzoli  <ettore@helixcode.com>

	* All files: Reorganized and redone a lot of the shell.  New
	features: internal URI namespace, extensible storage/folder
	mechanism, configurable shortcuts.

2000-05-03  Damon Chaplin  <damon@helixcode.com>

	* e-shell-view.c (e_shell_view_new): turned the notebook border off.
	The calendar looks better without it. If any of the views want a
	border they should create it themselves, shouldn't they?

2000-05-04  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shortcut.c (shell_icon_cb): Type of @url changed from `gchar
	*' to `const gchar *'; new arg @data.
	(e_shortcut_bar_view_new): Pass NULL as the closure value for
	`e_shortcut_bar_set_icon_callback()'.

2000-05-02  Ettore Perazzoli  <ettore@helixcode.com>

	* e-folder-mail.c: Removed.

	* e-folder-mail.h: Removed.

	* eshell-types.h: Removed.

	* e-folder.h: Don't #include "eshell-types.h".

2000-05-02  Ettore Perazzoli  <ettore@helixcode.com>

	* e-folder.h: Removed member `eservice' from `EFolder'.

	* e-service.c: Removed.

	* e-service.h: Removed.

2000-05-02  Matt Loper  <matt@helixcode.com>

	* Makefile.am: set G_LOG_DOMAIN.

2000-05-01  Dan Winship  <danw@helixcode.com>

	* e-shell-view.c (e_shell_view_set_view): Turn off control frame
	autoactivation, so the toolbars work correctly. This may actually
	be a bug in Bonobo, but we'll kludge around it here for now.

2000-04-27  Ettore Perazzoli  <ettore@helixcode.com>

	* e-shell-view.c: OAFized.
	(get_view): If `bonobo_widget_new_control()' fails for the
	calendar, don't try to get the property bag and stuff and thus
	prevent a segfault.

	* main.c
	(corba_init): Removed Bonobo initialization.  Implemented OAF
	version for the case in which `USING_OAF' is #defined.
	(init_bonob): New function.
	(main): Call `init_bonobo()'.

2000-04-26  Matt Loper  <matt@helixcode.com>

	* e-shell-view.c (bonobo_widget_is_dead): Helper function to see
	whether a bonobo widget is a zombie (ie the remote bonobo control
	died).
	(e_shell_view_set_view): Try to respawn dead widgets.

2000-04-25  Dan Winship  <danw@helixcode.com>

	* Makefile.am: include -I$(datadir)/idl in orbit-idl arguments so
	that you can have bonobo installed in the same prefix as
	evolution, when that isn't the same prefix is gnome-libs, which a
	lot of people seem to be doing.
	(CLEANFILES): add EVOLUTION_CORBA_GENERATED
	
2000-04-24  Christopher James Lahey  <clahey@helixcode.com>

	* idl/folder.idl: Made some functions syncronous that didn't need
	to be asyncronous.

2000-04-24  Matt Loper  <matt@helixcode.com>

	* e-shell-view.h: Added hpaned and treeview widgets to
	EShellView. Added e_shell_view_toggle_shortcut_bar() and
	e_shell_view_toggle_treeview().

	* e-shell-view.c (e_shell_view_setup_shortcut_display): Use EPaned
	widget to house our shortcut bar.
	(e_shell_view_toggle_shortcut_bar): New function; toggles whether
	the shortcut bar is showing.
	(e_shell_view_toggle_treeview): Same, for the treeview (NYI).
	(e_shell_view_new): Put the notebook view in our EPaned widget.

	* e-shell-view-menu.c (esv_cmd_toggle_shortcut_bar): New function;
	toggles whether the shortcut bar is viewed.
	(esv_cmd_toggle_treeview): Same, but with the treeview.  Added
	menuitems in the "view" menu to allow access to the above.

2000-04-19  Seth Alves  <alves@hungry.com>

	* e-shell-view.c (get_view): set calendar's uri with a property bag

2000-04-19  Christopher James Lahey  <clahey@helixcode.com>

	* idl/folder.idl: New idl file.  Still unused.

2000-04-14  Christopher James Lahey  <clahey@helixcode.com>

	* e-shell-view.c: Made the left pane of the shell view not
	autoresize.

2000-04-09  Matt Loper  <matt@helixcode.com>

	* e-shell-view.c (e_shell_view_setup): Set the default height
	bigger, to 600, so that everything in the shortcut-bar shows up.

2000-04-07  Matt Loper  <matt@helixcode.com>

	* e-shell-view.c (destroy_folder_view): New function;
	Bonobo_Unknown_unref's the controls that have the views in them.
	(esv_destroy): Calls the above for each folder_view in the
	hashtable.
	(get_view): unref the ServiceRepository interface of the control
	when we're done with it.

2000-04-06  Miguel de Icaza  <miguel@gnu.org>

	* shell/e-shortcut.c (shell_icon_cb): Append a slash here.
	(shell_icons): Only list the filenames.

	* shell/main.c (evolution_boot): Be less rude.

2000-04-06  Matt Loper  <matt@helixcode.com>

	* shell/main.c (evolution_boot): Make sure our data directory is
	available with e_setup_base_dir ().

2000-04-06  Miguel de Icaza  <miguel@gnu.org>

	* shell/e-shortcut.c (shell_icon_cb): Load the icons from the
	installation path, not form the GNOME-libs installation prefix. 
	(shell_icon_cb): Memory leak fix.

	* shell/Makefile.am (imagesdir): Pass the EVOLUTION_IMAGES
	installation directory here.

2000-04-05  Seth Alves  <alves@hungry.com>

	* shell/e-shell-view.c (get_view): hook up control:calendar

2000-03-31  Dan Winship  <danw@helixcode.com>

	* 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.

2000-03-30  Dan Winship  <danw@helixcode.com>

	* shell/e-shell-view.c (e_shell_view_set_view): Hold off on
	deactivating the "outgoing" control until after setting up the
	"incoming" control. That way if the new control takes a few
	seconds to load, there won't be an ugly empty spot where the
	toolbar used to be while the new control loads.

2000-03-29  Dan Winship  <danw@helixcode.com>

	* shell/e-shell-view.c (e_shell_view_set_view): Call
	bonobo_control_frame_activate on the folder_view every time it
	is displayed, and bonobo_control_frame_deactivate every time it is
	hidden.

2000-03-25  Matt Loper  <matt@helixcode.com>

	* shell/e-shell-view.c (get_view): Move CORBA_Environment to
	different scope.

2000-03-22  Matt Loper  <matt@helixcode.com>

	* shell/main.c (evolution_boot): gtk_signal_connect'ed "destroy"
	to gtk_main_quit, so that the shell dies when you want it to.

	* shell/e-shell-view.c (get_view): Reorganized, and added
	assertions.
	(e_shell_view_set_view): Added assertions.

2000-03-20  Matt Loper  <matt@helixcode.com>
	
	* shell/e-shell-view.h: New private field in EShellView added,
	which contains the notebook and a hashtable of folders to views.

	* shell/e-shell-view.c (e_shell_view_set_view): Instead of
	creating a new control every time we set the view, we now keep our
	controls in a notebook. This function now switches to the correct
	notebook page, or creates a new page/control as necessary.
	(e_shell_view_new): Creates and inserts the notebook into the
	shell.

2000-03-13  Christopher James Lahey  <clahey@helixcode.com>

	* shell/e-shell-view.c: Added an E_FOLDER_CONTACTS section to the
	get_view function.

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

	* shell/e-shell.c (EShell_register_service): 
	test implementation. Show the uri and the type 
	of service that	has just been registered.
	
	* shell/e-shell-view.c (get_view): 
	once we have the bonobo control widget, 
	disable the autoactivation and activate
	the control frame.
	(get_view): added a parameter to have
	a reference to the EShellView.
	(get_view): In the case of the mail component
	use the Evolution_ServiceRepository to 
	give the component a reference to the 
	Shell server.

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

	* shell/e-shell-view.c (get_view): name change
	

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

	* shell/evolution-service-repository.c:
	(evolution_service_repository_new): creates an 
	Evolution_ServiceRepository object.
	(create_evolution_service_repository): 
	create the corresponding servant.
	(evolution_service_repository_construct): set 
	the closure as well as the virtual functions. 

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
	
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-07  bertrand  <bertrand@helixcode.com>

	* shell/e-shell-shortcut.c (shortcut_bar_item_selected): 
	removed a test that prevented the standard menu 
	to be shown.

2000-03-01  Ettore Perazzoli  <ettore@helixcode.com>

	* shell/Makefile.am (INCLUDES): use `top_srcdir' instead of
	`srcdir'.  Also, add `$(top_srcdir)'.  And put the srcdir includes
	before everything else.
	(evolution_LDADD): `libeutil.la', not `libeutil.a'.

2000-02-22  bertrand  <Bertrand.Guiheneuf@aful.org>

	* shell/Makefile.am (evolution_LDADD): 
	add libetext.a.

2000-02-08  Iain Holmes  <ih@csd.abdn.ac.uk>

	* shell/Makefile.am: Changed the order of the compilation, so the CORBA
	stuff was generated before it was needed.

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

	* shell/e-shell.c: Construct the default folders 

	* shell/e-shell-view.c (e_shell_view_new): Setup the main GnomeApp
	application, load the shortcut, internal api. 

	* shell/e-folder.c (e_folder_get_type_name): Return description
	here;  Change of policy;  We now know about all of the possible
	types that can be displayed on Evolution. 

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

	* shell/e-folder.c: Renamed signal.

	* 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-05  Miguel de Icaza  <miguel@gnu.org>

	* shell/Makefile.am: New file.