* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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-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
* 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
* 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
* 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
* 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
* e-shell-view.c (socket_destroy_cb): If the view belongs to a
toplevel storage node, get the right type information with
`e_storage_get_toplevel_node_uri()' instead of trying to get the
[non-existing] folder for it.
svn path=/trunk/; revision=12451
* e-shell-view.c (e_shell_view_load_settings): Don't set the
paneds' positions if the respective left-hand elements [i.e. the
shortcut bar and the folder bar] are hidden.
(e_shell_view_show_folder_bar): Set the paned position to zero
when hiding.
(e_shell_view_show_shortcut_bar): Likewise.
svn path=/trunk/; revision=12321
* e-shell-view.c (setup_storage_set_subwindow): Don't show the
vbox here.
(setup_widgets): Don't show the storage_set_view_box here.
svn path=/trunk/; revision=12246
* e-shell-view.c: New constant `MIN_POPUP_TREE_WIDTH'.
(pop_up_folder_bar): Make sure the pop-up is always this size or
more.
(setup_widgets): Pass %FALSE for @shrink to `e_paned_pack1()'.
(reparent_storage_set_view_box_and_destroy_popup): Likewise.
svn path=/trunk/; revision=12211
* e-shell-view-menu.c (shortcut_bar_visibility_changed_cb): New,
replacing `shortcut_bar_mode_changed_cb'.
(folder_bar_visibility_changed_cb): New, replacing
`folder_bar_mode_changed_cb'.
(command_toggle_folder_bar): Use `e_shell_view_show_folder_bar()'
instead of `e_shell_view_set_folder_bar_mode()'.
(command_toggle_shortcut_bar): Use
`e_shell_view_show_shortcut_bar()' instead of
`e_shell_view_set_shortcut_bar_mode()'.
(e_shell_view_menu_setup): Updated for the
"shortcut_bar_visibility_changed" and
"folder_bar_visibility_changed" signals and the above changes.
* e-shell-view.c: New member `folder_bar_popup' in
`EShellViewPrivate'. Replaced `folder_bar_mode' and
`shortcut_bar_mode' with `folder_bar_shown' and
`shortcut_bar_shown', respectively.
(init): Updated to initialize these correctly.
(reparent): New helper function.
(reparent_storage_set_view_box_and_destroy_popup): New helper
function.
(popdown_transient_folder_bar): Updated to use the
`folder_bar_popup'.
(folder_bar_popup_map_callback): Renamed from
`storage_set_view_box_map_cb'.
(e_shell_view_set_shortcut_bar_mode): Removed.
(e_shell_view_set_folder_bar_mode): Removed.
(e_shell_view_show_shortcut_bar): New. All the calls to
`e_shell_view_set_shortcut_bar_mode()' replaced with calls to this
one.
(e_shell_view_show_folder_bar): New. All the calls to
`e_shell_view_set_folder_bar_mode()' replaced with calls to this
one.
(e_shell_view_folder_bar_shown): New. All the calls to
`e_shell_view_get_folder_bar_mode()' replaced with calls to this
one.
(e_shell_view_shortcut_bar_shown): New. All the calls to
`e_shell_view_get_shortcut_bar_mode()' replaced with calls to this
one.
(class_init): Replace signal `folder_bar_mode_changed' with
`folder_bar_visibility_changed' and `shortcut_bar_mode_changed'
with `shortcut_visibility_changed'.
(e_shell_view_save_settings): Use keys "ShortcutBarShown" and
"FolderBarShown" instead of "ShortcutBarMode" and "FolderBarMode",
respectively.
(e_shell_view_load_settings): Likewise.
* e-shell-view.h: Removed enum `EShellViewSubwindowMode'. Renamed
signal `shortcut_bar_mode_changed' to
`shortcut_bar_visibility_changed' and `folder_bar_mode_changed' to
`folder_bar_visibility_changed'.
svn path=/trunk/; revision=12203
2001-08-16 Jason Leach <jleach@ximian.com>
* e-shell-view.c (folder_selected_cb): Desensitize the
move/copy/delete/rename in the menus (including right click) for
stock folders.
* Evolution-Icon.idl: Actually remove this file from CVS (its
contents are now in Evolution-common.idl).
svn path=/trunk/; revision=12139
* e-shell-view.c (setup_widgets): Put the folder title bar into an
EGrayBar.
* e-gray-bar.c: New.
* e-gray-bar.h: New.
svn path=/trunk/; revision=11932
* evolution-test-component.c (user_create_new_item_callback):
Updated to display the parent folder's URI and its type as well.
* evolution-shell-component.c (impl_userCreateNewItem): Updated to
get the @parent_folder_physical_uri and the @parent_folder_type.
(class_init): Update the "user_create_new_item" signal to have
@parent_folder_physical_uri and @parent_folder_type args.
* e-shell-view.c (get_type_for_folder): Don't bork on a NULL
@physical_uri_return.
(e_shell_view_get_current_physical_uri): New.
(e_shell_view_get_current_folder_type): New.
* e-shell-user-creatable-items-handler.c
(e_shell_user_creatable_items_handler_setup_menus): Replace
@ui_component arg with a @shell_view arg. Set it on the
UIComponent using gtk_object_set_data().
(verb_fn): Pass the type and physical URI of the current folder;
retrieve that from the shell_view got with gtk_object_get_data().
* Evolution-ShellComponent.idl
(userCreateNewItem): New args @parent_folder_uri,
@parent_folder_type.
svn path=/trunk/; revision=11863
* e-shell-view.c (e_shell_view_construct): Add the menu items
using the EShellUserCreatableItemsHandler.
* e-shell-user-creatable-items-handler.c: New.
* e-shell-user-creatable-items-handler.h: New.
* e-shell.c: New member `user_creatable_items_handler' in
`EShellPrivate'.
(init): Initialize to NULL.
(destroy): Unref.
(e_shell_construct): Create here.
(e_shell_get_user_creatable_items_handler): New accessor.
(setup_components): Add the registered components to the
user_creatable_items_handler.
* evolution-test-component.c (factory_fn): Add a couple sample
user-creatable items.
(user_create_new_item_callback): New callback for the
"user_create_new_item" signal on the EvolutionShellComponent.
(factory_fn): Connect.
* e-shell.c (e_shell_get_component_registry): New.
* evolution-shell-component.c: New enum value
`USER_CREATE_NEW_ITEM'. New member `user_create_item_types' in
`_EvolutionShellComponentPrivate'.
(init): Init to NULL.
(impl_destroy): Free it.
(user_creatable_item_type_free): New helper function.
(user_creatable_item_type_new): New helper function.
(impl_userCreateNewItem): New, implementation for
::userCreateNewItem.
(class_init): Install the "user_create_new_item" signal and the
userCreateNewItem impl.
(impl__get_external_uri_schemas): Renamed from
`impl_ShellComponent__get_external_uri_schemas'.
(impl___get_supported_types): Renamed from
`impl_ShellComponent__get_supported_types'.
(impl__get_user_creatable_item_types): New, implementation for the
`user_creatable_item_types' attribute.
(class_init): Install it.
(evolution_shell_component_add_user_creatable_item): New.
* evolution-shell-component.h: Added signal
`user_create_new_item'.
* Evolution-ShellComponent.idl: Added typedefs
`UserCreatableItemType', `UserCreatableItemTypeList'. New
attribute `user_creatable_item_types'.
(userCreateNewItem): New.
svn path=/trunk/; revision=11849
2001-08-03 Jason Leach <jleach@ximian.com>
[Removing Evolution::LocalStorage interface, abstracting the
unread counts from a folder's name, also abstract unread counts
from a shortcut's name. Fixes#4489 and #5497]
* e-shortcuts.c (shortcut_item_new): Take an unread_count argument
now.
(shortcut_item_update): Ditto.
* e-shortcuts-view-model.c (get_name_with_unread): Get a string
containing a shortcut name and it's unread, because these are
abstracted now.
(load_group_into_model): Use the above function to make shortcuts
that have unread counts.
* e-storage-set-view.c (update_folder_with_unread_hash): Keep a
hash of folder names with unread counts, because the folder name
and it's unread count are to be separated, only the ETree is
supposed to present it as one string.
* e-shell-view.c: Renamed EShellView::view_title_bar to
folder_title_bar, to closer match the
* e-shell-view-menu.c (new_shortcut_dialog_folder_selected_cb):
Make a shortcut with the unread count.
* e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
Make a shortcut with the unread count.
* e-local-storage.c: Updated for API changes.
* e-folder.c (e_folder_get_unread_count): New function, does what
it says.
(e_folder_set_unread_count): Ditto.
* e-corba-storage.c (impl_StorageListener_new_folder): Renamed to
match the IDL function name.
(impl_StorageListener_update_folder): Ditto.
(impl_StorageListener_removed_folder): Ditto.
* Evolution-Storage.idl (struct Folder): Replace the boolean
highlighted with a long unread_count.
(updateFolder): Brought in from the now dead
Evolution::LocalStorage.
* Evolution-Shell.idl (getLocalStorage): Return a Storage instead
of a LocalStorage.
* Evolution-LocalStorage.idl: Removed, no longer needed, only used
function, updateFolder, has been moved into Evolution::Storage
interface.
* evolution-local-storage.[ch]: Ditto.
* evolution-storage.c (impl_Storage_updateFolder): Implementation
of the updateFolder taken from ::LocalStorage.
(class_init): New "update_folder" signal, taken from
evolution-local-storage.c too.
(evolution_storage_update_folder): Take an @unread_count int
instead of a @highlighted boolean.
(evolution_storage_new_folder): Same for here.
(evolution_storage_update_folder_by_uri): And here.
* evolution-storage-listener.h: "update_folder" signal no longer
sends a @highlighted boolean.
2001-08-03 Jason Leach <jleach@ximian.com>
* e-shell-view-menu.c (update_offline_menu_item): Use Jakub's new
"Work Online" icon and fix a typo.
svn path=/trunk/; revision=11633
* e-shell-view.c (switch_on_folder_tree_click): Set the
`set_folder_uri' to NULL when freeing it.
* e-task-bar.c (e_task_bar_remove_task): Just destroy the widget.
No need to `gtk_container_remove()' it.
svn path=/trunk/; revision=11597
2001-07-25 Jason Leach <jleach@ximian.com>
* Makefile.am (INCLUDES): $(BONOBO_CONF_CFLAGS) was here twice,
took out one of them.
* e-shell-view.c (socket_destroy_cb): Mem leak fix. Thanks to the
amazing Jacob B. Bug #5054.
svn path=/trunk/; revision=11402
2001-07-20 Jason Leach <jleach@ximian.com>
[Fix a crash if you start evolution with a bad URI.]
* e-shell.c (e_shell_create_view): If we can't display the URI,
display the default uri. This is because it's necessary for
e_shell_view_display_uri() to run all the way through so corba
interfaces get setup.
* e-shell-view.c (e_shell_view_display_uri): If we fail to create
a new view for a URI (happens if you pass in an invalid URI), be
sure to return FALSE.
svn path=/trunk/; revision=11290
2001-07-19 Jason Leach <jleach@ximian.com>
* e-local-storage.h: Make the local storage name "Local Folders"
instead of "local", looks better with "My Evolution", "VFolders",
and "Other Contacts".
* e-shell-view.h: Put the #define DEFAULT_URI here instead of in
e-shell-view.c.
* main.c: Remove the duplicated #define STARTUP_URI, actually make
use of the nice defines.
* e-shell-folder-commands.c (e_shell_command_delete_folder): Use
the DEFAULT_URI here instead of a hard coded string.
* e-shortcuts.c (e_shortcuts_add_default_group): Fix the URI's
here to use "Local Folder".
svn path=/trunk/; revision=11241
2001-07-19 Jason Leach <jleach@ximian.com>
* e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
Line up the padding for the folder title bar labels when you have
the folder bar enabled or disabled (previously when disabled it
was padding ~8 pixels to the right while the other had 0).
* e-shell-view.c (setup_widgets): Take out a 2 pixel padding
around the vbox containing the title bar, folder bar, message list
and mail display. Also remove 2 more extra pixels of padding on
the bottom.
svn path=/trunk/; revision=11238
2001-07-11 Jason Leach <jleach@ximian.com>
* e-shell-view.c (e_shell_view_save_settings): Make sure to create
~/evolution/config/ if it doesn't exist. (ShellView settings get
saved before component settings, so when the mailer comes around
to saving ETree stuff, this dir will be there). Fixes bug #4279.
svn path=/trunk/; revision=10991
2001-07-09 Jason Leach <jleach@ximian.com>
* e-shell-view.c (updated_folder_cb): It's very possible that
get_storage_set_path_from_uri() returns NULL (5 of the 6 return
cases), so check that it's not NULL before trying to strcmp() it.
Fixes a startup crash.
svn path=/trunk/; revision=10935
* e-shortcuts.c (shortcut_item_update): Return a gboolean saying
whether or not the shortcut changed. Use strcmp rather than
pointer comparisons to determine this.
(update_shortcut_and_emit_signal): propagate the gboolean from
shortcut_item_update (and only emit the signal if it's TRUE).
(update_shortcuts_by_path): Only call make_dirty if something
changed.
(storage_set_new_folder_callback,
storage_set_updated_folder_callback): Don't call make_dirty:
update_shortcuts_by_path will have called it if necessary.
* e-shell-view.c (updated_folder_cb): Don't call
update_for_current_uri if the folder that was updated isn't the
one being displayed.
svn path=/trunk/; revision=10912
* e-shell-view.c (socket_destroy_cb): Fix Jason's broken fix for
#3205 that was causing #3643. It is not safe to strcmp() the
return value from `e_shell_view_get_current_uri()' as it might be
NULL already.
svn path=/trunk/; revision=10739
work (I had removed a line by mistake), and fix a crash that would
happen if user opened a new view, closed it and then created a new
folder.
svn path=/trunk/; revision=10657
type and a name too. The name will allow renaming shortcuts (thus
decoupling the name of the folder the shortcuts points to from the
name of the shortcut); the type member is used to cache the type of
the folder we point to so that we can still display the right icon
even if the folder is currently not in the storage (e.g. this happens
for IMAP folders when you haven't opened the corresponding IMAP node
yet).
I don't like the way this is designed at all (mainly, the
responsibility for saving the values should be moved elsewhere), but
I'll fix it later.
Also, I added an "Open in New Window" right-click menu item for
shortcuts.
svn path=/trunk/; revision=10649