* e-storage-set-view.c (impl_destroy): Renamed from `destroy'.
(impl_right_click): Renamed from `right_click'.
(impl_cursor_activated): Renamed from `cursor_activated'.
(impl_tree_start_drag): Renamed from `tree_start_drag'.
(impl_tree_drag_begin): Renamed from `tree_drag_begin'.
(impl_tree_drag_end): Renamed from `tree_drag_end'.
(impl_tree_drag_data_get): Renamed from `tree_drag_data_get'.
(impl_tree_drag_data_delete): Renamed from
`tree_drag_data_delete'.
(impl_tree_drag_motion): Renamed from `tree_drag_motion'.
(impl_tree_drag_leave): Renamed from `tree_drag_leave'.
(impl_tree_drag_drop): Renamed from `tree_drag_drop'.
(impl_tree_drag_data_received): Renamed from
`tree_drag_data_received'.
svn path=/trunk/; revision=15811
2002-01-30 Not Zed <NotZed@Ximian.com>
* e-storage-set-view.c (popup_folder_menu): Use
right_click_row_path rather than selected_row_path, so clients get
the uri that was actually clicked on.
svn path=/trunk/; revision=15522
* e-storage-set-view.c (set_e_shortcut_selection): Get the storage
name if we are dragging a storage instead of a folder.
svn path=/trunk/; revision=14604
* e-storage-set-view.c (set_e_shortcut_selection): Set the
shortcut name to be the folder name, not just the last component
of its path, which may be different.
svn path=/trunk/; revision=14589
2001-10-31 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (cursor_activated): Don't do operations on
a NULL path.
(updated_folder_cb, folder_changed_cb): Send pre_change signal
here.
svn path=/trunk/; revision=14558
* e-storage-set-view.c (handle_evolution_path_drag_motion): If the
source folder is stock and the operation is GDK_ACTION_MOVE,
always return %FALSE as we don't want that to be allowed ever.
svn path=/trunk/; revision=14543
* e-storage-set-view.c (tree_drag_data_received): Pass the
@folder_type to ::handleDrop.
* evolution-shell-component-dnd.c
(impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleMotion):
New arg @folder_type.
(impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop):
Likewise.
* evolution-shell-component-dnd.h: Add @folder_type to
`DndDestinationFolderHandleDropFn' and
`DndDestinationFolderHandleMotionFn'.
* e-storage-set-view.c (tree_drag_motion): Pass the folder type to
`::handleMotion'.
* Evolution-ShellComponentDnd.idl: Pass @folder_type in
::handleDrop and ::handleMotion.
* component-factory.c (destination_folder_handle_motion): Get
@folder_type here too [to match the changes in the
EvolutionShellComponentDnd interface]. Also, remove a debugging
message.
(destination_folder_handle_drop): Likewise.
* gui/component/addressbook-component.c
(destination_folder_handle_motion): Get @folder_type here too [to
match the changes in the EvolutionShellComponentDnd interface].
Also, remove a debugging message.
(destination_folder_handle_drop): Likewise.
svn path=/trunk/; revision=13807
* e-storage.c (e_storage_async_xfer_folder): Make this a no-op if
the source and the destination path are the same.
* e-local-storage.c (impl_async_xfer_folder): return after
returning `E_STORAGE_CANTCHANGESTOCKFOLDER' to the callback.
* e-storage-set-view.c (handle_evolution_path_drag_motion): Make
the check for dragging a folder over itself a little bit more
accurate.
svn path=/trunk/; revision=13550
onto itself, when the operation is GDK_DRAG_MOVE. This fixes bugs
like #8737.]
* e-storage-set-view.c (handle_evolution_path_drag_motion): Don't
highlight if the user is attempting to move a folder to one of its
descendants.
svn path=/trunk/; revision=13307
* 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
yet, as there seems to be something wrong still.]
* e-storage.c (e_storage_async_xfer_folder): Ooops. Make the
check for CANTMOVETODESCENDANT really work.
* e-storage-set-view.c (tree_drag_data_received): Pass the
EStorageSetView as the data for the async_xfer function.
(folder_xfer_callback): Display an error dialog if something goes
wrong.
* e-shell-view-menu.c (command_rename_folder): Enable again.
* e-shell-folder-commands.c (e_shell_command_rename_folder):
Re-implemented.
(delete_dialog): Use double quotes instead of single quotes around
the folder name, for consistency with the other dialogs.
svn path=/trunk/; revision=13131
* 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-storage-set-view.c (tree_drag_motion): Check for a component
for the given row *after* trying to handle
EVOLUTION_PATH_TARGET_TYPE. Otherwise, we always fail in the case
of dnd between a folder and the toplevel node of its storage.
(find_matching_target_for_drag_context): If not on a folder,
always return EVOLUTION_PATH_TARGET_TYPE.
svn path=/trunk/; revision=13050
2001-09-16 Christopher James Lahey <clahey@ximian.com>
* configure.in: Updated required version of gal to 0.11.99.4.
From calendar/ChangeLog:
2001-09-16 Christopher James Lahey <clahey@ximian.com>
* gui/dialogs/meeting-page.c (build_etable): Updated this to match
the new ETableSimple interface.
From mail/ChangeLog:
2001-09-16 Christopher James Lahey <clahey@ximian.com>
* message-list.c (ml_get_node_by_id): Made save_id const here.
From shell/ChangeLog:
2001-09-16 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (etree_get_node_by_id): Made save_id const
here.
svn path=/trunk/; revision=12870
* 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-09-07 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (tree_start_drag): Changed this to use the
new ETable/ETree drag stuff.
svn path=/trunk/; revision=12686
* e-storage-set-view.c (e_storage_set_view_construct): Add the
root node to the hash.
(e_storage_set_view_set_show_folders): Likewise.
svn path=/trunk/; revision=12594
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
* e-storage-set-view.c: Change the `selected_row_path' to be
non-const.
(destroy): Free it.
(e_storage_set_view_set_current_folder): Set the selected_row_path
to be this path.
(tree_drag_begin): Free the selected_row_path and strdup() the
value we assign.
svn path=/trunk/; revision=12463
* e-shortcuts.c (load_shortcuts): Use xmlMemStrdup() to override
the type as it's expected to be allocated by libxml later on.
Also, get the icon for the storage if the shortcut points to a
storage.
* e-storage-set-view.c (etree_icon_at): Don't special case the
Summary storage. Rather, use `e_storage_get_toplevel_node_type()'
for getting the type of the node.
* e-shortcuts-view-model.c (get_icon_for_item): New helper
function.
(shortcuts_update_shortcut_cb): Use it.
(shortcuts_new_shortcut_cb): Use it.
(load_group_into_model): Use it.
svn path=/trunk/; revision=12232
default folder names are not translated".]
* e-local-storage.c (setup_folder_as_stock): New helper function.
(setup_stock_folders): Use it to set the default folders as
"stock" folders. This will give them a translated name and also
make them unmodifiable.
(load_all_folders): Call `setup_stock_folders()' here.
* e-shell-folder-commands.c (delete_cb): Display an error dialog
if the deletion fails.
(e_shell_command_delete_folder): Pass the shell view to the delete
callback.
* e-storage.c (e_storage_result_to_string): Add a string for
`E_STORAGE_CANTCHANGESTOCKFOLDER' as well.
* e-local-storage.c (remove_folder): Don't allow a stock folder to
be removed.
(impl_async_xfer_folder): Don't allow a stock folder to be moved.
* e-corba-storage.c (async_remove_folder): Don't allow a stock
folder to be removed.
* e-storage.h: New enum value `E_STORAGE_CANTCHANGESTOCKFOLDER' in
`EStorageResult'.
* e-folder.c: Make member `self_highlight' a :1 int. New :1 int
member `is_stock'.
(init): Init `is_stock' to %FALSE.
(e_folder_set_is_stock): New.
(e_folder_get_is_stock): New.
* e-local-storage.c (bonobo_interface_update_folder_cb): For now,
don't set the display name.
svn path=/trunk/; revision=11931
causes a crash.]
* e-storage-set-view.c (convert_corba_drag_action_set_to_gdk):
Removed `#if 0'ed function.
(etree_node_destroy_func): New destroy function.
(e_storage_set_view_construct): Set this as the new destroy
function on the ETreeMemory.
svn path=/trunk/; revision=11869
2001-08-08 Jason Leach <jleach@ximian.com>
* e-storage-set-view.c (etree_icon_at): Set the icon for the
folder tree correctly.
svn path=/trunk/; revision=11775
2001-08-07 Jason Leach <jleach@ximian.com>
* e-storage-set-view.c (etree_value_at): Don't use a leaky hash to
get folder names with unread count, use gtk_object_set_data_full
and gtk_object_get_data on the EFolder.
(etree_icon_at): Give the "My Evolution" storage an icon through a
non-generic way. Will be replaced by a generic method when other
storages get icons too.
svn path=/trunk/; revision=11735
2001-08-06 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (tree_drag_motion): Turn on highlighting on
a row by row basis.
svn path=/trunk/; revision=11715
* e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
Add some padding to the label so that the title doesn't move
around when you switch between pop-up and non-pop-up folder bar.
Also, change all the GtkLabels to be GtkClippedLabels instead.
(e_shell_folder_title_bar_set_title): Updated to use
EClippedLabels instead of GtkLabels.
(e_shell_folder_title_bar_set_folder_bar_label): Likewise.
* e-shell.c (impl_Shell__get_displayName): New, implementation for
the `displayName' attribute.
* Evolution-Shell.idl: Added readonly attribute `displayName' to
get the canonicalized X11 display name for the shell.
* e-shell.c (e_shell_construct): Ooops. Return
`E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER' if the OAF registration
fails, not `E_SHELL_CONSTRUCT_RESULT_GENERICERROR'.
* e-shortcuts-view.c (rename_group_cb): Get the toplevel from the
shortcuts view, not the widget.
(rename_shortcut_cb): Likewise.
(show_new_group_dialog): Changed to use `e_request_string()'.
* evolution-test-component.c: Add the %FALSE value for the
`user_creatable' field in the `folder_types' entry.
* evolution-shell-client.c: New member `shortcuts_interface' in
`EvolutionShellClientPrivate'.
(destroy): Unref it if not CORBA_OBJECT_NIL.
(init): Init to CORBA_OBJECT_NIL.
(query_shell_interface): New helper function to query an interface
on the shell and spit out warnings if it fails.
(evolution_shell_client_construct): Use it to query the ::Activity
interface. Also query the ::Shortcuts interface and set the
`shortcuts_interface' member to point to it.
* e-shell.c: New member `corba_shortcuts' in `EShellPrivate'.
(init): Init to NULL.
(setup_shortcuts_interface): Helper function to add the
::Shortcuts CORBA interface to the shell.
(e_shell_construct): Call it.
* e-corba-shortcuts.c, e-corba-shortcuts.h: New objects
implementing the `Evolution::Shortcuts' CORBA interface.
* Evolution-Shortcuts.idl: New interface for accessing the
shortcuts in the shell.
* e-shell.c (e_shell_get_config_db): Moved down.
svn path=/trunk/; revision=11689
2001-08-03 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (tree_drag_data_received): Some paths here
don't set handled properly so lets initialize it to FALSE.
(update_folder_with_unread_hash, etree_value_at): constified
folder_name here.
(init): Initialize priv->drag_path here to NULL.
svn path=/trunk/; revision=11648
2001-08-03 Jason Leach <jleach@ximian.com>
[Removing Evolution::LocalStorage interface, abstracting the
unread counts from a folder's name, also abstract unread counts
from a shortcut's name. Fixes#4489 and #5497]
* e-shortcuts.c (shortcut_item_new): Take an unread_count argument
now.
(shortcut_item_update): Ditto.
* e-shortcuts-view-model.c (get_name_with_unread): Get a string
containing a shortcut name and it's unread, because these are
abstracted now.
(load_group_into_model): Use the above function to make shortcuts
that have unread counts.
* e-storage-set-view.c (update_folder_with_unread_hash): Keep a
hash of folder names with unread counts, because the folder name
and it's unread count are to be separated, only the ETree is
supposed to present it as one string.
* e-shell-view.c: Renamed EShellView::view_title_bar to
folder_title_bar, to closer match the
* e-shell-view-menu.c (new_shortcut_dialog_folder_selected_cb):
Make a shortcut with the unread count.
* e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
Make a shortcut with the unread count.
* e-local-storage.c: Updated for API changes.
* e-folder.c (e_folder_get_unread_count): New function, does what
it says.
(e_folder_set_unread_count): Ditto.
* e-corba-storage.c (impl_StorageListener_new_folder): Renamed to
match the IDL function name.
(impl_StorageListener_update_folder): Ditto.
(impl_StorageListener_removed_folder): Ditto.
* Evolution-Storage.idl (struct Folder): Replace the boolean
highlighted with a long unread_count.
(updateFolder): Brought in from the now dead
Evolution::LocalStorage.
* Evolution-Shell.idl (getLocalStorage): Return a Storage instead
of a LocalStorage.
* Evolution-LocalStorage.idl: Removed, no longer needed, only used
function, updateFolder, has been moved into Evolution::Storage
interface.
* evolution-local-storage.[ch]: Ditto.
* evolution-storage.c (impl_Storage_updateFolder): Implementation
of the updateFolder taken from ::LocalStorage.
(class_init): New "update_folder" signal, taken from
evolution-local-storage.c too.
(evolution_storage_update_folder): Take an @unread_count int
instead of a @highlighted boolean.
(evolution_storage_new_folder): Same for here.
(evolution_storage_update_folder_by_uri): And here.
* evolution-storage-listener.h: "update_folder" signal no longer
sends a @highlighted boolean.
2001-08-03 Jason Leach <jleach@ximian.com>
* e-shell-view-menu.c (update_offline_menu_item): Use Jakub's new
"Work Online" icon and fix a typo.
svn path=/trunk/; revision=11633
2001-07-24 Jason Leach <jleach@ximian.com>
* e-storage-set-view.c (e_storage_set_view_construct): Add the
"/My Evolution" path to the path_to_etree_node hash so that
storage_set_view_set_current_folder() can select the My Evolution
node when it's the current one. Fixes#5114 and #3956.
svn path=/trunk/; revision=11348
2001-07-20 Jason Leach <jleach@ximian.com>
[This is a better way to have "Local Folders" be shown as the
local storage name without breaking current user's shortcuts.]
* e-corba-storage.c (get_display_name): Implement this, but it's
only returning the real name now. Need to change the IDL soon to
let corba storages have separated display names.
* e-shortcuts.c (e_shortcuts_add_default_group): Set these default
shortcut URI's back to evolution:/local/
* e-shell-view.h (DEFAULT_URI): Set this back to
"evolution:/local/Inbox"
* e-storage-set-view.c (etree_value_at): Get the display name for
a storage rather than it's true name.
* e-local-storage.c (impl_get_display_name): Implemented for the
local folder (to return a translated "Local Folders").
* e-storage.c (e_storage_get_display_name): New virtual function
for retrieving the display name.
svn path=/trunk/; revision=11274
* e-storage-set-view.c (popup_folder_menu): Don't assert that
there is a handler, so we don't crash if user clicks on a folder
whose type we cannot handle for some reason [such as an
uninstalled component].
* evolution-test-component.c (activity_client_cancel_callback):
New callback for the "cancel" signal on the
EvolutionActivityClient object.
(activity_client_show_details_callback): New callback for the
"show_details" signal.
(timeout_callback_1): Connect these two signal handlers.
* e-activity-handler.c (task_widget_button_press_event_callback):
Ahem, right-click is button 3, not button 2.
(show_cancellation_popup): Actually pop up the menu.
(get_corba_null_value): New helper function to create a CORBA_any
null value.
(report_task_event): New helper function to report events to the
listener.
(task_widget_cancel_callback): Use it. Report "Cancel" instead of
"Cancelled".
(task_widget_show_details_callback): New, callback for the "Show
Details" right-click menu item.
* evolution-activity-client.c: Updated to dispatch the "Cancel"
and "ShowDetails" events as "cancel" and "show_details" signals.
(class_init): Install the signals.
(listener_callback): Updated to update the signals corresponding
to the "ShowDetails" and "Cancel" events.
* Evolution-Activity.idl: Changed the docs about the events sent
to the Bonobo::Listener. We now only have "ShowDetails" and
"Cancelled".
* evolution-test-component.c (timeout_callback_1): Make the
activity cancellable so we can test the right-click cancel menu
too.
* main.c (idle_cb): Actually exit if we cannot reach to the shell.
svn path=/trunk/; revision=10684