Commit Graph

232 Commits

Author SHA1 Message Date
c357c63804 Fix "evolution evolution:/path/to/folder" to use default view
prefs.

	* e-shell.c (impl_Shell_createNewView): Use
	e_shell_create_view_from_uri_and_settings to create the new view
	based on saved view 0 instead of always using the initial
	evolution defaults.
	(e_shell_create_view_from_uri_and_settings): Renamed and
	simplified; the template_view argument was useless and
	settings_found would always be set to TRUE in the context it was
	being used it.
	(e_shell_restore_from_settings): Simplify for
	e_shell_create_view_from_uri_and_settings changes.

	* e-shell-view.c (e_shell_view_load_settings): Only load the
	DisplayedURI if the view isn't already displaying a URI. Also,
	pass an &ev to the first bonobo_config_get_long so we can tell if
	it failed and bail out.

	* e-shell-view.h: Remove a prototype for a non-existent function
	(e_shell_view_remove_control_for_uri).

	* main.c (idle_cb): Add some comments here and remove some dead
	code.

svn path=/trunk/; revision=16389
2002-04-08 15:30:02 +00:00
8e70cce274 Register a "working" folder type with the hourglass icon. (Would
* e-shell.c (e_shell_construct): Register a "working" folder type
	with the hourglass icon. (Would eventually like an animated gif,
	when ETable supports that.)

	* e-storage.c (e_storage_has_subfolders): Use "working" rather
	than "noselect" as the folder type.

	* e-shell-view.c (get_view_for_uri): Simplify a bit.

svn path=/trunk/; revision=16244
2002-03-25 15:40:15 +00:00
a9b3a1b2e2 Note that e_storage_set_view_new shouldn't be used directly.
* e-storage-set-view.[ch]: Note that e_storage_set_view_new
	shouldn't be used directly.

	* e-shell-view.c (setup_storage_set_subwindow): Use
	e_storage_set_new_view instead of e_storage_set_view_new.

	* evolution-storage-set-view-factory.c
	(evolution_storage_set_view_factory_new_view): Likewise.

svn path=/trunk/; revision=15993
2002-03-08 22:34:19 +00:00
17fd352c3b Addendum to previous commit: Remove "storage_selected" vs
"folder_selected" distinction.

	* evolution-storage-set-view.c
	(storage_set_view_widget_storage_selected_cb): Removed.

	* evolution-storage-set-view-listener.c
	(impl_GNOME_Evolution_StorageSetViewListener_notifyStorageSelected):
	Removed.
	(class_init): Remove STORAGE_SELECTED signal.

	* e-storage-set-view.c (impl_cursor_activated): Always emit
	FOLDER_SELECTED, never STORAGE_SELECTED.
	(class_init): Remove STORAGE_SELECTED signal.

	* e-shell-view.c (storage_selected_cb): Removed.

	* e-shell-folder-creation-dialog.c
	(storage_set_view_storage_selected_cb): Removed.

	* Evolution-StorageSetView.idl (StorageSetViewListener): Remove
	notifyStorageSelected.

svn path=/trunk/; revision=15968
2002-03-07 19:23:44 +00:00
7065f6dba3 Make storages-with-toplevel-views less of a hack.
* e-folder-tree.c (e_folder_tree_add): Allow the caller to "add" a
	root folder, if the existing root folder has no children.
	(e_folder_tree_new): Use e_folder_tree_add to create the root
	folder, since it can do that now.

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

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

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

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

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

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

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

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

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

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

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

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

svn path=/trunk/; revision=15965
2002-03-07 18:26:57 +00:00
0ccb79c8ca [Fix #20234, Deleting Folder gratuitiously causes /local to open.]
2002-03-04  Ettore Perazzoli  <ettore@ximian.com>

	[Fix #20234, Deleting Folder gratuitiously causes /local to open.]

	* e-shell-view.c (find_inbox_in_storage): New helper function to
	heuristically find an Inbox folder.
	(handle_current_folder_removed): New function to handle the
	removal of the currently displayed folder in a slightly smarter
	way than before.  It tries to display the parent folder of the
	folder that got deleted and, if not possible, the Inbox in the
	same storage.  If neither of this is possible, it displays the
	default local Inbox.  [It still doesn't handle the case where you
	have no Inbox gracefully, but that can come later.]
	(storage_set_removed_folder_callback): Call
	`handle_current_folder_removed'.

2002-03-04  Ettore Perazzoli  <ettore@ximian.com>

	[Fix #20237, Shell silently drops xfer_folder errors.]

	* e-shell-folder-commands.c (xfer_result_callback): Display an
	error message if the operation failed.

svn path=/trunk/; revision=15898
2002-03-04 16:53:45 +00:00
9001aaa2f3 [This gets rid of some spurious "could not find handler" messages
on exit.  What happened is that the signal would be disconnected
twice, once by cleanup_delayed_selection() and once by the
while_alive handler.]

* e-shell-view.c (destroy): Call cleanup_delayed_selection() here.
(e_shell_view_display_uri): Use gtk_signal_connect_full(), not
e_gtk_signal_connect_full_while_alive().

svn path=/trunk/; revision=15848
2002-02-26 22:21:33 +00:00
51b03dbcdf New helper function to remove all the matching URIs from the history.
* e-shell-view.c (remove_uri_from_history): New helper function to
remove all the matching URIs from the history.
(history_uri_matching_func): Compare function for using
e_history_remove_matching.
(storage_set_removed_folder_callback): Call
`remove_uri_from_history()'.

* e-history.c (e_history_remove_matching): New.

svn path=/trunk/; revision=15803
2002-02-22 20:55:51 +00:00
2c66be6ec9 New. (display_uri): Call it before returning so the navigation buttons
* e-shell-view.c (update_navigation_buttons): New.
(display_uri): Call it before returning so the navigation buttons
always have the right sensitivity.

* e-shell-folder-title-bar.c
(e_shell_folder_title_bar_update_navigation_buttons): New.
(add_navigation_buttons): Remove the "Back" label.

svn path=/trunk/; revision=15799
2002-02-22 19:27:52 +00:00
2dd28d3e91 [First cut at navigation (i.e. back/forward) buttons.]
* e-shell-view.c: New member `history' in `EShellViewPrivate'.
(init): Initialize.
(destroy): Unref.
(e_shell_view_display_uri): Make it a no-op if the URI is the same
as the current one.  Also, moved code into `display_uri' and use
it.
(back_clicked_callback): New, callback for the back button on the
folder title bar.
(forward_clicked_callback): Likewise for the forward button.

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

svn path=/trunk/; revision=15798
2002-02-22 18:47:40 +00:00
377b087df2 `e_shell_folder_title_bar_set_title_clickable()', not
* e-shell-view.c (e_shell_view_show_folder_bar):
`e_shell_folder_title_bar_set_title_clickable()', not
`e_shell_folder_title_bar_set_clickable()'.

* e-shell-folder-title-bar.c: Rename `button', `button_label' and
`button_arrow' to `title_button', `title_button_label' and
`title_button_arrow'.  Renamed `label' to `title_label'.  Renamed
`arrow_xpm' to `down_arrow_xpm'.  Added `left_arrow.xpm' and
`right_arrow.xpm'.
(class_init): Add the "back_clicked" and "forward_clicked"
signals.
(add_navigation_buttons): New function to add the navigation
buttons to the title bar.
(back_button_clicked_callback): Callback for the back button,
emits "back_clicked".
(forward_button_clicked_callback): Callback for the forward
button, emits "forward_clicked".
(e_shell_folder_title_bar_construct): Call
`add_navigation_buttons()'.
(forward_button_clicked_callback):
(create_arrow_pixmap): Removed.
(create_pixmap_widget_from_xpm): New.
(title_button_box_realize_cb): Removed.
(e_shell_folder_title_bar_construct): Don't connect.  Just add the
icon normally using the new `create_pixmap_widget_from_xpm()'.
(e_shell_folder_title_bar_set_title_clickable): Renamed from
`e_shell_folder_title_bar_set_clickable'.
(size_allocate_navigation_buttons): New.
(size_allocate_title_button): Get an @offset.
(size_allocate_label): Get an @offset.
(size_allocate): Allocate the navigation buttons and offset
everything else accordingly.

* e-shell-folder-title-bar.h: New signals "back_clicked",
"forward_clicked".

svn path=/trunk/; revision=15797
2002-02-22 17:28:03 +00:00
feb63a0bdc Don't show the folder bar and the shortcut bar in the new window.
* e-shell-view-menu.c (command_open_folder_in_new_window): Don't
show the folder bar and the shortcut bar in the new window.

* e-shell-view.c (activate_shortcut_cb): Don't show the folder bar
and the shortcut bar in the new window.

* e-shell-view.c (e_shell_create_view): Don't flush the GTK events
here.

* e-shell.c (e_shell_construct): New arg @start_online.  If true,
invoke `e_shell_go_online()' before returning.
(e_shell_new): New arg @start_online.  Pass it to
e_shell_construct().
(init): Default ->line_status to E_SHELL_LINE_STATUS_OFFLINE.

* main.c (main): Add "--offline" and "--online" options.

svn path=/trunk/; revision=15776
2002-02-20 20:50:10 +00:00
4eb4ae3be8 [Implement an Outlook-style "New" dropdown button. It is basically
done but it needs pretty icons so I am leaving it disabled for now.]

* e-combo-button.c: Remove member `separator' from
`EComboButtonPrivate'.  New members `icon', `label'.
(init): There shall be no separator no more.  Init `icon' and
`label' to %NULL.
(e_combo_button_construct): Set no relief.
(e_combo_button_new): Don't get a @menu arg anymore.
(e_combo_button_construct): Likewise.
(e_combo_button_set_icon): New.
(e_combo_button_set_label): New.
(e_combo_button_set_menu): New.
(impl_clicked): New, overriding the "clicked" method for
GtkButton.
(class_init): Install.
(impl_button_release_event): Removed.
(class_init): No need to override ::release_event with this
anymore.
(impl_released): New, override for the GtkButton::released method.
(class_init): Install.

* e-shell-user-creatable-items-handler.c: New member `id' in
struct `Component'.  New member `icon' in struct `MenuItem'.
(component_free): Free ->id.
(component_new): Renamed from `component_new_from_client'.  Get an
@id arg and set ->id accordingly.
(e_shell_user_creatable_items_handler_add_component): New arg @id.
Pass it to `component_new'.
(e_shell_user_creatable_items_handler_setup_menus): New arg
@current_component_id.
(e_shell_user_creatable_items_handler_update_menus): New.
(set_current_component): New helper function.
(get_component_by_id): New helper function.
(add_verbs): Renamed from `add_verbs_to_ui_component()'.  Get a
@shell_view instead of a @ui_component.  Set the SHELL_VIEW_KEY on
the ui_component of the shell_view to point to the shell_view
itself.
(ensure_menu_items): Set item->icon to NULL.
(free_menu_items): Unref item->icon.
(ensure_menu_xml): Set the icon as well.
(get_default_action_for_view): New helper function.
(find_menu_item_for_verb): New helper function.
(shell_view_view_changed_callback): New callback, set up the label
on the "New" button depending on the current component.
(e_shell_user_creatable_items_handler_attach_menus): New.  For
now, do not display the toolbar button yet.
(execute_verb): New helper function, splitting out code from
`verb_fn'.
(verb_fn): Use `execute_verb'.
(combo_button_activate_default_callback): Callback for the
"activate_default" signal on the EComboButton.
(setup_toolbar_button): Connect.

* evolution-shell-component.c: New member `icon' in
`UserCreatableItemType'.
(impl__get_userCreatableItemTypes): Put the ->icon in the
corba_type as well.
(user_creatable_item_type_new): Get a new @icon argument.
(evolution_shell_component_add_user_creatable_item): New arg
@icon.

* Evolution-ShellComponent.idl: New member `icon' in struct
`UserCreatableItemType'.

* evolution-test-component.c (register_component): Pass a NULL
@icon to `evolution_shell_component_add_user_creatable_item()'.

* e-shell-view.c (class_init): Add the signal to the class.
(e_shell_view_display_uri): Emit "view_changed".
(e_shell_view_get_current_component_id): New.

* evolution-shell-component-client.c: New member `id' in
EvolutionShellComponentClientPrivate.
(init): Init to NULL.
(impl_destroy): Free.
(evolution_shell_component_client_new_for_objref): Removed.
(evolution_shell_component_client_construct): New arg @id.
Initialize ->id from it.
(evolution_shell_component_client_get_id): New.

* e-shell-view.h: New signal "view_changed".

* evolution-activity-client.c (create_icon_from_pixbuf): Removed.
(create_corba_animated_icon_from_pixbuf_array): Removed.
(evolution_activity_client_construct): Use
`e_new_corba_animated_icon_from_pixbuf_array()' instead.

svn path=/trunk/; revision=15438
2002-01-23 22:21:24 +00:00
885d0b6bd7 re-order activate / de-activate to minimise flicker switching between
2001-12-14  Michael Meeks  <michael@ximian.com>

	* e-shell-view.c (set_current_notebook_page): re-order
	activate / de-activate to minimise flicker switching between
	identical components.

svn path=/trunk/; revision=15316
2002-01-14 16:19:08 +00:00
225f981218 [Fix #7827, Switching desktops leaves the folder bar popped up.]
* e-shell-view.c (folder_bar_popup_map_callback): And grab the
keyboard as well.
(popdown_transient_folder_bar): Ungrab the keyboard as well.
(switch_on_folder_tree_click): Likewise.

[Fix #16507, Right Click -> View does nothing.]

* e-shell-view-menu.c: New verb "ActivateView".
(command_activate_view): New, callback for the "ActivateView"
verb.

svn path=/trunk/; revision=14897
2001-12-05 22:56:54 +00:00
641ac2a168 Removed. (show_existing_view): Don't call it.
* e-shell-view.c (bonobo_widget_is_dead): Removed.
(show_existing_view): Don't call it.

svn path=/trunk/; revision=14494
2001-10-30 22:48:22 +00:00
43f8a506b6 If the display uri is NULL, set the view to the default.
2001-10-30  Iain Holmes  <iain@ximian.com>

	* e-shell-view.c (e_shell_view_load_settings): If the display uri is
	NULL, set the view to the default.

svn path=/trunk/; revision=14489
2001-10-30 22:15:05 +00:00
d42a48e07c Connect to the "removed_folder" signal with
* e-shell-view.c (e_shell_view_construct): Connect to the
"removed_folder" signal with gtk_signal_connect_while_alive() so
we don't crash if the view gets destroyed.  Fixes #13285.

svn path=/trunk/; revision=14478
2001-10-30 20:34:49 +00:00
5054beec45 Ref the shell. (destroy): Unref the shell. (destroy): Free the
* e-shell-view.c (e_shell_view_construct): Ref the shell.
(destroy): Unref the shell.
(destroy): Free the delayed_selection.  No need to call
`cleanup_delayed_selection()' as the signal handler will have
already be disconnected at this point [as we are using
connect_while_alive()'].

svn path=/trunk/; revision=14325
2001-10-29 08:07:23 +00:00
fa6339027d Call `cleanup_delayed_selection()' as there is a slight chance that the
* e-shell-view.c (destroy): Call `cleanup_delayed_selection()' as
there is a slight chance that the callback gets invoked during the
cleanup phase.
(e_shell_view_display_uri): For extra safety, make sure we don't
get invoked on a dead object by connecting the "new_folder" signal
with `e_gtk_signal_connect_full_while_alive()' instead of using
plain `gtk_signal_connect_after()'.

svn path=/trunk/; revision=14320
2001-10-29 04:08:03 +00:00
815ed53e5a Don't do the `gtk_signal_disconnect_by_func()' as it's already done in
* e-shell-view.c (new_folder_cb): Don't do the
`gtk_signal_disconnect_by_func()' as it's already done in
`cleanup_delayed_selection()'.
(e_shell_view_construct): Set the ->shell member as the first
thing.
(set_current_notebook_page): Add a cast to make the compiler
happy.
(new_folder_cb): Don't set priv->uri before calling
`e_shell_view_display_uri()', because the latter does it anyways,
and also if you set it before calling it, the selection in the
folder tree doesn't get updated properly.

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

svn path=/trunk/; revision=14186
2001-10-26 23:53:35 +00:00
16f5a6ab61 Clear the folder bar label to be empty. [#12553]
* e-shell-view.c (set_current_notebook_page): Clear the folder bar
label to be empty.  [#12553]

svn path=/trunk/; revision=14163
2001-10-26 19:16:08 +00:00
b6df48bee7 Don't allow translators to translate "Ximian Evolution".
* e-shell-view.c (update_for_current_uri): Don't allow translators
to translate "Ximian Evolution".

svn path=/trunk/; revision=14116
2001-10-26 00:46:30 +00:00
856e3689fb Explicitly deactivate the control frame, and display the default URI
* e-shell-view.c (storage_set_removed_folder_callback): Explicitly
deactivate the control frame, and display the default URI before
destroying the dead one.

* e-shell.c (e_shell_component_maybe_crashed): If the URI is of a
folder that doesn't exist anymore, don't assume that the
corresponding component has crashed.  Also, try pinging the
component first; if the component responds, don't pop up the
dialog.

svn path=/trunk/; revision=13960
2001-10-23 22:00:39 +00:00
5125a8f870 No need to gtk_widget_show() the view anymore.
* e-shell-view-menu.c (command_open_folder_in_new_window): No need
to gtk_widget_show() the view anymore.

* e-shell-view.c (activate_shortcut_cb): No need to
gtk_widget_show() the view anymore.

* e-shell.c (impl_Shell_createNewView): Don't explicitly show the
new view.
(e_shell_create_view): gtk_widget_show() the new view and flush
the GTK+ event loop before sending the ::interactive notification.
(create_view): New helper function.
(e_shell_create_view): Use it.
(e_shell_create_view_from_settings): New.
(e_shell_restore_from_settings): Use
`e_shell_create_view_from_settings()'.

svn path=/trunk/; revision=13918
2001-10-22 23:59:54 +00:00
3b4131bb11 If the view is dead, just return FALSE. Prevents crash #12483.
* e-shell-view.c (show_existing_view): If the view is dead, just
return FALSE.  Prevents crash #12483.

svn path=/trunk/; revision=13903
2001-10-22 22:37:47 +00:00
9b86a51681 [Fix #7643, Starting new view doesn't honor "view" settings.]
* e-shell-view-menu.c (command_open_folder_in_new_window): Pass
the parent @shell_view as the @template_view arg to
`e_shell_create_view()'

* e-shell-view.c (activate_shortcut_cb): Pass the _view as the
@template_view arg to `e_shell_create_view()'.

* e-shell-folder-commands.c
(e_shell_command_open_folder_in_other_window): Pass the parent
@shell_view as the @template_view arg to `e_shell_create_view()'.

* e-shell.c (e_shell_create_view): New arg @template_view.
(impl_Shell_createNewView): Pass %NULL as @template_view when
calling it.
(e_shell_restore_from_settings): Likewise.

svn path=/trunk/; revision=13618
2001-10-12 06:29:09 +00:00
9d6d152922 Don't die if the folder_bar_popup is %NULL. Fixes #10922.
* e-shell-view.c
(reparent_storage_set_view_box_and_destroy_popup): Don't die if
the folder_bar_popup is %NULL.  Fixes #10922.

svn path=/trunk/; revision=13613
2001-10-12 04:01:22 +00:00
a19af27803 Get the right hpaned positions for when the shortcut bar and/or the folder
* e-shell-view.c (e_shell_view_save_settings): Get the right
hpaned positions for when the shortcut bar and/or the folder bar
are visible.

svn path=/trunk/; revision=13461
2001-10-05 20:03:43 +00:00
ba14e3cb74 [Fix #11326, The folder list can become detached from its parent
window.]

* e-shell-view.c (folder_context_menu_popped_down_cb): Pop down
the folder bar if it's popped up.

svn path=/trunk/; revision=13346
2001-10-02 20:31:13 +00:00
df580510c9 New, callback for the ::removed_folder signal on the shell's EStorageSet.
* e-shell-view.c (storage_set_removed_folder_callback): New,
callback for the ::removed_folder signal on the shell's
EStorageSet.
(e_shell_view_construct): Connect.
(e_shell_view_remove_control_for_uri): Removed.

* e-shell-folder-commands.c
(folder_selection_dialog_folder_selected_callback): Don't call
`e_shell_view_remove_control_for_uri()'.
(e_shell_command_delete_folder): Not here either.  And don't
display the default URI either.

svn path=/trunk/; revision=13305
2001-10-02 18:21:01 +00:00
8f338e40f9 [Fix #8434, Shortcut bar not shown properly.]
* e-shell-view.c (e_shell_view_show_shortcut_bar): Set the
hpaned_position from the EPaned *before* hiding it -- otherwise,
the position will of course always be zero.
(e_shell_view_save_settings): Save from ->hpaned_position and
->view_hpaned_position.

svn path=/trunk/; revision=13234
2001-09-28 21:18:57 +00:00
62c86e7472 New helper function. (folder_selected_cb): Call it.
* e-shell-view.c (setup_verb_sensitivity_for_folder): New helper
function.
(folder_selected_cb): Call it.
(folder_context_menu_popping_up_cb): New callback for the
"folder_context_menu_popping_up" signal on the folder bar's
EStorageSetView; set the sensitivities of the verbs according to
the right-clicked folder.
(folder_context_menu_popped_down_cb): New, callback for the
"folder_context_menu_popped_down" signal on the folder bar's
EStorageSetView; set the sensitivities of the verbs according to
the currently displayed folder.
(e_shell_view_get_folder_bar_right_click_path): Add a cast to
placate a warning.

* e-storage-set-view.c (class_init): Set up the
"folder_context_menu_popping_up" and
"folder_context_menu_popped_down" signals.
(right_click): Emit "folder_context_menu_popping_up" before
popping up the menu, "folder_context_menu_popped_down" after the
menu is gone.

* e-storage-set-view.h: New signals
"folder_context_menu_popping_up" and
"folder_context_menu_popped_down".

svn path=/trunk/; revision=13171
2001-09-26 22:55:27 +00:00
769e117e90 New helper function. (command_move_folder): Pass the @folder_path argument
* e-shell-view-menu.c (get_path_for_folder_op): New helper
function.
(command_move_folder): Pass the @folder_path argument to
`e_shell_command_move_folder' by using it.
(command_copy_folder): Pass the @folder_path argument to
`e_shell_command_copy_folder' by using it.
(command_delete_folder): Pass the @folder_path argument to
`e_shell_command_delete_folder()' by using it.
(command_add_folder_to_shortcut_bar): Pass the @folder_path
argument to `e_shell_command_add_to_shortcut_bar()' by using it.
(command_create_folder): Pass the @parent_folder_path argument to
`e_shell_command_create_new_folder()' by using it.
(command_new_folder): Use `get_path_for_folder_op()'.

* e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
New arg @folder_path.
(e_shell_command_copy_folder): New arg @folder_path.
(e_shell_command_move_folder): New arg @folder_path.
(e_shell_command_open_folder_in_other_window): New arg @folder_path.
(e_shell_command_create_new_folder): New arg @parent_folder_path.
(e_shell_command_delete_folder): New arg @folder_path.

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

* e-storage-set-view.c: New member `right_click_row_path'.
(init): Init to NULL.
(destroy): Free.
(right_click): Set.
(popup_folder_menu): Use `gnome_popup_menu_do_popup_modal()' so we
are stuck in here until the menu disappears.  After that, destroy
the menu and  call `e_tree_right_click_up()'.
(e_storage_set_view_get_right_click_path): New.

svn path=/trunk/; revision=13124
2001-09-25 21:27:00 +00:00
4f77a21a2a Removed. (folder_bar_popup_map_callback): Don't connect.
* e-shell-view.c (storage_set_view_box_event_cb): Removed.
(folder_bar_popup_map_callback): Don't connect.
(reparent_storage_set_view_box_and_destroy_popup): Don't ungrab
here.
(popdown_transient_folder_bar): Ungrab here.
(popdown_transient_folder_bar_idle): New.
(switch_on_folder_tree_click): Invoke it in the idle loop.  Also,
ungrab.

svn path=/trunk/; revision=13025
2001-09-20 22:59:37 +00:00
1e050bd5f7 [Fix #9060, Shell crash after mailer crash.]
* e-shell-view.c (hash_foreach_destroy_view): Renamed from
`hash_forall_destroy_view'.  Don't free `name'.
(socket_destroy_cb): Use `g_hash_table_lookup()' instead of
`g_hash_table_lookup_extended()'.  Don't free the URI.
(e_shell_view_remove_control_for_uri): Likewise.
(show_existing_view): Use view->uri as the key when inserting the
view.  Remove the old view from the hash when destroying it.
(create_new_view_for_uri): Same here.

svn path=/trunk/; revision=12913
2001-09-17 21:57:33 +00:00
8fcec5b917 Hide the storage_set_view_box *before* getting the child1_size [otherwise,
* e-shell-view.c (e_shell_view_show_folder_bar): Hide the
storage_set_view_box *before* getting the child1_size [otherwise,
the latter will, um, always be zero].

svn path=/trunk/; revision=12902
2001-09-17 17:51:01 +00:00
638ad0ba0b [Fix #5990, Remembering Evolution window geometry.]
* e-shell.c (impl_Shell_createNewView): gtk_widget_show() the new
view returned by `e_shell_create_view()'.
(e_shell_restore_from_settings): Same here, after loading the
settings.

* e-shell-view.c (activate_shortcut_cb): gtk_widget_show() the new
view returned by `e_shell_create_view()'.

* e-shell-view-menu.c (command_open_folder_in_new_window):
gtk_widget_show() the view returned by `e_shell_create_view()'.

* e-shell-folder-commands.c
(e_shell_command_open_folder_in_other_window): gtk_widget_show()
the view returned by `e_shell_create_view()'.

* e-shell.c (e_shell_create_view): Don't show the view
automatically anymore.

* e-shell-view.c (e_shell_view_save_settings): Save the width and
height of the window.
(e_shell_view_load_settings): Restore the width and the height and
gtk_window_set_default_size() based on them.

svn path=/trunk/; revision=12816
2001-09-13 23:46:03 +00:00
c788ba0faf Disable DnD on the EStorageSetView to avoid strange behaviors.
* e-shell-view.c (pop_up_folder_bar): Disable DnD on the
EStorageSetView to avoid strange behaviors.
(reparent_storage_set_view_box_and_destroy_popup): Re-enable DnD
here.
(popdown_transient_folder_bar): And here as well.

* evolution-storage-set-view-factory.c
(evolution_storage_set_view_factory_new_view): Disable DnD on the
EStorageSetView.

* e-shell-folder-selection-dialog.c
(e_shell_folder_selection_dialog_construct): Disable DnD on the
EStorageSetView.

* e-shell-folder-creation-dialog.c (add_storage_set_view): Disable
DnD on the EStorageSetView.

* e-storage-set-view.c: New member `allow_dnd' in
`EStorageSetViewPrivate'.
(init): Init to `allow_dnd' %TRUE.
(tree_start_drag): If `allow_dnd' is false, don't start the drag
and return %FALSE.
(tree_drag_motion): If `allow_dnd' is false, return %FALSE.
(e_storage_set_view_get_allow_dnd): New.
(e_storage_set_view_set_allow_dnd): New.

svn path=/trunk/; revision=12810
2001-09-13 21:11:22 +00:00
30d3750b07 Oops. Remove duplicate free.
* e-shell-view.c (socket_destroy_cb): Oops. Remove duplicate free.

svn path=/trunk/; revision=12732
2001-09-10 16:34:37 +00:00
afdc8acc65 Purify run. All small leaks.
* e-shell-folder-commands.c
	(folder_selection_dialog_folder_selected_callback): Free the
	folder_command_data when destroying the dialog.

	* e-local-storage.c (remove_folder): Free physical_uri if we
	allocated it.

	* e-shortcuts-view.c (pop_up_right_click_menu_for_group): Unref
	the popup menu, don't destroy it.
	(destroy_group_cb): Free the question string.
	(rename_group_cb): Free the new_name.

	* e-shell-importer.c (create_plugin_menu): Free the list of
	importers.
	(get_iid_for_filetype): Likewise.
	(import_druid_finish): #ifdef out some g_strdups that are only
	used by other #ifdef'ed-out code.

	* e-shell-view.c: Make sure the keys in the uri_to_view hash get
	freed.

	* e-shell-folder-title-bar.c (set_title_bar_label_style): Unref
	the style after setting it on the widget.

	* e-shell-offline-handler.c (impl_destroy): free priv.

	* e-storage-set-view.c (tree_drag_data_received): Make sure
	target_type always gets freed.

	* e-shell-folder-creation-dialog.c (add_folder_types): Don't leak
	the type names.

svn path=/trunk/; revision=12715
2001-09-09 18:24:15 +00:00
000b01e9a1 Replace "Evolution" with "Ximian Evolution" in a bunch of user-visible
places.

svn path=/trunk/; revision=12625
2001-09-05 19:27:03 +00:00
bc21d949ca [Fix #6971, Default folder should be the Summary.]
* main.c (idle_cb): s/DEFAULT_URI/E_SHELL_VIEW_DEFAULT_URI/.

* e-shell.c (e_shell_create_view):
s/DEFAULT_URI/E_SHELL_VIEW_DEFAULT_URI/.

* e-shell-view.c (socket_destroy_cb):
s/DEFAULT_URI/E_SHELL_VIEW_DEFAULT_URI/.
(e_shell_view_save_settings): Likewise.

* e-shell-folder-commands.c (e_shell_command_delete_folder):
s/DEFAULT_URI/E_SHELL_VIEW_DEFAULT_URI/.

* e-shell-view.h (DEFAULT_URI): Rename to
`E_SHELL_VIEW_DEFAULT_URI'.  Change from "evolution:/local/Inbox"
to be "evolution:/summary".

svn path=/trunk/; revision=12618
2001-09-05 00:10:03 +00:00
3b17294f86 Remove the folder from the EvolutionStorage as well as the EStorage.
2001-08-30  Peter Williams  <peterw@ximian.com>

	* e-local-storage.c (async_xfer_folder_complete): Remove the folder from
	the EvolutionStorage as well as the EStorage.

2001-08-29  Peter Williams  <peterw@ximian.com>

	* e-storage-set-view.c (etree_node_destroy_func): Only call
	remove_node_from_hash if it's not the root node.
	(removed_storage_cb): Don't remove the node from the hash here,
	because it will be removed in the node_destroyed callback.
	(removed_folder_cb): Same.

	* e-shell-view.c (e_shell_view_remove_control_for_uri): Disconnect
	from the destroy signal so as not to confuse ourselves. Also, the
	page remove in the notebook destroys the control and the socket, so don't
	do that explicitly.

	* e-shell-folder-commands.c
	(folder_selection_dialog_folder_selected_callback): Remove the control
	for the source view if we're moving.

svn path=/trunk/; revision=12578
2001-09-04 15:30:13 +00:00
d671e29102 Studlycapsize all the IDs that are not. Likewise. Updated accordingly.
* Evolution-ShellComponent.idl: Studlycapsize all the IDs that are
not.
* Evolution-common.idl: Likewise.
* evolution-activity-client.c: Updated accordingly.
* evolution-shell-component.c: Likewise.
* evolution-storage.c: Likewise.
* e-activity-handler.c: Likewise.
* e-component-registry.c: Likewise.
* e-corba-storage.c: Likewise.
* e-shell-user-creatable-items-handlers.c: Likewise.

* e-local-storage.c (remove_folder): Remove unused variable.

* e-shell-view.c (update_for_current_uri): Assign zero to
`unread_count', not NULL.

* e-shell-importer.c (import_druid_finish): Remove unused
variable.

* e-shell-user-creatable-items-handler.c: #include
"e-corba-utils.h".

* e-shell-startup-wizard.c: #include "e-shell-startup-wizard.h".

* e-shell-startup-wizard.h: #include <glib.h>

* e-summary-weather.c (weather_make_html): Make local variable
`icon_name' const.  Remove unused variable `uri'.

* e-summary.h: Reformatted in GTK+ style.
(e_summary_remove_online_connection): Added prototype.

* e-summary-preferences.c (fill_mail_shown_clist): Constify local
variable `name'.

* e-summary-mail.c: #include "e-util/e-path.h".  Updated to match
the new studlyCapsification in shell/Evolution*.idl.

* mail-local.c: Match the studlyCapsification of
shell/Evolution*.idl.

* mail-config-druid.h: Change type of `event_source' from
`Bonobo_EventSource *' to `Bonobo_EventSource'.

* mail-accounts.c (mail_delete): Remove unused local variable
`label'.

* folder-info.c (do_get_info): `#if 0' unused variables.

* gui/component/addressbook-component.c: Get rid of a warning by
initializing the closing NULL element in folder_types correctly.

* gui/component/select-names/e-select-names.c: Updated to match
the studlyCapsification of attributes in shell/Evolution*.idl.

svn path=/trunk/; revision=12495
2001-08-28 00:18:34 +00:00
17a85e8669 Ooops. Save the pointer to the control for use after the view struct is
* e-shell-view.c (e_shell_view_remove_control_for_uri): Ooops.
Save the pointer to the control for use after the view struct is
freed.

svn path=/trunk/; revision=12458
2001-08-24 21:38:15 +00:00
277ddb9abe New struct View'. Replace uri_to_control' in `EShellViewPrivate' with
* e-shell-view.c: New struct `View'.  Replace `uri_to_control' in
`EShellViewPrivate' with `uri_to_view'.
(view_new): New.
(hash_forall_destroy_view): New, replacing
`hash_forall_destroy_control'.
(destroy): Updated to match the uri_to_control -> uri_to_view
changes.
(socket_destroy_cb): Likewise.
(get_view_for_uri): Renamed from `get_control_for_uri'.  Return a
View instead of a GtkWidget.
(show_existing_view): Updated to use `get_view_from_uri', get a
@view instead of a @control.
(e_shell_view_display_uri): Updated to use `uri_to_view' instead
of `uri_to_control'.
(e_shell_view_remove_control_for_uri): Likewise.

svn path=/trunk/; revision=12457
2001-08-24 21:06:29 +00:00
34f9e86684 Changed to get a @title and a @type. (update_for_current_uri): Updated
* e-shell-view.c (update_folder_title_bar): Changed to get a
@title and a @type.
(update_for_current_uri): Updated accordingly.
(update_window_icon): Get a @type instead of a @folder.
(update_for_current_uri): Updated accordingly.

svn path=/trunk/; revision=12452
2001-08-24 20:08:30 +00:00