Commit Graph

252 Commits

Author SHA1 Message Date
f59f9aa65a [#31303]
* e-shell-view (storage_set_view_box_button_release_event_cb): Pop
down the popup folder bar if it's a toplevel node.
(folder_bar_popup_map_callback): Connect to the "folder_opened"
signal on the storage_set_view.

[#32032]

* e-folder-list.c (create_display_string): Don't turn the string
from UTF-8 to GTK.

svn path=/trunk/; revision=18437
2002-10-25 18:19:08 +00:00
d0782a45b1 Set the is_stock flag to TRUE for the summary folder.
* e-shell.c (setup_local_storage): Set the is_stock flag to TRUE
for the summary folder.

* e-shell-view.c (setup_verb_sensitivity_for_folder): Don't allow
folder operations on pseudo-folders that have a NULL physical_uri.

* e-corba-storage.c (async_remove_folder): Make sure the folder
has a physical URI.  [#30950]

* e-shell-shared-folder-picker-dialog.c
(setup_server_option_menu): Use
e_utf8_gtk_menu_item_new_with_label() to create the option menu
items from the storage's UTF-8 name.  [#31564]

svn path=/trunk/; revision=18419
2002-10-23 17:45:58 +00:00
266cd02466 Remove unused variable.
* e-storage-set-view.c (sort_idle_callback): Remove unused
variable.

* e-shell-view.c (shell_line_status_changed_cb): Make Send/Receive
insensitive when in offline mode.  [#27855]

svn path=/trunk/; revision=18096
2002-09-17 20:42:36 +00:00
2dd03125d5 (new_folder_cb): Pass FALSE as @queue to
e_shell_view_display_uri() here.

svn path=/trunk/; revision=17977
2002-09-04 20:37:57 +00:00
d44e32c675 (e_shell_view_get_current_component_id): If the
current_folder_type is NULL, just return NULL instead of passing
it to e_folder_type_registry_get_handler_for_type() [and generate
a warning].  [#21122]

svn path=/trunk/; revision=17974
2002-09-04 19:53:38 +00:00
ee467a65b1 Pass TRUE as @queue to e_shell_view_display_uri().
* e-shell.c (create_view): Pass TRUE as @queue to
e_shell_view_display_uri().

* e-shell-view-menu.c (command_activate_view): Pass TRUE as @queue
to e_shell_view_display_uri().
(goto_folder_dialog_folder_selected_cb): Likewise.

* e-shell-shared-folder-picker-dialog.c
(shared_folder_discovery_listener_callback): Pass TRUE as @queue
to e_shell_view_display_uri().

* e-shell-view.c
(display_uri): New arg @queue.  If true, it allows the
delayed_selection mechanism to happen transparently (returning
TRUE, while before it used to return FALSE).  Otherwise, refuse to
queue the URI and return FALSE.
(e_shell_view_display_uri): New arg @queue; pass it to
display_uri().
(handle_current_folder_removed): Pass TRUE as @queue to
e_shell_view_display_uri().
(set_folder_timeout): Likewise.
(switch_on_folder_tree_click): Likewise.
(activate_shortcut_cb): Likewise.
(corba_interface_change_current_view_cb): Likewise.
(socket_destroy_cb): Likewise.
(socket_destroy_cb): Likewise.
(e_shell_view_load_settings): Here, try displaying the old URI
with @queue set to FALSE; if this fails, display the default URI
and then invoke display again using @queue = TRUE so it gets
queued up.  This should fix #27721.

svn path=/trunk/; revision=17972
2002-09-04 19:33:15 +00:00
6e93c76b30 Argh, didn't mean to commit this.
svn path=/trunk/; revision=17946
2002-09-03 16:00:04 +00:00
37b668380e (show_import_wizard): Make the WM close
button in the dialog hide instead of destroying, using
gnome_dialog_close_hides().  [#15572]

svn path=/trunk/; revision=17945
2002-09-03 15:25:13 +00:00
f312a007fd New callback for the show_folder_properties signal.
* evolution-test-component.c
(storage_show_folder_properties_callback): New callback for the
show_folder_properties signal.
(setup_custom_storage): Add two property items, and connect the
callback to the signal.

* e-storage-set-view.c: Renamed private member container into
ui_container; new member ui_component.
(init): Initialize ui_component to NULL.
(impl_destroy): Unref if not NULL.
(e_storage_set_view_construct): If @ui_container is not NULL,
weakref it and create a new ui_component that uses it as its
container.
(ui_container_destroy_notify): New, weakref destroy callback for
priv->ui_container.
(remove_property_items): New helper function.
(setup_folder_properties_items_if_corba_storage_clicked): New
helper function.
(folder_property_item_verb_callback): New callback for the verbs
associated to the folder property items.
(popup_folder_menu): Set up the per-storage folder property items
using setup_folder_properties_items_if_corba_storage_clicked() and
remove them with remove_property_items() after the menu has been
popped down.  Don't invoke populate_folder_context_menu if there
is no handler for this node [this avoids a spurious warning].

* e-corba-storage.c (e_corba_storage_show_folder_properties): New.
(e_corba_storage_get_folder_property_items): New.
(e_corba_storage_free_property_items_list): New.

* evolution-storage.c: New private member folder_property_items.
(init): Init to NULL.
(destroy): Free.
(impl_showFolderProperties): New, implementation for the
Storage::showFolderProperties CORBA method.
(class_init): Set up the "show_folder_properties" signal here.
(impl_Storage__get_propertyItems): New, getter for the
Storage::propertyItems property.
(corba_class_init): Install the new methods.
(evolution_storage_add_property_item): New function to add
property items to the storage.

* evolution-storage.h: New signal show_folder_properties.

* e-storage-set.c (e_storage_set_create_new_view): Renamed from
e_storage_set_new_view().

* Evolution-Storage.idl: Added attribute folderPropertyItems and
method ::showFolderProperties.

svn path=/trunk/; revision=17714
2002-08-06 16:27:48 +00:00
d2d0eebd74 Removed unused variable.
* evolution-storage-set-view.c
(impl_StorageSetView__set_checkedFolders): Removed unused
variable.

* e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
Removed unused variable.

	* e-storage.c
		(e_storage_path_is_absolute)
		(e_storage_path_is_relative)
		(e_storage_async_xfer_folder)
	* e-storage-set.c
		(make_full_path)
		(get_storage_for_path)
		(signal_new_folder_for_all_folders_under_paths)
		(signal_new_folder_for_all_folders_in_storage)
		(e_storage_set_get_path_for_physical_uri)
	* e-storage-set-view.c
		(storage_sort_callback)
		(new_storage_cb)
		(removed_storage_cb)
		(new_folder_cb)
	* e-shortcuts-view.c
		(get_shortcut_info):
	* e-shell-view.c
		(handle_current_folder_removed)
	* e-shell-utils.c
		(e_shell_folder_name_is_valid):
	* e-local-storage.c
		(construct):
	* e-folder-tree.c
		(get_parent_path)
		(get_parent_path)
		(e_folder_tree_destroy)
		(e_folder_tree_add)
		(e_folder_tree_foreach)
	* e-folder-dnd-bridge.c
		(handle_data_received_path)
	* evolution-storage.c
		(make_full_uri):

* e-shell-constants.h: New #defines E_PATH_SEPARATOR and
E_PATH_SEPARATOR_S.

* e-local-storage.c (load_folder): Don't add the folder if its
type isn't registered.

svn path=/trunk/; revision=17510
2002-07-18 18:16:18 +00:00
39c3739393 Get the EStorageSet from the shortcut's shell since there is no
* e-shortcuts-view-model.c (get_icon_for_item): Get the
EStorageSet from the shortcut's shell since there is no
e_shortcuts_get_storage_set() anymore.
* e-shortcuts-view.c (get_shortcut_info): Likewise.
(impl_shortcut_drag_motion): Likewise.
(impl_shortcut_drag_data_received): Likewise.

* e-shell.c (e_shell_construct): e_shortcuts_new_from_file(), not
e_shortcuts_new() here.

* e-shortcuts.c: Removed members storage_set and
folder_type_registy in EShortcutsPrivate.  New member shell.
(init): Init to NULL.
(e_shortcuts_construct): Removed arg @storage_set and
@folder_type_registry, new arg @shell.
(e_shortcuts_new): Removed.
(e_shortcuts_new_from_file): New.
(impl_destroy): Renamed from destroy().
(e_shortcuts_get_storage_set): Removed.
(e_shortcuts_get_shell): New.
(load_shortcuts): Accept any URI that can be parsed (by
e_shell_parse_uri).

* e-shell.c (e_shell_parse_uri): New.

* e-shell-view.c (evolution_uri_for_default_uri): New.
(display_uri): Use it to determine the evolution: uri given a
default: uri.

* e-shell.c (impl_Shell_handleURI): Pass it over to
e_shell_create_view_from_uri_and_settings() even if it's an
E_SHELL_DEFAULTURI_PREFIX.
(handle_default_uri): Removed.

svn path=/trunk/; revision=17497
2002-07-17 22:03:57 +00:00
583f8ba770 Allow a NULL icon [remove the precondition].
* e-shell-folder-title-bar.c (e_shell_folder_title_bar_set_icon):
Allow a NULL icon [remove the precondition].

* e-shell-view.c (update_folder_title_bar): Only unref the
folder_icon if not NULL.

svn path=/trunk/; revision=17426
2002-07-11 21:28:24 +00:00
328f551032 (update_folder_title_bar): Ref the folder_icon
that we get from e_folder_type_registry_get_icon_for_type().

svn path=/trunk/; revision=17421
2002-07-11 19:39:02 +00:00
88c6bf4d47 Remove some `#if 0'ed broken code. New members title_icon and
* e-shell-folder-title-bar.c: Remove some `#if 0'ed broken code.
New members title_icon and title_button_icon in struct
EShellFolderTitleBarPrivate.  Remove member icon_widget.  New
static global variable empty_pixbuf.
(init): Initialize these new members to NULL.  Don't initialize
icon_widget anymore since it's gone.
(e_shell_folder_title_bar_construct): Create the title_button_icon
and pack it into the title_button_hbox.  Also, create the
title_icon and pack that one as well.  Retouched some of the
hardcoded padding values.
(size_allocate_icon): Rewritten to use the title_icon and return
the allocated space like size_allocate_navigation_buttons.
(e_shell_folder_title_bar_set_icon): Remove bogus const from the
@icon arg.  Ref the pixbuf, and update the two pixmap widgets from
it.  If @icon is NULL, use the empty_pixbuf.
(impl_destroy): Renamed from destroy().
(realize): Removed.
(unrealize): Removed.
(impl_size_allocate): Renamed from size_allocate().
(class_init): Call it.
(add_icon_widget): Removed.
(new_empty_pixbuf): New.
(new_empty_pixmap_widget): New.
(size_allocate_navigation_buttons_and_title_icon): Renamed from
size_allocate_navigation_buttons; set up the title_icon too.

* e-shell-view.c (update_folder_title_bar): Unref the folder_icon
after using it.

* e-icon-factory.c (e_icon_factory_get_icon): Ref the returned pixbuf.

svn path=/trunk/; revision=17419
2002-07-11 19:28:00 +00:00
93248701c8 (update_folder_title_bar): Get a @folder arg
instead of a @type arg.  Use the custom icon if the folder has
one.
(update_for_current_uri): Updated accordingly.

svn path=/trunk/; revision=17410
2002-07-10 21:17:14 +00:00
82c99d625b Change the group icon size using e_shortcuts_set_group_uses_small_icons()
* e-shortcuts-view.c (toggle_large_icons_cb): Change the group
icon size using e_shortcuts_set_group_uses_small_icons() instead
of changing it on the widget directly.
(toggle_small_icons_cb): Likewise.
(group_change_icon_size_callback): New, callback for the
"group_change_icon_size" signal on the EShortcuts object.
(e_shortcuts_view_construct): Connect.  Also, initialize the icon
sizes in the icon bars from the EShortcuts object.

* e-shell-view.c (e_shell_view_load_settings): Don't set the
shortcut group icon modes here anymore.

* e-shortcuts.c: New member use_small_icons in struct
ShortcutGroup.
(shortcut_group_new): Init to FALSE.
(e_shortcuts_set_group_uses_small_icons): New.
(e_shortcuts_get_group_uses_small_icons): New.
(class_init): Install "group_change_icon_size" signal.
(save_shortcuts): Save the icon size per-group
here, i.e. <group title="foo" icon_size="small">.
(load_shortcuts): Set the icon size from the group's definition
here.

* e-shortcuts.h: New signal "group_change_icon_size" in
EShortcutsClass.

svn path=/trunk/; revision=17386
2002-07-08 20:45:49 +00:00
a6e1e46e4a Remove debugging message.
* e-shell.c (e_shell_prepare_for_quit): Remove debugging message.

* e-shell-view.c (setup_verb_sensitivity_for_folder): Set
sensitivity of /commands/AddFolderToShortcutBar,
/commands/OpenFolder and /commands/OpenFolderInNewWindow too,
depending on whether the node that was right-clicked can be opened
as a folder.

* e-storage-set-view.c (popup_folder_menu): Pop up the right-click
menu even if we are not clicking on a folder with a proper
handler.

svn path=/trunk/; revision=17337
2002-07-01 18:51:08 +00:00
bd6359c660 emit show_settings signal (corba_class_init): assign epv method
2002-04-18  JP Rosevear  <jpr@ximian.com>

	* evolution-shell-view.c (impl_ShellView_show_settings): emit
	show_settings signal
	(corba_class_init): assign epv method
	(class_init): add signal

	* evolution-shell-view.h: new signal

	* e-shell.c (init): init settings_dialog private member
	(settings_dialog_destroy_cb): reset dialog pointer
	(e_shell_show_settings): show the settings dialog, bring it to the
	front if one already exists for this shell

	* e-shell.h: new proto

	* e-shell-view.c (corba_interface_show_settings): implement
	showSettings method
	(setup_corba_interface): listen for show_settings signal
	(e_shell_view_show_settings): show the settings dialog

	* e-shell-view.h: new proto

	* e-shell-view-menu.c (command_settings): call
	e_shell_view_show_settings instead

	* Evolution-ShellView.idl: add showSettings method

svn path=/trunk/; revision=16510
2002-04-18 18:57:45 +00:00
a1720426f1 New. Check that things that need to be in the config db are. Right now it
* e-setup.c (e_setup_check_db): New. Check that things that need
	to be in the config db are. Right now it sets up the default
	folders.

	* e-shell.c (e_shell_construct): Call e_setup_check_db after
	getting the config db.

	* e-shell-constants.h: Add E_SUMMARY_URI, E_LOCAL_INBOX_URI, etc.

	* e-shortcuts.c (e_shortcuts_add_default_group): Use
	E_LOCAL_INBOX_URI, etc.

	* e-shell-view.c: #define FALLBACK_URI to E_SUMMARY_URI

svn path=/trunk/; revision=16405
2002-04-09 15:54:24 +00:00
2a3a53e9cf Add a "view_info" argument.
* Evolution-ShellComponent.idl (createView): Add a "view_info"
	argument.

	* e-shell-view.c (get_view_for_uri): if the URI contains a '#',
	split it into a URI and a "view_info" at that point. (Otherwise,
	pass "" for the view_info to ShellComponent_createView.) This can
	be used for things like specifying day/month/week view to the
	calendar.

	* e-shell.c (create_view): Ignore e_shell_view_display_uri's
	return code: it's possible/likely that the requested URL is remote
	and hasn't been filled in yet.
	(impl_Shell_handleURI): Don't use Shell_createNewView directly,
	call e_shell_create_view_from_uri_and_settings. (For the above fix
	and some others.)

	* evolution-shell-component.c (impl_createView): Add view_info.

	* evolution-shell-component-client.c
	(evolution_shell_component_client_create_view): Add view_info.

	* evolution-test-component.c (create_view_fn): add view_data.

	* e-corba-storage-registry.c
	(impl_StorageRegistry_getFolderByUri): kill a warning

svn path=/trunk/; revision=16397
2002-04-09 14:59:26 +00:00
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