2002-07-09 Ettore Perazzoli * e-icon-factory.c (load_icon): Ooops. Swapped the large/small pixbufs here. Also, plug a leak. 2002-07-09 Ettore Perazzoli * evolution-test-component.c (setup_custom_storage): Pass NULL for @custom_icon_name to evolution_storage_new_folder(). * e-local-storage.c (new_folder): Pass the custom_icon_name here to evolution_storage_new_folder(). * evolution-shell-client.c (impl_FolderSelectionListener_selected): Set customIconName here too. * e-folder.c (e_folder_to_corba): Set customIconName too. * e-corba-storage-registry.c (impl_StorageRegistry_getFolderByUri): Set customIconName. Also, use e_safe_corba_string() to clean up the code a bit. * evolution-storage.c (evolution_storage_new_folder): New arg @custom_icon_name. * Evolution-common.idl: New member customIconName in struct Folder. 2002-07-09 Ettore Perazzoli * e-shortcuts-view-model.c (get_icon_for_item): If the custom_icon_name is not NULL, return the pixbuf for it. * e-storage-set-view.c: #include "e-icon-factory.h". * e-shortcuts-view.c (impl_shortcut_dropped): Pass the custom_icon_name. (get_shortcut_info): New arg @custom_icon_name_return. (rename_shortcut_cb): Pass the custom_icon_name here. * e-shell-view-menu.c (new_shortcut_dialog_folder_selected_cb): Pass the custom_icon_name for the folder's shortcut. * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar): Pass the custom_icon_name for the folder's shortcut. * e-corba-shortcuts.c (impl_add): Use the customIconName member in struct ::Shortcuts::Shortcut. (shorcut_list_to_corba): Set the customIconName member on the returned shortcuts. (impl_get): Likewise. * Evolution-Shortcuts.idl: New member customIconName in struct Shortcut. * e-shortcuts.c (shortcut_item_new): New arg @custom_icon_name; initialize the member in EShortcutItem from it. (shortcut_item_update): New arg @custom_icon_name; set the custom_icon_name from it. Also remove some braindeadness from this code. (update_shortcut_and_emit_signal): New arg @custom_icon_name. (load_shortcuts): Load the custom icon name from the XML [eg. ]. (save_shortcuts): Save the custom icon name in the XML. (e_shortcuts_add_shortcut): New arg @custom_icon_name. (update_shortcuts_by_path): Pass the custom_icon_name to update_shortcut_and_emit_signal(). (e_shortcuts_update_shortcut): New arg @custom_icon_name; pass it to update_shortcut_and_emit_signal(). (e_shortcuts_add_default_group): Pass "inbox" as the custom_icon_name for the inbox shortcut, and NULL for the other shortcuts. * e-shortcuts.h: New member custom_icon_name in EShortcutItem. 2002-07-09 Ettore Perazzoli * e-shortcuts-view.c (impl_shortcut_drag_motion): Remove debugging message. (impl_shortcut_drag_motion): Likewise. * e-local-storage.c (remove_folder_step): Remove debugging message. * e-folder-dnd-bridge.c (e_folder_dnd_bridge_data_received): Remove debugging message. 2002-07-09 Ettore Perazzoli * main.c (main): Call e_icon_factory_init(). * e-local-storage.c (setup_folder_as_stock): New arg @icon_name; if not NULL, set up a custom icon for the folder. (setup_stock_folders): Set up custom icons for inbox and outbox. * e-storage-set-view.c (get_pixbuf_for_folder): If the folder has a custom icon, return the custom icon. * e-folder.c: New member custom_icon_name. (init): Initialize to NULL. (destroy): Free. (e_folder_get_custom_icon): New. (e_folder_set_custom_icon): New. * e-icon-cache.c: New. * e-icon-cache.h: New. 2002-07-09 Ettore Perazzoli * e-local-storage.c (remove_folder): Remove unused variable. 2002-07-08 Ettore Perazzoli * 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. . (load_shortcuts): Set the icon size from the group's definition here. * e-shortcuts.h: New signal "group_change_icon_size" in EShortcutsClass. 2002-07-08 Ettore Perazzoli * e-folder.c (safe_corba_string_dup): New helper function. (e_folder_to_corba): Use it here. * Makefile.am (libeshell_la_SOURCES): Move e-folder.c here, from evolution_SOURCES. (eshellinclude_HEADERS): Likewise, move e-folder.h here. * evolution-storage.c (impl_Storage_getFolderAtPath): New, implementation for Evoluiton::Storage::getFolderAtPath. (evolution_storage_get_epv): Install CORBA method here. * Evolution-Storage.idl (getFolderAtPath): New method in Evolution::Storage. 2002-07-05 Ettore Perazzoli [Fix #22047, Crash after running the start-up wizard. The patch was applied a while ago to the evolution-1-0-branch but not on the trunk.] * e-shell-startup-wizard.c (startup_wizard_cancel): Unref the ETimezoneDialog. (finish_func): Likewise. 2002-07-03 Ettore Perazzoli [Fixes #27354.] * e-storage-set-view.c (impl_tree_drag_drop): Invoke e_folder_dnd_bridge_drop(). * e-folder-dnd-bridge.c (find_matching_target_for_drag_context): New arg @atom_return. Return the GdkAtom associated with the type through it. (e_folder_dnd_bridge_drop): New. 2002-07-02 Ettore Perazzoli * e-shell.c (e_shell_show_settings): Don't set up the settings dialog as a transient. [#25776] 2002-07-02 Ettore Perazzoli * e-local-storage.c (bonobo_interface_remove_folder_cb): Add parameter @listener to match the signal's signature. [#24413] 2002-07-02 Ettore Perazzoli * e-shell-user-creatable-items-handler.c: New member tooltip in struct MenuItem. (ensure_menu_items): Initialize the tooltip member. (shell_view_view_changed_callback): Set the tooltip for the "New" button. (ensure_menu_xml): Set up the tooltip here as well. * evolution-shell-component.c: Add tooltip member to struct UserCreatableItemType. (user_creatable_item_type_new): New arg @tooltip. (evolution_shell_component_add_user_creatable_item): New arg @tooltip. (impl__get_userCreatableItemTypes): Put the tooltip in the struct as well. * e-shell-user-creatable-items-handler.c (setup_toolbar_button): Create a GtkTooltips object and attach it to the combo_button using gtk_object_set_data(). (shell_view_view_changed_callback): Set up a tooltip for the button, according to the default. * Evolution-ShellComponent.idl: Add a tooltip member to struct UserCreatableItemType. 2002-07-01 Ettore Perazzoli * 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. 2002-07-01 Ettore Perazzoli * e-shell.c: New member preparing_to_quit in EShellPrivate. (init): Initialize to FALSE. (e_shell_prepare_for_quit): Set preparing_to_quit to TRUE on entering, and set it to FALSE on return. (view_delete_event_cb): Don't call e_shell_prepare_for_quit() if preparing_for_quit is TRUE. 2002-06-28 Ettore Perazzoli * evolution-storage.c (impl_Storage_updateFolder): Don't stop notifying the listeners if ::notifyFolderUpdated() fails. Should fix #25598. 2002-06-28 Ettore Perazzoli [Fix #10681, Incorrect behavior when deleting a hierarchy of local folders.] * e-local-storage.c: Change the ASyncRemoveFolderCallbackData struct to have only storage and next_paths_to_delete members. (remove_folder_step): New. (component_async_remove_folder_callback): Start deletion for the next path in next_paths_to_delete, so we handle recursion properly. (create_subfolder_list): New. (remove_folder): Create the list with create_subfolder_list, initialize the ASyncRemoveFolderCallbackData with the next_paths_to_delete list and do the first deletion. This way we handle recursion properly. 2002-06-26 Iain * e-shell-importer.c (show_import_wizard): Only let the dialog be opened once. 2002-06-26 Iain * Evolution-StorageSetView.idl: Add a notifyFolderToggled method, allow checkedFolders to be writable. * e-shell-importer.c (free_iid_list): Free the list of iid infos. (get_name_from_component_info): Move this function from futher down the file to here because it's useful. (choose_importer_from_list): Present the user with a list of importer names to select the one they want to use. (get_iid_for_filetype): Store the name of the importer as well as the iid in the list. If there are multiple matches, show the user a list. * evolution-storage-set-view-listener.[ch]: Add a folder toggled signal. (impl_GNOME_Evolution_StorageSetViewListener_notifyFolderToggled): Notify listeners that a folder has been toggled. (corba_class_init): Hook up the new method. (class_init): Create the new signal. * evolution-storage-set-view.c (storage_set_view_widget_folder_toggled_cb): Call the CORBA method for each listener. (impl_StorageSetView__set_checkedFolders): Set the checked folders from the list. (impl_StorageSetView__get_checkedFolders): Don't include blanks in the list. 2002-06-24 Ettore Perazzoli * e-local-storage.c (remove_folder): Removed arg @physical_uri. * e-shell-folder-selection-dialog.c (impl_clicked): Pass default_type to e_shell_show_folder_creation_dialog() properly. [Patch by Christian Kreibich .] 2002-06-19 Kjartan Maraas * e-corba-config-page.h: Remove #include * e-shell-about-box.h: Same * e-history.h: Same * e-shell-importer.c: gtk_widget_show() all items in the optionmenu before showing it. * e-shell-offline-handler.h: Remove #include * e-shell-settings-dialog.h: Same. 2002-05-31 Ettore Perazzoli * evolution-storage-set-view.c (impl_StorageSetView__get_checkedFolders): Set release for the CORBA path sequence to TRUE. * evolution-shell-component.c (fill_corba_sequence_from_null_terminated_string_array): Set release for the CORBA sequence to TRUE so it gets freed properly. (impl__get_externalUriSchemas): Likewise for the returned uri_chema_list. * e-shell-offline-handler.c (duplicate_connection_list): Set release for the connection sequence to TRUE. * e-shell-config-offline.c (config_control_apply_callback): Set release for the path sequence to TRUE. * e-corba-storage-registry.c (impl_StorageRegistry_getStorageList): Set release for the storage sequence to TRUE. * evolution-storage.c (impl_Storage__get_folderList): Set release for the folder sequence to TRUE. 2002-05-30 Ettore Perazzoli [This fixes #25361.] * e-folder-list.c (e_folder_list_construct): Use bonobo_object_ref() instead of bonobo_object_client_ref() as the former only refs the CORBA object [Sigh]. * e-shell-config-autocompletion.c (e_shell_config_autocompletion_create_widget): Don't unref the shell_client here, as we need it. :-) 2002-05-30 Ettore Perazzoli * e-shell-view-menu.c (command_about_box): Connect about_box_event_callback() to the "key_press_event" signal as well. This way the about box is closed when you press a key too. [#25349] 2002-05-28 Chris Toshok * e-folder-list.c (e_folder_list_set_items): skip folders that aren't valid uri's. (e_folder_list_get_items): didn't update this to track the change in model columns. bad toshok. 2002-05-24 Chris Toshok [ fixes 90% of #25047 ] * e-folder-list.c (get_folder_for_uri): shamelessly lifted from evolution-folder-selector-button.c. (create_display_string): modeled again after evolution-folder-selector-button.c, so we can give a little more context (and make the table look like the folder selector buttons.) (SPEC): add a pixbuf column, also remove the sorting behavior. (columns): add a pixbuf column and another string column (for the display string). (add_clicked): create the display string and get the proper pixbuf, and insert both. (edit_clicked): removed. (update_buttons): remove edit button handling from here. (e_folder_list_init): remove the hooking up of button-edit's "clicked" signal. (e_folder_list_construct): get a reference to the storage registry so we can look up folders. (e_folder_list_set_items): analogous change to add_clicked - get the display string and pixbuf and insert them. * glade/e-folder-list.glade: remove the edit button. * glade/e-shell-config-default-folders.glade: remove the frame/vbox, since we embed it in a notebook and the tab has the title already. * e-shell-config.c (config_control_factory_cb): the only config control we deal with here now is the folder settings control. * e-shell-config-default-folders.c (e_shell_config_default_folders_create_widget): rename e_shell_config_default_folders_create_control to this, return the widget, and take the config control to use as an arg. * e-shell-config-offline.c (e_shell_config_offline_create_widget): make an analogous change here as with default_folders_create_widget. * e-shell-config-default-folders.h (e_shell_config_default_folders_create_widget): track change to prototype. * e-shell-config-offline.h (e_shell_config_offline_create_widget): same. * GNOME_Evolution_Shell.oaf.in: remove the DefaultFolders and OfflineFolders controls and add a FolderSettings_Control. * Makefile.am (evolution_SOURCES): add e-shell-config-folder-settings.[ch] and e-shell-config-autocompletion.[ch]. * e-shell-config-folder-settings.[ch]: new files, embed (after a fashion) the default folder, offline, and autocompletion UI's in a notebook. * e-shell-config-autocompletion.[ch]: Basically copy over and shell-ize the addressbook autocompletion config control so it can be embedded more easily with the other folder settings. 2002-05-23 Ettore Perazzoli * main.c (quit_box_new): Set @allow_shrink and @allow_grow to FALSE for the window. Fixes #17534. 2002-05-23 Ettore Perazzoli * e-shell-folder-selection-dialog.c (e_shell_folder_selection_dialog_construct): Pass FALSE for @allow_shrink. Fixes #15688. 2002-05-23 Ettore Perazzoli * e-shell-folder-commands.c (delete_dialog): Make a little bit prettier. Default to "Delete", not "Cancel". 2002-05-23 Ettore Perazzoli * e-shortcuts-view.c (rename_group_cb): Set the view type from the original group, thus preserving the small-icon/large-icon state. Fixes #6732. 2002-05-23 Ettore Perazzoli * main.c (show_development_warning): Add a toggle to avoid displaying the dialog again. Don't display the dialog at all if the /Shell/skip_warning_dialog_1_1 bonobo-conf key is set to FALSE. (warning_dialog_clicked_callback): Set /Shell/skip_warning_dialog_1_1 according to the state of the check button. 2002-05-22 Ettore Perazzoli * e-shell.c (impl_Shell_selectUserFolder): No more @default_type arg to e_shell_folder_selection_dialog_new(). * e-shell-view-menu.c (command_goto_folder): No more @default_type arg to e_shell_folder_selection_dialog_new(). (command_new_shortcut): Likewise. * e-shell-importer.c (import_druid_finish): No more @default_type arg to e_shell_folder_selection_dialog_new(). * e-shell-folder-commands.c (e_shell_command_move_folder): No more @default_type arg to e_shell_folder_selection_dialog_new(). (e_shell_command_copy_folder): Likewise. * e-shell-folder-selection-dialog.c: Removed default_type member in EShellFolderSelectionDialogPrivate. (e_shell_folder_selection_dialog_new): Removed @default_type arg. (e_shell_folder_selection_dialog_construct): Likewise. (impl_clicked): Just pass the first of the allowed types to e_shell_show_folder_creation_dialog() for the default type. * evolution-shell-client.c (user_select_folder): No more @default_type arg to the ::userSelectFolder CORBA method. * Evolution-Shell.idl (selectUserFolder): Remove arg @default_type. 2002-05-22 Ettore Perazzoli * main.c (view_map_callback): New callback for when the first created view in the shell gets mapped. (new_view_created_callback): New callback for when the first view of the shell gets created. (show_development_warning): New function to display a warning about the fact that Evolution is unstable. (idle_cb): Call show_development_warning() here unless the EVOLVE_ME_HARDER environment variable is set. * e-shell.c (class_init): Add the "new_view_created" signal here. (create_view): Emit the signal here. * e-shell.h: New signal "new_view_created". 2002-05-22 Ettore Perazzoli * e-shell-user-creatable-items-handler.c: New member default_menu_item in EShellUserCreatableItemsHandlerPrivate. (ensure_menu_items): Set ->default_menu_item. (get_default_action_for_view): When no default item is specified, just return ->default_menu_item. 2002-05-22 Ettore Perazzoli * e-shell.c (e_shell_prepare_for_quit): Only refuse quitting if the result is CANCEL. This way we allow quitting if one of the components has crashed or something else otherwise goes wrong. Fixes #25093. * evolution-shell-component-client.c (result_from_async_corba_result): Handle GNOME_Evolution_ShellComponentListener_CANCEL. 2002-05-21 Christopher James Lahey * e-corba-storage.c (async_open_folder_idle): Do async_open_folder in an idle callback. * e-shell-shared-folder-picker-dialog.c (user_clicked), glade/e-shell-shared-folder-picker-dialog.glade: Added a select names button here. 2002-05-20 Chris Toshok * evolution-folder-selector-button.c (clicked): set the parent window insensitive before popping up the dialog and sensitive after it's popped down, to give us semi-modal behavior. Also, emit a "popped_up" signal when popping up the dialog, and emit "canceled" when the return folder is NULL (when the user canceled the dialog). (class_init): fix typo (?) - parent type isn't bonobo_object_get_type(), it's PARENT_TYPE. Also, initialize the POPPED_UP and CANCELED signals. * evolution-folder-selector-button.h (struct _EvolutionFolderSelectorButtonClass): add popped_up and canceled signals. 2002-05-20 Ettore Perazzoli * e-shell-offline-sync.c (sync_folder): Skip the folder if it doesn't have the can_sync_offline property set. 2002-05-20 Ettore Perazzoli * e-corba-storage.c (impl_StorageListener_notifyFolderCreated): Set the can_sync_offline property on the EFolder based on the canSyncOffline value on the CORBA folder. * evolution-test-component.c (setup_custom_storage): Pass FALSE for @sync_offline to evolution_storage_new_folder(). * e-local-storage.c (new_folder): Pass FALSE for @sync_offline to evolution_storage_new_folder(). * evolution-storage.h (evolution_storage_new_folder): New arg @can_sync_offline. 2002-05-20 Ettore Perazzoli * Evolution-Offline.idl (syncFolder): Remove exception. (cancelSyncFolder): Remove exception. * e-shell-config-offline.c (storage_set_view_has_checkbox_func): New. (e_shell_config_offline_create_control): Pass it as the @has_checkbox_func. * e-folder.c: New member can_sync_offline in EFolderPrivate. (init): Init to FALSE. (e_folder_get_can_sync_offline): New. (e_folder_to_corba): Set canSyncOffline in the returned CORBA folder. (e_folder_set_physical_uri): Protect from when @physical_uri and ->physical_uri are the same thing. (e_folder_set_description): Same here with description. (e_folder_set_type_string): And type. * Evolution-common.idl: New member canSyncOffline in struct Folder. 2002-05-20 Ettore Perazzoli * e-shell-config-offline.c (e_shell_config_offline_create_control): Pass NULL for @has_checkbox_func and @has_checkbox_func_data. * evolution-storage-set-view.c (impl_StorageSetView__set_showCheckboxes): Pass NULL for @has_checkbox_func and @has_checkbox_func_data. * e-storage-set-view.c: New member has_checkbox_func and has_checkbox_func_data in EStorageSetViewPrivate. (init): Init to NULL. (e_storage_set_view_set_show_checkboxes): New args @has_checkbox_func and @func_data. (has_checkbox): Always return FALSE for the toplevels. For the other ones return TRUE unless ->has_checkbox_func is not-NULL; in which case, we use that function to determine whether the folder is actually checkable. * Evolution-ShellComponent.idl (requestQuit): Remove exception. 2002-05-16 Ettore Perazzoli * e-shell.c (view_delete_event_cb): Ask e_shell_prepare_for_quit() before destroying the view if it's the last one. * e-shell-view-menu.c (command_close): Synthesize a delete_event on the view instead of directly destroying it. 2002-05-15 Ettore Perazzoli * e-shell-view-menu.c (command_quit): Check with e_shell_prepare_for_quit() before quitting. * e-shell.c (e_shell_prepare_for_quit): New. * evolution-test-component.c (request_quit_fn): New function asking for confirmation to quit. * evolution-shell-component.c (evolution_shell_component_new): New arg @request_quit_fn. (impl_requestQuit): New, implementation for EvolutionShellComponent::requestQuit. (evolution_shell_component_result_to_string): Handle EVOLUTION_SHELL_COMPONENT_CANCEL. (evolution_shell_component_client_request_quit): New. * Evolution-ShellComponent.idl (requestQuit): New. 2002-05-15 Iain * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): Remove debuggin spew 2002-05-15 Iain * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): Apply patch from Peter Williams to notify listeners when a new storage is created. 2002-05-14 Ettore Perazzoli * e-shell-offline-handler.c (e_shell_offline_handler_put_components_offline): Call e_shell_offline_sync_all_folders() if no connection is reported here. (dialog_handle_ok): Sync all the folders here through e_shell_offline_sync_all_folders(). * e-shell-offline-sync.c: New. * e-shell-offline-sync.h: New. * Evolution-Offline.idl (syncFolder): Make oneway. (cancelSyncFolder): Likewise. (SyncFolderProgressListener::reportSuccess): New method. 2002-05-14 Christopher James Lahey * Makefile.am: Added check-empty.xpm, check-filled.xpm, and check-missing.xpm. * check-empty.xpm, check-filled.xpm, check-missing.xpm: New xpms. Copied from gal. check-missing.xpm is simply a transparent xpm of the correct size. * e-storage-set-view.c (etree_value_at): When getting, check if the path doesn't have a check box and return 2 in that case. (etree_set_value_at): Check if the path doesn't have a check box and don't change it in that case. Also, just invert the value here instead of paying attention to the set value passed in. (class_init): Initialize the checks GdkPixbufs. (e_storage_set_view_construct): Create the "optional_checkbox" cell. * e-storage-set-view.etspec: Changed the cell for the checkbox column to "optional_checkbox". 2002-05-14 Christopher James Lahey * evolution-storage.c (evolution_storage_new_folder): Compute the evolutionUri here and pass it in. 2002-05-14 Ettore Perazzoli * e-shell-config-offline.c (init_storage_set_view_status_from_config): Add a missing CORBA_free in the case in which the typecode of the /OfflineFolders/Paths key in the ConfigDatabase doesn't match the expected type. 2002-05-14 Ettore Perazzoli * e-shell.c (e_shell_go_offline): Pass self to e_shell_offline_handler_new() instead of the component registry. * e-shell-offline-handler.c: Replace member `component_registry' in EShellOfflineHandlerPrivate with a `shell' member. Updated all the code to retrieve the component registry from the shell instead of directly. (e_shell_offline_handler_construct): Get a @shell instead of a @component_registry. 2002-05-13 Christopher James Lahey * e-storage-set-view.c (e_storage_set_view_get_checkboxes_list): Changed this to just walk the hash table to get the list of checked checkboxes instead of walking the tree. (Makes it so that checked paths will remain checked, even if they're not shown in the tree when the list is gotten.) 2002-05-13 Ettore Perazzoli * e-shell-config.c: Handle the e-shell-config-offline and e-shell-config-default-folders pages. * e-shell-config-offline.h: New. * e-shell-config-offline.c: New. * e-shell-config-default-folders.h: New. * e-shell-config-default-folders.c: New. Moved default folder page configuration in from e-shell-config.c. * GNOME_Evolution_Shell.oaf.in: Add GNOME_Evolution_Shell_Config_OfflineFolders_Control. 2002-05-13 Christopher James Lahey * e-storage-set-view.c (etree_set_value_at): Added a signal when the value of the checkboxes changes. 2002-05-10 Ettore Perazzoli * e-shell-shared-folder-picker-dialog.c: Add members `parent' and `shell' in DiscoveryData. (shell_view_destroy_callback): Callback for destruction of ->parent; set ->parent to NULL. (shell_destroy_callback): Callback for the desctruction of the shell; clean up everything. (discover_folder): Initialize ->parent and shell, and add the corresponding destruction handlers. (shared_folder_discovery_listener_callback): Open the discovered folder. (setup_progress_dialog): Renamed from `show_progress_dialog'. Set up a timeout for displaying the dialog instead of displaying it right away. (progress_dialog_show_timeout_callback): Callback for showing the dialog after the callback. 2002-05-10 Ettore Perazzoli * e-shell-shared-folder-picker-dialog.c (shared_folder_discovery_listener_callback): Updated for FolderResult instead of DiscoverSharedFolderResult. * Evolution-Storage.idl: Remove struct DiscoverSharedFolderResult; we want to just use FolderResult for asyncDiscoverSharedFolder. 2002-05-10 Ettore Perazzoli * evolution-test-component.c: Added some tests for the custom storage. * evolution-storage.c: New signal DISCOVER_SHARED_FOLDER. (impl_Storage_asyncXferFolder): Renamed from impl_Storage_async_xfer_folder. (impl_Storage_asyncRemoveFolder): Renamed from impl_Storage_async_remove_folder. (impl_Storage_asyncCreateFolder): Renamed from impl_Storage_async_create_folder. (impl_Storage_asyncOpenFolder): Renamed from impl_storage_async_open_folder. (impl_Storage_addListener): Renamed from impl_Storage_add_listener. (impl_Storage_removeListener): Renamed from impl_Storage_remove_listener. (impl_Storage_asyncDiscoverSharedFolder): New, implementation for ::asyncDiscoverSharedFolder. (evolution_storage_get_epv): Install the CORBA method here. (class_init): Set up the "discover_shared_folder" signal here. (e_marshal_NONE__POINTER_POINTER): Yet Another Marshaller. Die die die. * Evolution-Storage.idl (Storage::asyncDiscoverSharedFolder): New method. (StorageListener::notifySharedFolderDiscovered): New method. * e-shell-shared-folder-picker-dialog.c: New. * e-shell-shared-folder-picker-dialog.h: New. * e-shell-view-menu.c (command_open_other_users_folder): New, implementation for the FileOpenOtherUsersFolder verb. * Makefile.am: Generate stubs and skels for Evolution::Addressbook::SelectNames as well. * glade/e-shell-shared-folder-picker-dialog.glade: New. 2002-05-09 Ettore Perazzoli * e-local-storage.c (construct): Pass %FALSE as @has_shared_folders to evolution_storage_new(). * evolution-storage.c: New member has_shared_folders in EvolutionStoragePrivate. (init): Initialize to FALSE. (evolution_storage_new): New arg @has_shared_folders. (evolution_storage_construct): Likewise. (impl_Storage__get_folderList): Renamed from impl_Storage__get_folder_list. (impl_Storage__get_hasSharedFolders): New, implementation for ::hasSharedFolders. (evolution_storage_get_epv): Install the CORBA method implementation. * Evolution-Storage.idl: Make Storage::name a readonly attribute. New attribute Storage:: 2002-05-09 Ettore Perazzoli * Evolution-Offline.idl: Rename NotPrepared to notPrepared and NotSyncing to notSyncing. * evolution-storage.c (impl_Storage__get_folder_list): Renamed from impl_Storage_get_folder_list(). * Evolution-Storage.idl: Don't typedef FolderList here. Replace `getFolderList' method with a readonly attribute. 2002-05-07 Ettore Perazzoli * Evolution-Offline.idl: New interface SyncFolderProgressListener. (Offline::cancelSyncFolder): New. (Offline::syncFolder): New. 2002-05-07 JP Rosevear * evolution-storage.c (get_folder_list_foreach): add every folder to the sequence except the root folder (impl_Storage_get_folder_list): implement corba method (evolution_storage_get_epv): set new method implementation * evolution-folder-selector-button.h: fix signal prototype * e-folder-tree.h: new proto * e-folder-tree.c (e_folder_tree_get_count): count nodes (count_nodes): bump count foreach path * e-corba-storage-registry.c (impl_StorageRegistry_getStorageList): implement idl method (corba_class_init): set epv method * Evolution-Storage.idl: add getStorageList and getFolderList methods 2002-05-07 Ettore Perazzoli * evolution-test-component.c (create_new_folder_selector): Use the new evolution_shell_client_create_storage_set_view() call. * evolution-shell-client.c (evolution_shell_client_create_storage_set_view): New. 2002-05-07 Ettore Perazzoli * evolution-storage-set-view-factory.c (evolution_storage_set_view_factory_new_view): Put the EStorageSetView in an EScrollFrame. * e-shell.c (impl_Shell_createStorageSetView): CORBA_Object_duplicate the object before returning. * evolution-test-component.c (create_new_folder_selector): New function to create a simple test environment for the new checkbox-enabled StorageSetView. (register_component): Add user-creatable type FolderSelector. (user_create_new_item_callback): Handle FolderSelector. (dialog_clicked_callback): Print out the checked items in the folder selector. (main): Print out a message before going into bonobo_main(). * evolution-storage-set-view.c (impl_StorageSetView__get_showFolders): Renamed from impl_StorageSetView__get_show_folders. (impl_StorageSetView__set_showFolders): Renamed from impl_StorageSetView__set_show_folders. (impl_StorageSetView__set_showCheckboxes): New, write the showCheckboxes CORBA attribute. (impl_StorageSetView__get_showCheckboxes): New, read the showCheckboxes CORBA attribute. (impl_StorageSetView__get_checkedFolders): New, read the checkedFolders CORBA attribute. (corba_class_init): Install the new CORBA methods methods. * e-storage-set-view.c (essv_add_to_list): strdup() the path. (e_storage_set_view_get_storage_set): New. * e-folder.c (e_folder_to_corba): New. * Evolution-StorageSetView.idl: Add showCheckboxes and checkedFolders attributes. * Evolution-common.idl: Add typedef for FolderList. 2002-05-03 Christopher James Lahey * e-folder-list.c: Use bonobo_object_client_(un)?ref instead of gtk_object_(un)?ref. (add_clicked): Don't pass NULL to evolution_shell_client_user_select_folder. * glade/Makefile.am: Added e-folder-list.glade * glade/e-folder-list.glade: The glade file for e-folder-list. 2002-05-03 Christopher James Lahey * Makefile.am (eshellinclude_HEADERS): Added e-folder-list.h. (libeshell_la_SOURCES): Added e-folder-list.c. * e-folder-list.c, e-folder-list.h: New widget for editing a list of folder uris. 2002-04-29 Christopher James Lahey * e-storage-set-view.c (e_storage_set_view_set_checkboxes_list, e_storage_set_view_get_checkboxes_list): Added these functions. Implemented checkboxes in the ETreeModel here. 2002-04-19 Anna Marie Dirks * glade/e-shell-config-default-folders.glade: Minor label tweaks; changed "Default folders" to "Default Folders", and added accelerators. 2002-04-18 JP Rosevear * 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 2002-04-17 Ettore Perazzoli * e-shortcuts-view.c (impl_shortcut_drag_motion): New, override for EShortcutBar::shortcut_drag_motion. (impl_shortcut_drag_data_received): New, override for EShortcutBar::shortcut_drag_data_received. (class_init): Install the method overrides. 2002-04-17 Christopher James Lahey * e-activity-handler.c: Updated this to match the new EPopupMenu. 2002-04-17 Ettore Perazzoli * e-storage-set-view.c (handle_evolution_path_drag_motion): Removed. (impl_tree_drag_motion): Rewritten to use `e_folder_dnd_bridge_motion()'. (impl_tree_drag_data_received): Rewritten to use `e_folder_dnd_bridge_data_received()'. (convert_gdk_drag_action_to_corba): Removed. (convert_corba_drag_action_to_gdk): Removed. (find_matching_target_for_drag_context): Removed. * e-folder-dnd-bridge.c: New. * e-folder-dnd-bridge.h: New. 2002-04-10 Dan Winship * e-shell-config.c: Shell config page routines. Right now handles the default folders page. * glade/e-shell-config-default-folders.glade: New. * GNOME_Evolution_Shell.oaf.in: Add info for the default folders config page. * main.c (idle_cb): If we successfully registered the shell, register the config factory. * evolution-shell-client.c (evolution_shell_client_new): Note the fact that it frees the corba_shell when it is destroyed. * evolution-folder-selector-button.c (evolution_folder_selector_button_construct, destroy): Use bonobo_object_ref/unref on the shell client, not gtk. * e-shell.c (e_shell_construct): Pass local_directory to e_setup_check_db. (handle_default_uri): Fix the config db paths here to match the other routines. * e-setup.c (e_setup_check_db): Make this take the evolution directory path as well so we can properly set up file: URIs for the default folders. 2002-04-09 Ettore Perazzoli * main.c (idle_cb): Change the logic for displaying a default window, so we don't end up with two windows all the time. 2002-04-09 Ettore Perazzoli [Patch from Max Horn .] * e-local-storage.c: Move down the #include list so it compiles on Darwin. 2002-04-09 Dan Winship * 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. (impl_Shell_handleURI): Handle "default:" URIs by looking up the default folders in the config db. * main.c (idle_cb): Check for "default:" URIs and treat them the same way as "evolution:" URIs. If the shell fails to display all of the requested URIs, fall back to the default URI (Summary). * 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 2002-04-09 Dan Winship * 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 2002-04-08 Dan Winship 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. 2002-04-06 JP Rosevear * e-shell-settings-dialog.c (page_new): set type (load_pages): get the oaf property for type and track the page number of the highest priority for each type (destroy_type_entry): destroy hash func (impl_destroy): destroy the hash table (init): create private struct and hash table (e_shell_settings_dialog_show_type): show the page of the given type * e-shell-view-menu.c (command_settings): show the page for the current folder type by default * e-shell-settings-dialog.h: new proto 2002-04-06 Ettore Perazzoli * e-shell-settings-dialog.c (init): Set the title of the dialog. 2002-04-04 Dan Winship * evolution-shell-client.c (evolution_shell_client_get_pixbuf_for_type): Fix a memory mixup. 2002-04-04 Dan Winship * evolution-folder-selector-button.c: New widget for a button that displays a folder selection in a standard form, and when clicked lets the user select a new folder. * Evolution-Shell.idl (FolderSelectionListener:notifySelected): Make this take an Evolution:Folder instead of a pair of uris. (Shell:getIconByType): New method to get the icon for a type from the folder type registry. * Evolution-common.idl (Folder): add "evolutionUri" to the folder structure. * Evolution-Storage.idl (StorageRegistry:getFolderByUri): get an Evolution:Folder for a given uri. * evolution-shell-client.c (evolution_shell_client_user_select_folder): Update this to reflect the IDL change: return a GNOME_Evolution_Folder instead of a pair of URIs. Make sure it always sets *@folder_return to %NULL if it fails (even if it's a g_return_if_fail). (evolution_shell_client_get_storage_registry_interface): New. (evolution_shell_client_get_pixbuf_for_type): New. Uses Shell_getIconByType, but caches results. * e-shell.c (folder_selection_dialog_folder_selected_cb): Update for API change. (Return a GNOME_Evolution_Folder.) (impl_Shell_getIconByType): Implement. * e-corba-storage-registry.c (impl_StorageRegistry_getFolderByUri): Implement. * evolution-storage.c (evolution_storage_new_folder): Add a (dummy) evolutionUri to the folder. * Makefile.am (libeshell_la_SOURCES): add evolution-folder-selector-button.c (eshellinclude_HEADERS): and .h 2002-04-04 Ettore Perazzoli * evolution-shell-component.c: Change type of parent_class to BonoboXObjectClass. * e-shell.c (pop_up_activation_error_dialog): New helper function to pop up a dialog if one of the components couldn't be activated, getting the description for the error from e_get_activation_failure_msg(). (setup_components): Use this function in case of activation error. (set_owner_on_components): Likewise, when the component gets restarted. Also get a @splash arg so we can set the parent for this dialog correctly. * e-component-registry.c (register_component): New arg @ev. (e_component_registry_register_component): Likewise. (e_component_registry_restart_component): Likewise. Also, remove some bogus code that was #if'ed out. * evolution-shell-component-client.c (evolution_shell_component_client_new): New arg @ev. * evolution-shell-component-utils.c (e_get_activation_failure_msg): New. 2002-04-03 Dan Winship * e-storage.c (get_path_for_physical_uri_foreach): Deal with folders with no physical_uri. 2002-04-02 Christopher James Lahey * e-storage-set-view.c (e_storage_set_view_set_show_checkboxes): Set the show_checkboxes field here instead of the show_folders field. 2002-04-02 Christopher James Lahey * e-storage-set-view.c (etree_value_at): If folder is NULL, return the correct type of data. 2002-04-02 Christopher James Lahey * Makefile.am (etspec_DATA): Added e-storage-set-view-checkboxes.etstate and e-storage-set-view-no-checkboxes.etstate here. * e-storage-set-view-checkboxes.etstate, e-storage-set-view-no-checkboxes.etstate: The two possible states of the EStorageSetView. * e-storage-set-view.c, e-storage-set-view.h (e_storage_set_view_set_show_checkboxes, e_storage_set_view_get_show_checkboxes): Added this functionality. Added a model column to the underlying table for the checkbox data. * e-storage-set-view.etspec: Added a view column for the checkboxes. 2002-03-29 Ettore Perazzoli * e-shell-settings-dialog.c: Add type "Page". (page_new): New helper function. (page_free): New helper function. (compare_page_func): Callback for sorting a GList of pages. (sort_page_list): New helper function. (load_pages): Create the pages, sort them, add them sorted. Now we have a priority field that overrides alphabetical sorting. 2002-03-26 Ettore Perazzoli * e-component-info.c: New. * e-component-info.h: New. 2002-03-26 Ettore Perazzoli * e-shell-settings-dialog.c (load_pages): g_warning if the control cannot be activated. 2002-03-25 Dan Winship * 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. 2002-03-22 Ettore Perazzoli * e-shell-settings-dialog.c (get_language_list): Removed. (load_pages): Use e_get_language_list() here instead. Also, free using e_free_language_list(). 2002-03-22 Dan Winship * evolution-storage.c (evolution_storage_update_folder): Fix a "how can this ever have worked" bug to make unread message counts start working again. (#22293 etc) (evolution_storage_removed_folder): Oops. Fix here too. (evolution_storage_has_subfolders): And here. When cut and paste goes bad... * e-shell-folder-commands.c (e_shell_command_rename_folder): Use e_folder_get_name. Don't assume it's the same as the last path element. 2002-03-21 Dan Winship * e-splash.c (e_splash_construct): Set the wmclass to "evolution-splash" so sawfish knows it's not the same kind of window as the main window. 2002-03-20 Ettore Perazzoli * e-shell-view-menu.c: Make all the verb/menu arrays appropriately static. 2002-03-20 Ettore Perazzoli * e-shell-view-menu.c (command_send_receive): New, implementation for the "SendReceive" verb. * e-shell.c (e_shell_send_receive): New. * evolution-shell-component.c (impl_sendReceive): Implementation of ShellComponent::sendReceive. (class_init): Add the "send_receive" signal. * evolution-shell-component.h: Added `send_receive' signal. * Evolution-ShellComponent.idl: Added ShellComponent::sendReceive. 2002-03-18 Ettore Perazzoli * e-storage-set-view.etspec: Add `search="string"' for the keyboard navigability search thingy. 2002-03-15 Jeffrey Stedfast * e-activity-handler.c (show_cancellation_popup): Updated to use new EPopupMenu API. 2002-03-14 Dan Winship Support for delayed filling-in of storages/folders. * Evolution-Storage.idl (StorageListener): add notifyHasSubfolders, to announce that a folder has currently- unknown subfolders. (Storage): add asyncOpenFolder, to request that previously- announced subfolders be filled in. * evolution-storage.c (impl_Storage_async_open_folder): emit OPEN_FOLDER. (evolution_storage_has_subfolders): Implement by calling notifyHasSubfolders on all of its listeners. * evolution-storage-listener.c (impl_GNOME_Evolution_StorageListener_notifyHasSubfolders): emit HAS_SUBFOLDERS. * e-corba-storage.c (impl_StorageListener_notifyHasSubfolders): Implement by calling e_storage_has_subfolders. (async_open_folder): Implement by calling asyncOpenFolder on the CORBA storage. * e-storage.c (EStoragePrivate, init, destroy): Keep a list of pseudofolders representing un-filled-in subtrees. (impl_async_open_folder): No-op default implementation (e_storage_async_open_folder): New function to request that un-filled-in subtrees be filled in. (e_storage_new_folder): If the new folder's parent has an "un-filled-in children" pseudofolder, remove it. (e_storage_has_subfolders): New function to note that a folder has unknown children. If the folder previously was marked as having real children, remove them, and emit CLOSE_FOLDER to reset it back to an a "unknown subfolders" state. * e-storage-set.c (make_full_path): Make this deal with path being "/", since that case gets used from storage_close_folder_cb sometimes. (storage_close_folder_cb): Proxy EStorage's CLOSE_FOLDER signal. (storage_set_view_folder_opened): Handle EStorageSetView's FOLDER_OPENED signal by calling e_storage_async_open_folder. * e-storage-set-view.c (etree_fill_in_children): If the given node is its parent's first child, emit FOLDER_OPENED for the parent. (close_folder_cb): Handler for EStorageSet's CLOSE_FOLDER signal. Ask the model to close that node. (e_storage_set_view_construct): Set the default expanded state for the tree to FALSE rather than TRUE, to prevent unwanted expansion of delayed nodes. (This only affects the very first time the tree is displayed anyway: after that its state is loaded off disk.) * e-shell.c (e_shell_construct): Register the "noselect" type with the folder type registry, so icon lookups on placeholder folders will work. 2002-03-13 Ettore Perazzoli * e-shell-settings-dialog.c (load_pages): Use `evolution:config_item:icon_name' instead of `evolution:config_item:icon_path'. If it's not an absolute path, load from the IMAGESDIR. Also, no need to specify the language list for this one, as the icon name shouldn't be translated. 2002-03-12 Ettore Perazzoli * evolution-test-component.c (create_configuration_page): Update to create an EvolutionConfigControl instead of just a BonoboControl. * e-corba-config-page.c (e_corba_config_page_construct): Get a GNOME_Evolution_ConfigControl instead of a CORBA_Object. Retrieve the control from it using ::_get_control instead of just assuming it's a control. Also return a boolen indicating success or failure. (e_corba_config_page_new): Likewise, get a GNOME_Evolution_ConfigControl. (setup_listener): Renamed from `setup_config_control_interface'. Get a ::ConfigControl instead of a CORBA::Object. Thus, no need to queryInterface here anymore. * evolution-config-control.c, evolution-config-control.h: New, implementation for the Evolution::ConfigControl interface. * Evolution-ConfigControl.idl: New attribute `control'. 2002-03-09 Ettore Perazzoli * e-shell-folder-commands.c (e_shell_command_rename_folder): Make old_name_locale non-const to placate a compiler warning. (get_corba_null_value): Likewise. * e-activity-handler.c (report_task_event): `#if 0' out. 2002-03-09 Ettore Perazzoli * e-shell-settings-dialog.c (load_pages): Use ECorbaConfigPages. * e-corba-config-page.c: New. * e-corba-config-page.h: New. * Evolution.idl: #include . * Evolution-ConfigControl.idl: New IDL for configuration Controls that will be displayed in the global config dialog. 2002-03-08 Dan Winship * 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. 2002-03-07 Ettore Perazzoli * evolution-test-component.c (create_configuration_page): New function to create a test configuration page for the test component. (configuration_control_factory_fn): Factory function for the configuration controls. (register_configuration_control_factory): New function to register the factory. (main): Call it. * e-shell-view-menu.c: Add verb "Settings". (command_settings): Implementation for the "Settings" verb. * GNOME_Evolution_TestComponent.oaf: Add a configuration control. * e-shell-settings-dialog.c: New. * e-shell-settings-dialog.h: New. 2002-03-07 Dan Winship 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. 2002-03-07 Dan Winship 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 for storages without icons). (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. 2002-03-06 Dan Winship * e-storage.c: Keep the storage name and display_name in EStoragePriv. (impl_get_name, impl_get_display_name): Return them. (e_storage_construct): Set them here. (e_storage_new): And here. * e-local-storage.c: (impl_get_name, impl_get_display_name): Removed. (construct): Pass E_LOCAL_STORAGE_NAME and U_("Local Folders") to e_storage_construct. * e-corba-storage.c: Remove priv->name. (get_name, get_display_name): Removed. (e_corba_storage_construct): Pass name to e_storage_construct(). * e-summary-storage.[ch]: Gone. This didn't override anything in EStorage but get_name/get_display_name, and the defaults for those DTRT now. * e-shell-constants.h: Move E_SUMMARY_STORAGE_NAME here from e-summary-storage.h, and move E_LOCAL_STORAGE_NAME too for consistency. * e-storage-set-view.c: Fix up #includes. * e-shell-importer.c: Likewise * e-shell.c: Likewise. Create summary_storage as a plain EStorage since ESummaryStorage is gone now. * Makefile.am (evolution_SOURCES): Remove e-summary-storage.[ch] 2002-03-06 Dan Winship * e-corba-storage-registry.c (impl_StorageRegistry_removeListener): Fix up GList/GSList confusion. * e-shell-user-creatable-items-handler.c (get_default_action_for_view): Don't look into the types list if it's empty. 2002-03-06 Ettore Perazzoli * e-shell-about-box.c: Reduce width of the copyright message so it looks prettier with the new Rupert artwork. 2002-03-04 Iain Holmes * Evolution-Storage.idl: Add some methods to the StorageRegistry interface to get a storage, and add or remove listeners. Also add a new exception and some structs and enums for messages. * e-corba_storage-registry.c: Add a GSList to the private stuct for recording the listeners. (listener_notify): Send a message to the listeners. (impl_StorageRegistry_getStorageByName): Implementation of the getStorageByName method. Returns the associated storage interface (storage_set_foreach): Loop through all the storages in the storageset and notify the listeners about them. (find_listener): Find a listener in the list of them. (impl_StorageRegistry_addListener): Add a new listener to the registry. (impl_StorageRegistry_removeListener): Remove a listener. (corba_class_init): Add the new methods to the EPV. (init): NULL the listeners list. * e-corba-storage.[ch] (e_corba_storage_get_corba_objref): Get the CORBA interface from the GtkObject. 2002-03-04 Ettore Perazzoli [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 [Fix #20237, Shell silently drops xfer_folder errors.] * e-shell-folder-commands.c (xfer_result_callback): Display an error message if the operation failed. 2002-02-26 Ettore Perazzoli [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(). 2002-02-23 Ettore Perazzoli * e-shell-about-box.c: Add year 2002 to the copyright. 2002-02-23 Ettore Perazzoli * 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'. 2002-02-22 Ettore Perazzoli [Fix #3029, Offline mode should be preserved across sessions.] * main.c (idle_cb): Use the e_shell_new() API below so that we use the saved offline settings at the next start-up if neither --offline nor --online has been specified. * e-shell.c (save_misc_settings): New function. For now, just save `/Shell/StartOffline' indicating whether the shell should start in offline mode or not. (e_shell_construct): Replace @start_online with @startup_line_mode. (e_shell_new): Likewise. * e-shell.h: New enum EShellStartupLineMode. 2002-02-22 Ettore Perazzoli * 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. 2002-02-22 Ettore Perazzoli * 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. 2002-02-22 Ettore Perazzoli * 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. 2002-02-22 Ettore Perazzoli * 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". 2002-02-21 Ettore Perazzoli * e-shell-user-creatable-items-handler.c (get_default_action_for_view): Return NULL if there is no component ID for the current view. 2002-02-21 Ettore Perazzoli * e-shell-user-creatable-items-handler.c (ensure_menu_items): Set the icons for all the "New..." menu items from the specified one in the type definitions. * e-activity-handler.c (create_gdk_pixbuf_from_corba_icon): Removed. (impl_operationStarted): Just use `e_new_gdk_pixbuf_from_corba_icon()'. * e-shell-corba-icon-utils.c (e_new_gdk_pixbuf_from_corba_icon): New. 2002-02-20 Ettore Perazzoli [Fix #20311, new window from Shortcuts should not show the folder bar and the shortcut bar. Also do the same for right-click on the folder bar.] * 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. 2002-02-20 Ettore Perazzoli * 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. 2002-01-30 Not Zed * 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. 2002-01-27 Ettore Perazzoli * Makefile.am: Use SHELL_CFLAGS and SHELL_LIBS. * importer/Makefile.am: Likewise. 2002-01-24 Ettore Perazzoli * Makefile.am: Just use BONOBO_HTML_GNOME_CFLAGS and BONOBO_HTML_GNOME_LIBS for compiling/linking; we don't need the other ones. 2002-01-23 Ettore Perazzoli * 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. * e-shell-icon-utils.h: New. * e-shell-icon-utils.c: New. 2002-01-23 Ettore Perazzoli [Patch by Michael Meeks .] * e-splash.c (e_splash_set_icon_highlight): g_return if there is no num-th icon. 2002-01-15 Iain Holmes * e-shell-importer.c (show_import_wizard): Set the importer druid as a transient window of the parent shell. 2002-01-15 Ettore Perazzoli [Fix #17441, Crash trying to import Multiple VCard file into LDAP folder.] * e-shell-importer.c (show_error): Add a NULL in the call to `gnome_message_box_new()'. 2001-12-14 Michael Meeks * e-shell-view.c (set_current_notebook_page): re-order activate / de-activate to minimise flicker switching between identical components. 2002-01-11 Damon Chaplin * e-shell-startup-wizard.c (finish_func): handle translated timezone names. * Makefile.am (INCLUDES): added -I$(top_srcdir)/libical/src/libical. 2001-12-17 Ettore Perazzoli * e-shell-about-box.c: Add Michael MacDonald. 2001-12-17 Ettore Perazzoli [Fix #17377, Evolution doesn't work on multi-depth displays.] * main.c (main): Push GdkRGB visual and colormap. 2001-12-17 Ettore Perazzoli [Fix #16693. What happens there is that the user closed the dialog before the async operation was completed, so when the notification was received the shell crashed.] * e-shell-folder-creation-dialog.c: New member `creation_in_progress' in `DialogData'. (e_shell_show_folder_creation_dialog): Init to %FALSE. (async_create_cb): Set to %FALSE. Also, if the dialog_data->dialog is %NULL, free the dialog_data before returning. (dialog_clicked_cb): Set to %TRUE. (dialog_destroy_cb): If a creation is in progress, just set the widget pointers in the DialogData struct to %NULL instead of freeing the whole struct. (async_create_cb): Make the OK and Cancel buttons sensitive. (dialog_clicked_cb): Make them insensitive here. 2001-12-12 Ettore Perazzoli [Fix #17258, shell displays splash even if Evolution is already running.] * e-shell.c (e_shell_construct): Display the splash screen only if the registration succeeds. 2001-12-10 Ettore Perazzoli [Fix #14838, saving passwords doesn't work. It is actually a workaround for some obscure Bonobo-conf bug.] * e-setup.c (setup_bonobo_conf_private_directory): New helper function to create the `~/evolution/private' directory. (e_setup): Call it. 2001-12-07 Iain Holmes [Trying to fix #14701, importing locks up Evolution.] * e-shell-importer.c (show_error): Show an error message, but not modally. (start_import): Use above function so none of the errors are modal. (folder_selected): Hide the folder dialog. 2001-12-04 Ettore Perazzoli [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. 2001-11-15 Zbigniew Chyla * e-shell-folder-commands.c (e_shell_command_rename_folder): Convert folder name to locale's encoding before using it as part of the prompt. 2001-11-28 Federico Mena Quintero Fixes bug #3290. * e-shell-folder-selection-dialog.c (e_shell_folder_selection_dialog_construct): Use our own filename for the collapsation state of the tree, instead of sharing the one of shell view number 0. (save_expanded_state): New function, saves the collapsation state of the tree. (impl_destroy): Call save_expanded_state(). 2001-11-14 Ettore Perazzoli * e-shell-about-box.c: Add more contributors to the box. 2001-11-14 Damon Chaplin * e-shell-startup-wizard.c (finish_func): make timezone default to "UTC" rather than "". 2001-11-12 Iain Holmes * e-shell-startup-wizard.c (make_identity_page): Check for exception. (make_receive_page): Check for exception. (make_extra_page): Check for exception. (make_transport_page): Check for exception. (make_management_page): Check for exception. 2001-11-06 Iain Holmes * e-shell-startup-wizard.c (make_timezone_page): Move the call to e_timezone_dialog_new out of the the GTK_OBJECT macro to stop it being called 4 times, and leaking 3. 2001-11-05 Ettore Perazzoli * e-storage-set-view.c (set_e_shortcut_selection): Get the storage name if we are dragging a storage instead of a folder. 2001-11-01 Anna Marie Dirks * e-shell-importer.c (prepare_intelligent_page): Fixed spacing and alignment probelms. (See bug #14281) * e-shell-startup-wizard.c (prepare_importer_page): Fixed spacing and alignment problems. (See bug #14281) 2001-11-05 Dan Winship * 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. 2001-11-01 Ettore Perazzoli * glade/evolution-startup-wizard.glade: `timezone-48.png', not `timezone.png'. 2001-11-01 Anna Marie Dirks * glade/evolution-startup-wizard.glade: Changed the welcome message and the finishing message to be more descriptive. Also changed the window title to be "Evolution Setup Assistant". Finally, fixed a misnamed icon (replaced timezone.png with timezone-48.png). Partially fixes bug #14281 and totally fixes #14286. 2001-10-31 Christopher James Lahey * 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. 2001-10-31 Ettore Perazzoli * 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. 2001-10-30 Ettore Perazzoli * e-shell-view.c (bonobo_widget_is_dead): Removed. (show_existing_view): Don't call it. 2001-10-30 Ettore Perazzoli * e-component-registry.c (sleep_with_g_main_loop): New utility function. (sleep_with_g_main_loop_timeout_callback): Callback function for `sleep_with_g_main_loop()'. (wait_for_corba_object_to_die): Use `sleep_with_g_main_loop()' instead of `sleep()'. 2001-10-30 Ettore Perazzoli * main.c (development_warning): Removed. (idle_cb): Don't call it. (warning_dialog_clicked_callback): Removed. 2001-10-30 Iain Holmes * e-shell-view.c (e_shell_view_load_settings): If the display uri is NULL, set the view to the default. 2001-10-30 Ettore Perazzoli * evolution-shell-component.c (owner_ping_callback): Duplicate the owner before pinging it. Fixes #13802. 2001-10-30 Ettore Perazzoli * evolution-shell-component.c (impl_owner_unset): New. (class_init): Install it. (impl_unsetOwner): Just emit the "owner_unset" signal as the default implementation for that signal does all the work now. (impl_owner_died): Set the owner_client to %NULL before unreffing it. (destroy): Likewise. (impl_owner_unset): Likewise. 2001-10-30 Ettore Perazzoli * 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. 2001-10-29 Ettore Perazzoli * e-shell-startup-wizard.c (next_func): If we're not at the end of the druid list, tell the druid we're going to change the page. (back_func): Same for going back a page. This way we can properly synchronise with the druid object and not race with the wizard object to set the right page. Part of fix for #12127. 2001-10-29 Ettore Perazzoli * evolution-shell-component.c (owner_ping_callback): Slightly change the debugigng message for when the shell has disappeared. 2001-10-29 Ettore Perazzoli * evolution-shell-component.c (owner_ping_callback): Remove ping debugging messages. 2001-10-29 Ettore Perazzoli * e-shell.c (set_interactive): Remove debugging message. 2001-10-29 Damon Chaplin * Makefile.am (evolution_LDADD): use libical-evolution.la 2001-10-29 Ettore Perazzoli * 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()']. 2001-10-28 Ettore Perazzoli * 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()'. 2001-10-28 Ettore Perazzoli * 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. 2001-10-29 * evolution-storage.c (class_init): Set the return type of the signal handlers to GTK_TYPE_NONE. 2001-10-28 Ettore Perazzoli [The following should fix #13802, crash on exit.] * evolution-shell-component.c (impl_unsetOwner): Set the ping timeout ID to -1 when removing the source. (impl_destroy): Likewise. (impl_unsetOwner): Remove the timeout before unreffing, not after unreffing. 2001-10-28 Jon Trowbridge * e-shell-about-box.c: Distribute credit equally. 2001-10-27 * evolution-storage.c (impl_Storage_async_xfer_folder): We want XFER_FOLDER not REMOVE_FOLDER! 2001-10-26 Ettore Perazzoli * e-shell-offline-handler.c (prepare_for_offline): Remove debugging messages. (finalize_offline_hash_foreach): Likewise. 2001-10-26 Ettore Perazzoli * e-shell-offline-handler.c: New member `finished' in `EShellOfflineHandlerPrivate'. (finalize_offline): Ref the handler as we might get destroyed while putting every component offline. (impl_OfflineProgressListener_updateProgress): Don't emit ::offline_procedure_finished if ->finished is %TRUE. Also, set it to %TRUE after emitting the signal. (cancel_offline): Likewise. (finalize_offline): Likewise. (update_dialog_clist): Guard against NULL ->dialog_gui. 2001-10-26 Ettore Perazzoli * evolution-storage.c (impl_Storage_async_xfer_folder): Implement. (class_init): Add the signal "xfer_folder" signal. * evolution-storage.h: New signal "xfer_folder". 2001-10-26 Ettore Perazzoli * e-corba-storage.c (async_xfer_folder): New, implementation for the ::async_xfer_folder method. (class_init): Install it. 2001-10-26 Ettore Perazzoli * e-shell.c (destroy): Set ->is_initialized to %FALSE. (e_shell_unregister_all): Same here. 2001-10-26 Ettore Perazzoli * e-shell-importer.c (prepare_intelligent_page): gtk_widget_show_now() the dialog. * e-shell-startup-wizard.c (prepare_importer_page): Likewise. 2001-10-26 Ettore Perazzoli * main.c (quit_box_new): Use gtk_widget_show_now() so the stupid dialog hopefully displays all the time. 2001-10-26 Ettore Perazzoli * e-shell-view.c (set_current_notebook_page): Clear the folder bar label to be empty. [#12553] 2001-10-26 Ettore Perazzoli * e-shell-about-box.c (timeout_callback): Draw one more line. 2001-10-26 Ettore Perazzoli * e-shell-view-menu.c (command_about_box): Set the GtkWindow policy so that @allow_shrink, @allow_grow and @auto_shrink are all %FALSE. 2001-10-26 Ettore Perazzoli * e-shell-folder-commands.c (e_shell_command_rename_folder): Don't allow invalid folder names. [#12027] * e-shell-folder-creation-dialog.c (entry_name_is_valid): Removed. (dialog_clicked_cb): Use `e_shell_folder_name_is_valid()' instead. * e-shell-utils.c (e_shell_folder_name_is_valid): New. Sorry I18N people, it breaks the string freeze slighty. * e-component-registry.c (component_free): Add a cast. (e_component_registry_restart_component): Argh, use the corba_objref properly in calling `wait_for_corba_object_to_die()'. 2001-10-25 Ettore Perazzoli * e-shell-view-menu.c (update_offline_menu_item): Add accelerators for "Work Offline" and "Work Online". 2001-10-25 Ettore Perazzoli * e-shell-view.c (update_for_current_uri): Don't allow translators to translate "Ximian Evolution". 2001-10-25 Ettore Perazzoli * e-component-registry.c (wait_for_corba_object_to_die): New helper function. (e_component_registry_restart_component): Use it. (component_free): Call it to wait for the unowned object to die. 2001-10-25 Ettore Perazzoli * e-shell.c (impl_Shell_selectUserFolder): Handle failure from XGetClassHint properly. Also, free res_name and res_class in case of success. Fixes #13554. 2001-10-25 Ettore Perazzoli * e-storage-set-view.c (etree_icon_at): Don't display an icon for storages that have subfolders. 2001-10-25 Ettore Perazzoli * e-shell-importer.c: #include "e-util/e-gtk-utils.h". * e-shell-folder-creation-dialog.c (e_shell_show_folder_creation_dialog): Constify a local variable to placate a warning. * e-activity-handler.c (task_widget_cancel_callback): #if 0'ed out. * evolution-shell-component-client.c (evolution_shell_component_client_new): Remove unused variable `ior'. 2001-10-25 Ettore Perazzoli * e-activity-handler.c (impl_destroy): Set ->priv to NULL. (impl_operationStarted): Check for priv not being NULL. (impl_operationProgressing): Likewise. (impl_operationFinished): Likewise. (impl_requestDialog): Likewise. 2001-10-25 Ettore Perazzoli * e-shell-startup-wizard.c (make_mail_dialog_pages): Set the ->mailer to be CORBA_OBJECT_NIL in case of an exception, otherwise the caller will not realize about the problem. 2001-10-25 Ettore Perazzoli * evolution-wizard.c (evolution_wizard_set_buttons_sensitive): Don't use __FUNCTION__. (evolution_wizard_set_show_finish): Likewise. (evolution_wizard_set_page): Likewise. * e-shell-startup-wizard.c (make_mail_dialog_pages): Do not use __FUNCTION__ and __LINE__. This breaks the string freeze, but the old way made Evolution non-compilable with non-GNU compilers. 2001-10-24 Ettore Perazzoli * e-shell-about-box.c: Add a few names to the box. 2001-10-24 Dan Winship * evolution-storage.c (evolution_storage_new_folder): g_return_if_fail if the display_name is NULL. "Fixes" 11182 although there may be a few more cases lying around that pass NULLs in. 2001-10-24 Ettore Perazzoli * main.c (quit_box_new): Set the WMClass of the quit dialog to be different from the default one in an attempt to fix #13441. 2001-10-24 Ettore Perazzoli * e-local-storage.c (storage_result_from_component_result): New. (async_xfer_folder_callback): Use it so we get the right error message. (async_xfer_folder_complete): New arg @success. Don't remove the directory and the metadata if @success is %FALSE. 2001-10-23 Ettore Perazzoli * e-shell-folder-commands.c (rename_callback_data_new): Get the path and the shell view instead. (rename_callback_data_free): Updated accordingly. (rename_cb): Set the name on the folder based on the path, not the actual object [as the old object gets unreffed -- of course]. 2001-10-23 Ettore Perazzoli * e-shell-folder-commands.c (rename_callback_data_new): New. (rename_callback_data_free): New. (rename_cb): Rename the folder here. (e_shell_command_rename_folder): Don't rename the EFolder here. 2001-10-23 Ettore Perazzoli * e-local-storage.c (async_xfer_folder_callback): Handle the return codes properly, and invoke the result callback too. 2001-10-23 Ettore Perazzoli * e-activity-handler.c (show_cancellation_popup): #if 0'ed for now, per #7427. 2001-10-23 Ettore Perazzoli * 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. 2001-10-22 Ettore Perazzoli * 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()'. 2001-10-22 Ettore Perazzoli * e-shell-view-menu.c (command_open_folder_in_new_window): Don't explicitly show the new view. 2001-10-22 Ettore Perazzoli * evolution-shell-component.c (impl_unsetOwner): Remove the ping timeout. 2001-10-22 Ettore Perazzoli * e-shell.c (impl_Shell_selectUserFolder): Don't die if the parent window has no WMHints. 2001-10-22 Ettore Perazzoli * e-shell-view.c (show_existing_view): If the view is dead, just return FALSE. Prevents crash #12483. 2001-10-22 Ettore Perazzoli * e-shell.c: New member `is_interactive' in `EShellPrivate'. (init): Init to %FALSE. (set_interactive): New. (e_shell_create_view): Make interactive. (view_destroy_cb): If no views are left, make non-interactive. * evolution-shell-component.c (class_init): Set up the "interactive" signal. (impl_interactive): New implementation for the ::interactive method. (class_init): Install. * evolution-shell-component.h: New signal `interactive'. * Evolution-ShellComponent.idl: New method ::interactive. 2001-10-19 Ettore Perazzoli * 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. 2001-10-19 Ettore Perazzoli * e-shell-view-menu.c (command_about_box): Use EShellAboutBox. (zero_pointer): Removed. * e-shell-about-box.h: New. * e-shell-about-box.c: New. 2001-10-18 Ettore Perazzoli * Makefile.am (evolution_SOURCES): Ooops. Remove stale files `e-shell-about-box.[ch]'. 2001-10-17 Ettore Perazzoli * e-shell.c (impl_Shell_selectUserFolder): Set the parent according to the XID we get. * Evolution-Shell.idl: New arg @parent_xid in `::selectUserFolder'. * evolution-shell-client.c (evolution_shell_client_user_select_folder): New arg @parent. (user_select_folder): Likewise. Pass it to the CORBA method. 2001-10-17 Ettore Perazzoli * main.c (idle_cb): Urgh. Remove stale line that caused `display_default' to be set to TRUE for all the non-NULL shell cases. 2001-10-17 Ettore Perazzoli * e-shell.c (set_owner_on_components): Re-set the owner on the component that raised OldOwnerHasDied. 2001-10-15 Iain Holmes * e-shell-startup-wizard.c (prepare_importer_page): Stop the prepare running twice. 2001-10-14 Dan Winship * e-corba-storage.c (async_folder_cb): * e-storage.c (e_storage_result_to_string): Add two missing codes. 2001-10-13 Dan Winship * evolution-shell-component-utils.c (e_activation_failure_dialog): New function to try to activate a component when you know it's going to fail, and then pop up a dialog explaining why it failed. 2001-10-12 Iain Holmes * e-shell-importer.c (prepare_intelligent_page): Flush the gdk functions so that the window will be shown. * e-shell-startup-wizard.c (make_mail_dialog_pages): Fix some strings. (prepare_importer_page): Flush GDK functions so that the window is shown. 2001-10-12 Ettore Perazzoli [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. 2001-10-12 Ettore Perazzoli * main.c (quit_box_new): Also flush GDK after flushing GTK. Otherwise GTK might queue draw requests to X that don't get executed. 2001-10-12 Ettore Perazzoli [Hopefully really fix #8615 and friends.] * main.c (no_views_left_cb): Invoke `e_shell_disconnect_db()' before unreffing the shell. * e-shell.c (e_shell_disconnect_db): New. (destroy): Call it instead of unreffing the db manually here. 2001-10-12 Ettore Perazzoli * e-shell-folder-commands.c (folder_selection_dialog_folder_selected_callback): Don't free the folder_command_data here. It is supposed to be freed in the async callback. The leak that Dan supposedly fixed was probably only due to the fact that the component that was supposed to perform the xfer didn't report a result. Now that xfer actually works, it was triggering the crash instead. [Fixes #9769.] 2001-10-12 Ettore Perazzoli * e-shell-offline-handler.c (prepare_for_offline): Only invoke `progress_listener_servant_free()', no need to also do `__fini()' on it as `__fini()' is also called by the former. [Fixes #12329.] Also, print out the CORBA exception that gets raised so we have some more clues about what is wrong. 2001-10-11 Ettore Perazzoli * e-shell-view.c (reparent_storage_set_view_box_and_destroy_popup): Don't die if the folder_bar_popup is %NULL. Fixes #10922. 2001-10-11 Ettore Perazzoli * main.c (idle_cb): Display the default view only if we are starting our own shell, or if the command-line has no arguments and we are talking to an already existing shell. * e-uri-schema-registry.c (e_uri_schema_registry_set_handler_for_schema): Do not return a value. 2001-10-11 Dan Winship * Evolution-Storage.idl: Remove "display_name" arg from update methods. It was only there to do the "Inbox (5)" hack, which is supported directly now. * evolution-storage.c (impl_Storage_updateFolder): no longer takes display_name. (evolution_storage_update_folder, evolution_storage_update_folder_by_uri): Likewise. (class_init): Update signal signature. * evolution-storage-listener.c (impl_GNOME_Evolution_StorageListener_notifyFolderUpdated): No longer takes display_name, but make it pass the unread_count along in the signal it emits. (class_init): Update signal signature. * e-local-storage.c (bonobo_interface_update_folder_cb): * e-corba-storage.c (impl_StorageListener_notifyFolderUpdated): No longer take display_name. 2001-10-10 Ettore Perazzoli * e-storage-set-view.c (handle_evolution_path_drag_motion): Ooops, remove debugging message. 2001-10-10 Ettore Perazzoli * 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. 2001-10-05 Jon Trowbridge * e-shell-view-menu.c (command_work_offline): This is a message, not a warning! (command_work_online): This is also a message, not a warning! (I'm feeling very anal today.) 2001-10-05 Ettore Perazzoli * main.c (idle_cb): Do not invoke `e_shell_restore_from_settings()' if `shell' is NULL. 2001-10-05 Ettore Perazzoli * 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. 2001-10-05 Ettore Perazzoli * e-shell.c (impl_Shell_handleURI): Handle the return value from `evolution_shell_component_client_handle_external_uri()' as an EvolutionShellComponentClientResult instead of treating it as a boolean. This prevents the incorrect NotFound exceptions we were getting for `mailto:' invocations. 2001-10-05 Ettore Perazzoli * main.c (quit_box_new): Also `gdk_flush()'. (idle_cb): If the user doesn't specify at least one `evolution:' URI, restore from the settings. [Fixes #6093.] 2001-10-05 Ettore Perazzoli * evolution-shell-component.c: New member `ping_timeout_id' in `EvolutionShellComponentPrivate'. (setup_owner_pinging): New helper function. (impl_owner_died): Unref the owner and set ->owner_client to %NULL. (impl_setOwner): Don't unref here. (destroy): Remove the source for ->ping_timeout_id if not -1. 2001-10-05 Ettore Perazzoli * main.c: #include "e-util/e-gtk-utils.h". (quit_box_new): Queue a draw on the window; otherwise it seems to fail to redraw in some cases for some reason [see #11412]. 2001-10-05 Ettore Perazzoli * evolution-shell-component.c (impl_setOwner): If the owner is dead, emit "owner_died" instead of "owner_unset". (impl_owner_died): New, default implementation for "owner_died". (class_init): Install it. * evolution-shell-component.h: New signal "owner_died". 2001-10-05 Ettore Perazzoli * e-shell.c (set_owner_on_components): If setting the owner fails, print the a warning message out. Then restart the component. * e-component-registry.c (component_free): Return a boolean value. %FALSE if ::unsetOwner raises an exception. (register_type): New arg @override_duplicate, to avoid complaining if a component gets re-registered. (register_component): Likewise. (e_component_registry_restart_component): New. * e-uri-schema-registry.c (e_uri_schema_registry_set_handler_for_schema): Changed return type to `void'. Just remove the old handler and set up the new one. * evolution-shell-component-client.c (corba_exception_to_result): Translate ::OldOwnerHasDied into EVOLUTION_SHELL_COMPONENT_OLDOWNERHASDIED. * evolution-shell-component.h: New enum value `EVOLUTION_SHELL_COMPONENT_OLDOWNERHASDIED'. * evolution-shell-component.c (impl_setOwner): If the old owner is not alive anymore [use CORBA_Object_non_existent() to figure this out], emit OWNER_UNSET and raise `OldOwnerHasDied'. (evolution_shell_component_result_to_string): New. * Evolution-ShellComponent.idl: New exception `OldOwnerHasDied'. (ShellComponent::setOwner): Can raise it. * e-folder-type-registry.c (e_folder_type_register_type_registered): New. (e_folder_type_register_unregister_type): New. 2001-10-04 Rodrigo Moya * importer/Makefile.am: added BONOBO_GNOME_CFLAGS to make it compile with latest Bonobo 2001-10-02 Ettore Perazzoli [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. 2001-10-02 Ettore Perazzoli * e-shell.c (e_shell_component_maybe_crashed): Make the crash message less dorky. [#10264] 2001-10-02 Ettore Perazzoli [Don't allow dragging from a folder to one of its descendants or 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. 2001-10-02 Ettore Perazzoli * e-shell-view.c (e_shell_view_construct): Use `bonobo_ui_component_new_default()', not `bonobo_ui_component_new()'. 2001-10-02 Ettore Perazzoli * 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. 2001-09-28 Ettore Perazzoli [Fix #8053, `GNOME_Evolution_Shortcuts' doesn't seem to work.] * e-shell.c (e_shell_construct): Don't create the EShortcuts object a second time. 2001-09-28 Ettore Perazzoli [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. 2001-09-28 Iain Holmes * importer/import.glade: Add new pages. * e-shell-importer.c (show_import_wizard): Set up new pages. (import_druid_finish): Check which type of importer to run. 2001-09-26 Iain Holmes * Evolution-Shell.idl: Added a default_type parameter for setting the default folder creation type. * e-shell-folder-commands.c (e_shell_command_create_new_folder): Add NULL for default type. (e_shell_command_move_folder): Add NULL for default type. * e-shell-folder-creation-dialog.c (add_folder_types): Check for the default_type instead of for mail. (get_type_from_parent_path): Get the folder type from the parent folder (e_shell_show_folder_creation_dialog): Get the default folder type before creating the menu. * e-shell-folder-creation-dialog.h: Update headers. * e-shell-folder-selection-dialog.c (impl_clicked): Add default type. (e_shell_folder_selection_dialog_construct): Add default type. (e_shell_folder_selection_dialog_new): Add default type. * e-shell-folder-selection-dialog.h: Update headers. * e-shell-importer.c (import_druid_finish): Add NULL for default type. * e-shell-view-menu.c (command_new_folder): Set NULL for default type. (command_goto_folder): Set NULL for default type. * e-shell.c (impl_Shell_selectUserFolder): Update for the new default type. * evolution-shell-client.c (user_select_folder): Add "" for default type 2001-09-27 Ettore Perazzoli * e-shell-view-menu.c (DEFINE_UNIMPLEMENTED): Remove. (command_new_mail_message): Removed. (command_pilot_settings): New. (e_shell_view_menu_setup): Add tools verbs. 2001-09-26 Ettore Perazzoli * 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". 2001-09-25 Ettore Perazzoli * e-shell-folder-commands.c (e_shell_command_rename_folder): Change the name on the EFolder object too. 2001-09-25 Ettore Perazzoli * 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. 2001-09-25 Ettore Perazzoli * 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. 2001-09-21 Iain Holmes * e-shell-importer.c (folder_selected): Use GNOME functions to get full expanded path from file entry. 2001-09-20 Ettore Perazzoli * 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. 2001-09-20 Ettore Perazzoli * 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. 2001-09-20 Iain Holmes * e-shell-startup-wizard.c (e_shell_startup_wizard_create): Check the number of mail accounts that exist and display the dialog it this is 0. 2001-09-19 Ettore Perazzoli * e-task-widget.c: New member `tooltips' in `ETaskWidgetPrivate'. (init): Init to NULL. (e_task_widget_construct): Create a GtkTooltips and make `tooltips' point to it. (e_task_widget_update): Set the tooltip for the label too. 2001-09-19 Ettore Perazzoli * evolution-test-component.c: Removed globals `activity_client', `progress'. (timeout_callback_3): Get the activity client from @data. (timeout_callback_2): Likewise here. Pass the activity client as the user data pointer for `gtk_timeout_add()'. Put the progress count in a "my_progress" GtkObject data key. (timeout_callback_1): Pass the newly created EActivityClient as the user data pointer for `gtk_timeout_add()'. Also, dispatch itself again with a random timeout delay, for a maximum of NUM_ACTIVITES times. Initialize the "my_progress" GtkObject data to be -1. [Lame hack to reduce the number of parallel operations reported by the same component displayed in the task bar.] * e-activity-handler.c: New member `component_id' in `ActivityInfo'. (activity_info_new): New arg @component_id. Init the `component_id' member accordingly. (activity_info_free): Free the `component_id' member. (impl_operationStarted): Pass the component_id to `activity_info_new()'. (task_widget_new_from_activity_info): Pass the component_id to the activity_info. * e-task-widget.c: New member `component_id' in `ETaskWidgetPrivate'. (impl_destroy): Free it. (init): Init to NULL. Also init all the other members to NULL as well. (e_task_widget_construct): New arg @component_id. Assign ->component_id to match it. (e_task_widget_new): New arg @component_id here as well. Pass it over to `e_task_widget_construct()'. (e_task_widget_get_component_id): New. 2001-09-18 Ettore Perazzoli * e-storage-set-view.c (handle_evolution_path_drag_motion): New arg @row. Highlight that row. (tree_drag_motion): Pass @row to `handle_evolution_path_drag_motion()'. 2001-09-18 Ettore Perazzoli * e-splash.c: #include "e-gtk-utils.h". 2001-09-18 Ettore Perazzoli * e-splash.c (e_splash_construct): Make the canvas backing stored. 2001-09-17 Ettore Perazzoli * main.c (quit_box_new): Call `e_make_widget_backing_stored()' on the widget so it refreshes properly even when we are busy waiting on CORBA calls. 2001-09-17 Ettore Perazzoli * main.c (quit_box_new): New. (quit_box_destroyed_callback): New. (no_views_left_cb): Use these two functions to display a warning message when Evolution is quitting. 2001-09-17 Ettore Perazzoli * e-shell.c (impl_Shell_getLocalStorage): Only raise NotReady if the local storage pointer is actually NULL. This way it is possible for the components to access the local storage during initialization even if the shell is not quite finished initializing yet. 2001-09-17 Ettore Perazzoli [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. 2001-09-16 Ettore Perazzoli * 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]. 2001-09-16 Christopher James Lahey * e-storage-set-view.c (etree_get_node_by_id): Made save_id const here. 2001-09-14 Ettore Perazzoli [Automake 1.5 fixes pointed out by Richard Boulton , as per #9258.] * importer/Makefile.am (CLEANFILES): Assign directly using `=', instead of `+='. * Makefile.am (CLEANFILES): Likewise. 2001-09-14 Ettore Perazzoli * e-shell.c (impl_Shell_getLocalStorage): Return a proper value. (impl_Shell_createStorageSetView): Likewise. (impl_Shell_setLineStatus): Likewise. (impl_Shell__get_displayName): Likewise. (impl_Shell_getComponentByType): Likewise. (impl_Shell_createNewView): Likewise. (impl_Shell_handleURI): Likewise. 2001-09-14 Iain Holmes * e-shell-importer.c (start_import): Only check for local path if the folderpath != NULL. * e-shell-startup-wizard.c (prepare_importer_page): Remove GTK_CLIST cast. 2001-09-12 Iain Holmes * evolution-wizard.c: Remove spewage. 2001-09-14 Ettore Perazzoli * e-shell-importer.c (start_import): Removed unused variable. 2001-09-14 Ettore Perazzoli [Fix #8204 and the other bugs caused by allowing invocations on the ::Shell interface to happen before the shell is actually fully initialized. This is a lame hack and not a nice, complete solution for the problem, but it should do for now.] * e-shell.c: New member `is_initialized' in `EShellPrivate'. (init): Initialize to %FALSE. (e_shell_construct): Set `is_initialized' to %TRUE after the initialization sequence is finished. (raise_exception_if_not_ready): New utility function to raise the notReady exception if the shell is not ready. (impl_Shell__get_displayName): Call it. (impl_Shell_getComponentByType): Likewise. (impl_Shell_createNewView): Likewise. (impl_Shell_handleURI): Likewise. (impl_Shell_selectUserFolder): Likewise. (impl_Shell_getLocalStorage): Likewise. (impl_Shell_createStorageSetView): Likewise. (impl_Shell_setLineStatus): Likewise. (e_shell_construct): Print out the repo_id of the exception from `bonobo_get_object()' if it fails. Also, register on OAF just before displaying the splash. * Evolution-Shell.idl: New exception `NotReady'. All the CORBA methods on ::Shell can now raise this exception. 2001-09-13 Ettore Perazzoli [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. 2001-09-13 Ettore Perazzoli [Remove a bunch of debugging messages, as per #7741.] * evolution-wizard.c (impl_GNOME_Evolution_Wizard_notifyAction): Removed debugging messages. * e-storage-set.c (storage_removed_folder_cb): Removed debugging message. * e-storage-set-view.c (tree_drag_begin): Removed debugging message. (tree_drag_data_received): Removed debugging messages. * e-shortcuts.c (idle_cb): Removed debugging message. * e-shortcuts-view-model.c (get_icon_for_item): Removed debugging message. * e-shell.c (setup_components): Removed debugging message. * e-shell-startup-wizard.c (druid_event_notify_cb): Removed debugging message. (e_shell_startup_wizard_create): Removed debugging message. * e-shell-offline-handler.c (finalize_offline_hash_foreach): Removed debugging message. * e-shell-importer.c (start_import): Removed debugging message. (item_selected): Same here. * e-local-storage.c (async_xfer_folder_step): Removed debugging message. * e-corba-storage.c (impl_StorageListener_notifyFolderCreated): Changed the error from a g_print() into a g_warning(). Removed debugging message. * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): Removed debugging message. (impl_StorageRegistry_removeStorageByName): Likewise. * e-component-registry.c (component_free): Removed debugging message. (register_component): Don't printf() about the registered folder type. (register_component): Don't printf() about the registered schema type. 2001-09-13 Ettore Perazzoli * 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. 2001-09-12 Ettore Perazzoli * main.c (main): Add SUB_VERSION to the version string passed to `gnome_init_with_popt_table()'. 2001-09-12 Chris Toshok * e-shell-importer.c (start_import): only allow importing to /local folders. 2001-09-12 Ettore Perazzoli [Fix #4962, "Highlighting is left after a drag".] * e-storage-set-view.c (tree_drag_motion): Only highlight when moving over allowed targets. 2001-09-12 Ettore Perazzoli * e-shell-folder-title-bar.c (unrealize): Only gtk_widget_destroy() the icon_widget if it's not NULL. 2001-09-12 Iain Holmes * importers/evolution-importer-client.c (evolution_importer_client_process_item): Remove spew. 2001-09-10 Dan Winship * e-shell-view.c (socket_destroy_cb): Oops. Remove duplicate free. 2001-09-09 Dan Winship 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. 2001-09-07 Iain Holmes * e-shell-startup-wizard.c (prepare_importer_page): New design. (make_importer_page): Remove the extra widgets for the new design. 2001-09-07 Christopher James Lahey * e-storage-set-view.c (tree_start_drag): Changed this to use the new ETable/ETree drag stuff. 2001-09-07 Dan Winship * evolution-shell-component-client.c (evolution_shell_component_client_new): Remove the "see previous error messages?" comment from the error message when starting a component, since oafd eats the output of the components it launches now, so it's just misleading. 2001-09-06 Chris Toshok * evolution-storage.c (impl_Storage_async_remove_folder): change to match create_folder. (e_marshal_NONE__POINTER_POINTER_POINTER): new marshaller for remove_folder. (class_init): make sure to use the right marshaller for create/remove_folder. * evolution-storage.h: change the signature of both the create_folder and remove_folder signals to be more in line with what's in evolution-storage.c. They both take a Bonobo_Listener which the signal func notifies, instead of synchronously returning the result. 2001-09-06 Ettore Perazzoli * evolution-activity-client.c (evolution_activity_client_update): Allow a value of -1.0 for @progress [which means "unknown progress"]. 2001-09-05 Ettore Perazzoli [Fix #958, ShellComponents should not be created by factories, for the test component.] * GNOME_Evolution_TestComponent.oaf: Remove the factory. * evolution-test-component.c (COMPONENT_FACTORY_ID): Removed. (component_factory_init): Removed. (register_component): Rename from `component_fn'. No args, no return value. Register the thing on OAF by yourself instead of using a factory. 2001-09-05 Ettore Perazzoli * e-shortcuts-view.c (get_shortcut_info): New. (get_efolder_from_shortcut): Removed. (impl_shortcut_dropped): Use `get_shortcut_info()' instead. 2001-09-05 Ettore Perazzoli * main.c (development_warning): s/Evolution/Ximian Evolution/. (idle_cb): Likewise. * e-splash.c (e_splash_construct): s/Evolution/Ximian Evolution/. * e-shell-view.c (e_shell_view_construct): s/Evolution/Ximian Evolution/. (update_for_current_uri): Likewise. (update_offline_toggle_status): Likewise. * e-shell-view-menu.c (command_about_box): s/Evolution/Ximian Evolution/. 2001-09-04 Ettore Perazzoli [Fix #6474 and friends, crash when selecting things from the context activity context menu.] * e-activity-handler.c: New member `menu' in struct `ActivityInfo'. (activity_info_new): Init to NULL. (show_cancellation_popup): Set the `menu' member to point to this newly created pop-up, use `gnome_popup_menu_do_popup_modal()' instead of `gnome_popup_menu_do_popup()', and set the `menu' member to NULL when the menu is gone. (activity_info_free): Destroy `menu' member. (impl_requestDialog): Return `GNOME_Evolution_Activity_DIALOG_ACTION_ERROR' instead of nothing. 2001-09-04 Ettore Perazzoli [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". 2001-09-04 Ettore Perazzoli [Fix ^#7675, Crashes trying to empty trash folder.] * e-shortcuts.c (e_shortcuts_construct): Use `gtk_signal_connect_while_alive()' so we don't invoke the callbacks on dead EShortcuts objects. 2001-09-04 Iain Holmes * e-shell-importer.c (start_importer): Report errors in a dialog. 2001-09-04 Ettore Perazzoli * e-activity-handler.c (impl_operationProgressing): Just ignore the request if the activity handler has the GTK_OBJECT_DESTROYED() flag set. This should prevent crashes like #7542 and friends when the components are not well-behaved enough to respect the Bonobo refcounting. (impl_operationStarted): Likewise. (impl_operationFinished): Likewise. (impl_requestDialog): Likewise. 2001-09-04 Iain Holmes * e-shell-importer.c (start_import): Check the file exists before trying to do anything. 2001-09-04 Iain Holmes * e-shell.c (e_shell_construct): Make the other components shut down correctly when the first time dialog is cancelled. 2001-09-04 Ettore Perazzoli * e-storage-set-view.c (tree_drag_motion): Remove debugging message. (tree_drag_motion): Likewise. 2001-09-04 Ettore Perazzoli [Patch from Richard Boulton to fix #8497, "Warning when shutting view: RootNode not found".] * 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. 2001-08-30 Peter Williams * e-local-storage.c (async_xfer_folder_complete): Remove the folder from the EvolutionStorage as well as the EStorage. 2001-08-29 Peter Williams * 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. 2001-08-31 Zbigniew Chyla * e-local-storage.c (setup_folder_as_stock): Don't convert folder name to UTF-8 manually... (setup_stock_folders): ... just use U_() here. (impl_get_display_name): Marked string for translation (with U_). * e-storage-set-view.c (storage_sort_callback): s/strcasecmp/g_utf8_collate/ (folder_sort_callback): ditto * e-summary-storage.c (impl_get_display_name): Marked string for translation (with U_). 2001-08-29 Iain Holmes * e-local-storage.c (notify_listener): Function to create CORBAany and notify listeners. (component_async_create_folder_callback): Notify the listener again. (create_folder): Handle the Bonobo_Listener again and make it async. (impl_async_create_folder): Pass CORBA_OBJECT_NIL as the listener. (bonobo_interface_create_folder_cb): Make async. * evolution-storage.c (notify_bonobo_listener): Removed this broken broken function. (impl_Storage_async_create_folder): Make async, duplicate the listener instead of notifying it. (impl_Storage_async_remove_folder): Notify listener by hand. (e_marshal_NONE__POINTER_POINTER_POINTER_POINTER_POINTER): Return of the worst signal marshaller in Scotland. (class_init): Use the above marshaller for the create_folder signal. 2001-08-30 Jeffrey Stedfast * e-shell-folder-creation-dialog.c (entry_name_is_valid): Check for \r in the folder name, this is an invalid char. Also take a "reason" argument so we can inform the user why his folder name is invalid. (dialog_clicked_cb): Tell the user why the folder name is invalid. 2001-08-28 Ettore Perazzoli [Fix #8125, Evolution crashes while starting.] * e-shortcuts.c (load_shortcuts): Handle the case when there is no URI without crashing. Only add shortcuts when they are evolution: URIs. 2001-08-27 Ettore Perazzoli * 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 2001-08-24 Ettore Perazzoli * e-shell-view.c (update_for_current_uri): Also display the unread count in the title bar. 2001-08-24 Ettore Perazzoli * e-setup.c (copy_default_stuff): Remove the stupid "do you want me to initialize stuff?" dialog. 2001-08-24 Ettore Perazzoli * 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. 2001-08-24 Ettore Perazzoli * 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. 2001-08-24 Ettore Perazzoli * 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. 2001-08-24 Ettore Perazzoli * 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. 2001-08-24 Ettore Perazzoli [Fix #5978, "If a component dies, it's toolbar buttons remain".] * 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. 2001-08-24 Iain Holmes * e-shell-startup-wizard.c (druid_event_notify_cb): Implement the other missing events. (make_identity_page): (make_receive_page): (make_extra_page): (make_transport_page): (make_management_page): Add the GnomeDruidPages to the page_list. 2001-08-24 Ettore Perazzoli * e-shortcuts-view.c: Added accelerators for the right-click shortcut menu. 2001-08-23 Zbigniew Chyla * e-shortcuts.c (e_shortcuts_add_default_group): Convert names of the default group and shortcuts to UTF-8 (still no U_ :(). 2001-08-23 Zbigniew Chyla * e-shortcuts-view.c (destroy_group_cb): Convert the name of the group to GTK+ locale before displaying it in a dialog. 2001-08-23 Ettore Perazzoli * e-storage-set-view.c (tree_drag_data_received): If we get no data, don't notify the receiving component at all. 2001-08-23 Ettore Perazzoli [Fix #5736, crashing when copying a message with drag and drop.] * e-storage-set-view.c (tree_drag_data_received): Handle NULL data gracefully. 2001-08-22 Ettore Perazzoli * e-storage.c (e_storage_async_xfer_folder): If the remove_source is %TRUE and destination is a descendant of the parent, pass an `E_STORAGE_CANTMOVETODESCENDANT' error code to the callback. * e-storage.h: New value `E_STORAGE_CANTMOVETODESCENDANT' in `EStorageResult'. 2001-08-22 Ettore Perazzoli * e-shell-folder-commands.c (folder_selection_dialog_folder_selected_callback): Actually return if the folder is being moved into one of its descendants. 2001-08-22 Ettore Perazzoli * e-shell-folder-title-bar.c (label_realize_callback): `#if 0'ed out. (make_bold): Likewise. (e_shell_folder_title_bar_construct): Don't call it. * e-local-storage.c (component_async_remove_folder_callback): Only remove the directory if the component succeeds. 2001-08-22 Peter Williams * e-local-storage.c (async_xfer_folder_callback): Fix the improper construction of the new folder's physical URI. 2001-08-22 Ettore Perazzoli * e-local-storage.c (remove_folder): Don't remove the folder directory here. (component_async_remove_folder_callback): Remove it here instead. 2001-08-22 Ettore Perazzoli [Fix #7775, crash trying to do New Task] * e-shell-user-creatable-items-handler.c (verb_fn): Make sure we don't pass NULL strings to `GNOME_Evolution_ShellComponent_userCreateNewItem()'. 2001-08-21 Damon Chaplin * e-gray-bar.c (endarken_style): unref the rc_style. 2001-08-21 Ettore Perazzoli * e-shell.c: #include "e-shell-startup-wizard.h". * e-shell-startup-wizard.h: New. 2001-08-21 Iain Holmes * e-shell-startup-wizard.c (make_mail_dialog_pages): Show an error window if mailer doesn't respond. 2001-08-21 Ettore Perazzoli * e-shell-folder-title-bar.c (label_realize_callback): Fix a leak: unref the EFont after we have used it. Also, don't crash if `e_font_to_gdk_font()' returns NULL. [This should fix #7666, Folder View crashes Evo.] 2001-08-21 Iain Holmes * e-shell-importer.c (start_import): Don't print a NULL. 2001-08-20 Iain Holmes * e-shell-importer.c (import_druid_finish): Do the correct thing when the new folder button is clicked. (folder_selected): Import the file. (folder_cancelled): Kill the dialog. 2001-08-18 Iain Holmes * e-shell-startup-wizard.c (make_identity_page): (make_receive_page): (make_extra_page): (make_transport_page): (make_management_page): Check that the mailer has been inited correctly. (e_shell_startup_wizard_create): If some of the pages could not be created, just stop trying to show the startup wizard. 2001-08-20 Ettore Perazzoli * 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. 2001-08-20 Ettore Perazzoli * e-shell-startup-wizard.c (finish_func): Don't free the returned displayname. 2001-08-20 Ettore Perazzoli * e-shell-view.c (pop_up_folder_bar): Make sure we display a pin when we are popped up. 2001-08-20 Ettore Perazzoli * e-shell-view.c (setup_widgets): Don't set the paned tree position. 2001-08-19 Chris Toshok * evolution-shell-component.c (impl__get_supported_types): fill the corba sequence for the accepted_dnd_types. 2001-08-20 Ettore Perazzoli * 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. 2001-08-20 Ettore Perazzoli * evolution-test-component.c: Added display_name and description to the type. * evolution-shell-component.c (impl__get_supported_types): Pass `display_name' and `description' here. (evolution_shell_component_construct): Likewise. * evolution-shell-component.h: New members `display_name', `description' in `EvolutionShellComponentFolderType'. * e-component-registry.c (register_type): New args @description and @display_name. Pass to `e_folder_type_registry_register_type()'. (register_component): Pass the values returned in the sequence from __get_supported_types. * e-folder-type-registry.c: New members `display_name' and `description' in `struct _FolderType'. (folder_type_new): New args @description and @display_name. Initialize the respective fields in the `FolderType' accordingly. (folder_type_free): Free `display_name' and `description'. (register_folder_type): New args @display_name, @description. (e_folder_type_registry_register_type): New args @display_name, @description. (e_folder_type_registry_get_description_for_type): New. (e_folder_type_registry_get_display_name_for_type): New. * Evolution-ShellComponent.idl: Added `display_name' and `description' fields to the `FolderType' struct. 2001-08-19 Ettore Perazzoli * e-shell.c (destroy): Put the bonobo_object_release_unref() for the db at the top in an attempt to fix #7542. 2001-08-19 Ettore Perazzoli * e-summary-storage.c (e_summary_storage_new): Change type of toplevel node from "Summary" to "summary". [All the other folder types use lowercase names.] * e-shortcuts.c (load_shortcuts): Also use the display name for the storage. 2001-08-19 Ettore Perazzoli * 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. 2001-08-18 Ettore Perazzoli * 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. 2001-08-18 Ettore Perazzoli * 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'. 2001-08-17 Iain Holmes * Makefile.am: Add the Evolution-Wizard.idl file 2001-08-17 Iain Holmes * e-shell-folder-selection-dialog.c (folder_creation_dialog_result_cb): Check the priv isn't NULL before dereferencing it. 2001-08-17 Ettore Perazzoli * evolution-shell-client.c (evolution_shell_client_set_line_status): g_return_if_fail(), not g_return_val_if_fail(). 2001-08-17 Ettore Perazzoli * evolution-shell-client.c (evolution_shell_client_get_local_storage): Added some g_warnings for when we return CORBA_OBJECT_NIL; this might help to figure out what is wrong with bug #6625. Also, added a missing CORBA_exception_free(). 2001-08-17 Jeffrey Stedfast * e-shell.c (e_shell_construct): Don't destroy the splash twice. * e-local-storage.c (setup_folder_as_stock): utf_name should not be const as e_utf8_from_locale_string() returns an allocated buffer. 3001-08-17 Iain Holmes * Evolution.idl: Add Evolution-Wizard.idl * Evolution-Wizard.idl: New file implementing a wizard interface. * Makefile.am: Add the wizard stuff and the startup dialog stuff * e-shell.c (e_shell_construct): Hide the splash screen and try to start the startup assistant. * glade/Makefile.am: Add the evolution-startup-wizard.glade 2001-08-16 Jason Leach * e-shell-view-menu.c (authors): Add myself. * 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). 2001-08-16 Ettore Perazzoli * e-shell-view-menu.c: Remove the Help menu verbs and add a "HelpFAQ" verb. (command_help): Removed. (command_help_faq): New, implementation for the "HelpFAQ" verb. 2001-08-16 Ettore Perazzoli * e-shell-folder-title-bar.c (label_realize_callback): New callback for the realize signal. (make_bold): New. Hooks up the label_realize_callback. (e_shell_folder_title_bar_construct): Make the name of the folder bold using it. o2001-08-16 Ettore Perazzoli * e-gray-bar.c (endarken_style): Just hardcode the colors. * e-shell-folder-title-bar.c (set_title_bar_label_style): New. (e_shell_folder_title_bar_construct): Call it on the labels here, so we get nice white labels. 2001-08-16 Ettore Perazzoli * e-shell.c (e_shell_component_maybe_crashed): s/the view for `%s' have/the views for `%s' have/. 2001-08-16 Ettore Perazzoli * e-storage-set-view.c (etree_icon_at): Remove debugging message. 2001-08-15 Jason Leach * e-shell-view-menu.c (command_help): Don't hardcode/build a help URI here, use gnome_help_display() instead, which will figure out what language the user needs, etc. (help_verbs): Adapt these menu items to above changes, they don't need to pass "evolution/foo.html" to command_help, just "foo.html". * e-folder.c (e_folder_set_child_highlight): Emit a "changed" signal at the end of this function. Bug #7232. 2001-08-15 Aaron Weber * e-shell-view-menu.c (command_about_box): Changed help menus to point to evolution/ and not evolution-guide/. 2001-08-15 Iain Holmes * e-summary-storage.c: s/My Evolution/Summary * e-storage-set-view.c: s/My Evolution/Summary 2001-08-15 Jason Leach * Evolution-Shell.idl: Add a new IDL function, Evolution::Shell::setLineStatus (in boolean). Bug #3030. * e-shell.c (impl_Shell_setLineStatus): Implementation of the above. * evolution-shell-client.c (evolution_shell_client_set_line_status): A wrapper function for the above, this is what a component can call to set the shell on/offline. 2001-08-14 Dan Winship * evolution-storage.c (evolution_storage_new_folder): Use the passed-in unread_count. * e-corba-storage.c (impl_StorageListener_notifyFolderCreated): Pass the passed-in unread_count to e_storage_new_folder. 2001-08-13 Ettore Perazzoli * e-gray-bar.c (impl_style_set): Chain to the parent class. (endarken_style): Hardcode the colors here. 2001-08-13 Anna Marie Dirks * importer/intelligent.c : Changed the "Evolution has found the following data sources" text in the import dialog to "Evolution can import data from the following files" in an attempt to increase user-friendliness. 2001-08-13 Ettore Perazzoli * e-shell-view.c (setup_widgets): Add some little padding to the title bar so it looks nicer. 2001-08-13 Ettore Perazzoli [Fix #7109, Evolution crashes when the splash screen dialog is killed by clicking the "X" button.] * e-shell.c (e_shell_construct): Connect `gtk_widget_hide_on_delete()' correctly. 2001-08-13 Anna Marie Dirks * importer/import.glade : Changed all instances of "druid" and "wizard" to "assistant". 2001-08-13 Ettore Perazzoli * main.c (idle_cb): Replaced the chained `if' statements with a `switch' statement for clarity. Also, don't ref the created shell, and release the object reference properly. 2001-08-13 Ettore Perazzoli * e-corba-shortcuts.c (shortcut_list_to_corba): set_release on the sequence, not the buffer. 2001-08-13 Ettore Perazzoli * e-shell.c (view_destroy_cb): Restore the shell reffing/unreffing here. 2001-08-13 Peter Williams * e-corba-shortcuts.c (shortcut_list_to_corba): Don't cause an abort if the shortcut group is empty. 2001-08-13 Ettore Perazzoli * Makefile.am (IDLS): Add `Evolution-common.idl'. 2001-08-13 Dan Winship * evolution-shell-component.c (init): Initialize priv->user_creatable_item_types. [Score: g_new: 0, g_new0: 2] 2001-08-13 Jason Leach * e-local-storage.c (remove_folder_directory): Remove unused variable @folder. * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar): Give icons to shortcuts added via Right-click->Add to Shortcut Bar. 2001-08-12 Ettore Perazzoli * e-shell-folder-selection-dialog.c (e_shell_folder_selection_dialog_construct): Grab focus on the storage set view. 2001-08-12 Ettore Perazzoli * e-local-storage.c (setup_folder_as_stock): Use utf 8 to set the name. 2001-08-12 Ettore Perazzoli * e-storage-set-view.c (etree_value_at): Remove debugging message. 2001-08-12 Ettore Perazzoli * e-shell-view.c (setup_widgets): Put the folder title bar into an EGrayBar. * e-gray-bar.c: New. * e-gray-bar.h: New. 2001-08-12 Ettore Perazzoli [Finally! Fix #413, "Support for stock folders", and #786, "i18n: 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. 2001-08-10 Ettore Perazzoli * Evolution-common.idl: Add Folder struct here. * Evolution-Storage.idl: Removed Folder struct. * Evolution.idl: #include , not . * Evolution-common.idl: New. * Evolution-Icon.idl: Removed. 2001-08-10 Ettore Perazzoli * e-shell-folder-commands.c (rename_clicked): `#if 0'ed out. (rename_cb): Likewise. * evolution-shell-component.c (destroy): Fixed a confusion between GList and GSList. 2001-08-10 Ettore Perazzoli * e-shell-user-creatable-items-handler.c (component_free): Only free the `type_list' if not NULL. (setup_menu_xml): Deal with the case of `type_list' being NULL gracefully. (verb_fn): Same here. (add_verbs_to_ui_component): Likewise. 2001-08-10 Ettore Perazzoli [Fix #6787, Removing a storage with children and then re-adding it 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. 2001-08-09 Ettore Perazzoli * 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. 2001-08-09 Ettore Perazzoli * e-shortcuts-view.c (show_new_group_dialog): Cast the toplevel to be passed to `e_request_string()' to GtkWindow, not GtkWidget. Also, remove unused variables. (get_efolder_from_shortcut): Constify @item_url. (get_storage_set_path_from_uri): Removed. * evolution-shell-component.c (destroy): `p' shall be a GList, not a GSList. 2001-08-09 Ettore Perazzoli * 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. 2001-08-09 Federico Mena Quintero * e-component-registry.c (destroy): Chain to the destroy handler in the parent class! * e-shortcuts-view-model.c (impl_destroy): Likewise. Sigh. 2001-08-08 Ettore Perazzoli [Fixes, among other things, #5705, "Ampersands not handled correctly in drag + drop". Thanks to Nat for actually discovering the problem.] * e-shortcuts.c (save_shortcuts): Use `xmlNewTextChild()' instead of `xmlNewChild()'. * e-local-folder.c (save_metadata): Use `xmlNewTextChild' instead of `xmlNewChild()'. 2001-08-08 Ettore Perazzoli * evolution-shell-component.c (fill_corba_sequence_from_null_terminated_string_array): Set the release flag on the sequence, and CORBA_string_dup() the strings anyway. 2001-08-08 Ettore Perazzoli * evolution-shell-component.c (impl_ShellComponent__get_supported_types): Set the release flag on the returned folder type list too. * evolution-activity-client.c (create_icon_from_pixbuf): Set the release flag on the sequence, not the struct that contains it. 2001-08-08 Ettore Perazzoli * e-corba-shortcuts.c (shortcut_list_to_corba): Set the release flag for the newly allocated sequence. * e-activity-handler.c (impl_operationStarted): Unref the icon_pixbuf. * e-task-widget.c (impl_destroy): g_free the private struct. 2001-08-08 Jason Leach * e-storage-set-view.c (etree_icon_at): Set the My Evolution icon for the folder tree correctly. 2001-08-08 Ettore Perazzoli * evolution-shell-component.c (impl_ShellComponent__get_supported_types): Fill the CORBA sequence once. * e-activity-handler.c (activity_info_free): Unref the icon. 2001-08-08 Ettore Perazzoli * e-task-bar.c (e_task_bar_prepend_task): Sigh. If the function says "prepend", of course the function to call is `g_list_prepend()', not `g_list_append()'. You dumbass. 2001-08-08 Jason Leach * e-shell-folder-creation-dialog.c (storage_set_view_storage_selected_cb): Set the sensitivity for the OK button when a storage is selected too. Bug #6473. 2001-08-08 Ettore Perazzoli * evolution-activity-client.c (create_icon_from_pixbuf): Set the release flag on the returned icon to %TRUE. 2001-08-07 Ettore Perazzoli * e-shortcuts.c (load_shortcuts): If the shortcut points to some folder in the storage set, get the type from it. * e-storage-set.c (signal_new_folder_for_all_folders_under_paths): New helper function. (signal_new_folder_for_all_folders_in_storage): New helper function. (e_storage_set_add_storage): Call the latter to emit a "new_folder" signal for all the folders contained in the newly added storage. 2001-08-07 Ettore Perazzoli [This should fix #5407, application crash on re-opening.] * e-shell.c (e_shell_construct): Call `gtk_widget_hide_on_delete()' on the splash. * e-splash.c (e_splash_add_icon): Don't check for destruction here. (e_splash_set_icon_highlight): Not even here. (button_press_event): Use a GTK+ cast. 2001-08-07 Ettore Perazzoli * e-shortcuts-view-model.c (load_group_into_model): Get the icon from the folder type registry. (shortcuts_new_shortcut_cb): Likewise. (shortcuts_update_shortcut_cb): Likewise. * e-shortcuts-view.c (icon_callback): Removed. (e_shortcuts_view_construct): Don't set the icon callback anymore. 2001-08-07 Jason Leach * 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. 2001-08-07 Ettore Perazzoli * evolution-activity-client.c (evolution_activity_client_construct): Free the CORBA version of the animated icon. 2001-08-07 Not Zed * evolution-activity-client.c (impl_destroy): Unref the listener when done. 2001-08-06 Ettore Perazzoli * e-shell-folder-title-bar.c: Remove member `hbox' from `struct _EShellFolderTitleBarPrivate'. (make_icon_pixmap): Removed. (rgb_from_gdk_color): Removed. (endarken_style): Removed. (set_style_cb): Removed. (create_arrow_pixmap): Renamed from `create_icon_pixmap'. (get_max_clipped_label_width): New helper function. (size_allocate_icon): New helper function. (size_allocate_button): New helper function. (size_allocate_label): New helper function. (add_icon_widget): New helper function. (realize): Changed to use `add_icon_widget()'. (size_allocate): New function, handler for the ::size_allocate method. (class_init): Install it. (e_shell_folder_title_bar_construct): Changed so that the widget get added to this widget instead of adding an hbox to it and adding the widgets to the hbox. (e_shell_folder_title_bar_set_icon): Changed to use `add_icon_widget()'. * e-shell-folder-title-bar.h, e-shell-folder-title-bar.c: Changed to derive from GtkHBox, not GtkEventBox. 2001-08-06 Christopher James Lahey * e-storage-set-view.c (tree_drag_motion): Turn on highlighting on a row by row basis. 2001-08-04 Ettore Perazzoli * 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. 2001-08-03 Christopher James Lahey * 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. 2001-08-03 Jason Leach [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 * e-shell-view-menu.c (update_offline_menu_item): Use Jakub's new "Work Online" icon and fix a typo. 2001-08-03 Ettore Perazzoli [Fix #6232, the thirty-four-splash-screens-at-startup bug.] * e-shell.c (setup_local_storage): Add an E_STORAGE() cast to prevent a warning. * main.c (idle_cb): Only try to activate from the shell ID if the result is `E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER'; if there is a different error, spit out a dialog box with a description of it and exit instead. * e-shell.c (e_shell_construct): Return an `EShellConstructResult' describing what kind of result we had. Show the splash after the DB has been reached, not before. (e_shell_construct_result_to_string): New function to get a descriptive string out of an `EShellConstructResult'. (e_shell_new): New arg @construct_result_return to return a description of the result of the operation. * e-shell.h: New enum `EShellConstructResult'. * e-shell.c (impl_Shell_createNewView): Raise `InternalError' instead of crashing if the shell_view returns a CORBA_OBJECT_NIL. * Evolution-Shell.idl: New exception `InternalError'. `createNewView' and `handleURI' can raise it. 2001-08-03 Ettore Perazzoli * e-storage-set-view.c (storage_sort_callback): Put the storage named E_SUMMARY_STORAGE_NAME on top. * e-shell.c: New member `summary_storage' in `EShellPrivate'. (init): Init to NULL. (destroy): Unref if not NULL. * e-summary-storage.c: New. * e-summary-storage.h: New. * e-storage-set-view.c: New #define `ROOT_NODE_NAME', defined to be "/RootNode". (e_storage_set_view_set_show_folders): Use that instead of "My Evolution". (e_storage_set_view_construct): Hide the root node. Use `ROOT_NODE_NAME' instead of "My Evolution". * e-shortcuts-view.c (icon_callback): No bad special hack for "My Evolution" here. * e-shell-view.c (update_window_icon): Remove kludgey @is_my_evolution arg and stop doing special "My Evolution" things. (update_folder_title_bar): Likewise. (update_for_current_uri): Don't do special "My Evolution" things here either. (get_control_for_uri): Don't do the "My Evolution" hack here. 2001-08-03 Ettore Perazzoli * e-storage-set-view.c (tree_drag_data_received): Call `gtk_drag_finish()' here. 2001-08-03 Ettore Perazzoli * e-shell-offline-handler.c (progress_listener_servant_free): Actually __fini the servant and deactivate the object too. (component_info_free): Updated accordingly [i.e. don't do the deactivation stuff here]. 2001-08-03 Ettore Perazzoli [Fixes #4663, startup crash.] * e-shell.c (e_shell_construct): Make sure the pointer to the db object is CORBA_OBJECT_NIL if `bonobo_get_object()' raises an exception. 2001-08-03 Ettore Perazzoli [Fixes #3818, crash when going off-line.] * e-shell-offline-handler.c (component_info_free): Also call `PortableServer_POA_deactivate_object()' on the progress listener object so it gets deactivated. 2001-08-02 Ettore Perazzoli * e-shell.c (e_shell_construct): Spit out a warning if we cannot resolve "Bonobo/ConfigDatabase" on "wombat:". Also, register on OAF only after we are sure we are not going to return FALSE. 2001-08-01 Ettore Perazzoli * 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. 2001-08-01 Jeffrey Stedfast * e-shell-view-menu.c (command_new_folder): Do a NULL-check on current_uri - socket is being closed? (as per the comments for the NULL-check in e-shell-view.c:socket_destroy_cb). 2001-07-31 Ettore Perazzoli * evolution-activity-client.c: Removed debugging messages. 2001-07-31 Not Zed * evolution-activity-client.c (evolution_activity_client_update): Also update have_pending_update before calling corba, as below. 2001-07-30 Ettore Perazzoli [This should fix #5110, shell crash when switching folders.] * evolution-activity-client.c (update_timeout_callback): Set the `have_pending_update' flag before doing the CORBA call. (evolution_activity_client_update): Set the timeout before doing the CORBA call. 2001-07-30 Jason Leach * e-shortcuts-view.c (rename_group_cb): Remember the current group so after renaming a group it doesn't flip to the next group. Bug #3857. * e-shortcuts.c (e_shortcuts_rename_group): Comparing two separately allocated strings, use strcmp() instead of !=. 2001-07-30 Jason Leach * e-shell-folder-creation-dialog.c (async_create_cb): If we can't create a folder because it already exists, select that folder that exists. Bug #1716. 2001-07-30 Frederic Crozat * main.c (main): call gconf_init if gtkhtml is compiled with gconf support. * Makefile.am (INCLUDES): add $(GTKHTML_CFLAGS) since we might need to link with GConf (if gtkhtml is compiled with GConf support) 2001-07-26 Ettore Perazzoli * evolution-activity-client.c (impl_destroy): Remove the source for the timeout *before* invoking the CORBA method, as we might get the timeout callback while invoking the CORBA method, thus screwing things up. * evolution-shell-component-client.c (destroy_listener_interface): New helper function. (dispatch_callback): Use it. (impl_destroy): Call it when destroying the listener interface instead of just freeing the servant. 2001-07-26 Jason Leach * e-shell-view-menu.c (update_offline_menu_item): Little UI thing: capitalize the words Offline/Online for the File menu. 2001-07-25 Jason Leach * e-shell-folder-selection-dialog.c (folder_selected_cb): New function. When a folder is selected set the OK button to be sensitive (but before that have it desensitized). Bug #5483. 2001-07-25 Jason Leach * e-shortcuts-view.c (icon_callback): A warning fix from Jacob. Bug #5057. * 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. 2001-07-25 Jason Leach * e-task-widget.c: #include and instead of the full , as noted by a comment here. 2001-07-24 Jason Leach * 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. 2001-07-23 Ettore Perazzoli * main.c (development_warning): Only show the warning dialog instead of using `gnome_dialog_run()' so it is not modal. Modal would be nice, but unfortunately it works bad with Bonobo. Plus Sawfish doesn't like to keep the modal dialog on top, so it gets very confusing for users. 2001-07-23 Ettore Perazzoli * e-task-widget.c (e_task_widget_construct): Uhm, set the usize to `1, -1' instead. 2001-07-23 Ettore Perazzoli * e-task-widget.c (e_task_widget_construct): Set the usize for the contained hbox to 0x0. 2001-07-23 Ettore Perazzoli * e-shell-view-menu.c: Get the manuals from the `evolution-guide' dir as that's where they get installed. 2001-07-23 Ettore Perazzoli * e-shell-view.c (storage_set_view_box_button_release_event_cb): Don't handle button events whose button number is not 1. 2001-07-22 Ettore Perazzoli * e-local-storage.c (remove_folder): Pass the folder type to `evolution_shell_component_client_async_remove_folder()'. (async_xfer_folder_step): Likewise with `evolution_shell_component_client_async_xfer_folder()'. * evolution-shell-component-client.c (evolution_shell_component_client_async_remove_folder): New arg @type. Pass it to the `ShellComponent::removeFolder' CORBA method. (evolution_shell_component_client_async_xfer_folder): Likewise with `::xferFolder'. * evolution-shell-component.c (impl_removeFolderAsync): Add @type arg according to the IDL. (impl_xferFolderAsync): Likewise. * evolution-shell-component.h: Add arg @type to `EvolutionShellComponentRemoveFolderFn' and EvolutionShellComponentXferFolderFn'. * Evolution-ShellComponent.idl: Add @type arg to `::removeFolderAsync' and `::xferFolderAsync'. 2001-07-21 Ettore Perazzoli * e-shell-folder-creation-dialog.c (add_folder_types): Only put the types that are user-creatable in the folder type option menu. * evolution-shell-component.c (impl_ShellComponent__get_supported_types): Set the `user_creatable' member too. (evolution_shell_component_construct): Copy the `user_creatable' member too. * evolution-shell-component.h: New member `user_creatable' in `EvolutionShellComponentFolderType'. * e-component-registry.c (register_type): Pass the user_creatable member of the CORBA FolderType struct. * e-folder-type-registry.c: New member `user_creatable' in struct FolderType. (e_folder_type_registry_register_type): New arg @user_creatable. (register_folder_type): Likewise. (folder_type_new): Likewise. (e_folder_type_registry_type_is_user_creatable): New. * Evolution-ShellComponent.idl: New member `user_creatable' in `struct FolderType'. 2001-07-21 Ettore Perazzoli * evolution-activity-client.c (impl_destroy): Use `g_source_remove()' instead of `gtk_timeout_remove()' here, as we are using `g_timeout_add()' and not `gtk_timeout_add()' to set up the timeout callback. (update_timeout_callback): Reset `have_pending_update' when returning %TRUE. Set the timeout id to zero when returning %FALSE. 2001-07-20 Jason Leach [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. 2001-07-20 Jason Leach [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. 2001-07-19 Jason Leach * 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". 2001-07-19 Jason Leach * 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. 2001-07-16 Ettore Perazzoli * e-shortcuts.c (override_shortcut_name_and_type_from_storage_set): Removed. (load_shortcuts): Don't call it. 2001-07-15 Ettore Perazzoli [Fix #4387, Shortcut bar items don't keep the name after rename.] * e-shortcuts.c (update_shortcuts_by_path): Do not change the name of the shortcut if the folder's name changes. 2001-07-15 Ettore Perazzoli * e-storage-set-view.c (etree_icon_at): Return an icon for depths greater than 2 as well. 2001-07-15 Ettore Perazzoli * e-shell-view-menu.c (e_shell_view_menu_setup): Connect the "line_status_changed" signal with `gtk_signal_connect_while_alive()' for the shell views, so we don't crash if a view gets destroyed. * e-shell-view.c (e_shell_view_construct): Likewise. 2001-07-12 Jason Leach * e-shell-view-menu.c (command_submit_bug): Because bugzilla.ximian does have a mail gateway now, we can have Help->Submit Bug Report open up bug-buddy. 2001-07-12 Iain Holmes * importers/intelligent.c (create_gui): Remove the g_warnings as they are an annoying red herring 2001-07-12 Dan Winship * e-shell.c (init): Initialize priv->db and priv->iid so that destroy() won't crash if e_shell_construct bails out before setting them. Reduces bug #4173 to #4169. 2001-07-11 Iain Holmes * importers/intelligent.c (intelligent_importer_init): Sync the config so that the Don't Ask Again gets saved. 2001-07-11 Kjartan Maraas * importers/intelligent.c: Mark a string for translation. 2001-07-11 Jason Leach * 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. 2001-07-10 Jason Leach * e-setup.c (copy_default_stuff): Add a temporary block of code to not use the $GNOME/share/evolution/default_user/shortcuts.xml for users who might be upgrading, so they'll get the shell-generated default set of shortcuts. See notes on #4394. 2001-07-09 Larry Ewing * e-shell-folder-commands.c (delete_dialog): convert the folder name from utf8 before displaying them in the dialog and set the dialog parent. 2001-07-09 Federico Mena Quintero * e-shortcuts-view.c: Make the "Rename" item be a GNOMEUIINFO_ITEM_NONE() since we don't have a stock icon; likewise for the "Open in New Window". This gets rid of warnings from gnome-libs. Use a better stock icon for the "Remove" command, and add a stock icon to the "Open" command. 2001-07-09 Jason Leach * 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. 2001-07-06 Dan Winship * 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. 2001-07-06 Jason Leach * e-shortcuts-view.c: Little UI tweak for right click menu, pronouns shouldn't be capitalized ("This" in this case). [Misc fixes and part of #2228, There should be no dialog boxes during startup.] * e-setup.c (e_setup): Check for searches.xml instead of shortcuts.xml, since shortcuts.xml doesn't really need to exist (and thus wouldn't be a necessary test whether ~/evolution was invalid) because shell can generate shortcuts. (copy_default_stuff): For first time users, only present a dialog if a problem occurred. We've already clicked "Ok" on a dialog about copying files. (check_evolution_directory): Take out the "successfully installed" dialog on updates too. 2001-07-06 Ettore Perazzoli [This should fix #3873, Bizzarre crash after deleting a few folders.] * e-local-storage.c (remove_folder): Don't free the `physical_path' on error, as it gets freed when freeing the callback data. 2001-07-06 Ettore Perazzoli [Fix #3959, copying a folder over itself crashes Evolution.] * e-shell-folder-commands.c (folder_selection_dialog_folder_selected_callback): Sanity checks: don't allow copying a folder over itself, or moving it under one of its descendants. In such cases, pop up an error dialog. 2001-07-05 Iain Holmes * e-shortcuts-view.c (icon_callback): Special case the evolution:/My Evolution uri. 2001-07-05 Ettore Perazzoli * e-shell-view-menu.c: Removed handler for verb "ChangeFolderProperties". (command_folder_properties): Removed. * e-shell-folder-commands.c (e_shell_command_folder_properties): Removed. 2001-07-03 Ettore Perazzoli * main.c (development_warning): Use both `VERSION' and `SUB_VERSION' here. (main): Likewise. 2001-07-04 Gediminas Paulauskas * evolution-shell-component-utils.c (e_pixmaps_update): set "pixname" value only if pixbuf was loaded successfully. Otherwise component crashes if image is not found. Should be checked for sanity in bonobo_ui_component_set_prop IMHO. 2001-07-03 Aaron Weber * main.c (development_warning): Revised to make it less scary. 2001-07-03 Ettore Perazzoli [Fix a problem with not being able to save a newly created `shortcuts.xml' file, and another bug that caused the default group to be added at every start-up, even there were groups already.] * e-shortcuts.c (e_shortcuts_new): If loading the shortcuts fails, set the file_name. (load_shortcuts): Update `num_groups'. 2001-07-03 Iain Holmes * importer/Makefile.am: Add bonobo-conf stuff 2001-07-03 Ettore Perazzoli [The following makes the shell able to create the `shortcuts.xml' file by itself when the file is not present or corrupted. Fixes #3668, failure to handle malformed shortcuts.xml file.] * e-shell.c (e_shell_construct): If the `e_shortcuts_new()' returns an object with no shortcuts in it, fill it in with `e_shortcuts_add_default_group()'. * e-shortcuts.c: New member `num_groups' in EShortcutsPrivate. (init): Init to zero. (e_shortcuts_add_group): Increment. (e_shortcuts_remove_group): Decrement. (e_shortcuts_get_num_groups): New. (e_shortcuts_add_default_group): New function to set up the default shortcuts. (e_shortcuts_new): Return an empty EShortcuts object if loading the file files, instead of returning NULL. 2001-07-03 Ettore Perazzoli * e-shell-offline-handler.c (e_shell_offline_handler_put_components_offline): Ref/unref the handler so the signal handlers can unref it safely. Also, if `prepare_for_offline()' fails, don't say that there was an internal error, as that's confusing. Just say we couldn't put the components off-line. [Fix #3758, clicking on the online/offline button crashed Evolution.] * Evolution-Offline.idl: Don't derive OfflineProgressListener from Bonobo::Unknown. 2001-07-03 Ettore Perazzoli [Fixed #3643, Shell crash when component crashed] * 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. 2001-07-02 Christopher James Lahey * Makefile.am (INCLUDES): Added $(BONOBO_CONF_CFLAGS). (evolution_LDADD): Added $(BONOBO_CONF_LIBS). 2001-07-02 Ettore Perazzoli * 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. 2001-07-01 Ettore Perazzoli * e-uri-schema-registry.c (init): Unset the FLOATING flag on the object. 2001-07-01 Ettore Perazzoli * e-shell-view.c: Fixing a bug that could cause Evolution to crash if a new ShellView was created and then destroyed, and then a new folder would appear in the folder tree. Sigh, this code with the delayed_selection is pretty messed up, but at least this will add some consistency to it and make it safe. (cleanup_delayed_selection): New function to disconnect the "new_folder_cb" callback if the `delayed_selection' is not NULL, and also free the `delayed_selection' itself. (new_folder_cb): Use it. (destroy): Call it here, otherwise we might [a] leak [b] cause a crash as soon as a new folder appears in the folder tree, as "new_folder" gets emitted and our connected signal handler has no EShellView to handle the signal on. (e_shell_view_display_uri): Call it here before re-setting the `delayed_selection'. * e-shortcuts-view.c (open_shortcut_in_new_window_cb): Add invocation for `open_shortcut_helper()' back in [it was gone, for unknown reasons]. 2001-07-01 Ettore Perazzoli * e-storage-set-view.c (tree_drag_begin): If the node doesn't have a component, just don't start the whole CORBA drag thing instead of crashing with an assertion. 2001-07-01 Ettore Perazzoli * e-shell-view-menu.c (command_new_shortcut): New, implementation for the "New Shortcut" command create a new shortcut. (goto_folder_dialog_cancelled_cb): Renamed from `folder_selection_dialog_cancelled_callback'. (goto_folder_dialog_folder_selected_cb): Renamed from `folder_selection_dialog_cancelled_callback'. * e-shell-folder-selection-dialog.c: New member `allow_creation' in `EShellFolderSelectionDialogPrivate'. (e_shell_folder_selection_dialog_get_allow_creation): New; return the value of `allow_creation'. (e_shell_folder_selection_dialog_set_allow_creation): New; hide or show the "New" button according to the @allow_creation arg. 2001-07-01 Ettore Perazzoli * e-shortcuts-view.c: Added "Rename Group" command to the right-click group menu item. (rename_group_cb): New callback for the "Rename Group" command. * e-shortcuts-view-model.c (shortcuts_rename_group_cb): New, callback for the EShortcuts::rename_group signal. It renames the group by removing it and creating a new one which is the same; this sucks, but there is no other way with the current shortcut bar widget. (e_shortcuts_view_model_construct): Connect it. * e-shortcuts.c (class_init): Install signal "rename_group". (e_shortcuts_rename_group): New. * e-shortcuts.h: New signal "rename_group". 2001-07-01 Ettore Perazzoli * e-shortcuts.c: Removed `title_to_group' hash from `EShortcutsPrivate'. (init): Don't initialize it anymore. (unload_shortcuts): Don't remove the groups from the hash, and don't destroy/realloc the hash. (load_shortcuts): Don't check for duplicate group names. Don't add the groups to the hash. (destroy): Don't free the hash. (e_shortcuts_get_shortcuts_in_group): Changed to get a @group_num instead of a @group_title. * e-shortcuts-view-model.c (load_group_into_model): Updated to pass the group number to `e_shortcuts_get_shortcuts_in_group()'. Removed arg @group_title. 2001-07-01 Ettore Perazzoli * e-shortcuts-view.c: Added a "Rename" right-click command. (rename_shortcut_cb): New function, implementation for the "Rename command". (rename_shortcut_dialog_cb): Callback for the gnome_request_dialog function to ask the new name. * e-shortcuts.c (e_shortcuts_update_shortcut): Call `make_dirty()' so we get saved too. 2001-07-01 Ettore Perazzoli * e-shell-view.c (activate_shortcut_cb): Receive an @in_new_window arg as well. * e-shortcuts-view.c: Added a new "Open in New Window" right-click menu item. Renamed "Activate" to "Open". (class_init): Update the installation of the "activate_shortcut" signal for the additional @in_new_window_arg. (open_shortcut_helper): New helper function. (open_shortcut_cb): Renamed from `open_shortcut_cb'. Changed to use `open_shortcut_helper' (open_shortcut_in_new_window_cb): New. (item_selected): Pass %FALSE as the @in_new_window arg for "activate_shortcut". * e-shortcuts.c (save_shortcuts): Set the "name" and "type" properties for the nodes too. (load_shortcuts): Change `shortcut_group_title' to be an `xmlChar (shortcut_set): New helper function. (shortcut_update): New helper function. (update_shortcut_and_emit_signal): New helper function. (e_shortcuts_update_shortcut): Use it. 2001-07-01 Ettore Perazzoli This is a first shoot at making shortcuts renameable [#3719]; unfinished. Also, it causes the shortcut bar to stop displaying message unread count, but this is unfixable until we get rid of the ::LocalStorage interface, which should hopefully happen soon. * e-shortcuts-view.c (icon_callback): Get the icon from the type member of the shortcut item instead of going to the actual folder. * e-shell-view.c (updated_folder_cb): Don't update the shortcuts here for now. * e-shortcuts-view.c (item_selected): Use `e_shortcuts_get_shortcut()' instead of `e_shortcuts_get_uri()'. (impl_shortcut_dropped): Pass a NULL @name and @type. * e-shortcuts-view-model.c (load_group_into_model): Updated to match the new `e_shortcuts_get_shortcuts_in_group()' function that doesn't allocate the list anymore and returns a list of EShortcutItems instead of a list of strings. (load_group_into_model): Likewise. (load_all_shortcuts_into_model): Likewise. (shortcuts_new_shortcut_cb): Get the URI and the name from the EShortcutItem instead of retrieving them from the storage. (shortcuts_update_shortcut_cb): Likewise. (get_storage_set_path_from_uri): Removed [now unused]. * e-shortcuts.c: Define the shortcuts to be EShortcutItems instead of just strings. (shortcut_new): New helper function to allocate a Shortcut. (shortcut_free): New helper function to free a Shortcut. (shortcut_group_new): New helper function to allocate a ShortcutGroup. (shortcut_group_free): New helper function to free a ShortcutGroup. (load_shortcuts): Use `shortcut_group_new()' here. (e_shortcuts_add_group): Same here. (unload_shortcuts): Use `shortcut_group_free()' here. (e_shortcuts_remove_group): Here too. (load_shortcuts): Update to handle `Shortcut's instead of simple `char *'s representing the URIs. (save_shortcuts): Likewise. (e_shortcuts_get_shortcuts_in_group): Likewise. The returned list now doesn't belong to the caller anymore; the return type is now const. (removed_folder_cb): Removed. (e_shortcuts_construct): Don't connect. (e_shortcuts_get_group_titles): Dont' re-allocate the string. (e_shortcuts_get_uri): Removed. (e_shortcuts_get_shortcut): New. (e_shortcuts_add_shortcut): new args @name, @type. (e_shortcuts_update_shortcut_by_uri): Remove. (e_shortcuts_remove_shortcut_by_uri): Remove. (get_item): New helper function. (e_shortcuts_get_shortcut): Use it. (find_positions_by_uri): Removed. * e-shortcuts.h: New typedef EShortcutItem. 2001-06-30 Federico Mena Quintero * e-storage-set-view.c (popup_folder_menu): Pass the event time to gtk_menu_popup() so that we can release the button and have the menu stay up. 2001-06-29 Christopher James Lahey * e-shortcuts-view-model.c (load_all_shortcuts_into_model): Replaced GList with GSList here to fix a type mismatch. 2001-06-29 Christopher James Lahey * Makefile.am (INCLUDES): Changed $(datadir)/evolution/etspec to "$(etspecdir)" here. 2001-06-29 Christopher James Lahey * e-shortcuts-view-model.c (load_group_into_model): Replaced GList with GSList here to fix a type mismatch. 2001-06-29 Ettore Perazzoli * e-shortcuts-view-model.c (load_group_into_model): Updated to match the fact that `e_shortcuts_in_group()' now returns a GSList instead of a GList. (load_all_shortcuts_into_model): Likewise for `e_shortcuts_get_group_titles()'. * e-shortcuts.c: Change all `groups' and `views' from GLists to GSLists in EShortcutsPrivate. (e_shortcuts_get_group_titles): Return a GSList instead of a GList. (e_shortcuts_get_shortcuts_in_group): Likewise. 2001-06-28 Ettore Perazzoli [Fix #3756, `--debug' option not working anymore.] * main.c (main): Get the URI list from popt with `poptGetArgs' instead of just using argv. Sigh, I am rusty. 2001-06-28 Ettore Perazzoli [Fix #3382, shortcut bar crashes when checking mail, and all the different incarnations involving updates to an shortcut bar having shortcuts to non-existent folders. Also, this fixes #1643, shortcuts not visible until you enable an IMAP account, and #2436, misbehavior of shortcut groups when IMAP or invalid shortcuts are involved.] * e-shortcuts-view-model.c (load_group_into_model): Add the shortcuts that point to folders that don't exist yet, too. 2001-06-28 Dan Winship * e-storage.c (e_storage_new_folder): Call folder_changed_cb after adding the new folder so that if it was added highlighted, its parent will get its child_highlight set. (e_storage_new_folder): Move the folder_changed_cb() call to avoid a g_warning. 2001-06-28 Ettore Perazzoli * e-shell.c (e_shell_create_view): Renamed from `e_shell_new_view'. 2001-06-28 Ettore Perazzoli * main.c (idle_cb): Re-implemented to get a GSList of URIs and open them on a running shell [if any] or on a newly created shell. If no args are provided [i.e. the list is NULL], it either restores from settings [if any], or it just opens the Inbox. (main): Set up the GSList of arguments and have it passed to the idle callback. * e-shell.c (init): Ooops. Init `uri_schema_registry' to NULL as well. * evolution-shell-component-client.c (evolution_shell_component_client_handle_external_uri): New. (corba_exception_to_result): Handle the `UnsupportedSchema' exception too. * evolution-shell-component.h: New EvolutionShellComponentResult value `EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDSCHEMA'. * Evolution-ShellComponent.idl: New exception `UnsupportedSchema'. (handleExternalURI): This can now raise `NotFound', `UnsupportedSchema' and `InternalError'. (createView): This can now raise `UnsupportedSchema' too. * e-shell.c (impl_Shell_handleURI): Finish implementation. (class_init): Install it. * e-uri-schema-registry.c (e_uri_schema_registry_get_handler_for_schema): Ooops. Rename from `e_uri_schema_get_handler_for_schema'. Also, return NULL if no handler is found. 2001-06-27 Ettore Perazzoli * e-component-registry.c (register_component): Get the supported schemas and register them into the schema registry. * e-shell.c: New member `uri_schema_registry' in `EShellPrivate'. (e_shell_construct): Init. (destroy): Unref. (impl_Shell_createNewView): Raise exception `UnsupportedSchema' if it's not an `evolution:' URI. Raise exception `NotFound' if `e_shell_new_view()' returns NULL. (impl_Shell_handleURI): New, implementation for the `::handleURI' method. (e_shell_get_uri_schema_registry): New. * Evolution-Shell.idl: New exceptions `UnsupportedSchema' and `InvalidURI'. (createNewView): Make this able to raise `NotFound', `UnsupportedSchema' and `InvalidURI'. (handleURI): New method. * e-uri-schema-registry.h: New. * e-uri-schema-registry.c: New. 2001-06-27 Ettore Perazzoli * evolution-shell-component-client.c: Remove redundant declaration for `free_ShellComponentListener_servant()'. 2001-06-27 Ettore Perazzoli * evolution-shell-component.c (impl_handleExternalURI): Implementation for the `::handleExternalURI' CORBA method; just emit the `HANDLE_EXTERNAL_URI' signal. (class_init): Install. 2001-06-27 Ettore Perazzoli * evolution-shell-component.c (impl_setOwner): Renamed from `impl_ShellComponent_set_owner'. (impl_unsetOwner): Renamed from `impl_ShellComponent_unset_owner'. (impl_debug): Renamed from `impl_ShellComponent_debug'. (impl_createView): Renamed from `impl_ShellComponent_create_view'. (impl_createFolderAsync): Renamed from `impl_ShellComponent_async_create_folder'. (impl_removeFolderAsync): Renamed from `impl_ShellComponent_async_remove_folder'. (impl_xferFolderAsync): Renamed from `impl_ShellComponent_async_xfer_folder'. (impl_populateFolderContextMenu): Renamed from `impl_ShellComponent_populate_folder_context_menu'. (class_init): Updated accordingly. 2001-06-27 Ettore Perazzoli * evolution-test-component.c (factory_fn): Pass NULL as the @external_uri_schemas arg to `evolution_shell_component_new'. * evolution-shell-component.c: New enum value `HANDLE_EXTERNAL_URI'. New member `external_uri_schemas' in `EvolutionShellComponentPrivate'. (init): Initialize `external_uri_schemas' to NULL. (destroy): Free it. (destroy): (class_init): Add the "handler_external_uri" signal. (evolution_shell_component_new): Added precondition on @folder_types. New arg @external_uri_schemas. (evolution_shell_component_construct): Added preconditions. New arg @external_uri_schemas. Initialize the `external_uri_schemas' member in the EvolutionShellComponentPrivate part. (impl_ShellComponent__get_external_uri_schemas): New, implementation for reading the `external_uri_schemas' attribute. (class_init): Install it in the EPV. * evolution-shell-component.h: New signal `handle_external_uri'. * Evolution-ShellComponent.idl: New attribute `extra_uri_schemas'. (handleExternalURI): New method. 2001-06-26 Ettore Perazzoli * e-storage-set-view.c (etree_value_at): Don't strdup "My Evolution"! It was getting leaked every time the e-table wanted to read the value this way. 2001-06-26 Ettore Perazzoli * e-local-storage.c: Removed member `BonoboListener' from `AsyncCreateFolderCallbackData' and `AsyncRemoveFolderCallbackData'. (bonobo_interface_remove_folder_cb) : Return the value from `create_folder()'. (bonobo_interface_remove_folder_cb): Return the value from `remove_folder()'. (notify_bonobo_listener): Removed. (component_async_create_folder_callback): Don't notify the listener here. (component_async_remove_folder_callback): Ditto. (create_folder): Removed @listener arg. Not here either. Return a valid E_STORAGE error code instead. Also, don't set the `listener' field in `callback_data'. (remove_folder): Likewise. (bonobo_interface_create_folder_cb): Remove @listener arg. (bonobo_interface_remove_folder_cb): Likewise. 2001-06-25 jacob berkman * e-shell-view.c: (set_folder_timeout): display a selected uri in a timeout rather than right away, so the UI feels a bit more responsive, and the tree is more navigable via keyboard (switch_on_folder_tree_click): use the timeout rather than setting the URI right away (destroy): remove the timeout if it still exists (update_for_current_uri): if there is a timeout set, don't update (e_shell_view_display_uri): remove the timeout if it exists 2001-06-25 Ettore Perazzoli * main.c (no_views_left_cb): Call `e_shell_unregister_all()'. * e-shell.c (e_shell_unregister_all): New. 2001-06-25 Ettore Perazzoli * e-storage-set-view.c (convert_gdk_drag_action_to_corba): Remove trailing "\n" from g_warning. (convert_corba_drag_action_to_gdk): Likewise. (tree_drag_data_received): Likewise. (new_folder_cb): Likewise. * e-shortcuts-view-model.c (load_group_into_model): Remove trailing "\n" from g_warning. 2001-06-25 Ettore Perazzoli * main.c (no_views_left_cb): Unref the shell here. * e-storage-set.c (destroy): Use `name_to_named_storage_foreach_destroy()' as the function argument to `g_hash_table_foreach()', not `named_storage_destroy()', which is just plainly wrong. * e-shell.c (setup_corba_storages): Don't ref the corba_storage_registry here. (destroy): Don't unref here. (setup_activity_interface): Don't ref the activity_handler either. (destroy): Don't unref it here. * e-component-registry.c (e_component_registry_construct): Don't ref the shell here. (destroy): Don't unref it here. 2001-06-25 Ettore Perazzoli * main.c (no_views_left_cb): Don't call `e_shell_quit()' anymore. * e-shell-view-menu.c (command_quit): Call `e_shell_destroy_all_views()' instead of `e_shell_quit()', which does not exist anymore. * e-shell.c (e_shell_quit): Removed. (e_shell_destroy_all_views): New. 2001-06-24 Ettore Perazzoli * Makefile.am: s/\.oafinfo/.oaf/g. * GNOME_Evolution_TestComponent.oafinfo: Renamed to `GNOME_Evolution_TestComponent.oaf'. 2001-06-24 Ettore Perazzoli * e-shell.c: New member `iid' in EShellPrivate. (init): Init to NULL. (e_shell_construct): Set it to the value of the @iid argument. (destroy): Unregister that IID. (register_shell): Removed. (e_shell_construct): Just do all the work here. The function was too simple to really be useful as separate. * e-shell.c, e-shell.h: Changed to derive from BonoboXObject instead of deriving from BonoboObject and doing all the nasty CORBA work by hand. 2001-06-24 Ettore Perazzoli * evolution-test-component.c (activity_client_clicked_callback): New callback for the "clicked" signal on the EActivityClient. Just spit out a warning now, for testing purposes. (timeout_callback_1): Connect it. * evolution-activity-client.c (listener_callback): Emit the "clicked" signal if we get the "Clicked" event from the Bonobo listener. 2001-06-24 Ettore Perazzoli * e-shell-folder-commands.c: #include . (delete_dialog): Constify @folder_name properly. (delete_cb): Change the first arg to be an EStorageSet as expected for EStorageSetResultCallbacks. (rename_dialog): #if 0. 2001-06-24 Ettore Perazzoli * e-task-widget.h, e-task-widget.c: Changed to derive from GtkEventBox. * e-activity-handler.c (task_widget_button_press_event_callback): New callback for the "button_press_event" signal on the ETaskWidgets. Dispatch the "Clicked" event through the Bonobo listener. (task_widget_new_from_activity_info): Connect here. 2001-06-24 Ettore Perazzoli * evolution-test-component.c: Changed to use the `EvolutionActivityClient' object. New global static variable `activity_client'. (create_animated_icon): Removed. (create_icon_from_pixbuf): Removed. (task_bar_event_listener_callback): Removed. (timeout_callback_1): Create an EvolutionActivityClient object and put a pointer to it into `activity_client'. Lower the timeout delay from 1000 msecs to 100 msecs, so we can stress-test the speed control code in EvolutionActivityClient. (timeout_callback_2): Use the EvolutionActivityClient. Increment progress by 1, instead of 10. (timeout_callback_3): Destroy the EvolutionActivityClient. * Makefile.am (libeshell_la_SOURCES): Add `evolution-activity-client.c'. (eshellinclude_HEADERS): Add `evolution-activity-client.h'. * evolution-activity-client.c: New. * evolution-activity-client.h: New. * e-activity-handler.c: Updated all instances of `ActivityID' with `ActivityId'. * Evolution-Activity.idl: Renamed `ActivityID' to `ActivityID'. Added value `DIALOG_ACTION_ERROR' to `DialogAction'. 2001-06-24 Ettore Perazzoli * evolution-test-component.c: Remove the `activity_interface' global. (timeout_callback_3): Get the ::Activity interface using `evolution_shell_client_get_activity_interface()' on `parent_shell' instead. (timeout_callback_2): Likewise. (timeout_callback_2): Likewise. (timeout_callback_1): Likewise. (owner_set_callback): Don't query interface here. Check if the shell has an ::Activity interface by using `evolution_shell_client_get_activity_interface()' here as well. * evolution-shell-client.c: New member `activity_interface' in `EvolutionShellClientPrivate'. (destroy): unref/release it. (evolution_shell_client_construct): Initialize it by querying the shell CORBA Object for the ::Activity interface. (evolution_shell_client_get_activity_interface): New. 2001-06-23 Jason Leach * e-shell-folder-selection-dialog.c (e_shell_folder_selection_dialog_construct): Make the folder tree have a similar expanded state as the shell's folder tree. * e-local-storage.c (remove_folder): New function that does the meat of actual deletion stuff. (remove_folder_directory): A helper function that remove_folder() uses. (component_async_remove_folder_callback): A new callback to do the removing stuff from shell (if there weren't errors from the component). (impl_async_remove_folder): Implemented this. * evolution-shell-component-client.c (evolution_shell_component_client_async_remove_folder): Implemented this. * e-shell-view.c (e_shell_view_remove_control_for_uri): New function. 2001-06-23 Ettore Perazzoli * e-shell-view.c (e_shell_view_set_current_shortcuts_group_num): Moved at the bottom, as it's public API. Also add preconditions. (e_shell_view_get_current_shortcuts_group_num): Likewise. 2001-06-23 Ettore Perazzoli * e-shell-view.c: Get rid of some `#if 0'ed code. 2001-06-23 Ettore Perazzoli * e-shell-view.c (corba_interface_set_message_cb): Replaced with an empty stub, as the "set_message" method is going to be deprecated. (corba_interface_unset_message_cb): Likewise for the "unset_message" method. 2001-06-23 Ettore Perazzoli * e-shell.c (e_shell_construct): Set `splash' to NULL when @show_splash is false, so the compiler doesn't complain. * e-shell-view-menu.c: #include . * e-setup.c: #include . * importer/intelligent.c: #include and . 2001-06-23 Ettore Perazzoli * e-shell-view.c: New member `menu_hint_label' in `EShellViewPrivate'. (init): Init to NULL. (ui_engine_add_hint_callback): Set the label in the menu hint label, show the menu hint label, hide the task bar. (ui_engine_remove_hint_callback): New callback for the "remove_hint" signal on the BonoboUIEngine; hide the hint label, show the task bar. (setup_statusbar_hints): Connect it. (setup_menu_hint_label): New helper function to create the menu hint label. (create_status_bar): Call it. 2001-06-23 Ettore Perazzoli * e-shell-view-menu.c (command_quit): Add a `gtk_main_quit()' at the end here. 2001-06-23 Ettore Perazzoli * Makefile.am: Add rules to build the test component and an `install-test-component' target to install it. * GNOME_Evolution_TestComponent.oafinfo: New OAF file for the test component. * evolution-test-component.c: New component, currently to test the activity interfaces. We will be able use it for testing more things in the future. * e-shell.c: New member `activity_handler' in `EShellViewPrivate'. (init): Init here. (class_init): Unref. (setup_activity_interface): New helper function to create an `EActivityHandler' object and aggregate it to the `EShell'. (e_shell_construct): Call here. (e_shell_new_view): Attach the task bar of the newly created view to the activity handler by using `e_activity_handler_attach_task_bar()'. * e-shell-view.c: Removed old progress bar code. New members `status_bar' and `task_bar' in EShellViewPrivagte; removed member `progress_bar'. (init): Initialize the new fields; remove initialization for `progress_bar'. (impl_destroy): Handle the new fields here too. (setup_task_bar): New helper function to set up an ETaskBar. (create_status_bar): New helper function to create the status bar with an ETaskBar in it. (ui_engine_add_hint_callback): New callback for the "add_int" BonoboUIEngine signal. (setup_statusbar_hints): New helper function to set up the menu hints for the status bar; connect `ui_engine_add_hint_callback()' here. (setup_widgets): Call `create_status_bar()' and `setup_statusbar_hints()'; pack the status bar in a vbox instead of using the Bonobo status bar stuff, which is kinda broken. (e_shell_view_get_task_bar): New. (get_type_for_folder): No use to get the EFolderTypeRegistry here. * Evolution.idl: #include and . * Evolution-Activity.idl: New. * Evolution-Icon.idl: New. * e-activity-handler.c: New. * e-activity-handler.h: New. * e-task-bar.c: New. * e-task-bar.h: New. * e-task-widget.c: New. * e-task-widget.h: New. 2001-06-21 Jason Leach * evolution-storage.c (evolution_storage_deregister_on_shell): New function, uses the StorageRegistry::removeStoragebyName corba call to properly make the storage vanish from the shell. 2001-06-18 Dan Winship * Makefile.am (evolution_LDADD): Remove DB3_LDADD * e-shell-view-menu.c: Fix the help URLs 2001-06-13 Not Zed * e-shell-view.c (switch_on_folder_tree_click): Check priv->uri isn't null before strcmp'ing it here too. 2001-06-11 Dan Winship * e-shell-view.c (destroy): Don't destroy the offline_toggle_pixmap: the offline_toggle 0wnz it. (update_for_current_uri): Check priv->uri isn't NULL before strcmp()ing it. 2001-06-11 Jason Leach * evolution-storage.c (impl_Storage_async_create_folder): Fixed folder creation on IMAP storages (by notifying bonobo listener with the result). * evolution-storage-listener.c: Some cleaning. 2001-06-08 Iain Holmes * e-setup.c (check_dir_recur): Don't copy the old Executive-Summary dir. (e_setup): If there is an Executive-Summary dir in ~/evolution/local ask it the user wants to remove it. (e_shell_rm_dir): Function to completely delete a directory. 2001-06-07 Iain Holmes * evolution-storage.c (impl_Storage_async_create_folder): Removed debug spew. * e-shell-importer.c (start_import): Removed spew. * e-shell-view.c (update_window_icon): Take a gboolean to say if the folder is my evolution. Do special cased things for My Evolution. (update_folder_title_bar): Same. (update_for_current_uri): Find out if the uri is the my evolution one and act accordingly. (get_control_for_uri): Handle the toplevel My Evolution. * e-storage-set-view.c (etree_icon_at): Get an icon for the toplevel My Evolution. (etree_value_at): Default is to return "My Evolution" (e_storage_set_view_construct): Set the toplevel to be called "My Evolution" and show it. (e_storage_set_view_set_show_folders): Same. 2001-06-08 Ettore Perazzoli * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar): Allow a NULL @shell_view arg. 2001-06-08 Jason Leach * e-shell.c (e_shell_construct): Fix splash setup to keep it from giving two Gtk-CRITICAL assertions when you do --no-splash. 2001-06-06 Jon Trowbridge * evolution-storage.c (impl_Storage_async_create_folder): Changed purely informational debug spew from a g_warning to a g_message. * e-shell-importer.c (show_import_wizard): The import wizard defined in import.glade only has three pages... yet we were trying to manipulate "page4" as the finish page, with the expected bad results. My guess is that the .glade file got changed, but the code didn't get updated. (start_import): We were trying to bonobo_object_unref (BONOBO_OBJECT (icd->client)), which is fine except for the fact that icd->client is just a GtkObject, not a BonoboObject. Changed to a gtk_object_unref. (start_import): Changed a purely informational bit of debug spew from a g_warning to a g_message. 2001-06-06 Iain Holmes * importers/intelligent.c (create_gui): Make a few boxes, and make the whole dialog horizontal. Add better buttons, and a "Don't ask again button" (And the world rejoices). Fixed the notebook so it displayed the blank page on startup. (intelligent_importer_init): Handle the "Don't ask me again" button. 2001-06-06 Jason Leach (Fix bug #3205: Component crash causes folder switch even when not needed) * e-shell-view.c (socket_destroy_cb): Only flip around the ShellView to different folders when we're currently viewing the URI that's being closed/crashed. 2001-06-06 Jason Leach (Fix bug #418: Save state of folder tree view) * e-shell-view.c (e_shell_view_save_settings): Changed the char * @prefix argument to an int @view_num. (e_shell_view_load_settings): Ditto. (get_local_prefix_for_view): New function that gets us a prefix from a view_num. * e-shell-view.c (e_shell_view_save_settings): Save the expanded/collapsed information for each storage-set-view here. (e_shell_view_load_settings): Load it here. * e-storage-set-view.c (e_storage_set_view_construct): Make it so new storage set views have their storages expanded by default, but will respsect the expanded state information that we load into it. (insert_storages): Minor change here too. (new_folder_cb): Ditto. 2001-06-05 Jason Leach * e-shell-view-menu.c: Plug in all the folder tree right click menu verbs so bonobo-warnings aren't emitted (even though the respective implementation functions are currently unimplemented). (command_delete_folder): New function, see above. (command_rename_folder): Ditto. (command_folder_properties): Ditto. * e-shell-folder-commands.c (e_shell_command_delete_folder): New function, currently unimplemented. 2001-06-04 Jason Leach (Fixing bug #1299: Shell saves shortcuts when display name changes) * e-shortcuts.c (class_init): New signal: "update_shortcut". * e-shortcuts-view-model.c (e_shortcuts_view_model_construct): Connect thew new signal here. * e-shortcuts-view-model.c (shortcuts_update_shortcut_cb): New function, uses the new e_shortcut_model_update_item(). * e-shell-view.c (corba_interface_set_folder_bar_label): Fix a warning here. 2001-06-03 Ettore Perazzoli * Makefile.am (evolution_LDADD): Move `$(DB3_LDADD)' before libeutil. 2001-06-01 Ettore Perazzoli * Makefile.am (evolution_LDADD): Add `$(DB3_LDADD)'. 2001-05-30 Jason Leach * e-shell-view.c (e_shell_view_set_current_shortcuts_group_num): New function (probably should just be static). (e_shell_view_load_settings): Load the current shortcut group here using the above new function. (e_shell_view_save_settings): Save current shortcut group in here. 2001-05-30 Jason Leach * e-shell-folder-title-bar.c: New 'folder_bar_label' member for EShellFolderTitleBar, it's for information that's shown to the left of the icon like the dates in the calendar (or, potentially total and unread numbers for mailer). (e_shell_folder_title_bar_set_folder_bar_label): New function, lets others set the title bar extra label. * Evolution-ShellView.idl: New method 'setFolderBarLabel' for our exposed ShellView interface. * evolution-shell-view.h: New signal "set_folder_bar_label" for EvolutionShellView. * evolution-shell-view.c (impl_ShellView_set_message): Emit the new signal here. * e-shell-view.c (setup_corba_interface): Connect the signal here. * e-shell-view.c (corba_interface_set_folder_bar_label): New function, callback for the above signals, does the actual extra label setting for the folder title bar. * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar): Fix a warning here. 2001-05-30 Jason Leach * e-shell.c (e_shell_construct): Removed an unecessary sleep(2) call, so evolution will start up 2 seconds faster now. 2001-05-30 Jason Leach * e-shell-view-menu.c: Connect the AddFolderToShortcutBar verb to their implementation functions. * e-shell-view.c (e_shell_view_get_current_shortcuts_group_num): New function, use it to find out which shourtcut group is currently open on the shortcut bar. * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar): Implement this using new function described above. 2001-05-29 Federico Mena Quintero * e-shell-view.c (setup_progress_bar): Added missing castt. (setup_offline_toggle): Likewise. 2001-05-29 JP Rosevear * e-shell-view.c (setup_progress_bar): unref the control when finished with it (setup_offline_toggle): ditto (destroy): destroy offline and progress widgets 2001-05-28 Dan Winship * e-storage-set-view.c (new_storage_cb): Call e_tree_node_set_expanded on the storage_set_view, not the storage_set (which is not an ETree). 2001-05-27 Dan Winship * evolution-shell-component-utils.c: New file. (e_pixmaps_update): Moved here from e-util to break e-util bonobo dependency. * e-shell-view-menu.c: #include "evolution-shell-component-utils.h" instead of "e-gui-utils.h" * Makefile.am (libeshell_la_SOURCES, eshellinclude_HEADERS): Add evolution-shell-component-utils.[ch] 2001-05-26 Dan Winship * e-storage-set-view.c (destroy): Don't free the hash keys in priv->path_to_etree_node, because they're owned by the ETree now. (e_storage_set_view_set_show_folders): Likewise. 2001-05-25 Peter Williams * Makefile.am: Change libeshell from a noinst_LIBRARIES to a lib_LTLIBRARIES. Install its headers in $includedir/evolution/shell. * evolution-storage.c (safe_corba_string): New, copy of e_safe_corba_string in libeutil. This way libeshell doesn't have a missing symbol when programs that don't have libeutil link to it. (evolution_storage_register): s,e_safe_corba_string,safe_corba_string,g. 2001-05-25 jacob berkman * e-shell-view.c (setup_widgets): place the shortcut bar in a frame 2001-05-21 Christopher James Lahey * Makefile.am (INCLUDES): Added ETSPECDIR. Added e-storage-set-view.etspec to get installed. * e-local-storage.c (remove_folder_directory): Commented out this function since it is unused. * e-shell-folder-commands.c (folder_selection_dialog_folder_selected_callback), e-shell-view.c (update_offline_toggle_status): Fixed warnings here by adding a return; after the g_assert_not_reached();. * e-shell-importer.c (start_import): Got rid of real_folderpath here and just reused folderpath (It was causing uninitialized variable warnings.) * e-shell.c (impl_Shell_getLocalStorage): Use bonobo_object_dup_ref here. It makes things simpler. * e-storage-set-view.c: Removed ETREE_SPEC since it's no longer needed. (convert_corba_drag_action_set_to_gdk, folder_context_menu_activate_cb, remove_cb, folder_context_menu_remove_cb): Commented out these functions since they're unused. (new_storage_cb, new_folder_cb, insert_folders, insert_storages): Don't bother using insert_id here since it no longer does anything. (new_storage_cb, removed_storage_cb, removed_folder_cb): Don't free the data returned from e_tree_memory_node_remove. (e_storage_set_view_construct): Set the destroy func here so that memory will automatically get freed when nodes are destroyed. g_strdup the root node string here. Use e_tree_construct_from_spec_file here to use an external file. (e_storage_set_view_set_show_folders): g_strdup the root node string here. * e-storage-set-view.etspec: New etspec file. * evolution-shell-component-client.c (free_ShellComponentListener_servant): Added a prototype here. 2001-05-23 Chris Toshok * evolution-shell-component.h (EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER): track change to the path to the ComponentPlaceholder. 2001-05-20 Ettore Perazzoli * e-shell-view.c: New static members `offline_pixmap', `offline_mask', `online_pixmap', `online_mask'. Add members `tooltips', `offline_toggle' and `offline_toggle_pixmap' to `EShellViewPrivate'. (init): Init to NULL. Also init the `progress_bar' member to NULL as well, as we were not initializing it. (destroy): Unref the tooltips. (load_images): New static function to load the offline and online icons into the pixmaps/masks. (class_init): Call it. (update_offline_toggle_status): New. (shell_line_status_changed_cb): Call it. (offline_toggle_clicked_cb): New, callback for the "clicked" signal on the offline/online button. (setup_offline_button): New function to set up the `offline_button'. (setup_widgets): Call it. (setup_progress_bar): Changed to get an `EShellView' pointer, instead of an `EShellViewPriv' pointer. (setup_widgets): Updated accordingly. 2001-05-20 Ettore Perazzoli * e-shell-view-menu.c: Define the verb for "CopyFolder" as well. (command_copy_folder): Implementation for the "CopyFolder" verb. * e-shell-folder-commands.c: New struct `FolderCommandData'. (folder_command_data_new): New function to allocate and initialize it. (folder_command_data_free): New function to free it. (e_shell_command_move_folder): Pass a pointer to a filled-in `FolderCommandData' struct to the callbacks instead of just passing a pointer to the shell object. (move_folder_selected_callback): Removed. (move_folder_cancelled_callback): Removed. (folder_selection_dialog_folder_selected_callback): New generic callback for the folder selection dialog. (folder_selection_dialog_cancelled_callback): New generic callback for the folder selection dialog. (connect_folder_selection_dialog_signals): New function to connect these two handlers to a folder selection dialog. (xfer_result_callback): New callback for the async xfer function. (get_folder_name): New utility function. (e_shell_command_copy_folder): Implement. 2001-05-19 Ettore Perazzoli * e-shell-folder-commands.c (e_shell_command_create_new_folder): Changed to use `e_shell_view_get_current_path()' to get the default path, instead of computing it itself. (move_folder_cancelled_callback) (move_folder_selected_callback): New, callbacks for the "cancelled" and "folder_selected" signals on the folder selection dialog for the "Move folder" operation. (e_shell_command_move_folder): Implemented. * e-shell-view-menu.c (command_move_folder): New, implementation for the "MoveFolder" verb. * e-shell-view.c (e_shell_view_get_current_path): New. 2001-05-19 Ettore Perazzoli * e-shell-folder-selection-dialog.h: Rename @default_path to @default_uri. * e-shell.c (impl_Shell_selectUserFolder): Pass a NULL @caption to `e_shell_folder_selection_dialog_new()'. * e-shell-importer.c (import_druid_finish): Add a caption to the folder selection dialog. Constify local variable `foldername', and avoid g_strdupping/g_freeing it, as it's useless. * e-shell-view-menu.c (command_goto_folder): Add a caption to the folder selection dialog. * e-shell-folder-selection-dialog.c (e_shell_folder_selection_dialog_new): New arg @caption. (e_shell_folder_selection_dialog_construct): Likewise. Also cleaned up a bit. 2001-05-19 Ettore Perazzoli * e-shell-view-menu.c: Removed "NewView" verb. Added `folder_verbs', with "OpenFolderInNewWindow" in it. (e_shell_view_menu_setup): Set up the `folder_verbs' too. (command_new_view): Renamed to `command_open_folder_in_new_window'. * e-shell-folder-commands.c (e_shell_command_open_folder_in_other_window): Implement. 2001-05-19 Ettore Perazzoli * e-shell-view-menu.c (command_create_folder): Call `e_shell_command_create_new_folder()' implemented in `e-shell-folder-commands.c'. * e-shell-folder-commands.c: New. * e-shell-folder-commands.h: New. 2001-05-17 Ettore Perazzoli * e-storage-set-view.c (populate_folder_context_menu_with_common_items): Removed. (popup_folder_menu): Instead of creating the component and the folder popup definition here, just do `bonobo_window_add_popup()' and assume that "/popups/FolderPopup" is defined in the toplevel window's UI xml file. 2001-05-16 Ettore Perazzoli * evolution-shell-component-client.c: Moved some functions around to avoid the warning about the static `free_ShellComponentListener_servant()' function being used prior to declaration. 2001-05-15 Ettore Perazzoli * e-shell-view-menu.c (command_run_bugbuddy): `#if 0'ed out. (command_submit_bug): New. Just fire up the web browser with `http://bugzilla.ximian.com' in it. (menu_do_misc): Associate the latter instead of the former to the "HelpSubmitBug" verb. 2001-05-15 Ettore Perazzoli * e-shell-view-menu.c: Add an `HelpFAQ' verb. 2001-05-14 jacob berkman * e-folder-tree.c (remove_folder): set the subfolder's parent to NULL so the subfolder list doesn't change whilst we are using it (folder_remove_subfolder): this function didn't used to work at all 2001-05-12 Chris Toshok * e-storage-set-view.c (tree_drag_data_received): implement the CORBA side of dragging. (convert_gdk_drag_action_set_to_corba): rename convert_gdk_drag_action_to_corba to this. (convert_corba_drag_action_set_to_gdk): rename convert_corba_drag_action_to_gdk to this. (convert_gdk_drag_action_to_corba): new function that doesn't build a bitmask, useful for the Action types, instead of ActionSet. (convert_corba_drag_action_to_gdk): same. 2001-05-11 Chris Toshok * e-storage-set-view.c (populate_folder_context_menu_with_common_items): add RemoveFolder menu item and verb. (folder_context_menu_remove_cb): new function, call e_storage_set_async_remove_folder. (remove_cb): callack for e_storage_set_async_remove_folder. * evolution-shell-component-client.c (evolution_shell_component_client_populate_folder_context_menu): fix prototype to reflect Component -> Container. * evolution-shell-component-client.h: same. 2001-05-11 Chris Toshok * evolution-shell-component.h (EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER): add this define for the xml path to use when adding menu items to the folder popup. * e-storage-set-view.c (populate_folder_context_menu_with_common_items): add (#ifdef DEBUG_XML) a menu item to dump the bonobo xml. (popup_folder_menu): pass the BonoboUIContainer to the populate_folder_context_menu CORBA call, instead of the component. Also, reorder things a bit so the component doesn't get an error when setting xml the first time. 2001-05-11 Iain Holmes * e-shell-folder-selection-dialog.c (dbl_click_cb): Use gnome_dialog_close instead of gtk_widget_destroy. (impl_clicked): Use gnome_dialog_close instead of gtk_widget_destroy. * e-shell-view-menu.c: #include e-shell-importer.h instead of importer/importer.h * importer/Makefile.am: Remove importer.c and importer.h. * importer/importer.[ch]: Moved these to e-shell-importer.[ch] * e-shell-importer.c (start_import): Take a folderpath to import into. (importer_druid_finish): Show the EShellFolderSelectionDialog to get a folder to import into. 2001-05-11 JP Rosevear * e-component-registry.c (register_component): component_new refs the object itself, so unref ours when we finish with it * e-shell.c (e_shell_construct): There is no need to explicitly ref the folder type registry, storage set and shortcuts because we are the creator and hold the initial ref count of 1. 2001-05-11 Dan Winship * e-local-storage.c (load_folder): Lots of people seem to have "broken" local storage hierarchies. So ignore errors (like the old code did) and just print a warning. 2001-05-11 Chris Toshok * evolution-storage-set-view-factory.c (evolution_storage_set_view_factory_new_view): the only problematic area - pass NULL for now in as the BonoboUIContainer. how do we pass this container to the control? * e-storage-set-view.c (folder_context_menu_activate): un-#if 0 this function. (populate_folder_context_menu_with_common_items): build our popup using the new xml bonobo stuffs. (popup_folder_menu): convert to using the new xml bonobo stuffs. (right_click): only do the popup menu if we have a BonoboUIContainer. (e_storage_set_view_new): add BonoboUIContainer* arg. (e_storage_set_view_construct): same. * e-storage-set-view.h: add BonoboUIContainer* args to e_storage_set_view_new and e_storage_set_view_construct. * e-shell-folder-creation-dialog.c (add_storage_set_view): pass NULL for the BonoboUIContainer, since we shouldn't (?) have a popup in this dialog. * e-shell-folder-selection-dialog.c (e_shell_folder_selection_dialog_construct): pass NULL for the BonoboUIContainer, since we shouldn't (?) have a popup in this dialog. * e-storage-set.h: add BonoboUIContainer* arg to e_storage_set_new_view. * e-storage-set.c (e_storage_set_new_view): add arg, and track change to e_storage_set_view_new. * e-shell-view.h: add prototype for e_shell_view_get_bonobo_ui_container. * e-shell-view.c (setup_storage_set_subwindow): track change to e_storage_set_view_new. (e_shell_view_construct): the BonoboUIContainer is now part of our private structure. (e_shell_view_get_bonobo_ui_container): new function. 2001-05-09 Christopher James Lahey * importer/intelligent.c (create_gui): Made this function static. Removed the unused variable placeholder. (intelligent_importer_init): Cast from gpointer to int here properly using GPOINTER_TO_INT. 2001-05-09 Dan Winship * e-local-storage.c: Remove get_physical_path and load_folders, and replace the calls to them with calls to the e_path_* functions they inspired. 2001-05-08 Dan Winship * glade/e-active-connection-dialog.glade: Rename "port" to "type" here too. 2001-05-08 Iain Holmes * importer/evolution-importer-client.c (evolution_importer_client_load_file): Actually use the duplicated value. * e-local-storage.c (create_folder_directory): Assign physical_path_return before trying to create the directory. (create_folder): Return the physical_path even if the directory creation failed. Free the physical path. * importer/evolution-importer-client.[ch]: Make EvolutionImporterClient from a GtkObject instead of a BonoboObject. * importer/importer.c: Use gtk_object_unref instead of bonobo_object_unref on the clients. * importer/intelligent.c: New prettier dialog, and multiple importers done in the same window. 2001-05-07 Dan Winship * e-shell-offline-handler.c (update_dialog_clist_hash_foreach): Fix a free of non-malloc'ed memory introduced by my last change. 2001-05-07 Jon Trowbridge * e-shell-view-menu.c (update_offline_menu_item): Changed some references to /commands/WorkOffline to /commands/ToggleOffline. 2001-05-04 Chris Toshok * evolution-shell-component-dnd.c (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleMotion): take a physical_uri and pass it to the callback. (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop): same. * evolution-shell-component-dnd.h: add physical_uri args to the destination folder HandleMotion and HandleDrop types. * Evolution-ShellComponentDnd.idl: add "in string physical_uri" to DestinationFolder::handleMotion and DestinationFolder::handleDrop. * e-storage-set-view.c (tree_drag_motion): pass the physical uri of the folder to handleMotion. 2001-05-04 Dan Winship * e-shell-offline-handler.c (update_dialog_clist_hash_foreach, (duplicate_connection_list): Use type instead of portNumber. (e_shell_offline_handler_put_components_offline): Fix the logic of when to show the connection dialog here. (Show it when there *are* connections, not when there aren't.) * Evolution-Offline.idl: Have a "string type" instead of "short portNumber" in Connection. 2001-05-04 Ettore Perazzoli * e-shell-offline-handler.c (e_shell_offline_handler_put_components_offline): Only display the dialog if there are active connections. [It was displaying it all the time before just for testing purposes.] 2001-05-04 Ettore Perazzoli * evolution-storage.c (evolution_storage_new_folder): Ooops. The `corba_folder' is needed after returning; don't free it. 2001-05-04 Ettore Perazzoli * evolution-storage.c (evolution_storage_new_folder): Free the `corba_folder' when not needed anymore. * e-local-storage.c (create_folder_directory): Free the parent path, and don't allocate it when we don't need it. * evolution-shell-component-client.c (dispatch_callback): Free the listener servant too. (impl_destroy): Release the listener object and free the servant if it exists. 2001-05-04 Ettore Perazzoli * e-shell-folder-creation-dialog.c (dialog_clicked_cb): Don't strdup `path' before copying it into the `dialog_data'. 2001-05-04 Ettore Perazzoli * importer/intelligent.c (get_intelligent_importers): Free the `info_list' returned by `oaf_query()', thus plugging a leak. 2001-05-04 Ettore Perazzoli * e-shell-utils.c (get_icon_path): Don't use `gnome_pixmap_file()', which is broken as it looks in the current working directory first. Instead, if the path is not absolute, just look up the file in the `EVOLUTION_IMAGES' directory. 2001-05-03 Ettore Perazzoli * glade/e-active-connection-dialog.c: Change the GtkCList mode to GTK_BROWSE_SINGLE. 2001-05-03 Ettore Perazzoli * e-shell-offline-handler.c (impl_OfflineProgressListener_updateProgress): Update the GtkCList before emitting the "offline_procedure_finished" signal. In fact, we might be destroyed from within the signal handlers and then things would get messy. * evolution-shell-component-client.c (evolution_shell_component_client_get_offline_interface): "IDL:GNOME/Evolution/Offline:1.0", not "IDL:GNOME/Evolution/ShellComponent/Offline:1.0". Sigh. * e-shell-view-menu.c: Update to match the rename of the `WorkOffline' menu item in the `File' menu into `ToggleOffline'. Now the `WorkOffline' verb actually puts the shell offline, while `WorkOnline' puts in online, so we don't use one single verb to toggle the online/offline status. (command_work_offline): Only go offline. (command_work_online): New. Make the shell go online. (update_offline_menu_item): New. (shell_line_status_changed_cb): New, callback for the "line_status_changed" signal on the associated EShell. 2001-05-03 Ettore Perazzoli * e-shell-offline-handler.c: New member `dialog_gui' in `EShellOfflineHandlerPrivate'. (impl_destroy): Unref here if not NULL. (init): Init to NULL. (update_dialog_clist_hash_foreach): New. (update_dialog_clist): New. (dialog_clicked_cb): New, callback for the "clicked" signal on the active connection dialog. (pop_up_confirmation_dialog): Implemented. (init): Init `procedure_in_progress' to `FALSE' instead of `TRUE'. (cancel_offline): Emit `offline_procedure_finished'. (impl_OfflineProgressListener_updateProgress): Call `update_dialog_clist()'. * glade/e-active-connection-dialog.glade: New. * e-shell-view-menu.c: Update to use the `WorkOffline' verb instead of the `WorkOffLine' one. (command_work_offline): New, temporary implementation for the "WorkOffline" verb. * e-shell-view.c (shell_line_status_changed_cb): New, callback for the shell's `line_status_changed' signal. (e_shell_view_construct): Connect it. * e-shell.c: New member `line_status' in `EShellPrivate'. (init): Init to `E_SHELL_LINE_STATUS_ONLINE'. (class_init): Set up the `line_status_changed' signal. (e_shell_is_offline): Removed. (e_shell_get_line_status): New. (e_shell_go_online): Set the `line_status' member to `E_SHELL_LINE_STATUS_ONLINE' and emit `line_status_changed'. (offline_procedure_started_cb): New, signal for the `offline_procedure_started' signal in EShellOfflineHandler. (offline_procedure_finished_cb): New, signal for the `offline_procedure_finished' signal in EShellOfflineHandler. (e_shell_go_offline): Implemented. * e-shell.h: New enum `EShellLineStatus'. New signal `line_status_changed'. 2001-05-03 Ettore Perazzoli * e-shell-offline-handler.c (e_shell_offline_handler_construct): Unset the `GTK_FLOATING' flag. 2001-05-02 Ettore Perazzoli * e-shell.c: New members `is_offline' and `offline_handler' in `EShellPrivate'. (init): Init `is_offline' to %FALSE, `offline_handler' to %NULL. (e_shell_is_offline): New. (e_shell_go_online): New. (e_shell_go_offline): New. * e-shell-offline-handler.c: New. * e-shell-offline-handler.h: New. * evolution-shell-component-client.c: New member `offline_interface' in `EvolutionShellComponentClientPrivate'. (init): Init to `CORBA_OBJECT_NIL'. (impl_destroy): Unref/release if not NIL. (evolution_shell_component_client_get_offline_interface): New. * Evolution-Offline.idl: New. 2001-05-02 Chris Toshok * evolution-shell-component-dnd.c: new file. * evolution-shell-component-dnd.h: new file. * Makefile.am (libeshell_a_SOURCES): add evolution-shell-component-dnd.[ch]. 2001-04-25 Dan Winship * Makefile.am (evolution_LDADD): Remove $(UNICODE_LIBS). * main.c (main): Remove call to unicode_init. 2001-04-25 JP Rosevear * evolution-shell-client.c (destroy): free the private member 2001-04-25 Kjartan Maraas * e-component-register.c, e-corba-storage.c, e-folder-tree.c, e-folder-tree.h, e-folder.c, e-local-folder.c, e-shell.c, e-shortcuts-view-model.c, e-shortcuts.c, e-splash.c, e-storage-set-view.c, e-storage-set.c, evolution-local-storage.c, evolution-shell-component-client.c, evolution-shell-component.c, evolution-storage.[ch], importer/evolution-importer-client.[ch], importer/evolution-importer-listener.[ch], importer/evolution-importer.[ch], importer/evolution-intelligent-importer.[ch], importer/intelligent.c: #include and move corresponding local includes to the top. 2001-04-23 Jeffrey Stedfast * e-splash.c: #include gnome-window-icon.h 2001-04-21 Duncan Mak * e-splash.c (e_splash_construct): Set window_icon to "evolution.png" in the splash screen. 2001-04-18 Ettore Perazzoli * e-local-folder.c: #include . 2001-04-17 Christopher James Lahey * e-shell-view.c (storage_set_view_box_event_cb): Proxy events to the tooltip object properly. 2001-04-15 Ettore Perazzoli * e-shell-folder-selection-dialog.c (folder_creation_dialog_result_cb): Set the current folder only if @result is `E_SHELL_FOLDER_CREATION_DIALOG_RESULT_SUCCESS'. * e-shell-folder-creation-dialog.c (folder_name_entry_changed_cb): Changed to get a pointer to the DialogData instead of just a pointer to the dialog itself. Don't set the OK button sensitive if there is no folder selected in the storage set view. (setup_folder_name_entry): Don't connect `folder_name_entry_changed_cb' anymore. (e_shell_show_folder_creation_dialog): Connect here instead. (storage_set_view_folder_selected_cb): New callback for the "folder_selected" signal in the EStorageSetView. Make the OK button sensitive if the entry is non-empty. (e_shell_show_folder_creation_dialog): Connect it. 2001-04-14 Michael Meeks * Makefile.am (dist-hook): remove built sources from dist. 2001-04-13 Ettore Perazzoli * e-splash.c (impl_destroy): Call the parent class' ::destroy method. 2001-04-12 Christopher James Lahey * e-storage-set-view.c (etree_has_get_node_by_id, etree_get_node_by_id): Implemented these. 2001-04-11 Dan Winship * e-shell-view.c (switch_on_folder_tree_click): Don't get into an infinite loop when clicking on an IMAP storage. Might not be the best fix? 2001-04-08 Chris Toshok * e-storage-set-view.c (tree_drag_motion): fix type. we want the destination interface, not source. 2001-04-04 Kjartan Maraas * e-local-folder.c: Fix headers. * e-shell-view.c: Same here. * e-shortcuts-view.c: Same here. * e-shortcuts.c: Same here. * e-storage-set-view.c: Same here. 2001-04-04 Gediminas Paulauskas * importer/importer.c (create_html): copied newer and fixed function from mail/mail-config-druid.c. (html_new, put_html): removed. (show_import_wizard): use create_html instead of html_new/put_html pair. * importer/importer.glade: a try to set logo. removed source generation options. 2001-04-03 Dan Winship * main.c: * evolution-shell-component-client.c: Don't declare debug_log as extern in evolution-shell-component-client.c, because that's part of libeshell and so gets linked into the other components. Instead, declare it there and extern it from main.c. (Noticed by Peter Williams) 2001-04-03 Ettore Perazzoli * e-shell-view.c (get_control_for_uri): Change `! folder_type' with `folder_type == NULL'. * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): If the toplevel node URI or the toplevel node type are an empty string, use NULL Instead. 2001-04-03 Ettore Perazzoli * e-shell-view.c: Fix bug #1878 "folder sometimes fails to display?". Thanks to Dan for finding out an explanation for the problem. (e_shell_view_display_uri): Don't set `priv->uri' here. (show_existing_view): Set it here instead, and before showing the control. (create_new_view_for_uri): And here, likewise. 2001-04-03 Christopher James Lahey * e-shell-folder-selection-dialog.c (dbl_click_cb): Made double clicking not crash here. 2001-04-02 Ettore Perazzoli * e-setup.c (e_setup): If we have a local folder named "Trash" of type "mail", rename it to "Trash.old" so that the new vfolder-based trash type gets installed. 2001-04-03 Gediminas Paulauskas * importer/evolution-importer-client.c (evolution_importer_client_load_file): fix Iain's fix which did nothing. closes #1914. 2001-03-31 Christopher James Lahey * evolution-storage-set-view.c: Include here. 2001-04-01 Gediminas Paulauskas * e-shell-view-menu.c: set up menu icons for new folder, import and work offline. 2001-03-30 Iain Holmes * importer/importer.c (start_import): If the importer can't be started, then don't continue. 2001-03-29 Iain Holmes * importer/evolution-importer-client.c (evolution_importer_client_load_file): Duplicate the folderpath, or set it to \0 2001-03-30 Christopher James Lahey * e-shell-folder-selection-dialog.c (dbl_click_cb): Since this is an ETree now, the signature of the double click callback has changed. 2001-03-30 Dan Winship * Evolution-ShellComponent.idl: add a "debug" method to tell a component to output debugging messages to a given file. * main.c (main): Add a "--debug filename" argument, to direct debugging output for all components to a file. Redirect the shell's stdout/stderr to that file if this argument is used. * evolution-shell-component-client.c (evolution_shell_component_client_set_owner): If debug_log is set, call the component's debug method as well. * evolution-shell-component.c (impl_ShellComponent_debug): redirect stdout/stderr to the named file and emit a "debug" signal. 2001-03-29 Kjartan Maraas * e-component-registry.c: Remove/replace unneeded includes and move around stuff so that system headers are included first. * e-corba-storage.c: Replace #include * e-folder-tree.c: Shuffle. * e-folder.c: Remove #include * e-local-storage.c: Replace #include and * e-setup.c: Replace #include and * e-shell-folder-creation-dialog.c: Replace #include * e-shell-folder-title-bar.c: Replace * e-shell-utils.c: Same here. * e-shell-view-menu.c: Same here (and ) * e-shell-view.c: Replace and * e-shell.c: Replace * e-shell.h: Shuffle. * e-shortcuts-view-model.c: Replace * e-shortcuts-view.c: Remove #include * e-shortcuts.c: Move up. * e-splash.c: Replace * e-storage-set-view.c: Replace * e-storage-set.c: Shuffle * e-storage.c: Replace * evolution-local-storage.c: Same here * evolution-local-storage.h: And here. * evolution-session.c: Same here too. * evolution-session.h: Replace * evolution-shell-client.c: Here too. * evolution-shell-component-client.c: Shuffle. * evolution-shell-component.c: Replace * evolution-shell-view.c: Remove #include * evolution-shell-view.h: Replace * evolution-storage-listener.c: Replace and * evolution-storage-listener.h: Replace * evolution-storage-set-view-listener.c: Replace and * evolution-storage-set-view.c: Remove * evolution-storage.c: Replace * main.c: Replace and * importer/importer.c: Replace * importer/intelligent.c: Replace . Add prototype for intelligent_importer_init(). * importer/intelligent.h: Added this file. 2001-03-28 Ettore Perazzoli * e-storage-set-view.c (folder_sort_callback): Use `g_strcasecmp()' instead of `strcasecmp()'. 2001-03-28 Christopher James Lahey * e-storage-set-view.c (storage_sort_callback, folder_sort_callback): Use strcasecmp instead of strcmp. 2001-03-28 Ettore Perazzoli * e-local-storage.c (async_xfer_folder_callback): s/new_folder/destination_folder/ where appropriate, idiot. 2001-03-28 Jon Trowbridge * e-shell-view-menu.c: In a fit of egomania, added myself to the authors array. 2001-03-26 Ettore Perazzoli * evolution-shell-component-client.c (shell_component_result_from_corba_exception): Implement. 2001-03-26 Ettore Perazzoli * evolution-shell-component-client.c (evolution_shell_component_client_async_xfer_folder): Handle CORBA exception. (evolution_shell_component_client_async_create_folder): Likewise. * e-local-storage.c (create_folder_directory): Create the `subfolders' directory if it doesn't exist. * e-storage-set-view.c (tree_drag_data_received): Build the correct target path by appending the basename from the source path. * evolution-shell-component.c (impl_ShellComponent_async_xfer_folder): Enabled again. (class_init): Install it. * e-local-folder.c (METADATA_FILE_NAME_LEN): Removed #define. (METADATA_FILE_NAME): Removed #define. (save_metadata): Use the public `E_LOCAL_FOLDER_METADATA_FILE_NAME' value instead. (construct_loading_metadata): Likewise. * e-local-folder.h (E_LOCAL_FOLDER_METADATA_FILE_NAME_LEN): New #define. (E_LOCAL_FOLDER_METADATA_FILE_NAME): New #define. * e-local-storage.c (remove_folder_directory): New helper function. (async_xfer_folder_step): New. (async_xfer_complete): New. (async_xfer_folder_callback): New. (impl_async_xfer_folder): Implement. * e-storage.h: Added value `E_STORAGE_NOTEMPTY' to `EStorageResult'. * evolution-shell-component-client.c (evolution_shell_component_clinet_async_xfer_folder): New. 2001-03-23 Ettore Perazzoli * e-local-storage.c (impl_async_xfer_folder): New, implementation for `EStorage::async_xfer_folder'. (class_init): Install it. (check_valid_name): Removed. Conflicts shouldn't be handled this way, and hardcoding the names is *bad*. (create_folder_directory): New helper function. (real_do_folder_create): Removed. (create_folder): New. Do things here using `create_folder_directory'. (impl_async_create_folder): Use `create_folder'. (notify_bonobo_listener): Renamed from `notify_listener'. Moved on top for clarity. 2001-03-22 Iain Holmes * importer/evolution-importer-listener.c (evolution_importer_listener_new): Remove the usage of the corba_object thing. (evolution_importer_listener_construct): Ditto. * e-local-storage.c (real_do_folder_create): Revert the e_mkdir_hier call to two seperate calls to mkdir. If the directory exists, just call the callback and notify the listener. * importer/GNOME_Evolution_Importer.idl: Add a folderpath paramater to the loadFile method. * importer/evolution-importer.[ch]: Update for the new folderpath param. * importer/evolution-importer-client.[ch]: Ditto. * importer/importer.c: Ditto. 2001-03-22 Ettore Perazzoli * e-storage-set-view.c (motion_notify_event): Unref the target list we create on the fly. 2001-03-22 Ettore Perazzoli * e-shell-folder-creation-dialog.c (async_create_cb): Changed signature to match `EStorageSetResultCallback' instead of `EStorageResultCallback', to match the changes in the async_create API call. 2001-03-22 Ettore Perazzoli * e-storage-set-view.c: Removed some unused static variables. (set_evolution_path_selection): Removed unused variable `evolution_path'. * e-storage-set.c (e_storage_set_async_xfer_folder): Get an `EStorageSetResultCallback', instead of an `EStorageResultCallback'. (e_storage_set_async_remove_folder): Likewise. (e_storage_set_async_create_folder): Likewise. (storage_callback_converter): New callback to convert from the EStorageResultCallback to the EStorageSetResultCallback. * e-storage-set.h: New typedef `EStorageSetResultCallback'. * Evolution-ShellComponent.idl: Renamed `copyFolderAsync' into `xferFolderAsync' for consistency. * e-storage-set-view.c (tree_drag_data_received): Updated to use `e_storage_set_async_xfer_folder()' instead of `e_storage_set_async_move_folder()' or `e_storage_set_async_copy_folder()'. (folder_xfer_callback): New, callback for the xfer function. * e-storage-set.c (e_storage_set_async_move_folder): Removed. (e_storage_set_async_copy_folder): Removed. (e_storage_set_async_xfer_folder): New. 2001-03-22 Ettore Perazzoli * e-storage.c (e_storage_async_xfer_folder): New. (impl_async_xfer_folder): New, default implementation for the `async_xfer_folder' method. (class_init): Install it. * e-storage.h: New virtual method `async_xfer_folder'. * evolution-storage.c (impl_Storage_async_xfer_folder): New. Just a stub for now. (evolution_storage_get_epv): Install it as the implementation for the `asyncXferFolder' method. * Evolution-Storage.idl: New method `asyncXferFolder'. 2001-03-22 Ettore Perazzoli * e-storage-set-view.c: Removed `source_drag_types', `num_source_drag_types', `destination_drag_types', `num_destination_drag_types', `target_list'. (E_SHORTCUT_TARGET_TYPE): Renamed from "E_SHORTCUT_TYPE". (EVOLUTION_PATH_TARGET_TYPE): Define to "_EVOLUTION_PRIVATE_PATH". (find_matching_target_for_drag_context): If any of the targets matches it, return it. (handle_evolution_path_drag_motion): New. (tree_drag_motion): Use it if we are matching an `EVOLUTION_PATH_TARGET_TYPE' target. (e_storage_set_view_construct): Call `e_tree_drag_dest_set()' on the view so that we become a possible DnD target. (get_folder_at_node): Don't die if you don't find a folder there. (create_target_entries_from_dnd_type_list): Make the first entry an `EVOLUTION_PATH_TARGET_TYPE', the second one an `E_SHORTCUT_TYPE', and the following ones the ones defined by the folder. (set_evolution_path_selection): New function to set the private Evolution path selection. (set_e_shortcut_selection): Assert @selection_data to be not NULL. (class_init): Don't set up the `target_list' anymore. (storage_sort_callback): Actually compare the two nodes, not the first node with itself. * e-storage-set.c (e_storage_set_async_copy_folder): New. (e_storage_set_async_move_folder): New. 2001-03-22 Christopher James Lahey * e-storage-set-view.c (etree_get_save_id): Changed get_save_id to just return a strdup of the path. (new_storage_cb, new_folder_cb, insert_folders, insert_storages): Call e_tree_memory_sort_node. 2001-03-21 Ettore Perazzoli * e-storage-set-view.c (etree_get_save_id): If we have no associated StorageSet yet, just return "root". [This can happen when this function is called at construction time.] 2001-03-21 Ettore Perazzoli * Evolution-ShellComponentDnd.idl: StudlyCapsify struct members to match the new IDL naming standards. * e-storage-set-view.c: Updated accordingly. 2001-03-21 Ettore Perazzoli * e-storage-set-view.c (tree_drag_data_get): Get the target type from the atom, and pass it through the `SourceFolder::getData' invocation. Also, signal an error by passing `-1' as the length value to `gtk_selection_data_set()'. (find_matching_target_for_drag_context): New helper function. (tree_drag_motion): Use it to figure out a suitable type for the drop action, and pass it to the `DestinationFolder::handleMotion' method. * e-storage-set-view.c (get_component_at_node): New helper function. (table_drag_begin): Use it. (convert_corba_drag_action_to_gdk): New helper function. (table_drag_motion): Use the `DestinationFolder::handleMotion' method to handle the "drag_motion" signal. * Evolution-ShellComponentDnd.idl: Change the signature for the `handleMotion' method so that it only has @suggested_action parameter. 2001-03-20 JP Rosevear * importer/Makefile.am: make sure intelligent.h gets disted 2001-03-19 Christopher James Lahey * Merged e-tree-rework-branch: 2001-03-19 Christopher James Lahey * e-storage-set-view.c (etree_get_save_id): Made "root" detection deal properly with removed nodes. 2001-03-18 Christopher James Lahey * e-shell-view.c (e_shell_view_save_settings): Added some unused code to implement saving of the expanded state. * e-storage-set-view.c: Added has_save_id and get_save_id methods. 2001-03-13 Christopher James Lahey * e-storage-set-view.c (ETREE_SPEC): Set draw-grid here to false. 2001-03-09 Christopher James Lahey * e-storage-set-view.c, e-storage-set-view.h: Chaned this to use ETree instead of ETable. 2001-03-19 Ettore Perazzoli * evolution-shell-component-client.c: New members `dnd_source_folder_interface' and `dnd_destination_folder_interface' in `EvolutionShellCompoentClientPrivate'. (init): Initialize. (impl_destroy): Clean up. (evolution_shell_component_client_get_dnd_source_interface): New. (evolution_shell_component_client_get_dnd_destination_interface): New. 2001-03-19 Ettore Perazzoli * e-storage-set-view.c (init): Ooops. Initialize the `drag_corba_source_context' member. correctly. (table_drag_begin): Don't crash if queryInterface returns `CORBA_OBJECT_NIL'. (table_drag_end): Don't do anything if the `drag_corba_source_interface' is `CORBA_OBJECT_NIL'. 2001-03-19 Ettore Perazzoli * e-storage-set-view.c New members `drag_data', `drag_corba_source_interface' and `drag_corba_source_context in `EStorageSetViewPrivate'. (init): Init the new members. (destroy): Clean up the new members. (table_drag_begin): Query for the `EvolutionShellComponentDnd::SourceFolder' interface on the handler for the folder we are dragging from, and initialize all the CORBA context information for the drag, after invoking `::beginDrag()' on it. (convert_gdk_drag_action_to_corba): New helper function. (table_drag_data_get): Get the data using `::SourceFolder::getData'. (table_drag_end): New, override for the "ETable::table_drag_end" signal. Invoke `::endDrag' on the SourceFolder interface, unref/release the interface, and clean up the source context. (table_drag_data_delete): New, override for the "ETable::table_drag_data_delete" signal. (class_init): Install `table_drag_end' and `table_drag_data_delete'. * Evolution-ShellComponentDnd.idl: Derive `::DestinationFolder' and `SourceFolder' from `Bonobo::Unknown'. 2001-03-19 Ettore Perazzoli * e-storage-set-view.c (table_drag_data_get): Don't get the selection through `evolution_shell_component_client_get_dnd_selection()'. * evolution-shell-component.c (impl_ShellComponent_getDndSelection): Removed. (class_init): Don't install. * evolution-shell-component-client.c (evolution_shell_component_client_get_dnd_selection): Removed. * Evolution-ShellComponentDnd.idl: New file with the DnD stuff. * Evolution-ShellComponent.idl: Removed the dnd stuff. 2001-03-15 Pablo Saratxaga * main.c: fixed a no-c-format tag 2001-03-14 Ettore Perazzoli * importer/Makefile.am (INCLUDES): Remove `-g Wall' and friends. Use `$(EXTRA_GNOME_CFLAGS)' instead of `$(GNOME_INCLUDEDIR)'. Add `-I$(top_builddir)/shell'. 2001-03-13 Iain Holmes * importer/intelligent.c (start_importer): Add a "Don't ask me again" checkbox and don't ask about an importer if the box was ticked. 2001-03-12 Iain Holmes * Evolution-Storage.idl: Add a FolderResult structure. * e-local-storage.c (struct _AsyncCreateFolderCallbackData): Add a Bonobo_Listener. (notify_listener): Function to...notify the listener. (component_async_create_folder_callback): Use the notify_listener function. (real_do_folder_create): New prototype. Replace all returns with a call to notify_listener. Make the directory with a call to e_mkdir_hier instead of multiple calls to mkdir. Only emit a fail on a bad error, not on EEXIST. (bonobo_interface_create_folder_cb): Namespace create_folder_cb to match the others. e-shell.c: Run the intelligent importer. evolution-storage.c (impl_Storage_async_create_folder): Just emit the signal, not the callback. (e_marshal_NONE__POINTER_POINTER_POINTER_POINTER_POINTER): Lovely signal marshaller. (class_init): Change the signal definition for the create_folder signal. importer/GNOME_Evolution_Importer.idl: Add an IntelligentImporter inteface. importer/Makefile.am: Add the evolution-intelligent-importer.c, intelligent.c and evolution-intelligent-importer.h to the files. importer/evolution-importer-listener.[ch]: Convert to BonoboXObject. importer/evolution-importer.[ch]: BonoboXObjectification. importer/evolution-intelligent-importer.[ch]: BonoboXObject for the GNOME:Evolution:IntelligentImporter interface. importer/intelligent.c: Code for running the intelligent importers. 2001-03-08 Ettore Perazzoli * e-storage-set-view.c (get_folder_at_row): New helper function. (create_target_list_for_row): Use it. (table_drag_data_get): Get the selection from the shell component using `evolution_shell_component_client_get_dnd_selection()'. (set_e_shortcut_selection): Turn a `g_return_if_fail()' into a `g_assert()'. * evolution-shell-component.c: New member `get_dnd_selection_fn' in `EvolutionShellComponentPrivate'. (evolution_shell_component_construct): New arg @get_dnd_selection_fn. (evolution_shell_component_new): Likewise. (impl_ShellComponent_getDndSelection): New, implementation for `ShellComponent::getDndSelection'. (class_init): Install it. * evolution-shell-component-client.c (evolution_shell_component_client_get_dnd_selection): New, wrapper for `ShellComponent::getDndSelection'. * evolution-shell-component.h: Renamed `EvolutionShellComponentPopulateFolderContextMenu' into `EvolutionShellComponentPopulateFolderContextMenuFn'. New function pointer typedef `EvolutionShellComponentGetDndSelectionFn'. * Evolution-ShellComponent.idl: New method `ShellComponent::getDndSelection'. * e-storage-set-view.c (create_target_entries_from_dnd_type_list): Always add an `E_SHORTCUT_TYPE' type at least. (create_target_list_for_row): Don't return NULL if the list of exported DND types is NULL. Don't create an unused target list. Actually return the created target list. (table_drag_data_get): If the @info is zero, set the e-shortcut selection. (set_uri_list_selection): Temporarily disabled. 2001-03-07 Ettore Perazzoli * e-component-registry.c (register_type): New args @num_exported_dnd_types, @exported_dnd_types, @num_accepted_dnd_types, @accepted_dnd_types. Pass them to `e_folder_type_registry_register_type()'. (register_component): Updated accordingly, getting the values from the CORBA `GNOME::Evolution::FolderType' struct. * e-folder-type-registry.c: New members `accepted_dnd_types' and `exported_dnd_types' in `struct _FolderType'. (e_folder_type_registry_register_type): New args @num_accepted_dnd_types, @accepted_dnd_types, @num_exported_dnd_types, @exported_dnd_types. (register_folder_type): Likewise. (folder_type_new): Likewise. Use them to initialize `accepted_dnd_types' and `exported_dnd_types' in the newly created `FolderType' struct. (e_folder_type_registry_get_accepted_dnd_types_for_type): New. (e_folder_type_registry_get_exported_dnd_types_for_type): New. * e-storage-set-view.c: New #defined constant `DRAG_RESISTANCE'. New members `drag_x', `drag_y', `drag_column', `drag_row' in `EStorageSetViewPrivate'. (init): Initialize them. (button_press_event): New function, overriding for the `::button_press_event' method. (motion_notify_event): New function, overriding for the `::motion_notify_event' method. (class_init): Install them. * evolution-shell-component.c (duplicate_null_terminated_string_array): New helper function. (evolution_shell_component_construct): Copy the values for `accepted_dnd_types' and `exported_dnd_types' from the original folder type list using it. (destroy): Free the `exported_dnd_types' and `accepted_dnd_types' members too. (fill_corba_sequence_from_null_terminated_string_array): New helper function. (impl_ShellComponent__get_supported_types): Also set the `exported_dnd_types' and `accepted_dnd_types' values in the folder type elements we return. * evolution-shell-component.h: Added `accepted_dnd_types' and `exported_dnd_types' members to `EvolutionShellComponentFolderType'. * Evolution-ShellComponent.idl: Renamed `accepted_dnd_mime_types' to `accepted_dnd_types' and `exported_dnd_mime_types' to `exported_dnd_types'. These are not necessarily MIME types. 2001-03-05 Christopher James Lahey * e-storage-set-view.c: Override cursor_activated signal instead of cursor_changed signal. 2001-02-27 Dan Winship * main.c (development_warning): Update this again. 2001-02-26 Ettore Perazzoli * Evolution-Shell.idl: Rename `FolderTypeList' to `FolderTypeNameList' as it was confusing. * Evolution-ShellComponent.idl: New members `accepted_dnd_mime_types' and `exported_dnd_mime_types' in `struct FolderType'. 2001-02-24 Jeffrey Stedfast * e-storage.c (folder_changed_cb): Don't free a const pointer. 2001-02-23 Iain Holmes * e-local-storage.c (construct): Connect to the create-folder signal. (impl_async_create_folder): Move this into the real_do_folder_create function. (real_do_folder_create): Function that creates the folder. (create_folder_cb): Creates the folder form a callback. 2001-02-21 Michael Meeks * importer/importer.c: add include. (show_import_wizard): update signature to that of a verb. * evolution-shell-component.c (corba_class_init): move into (class_init): here & upd. (evolution_shell_component_construct): upd. (create_servant): kill. (E_MAKE_TYPE) -> E_MAKE_X_TYPE. 2001-02-20 Dan Winship * e-folder.c (_EFolderPrivate): split "highlighted" into self_highlight and child_highligh. (e_folder_get_highlighted): Return TRUE if either self_highlight is true or any child is highlighted. (e_folder_set_child_highlight): New function to tell the folder about a child highlight change. * e-storage.c (folder_changed_cb): Update child highlights correctly on folders so that folders will be highlighted whenever their children are. 2001-02-17 Christopher James Lahey * e-shell-view-menu.c (file_verbs): Cast this fucntion pointer. * e-storage-set-view.c (ETABLE_SPEC): Turn on horizontal scrolling here. * evolution-shell-component.c (impl_ShellComponent_async_copy_folder): Commented out this unused function. * evolution-storage.c (storage_gtk_to_corba_result): Removed an unused variable here. * importer/importer.c: Include gal/widets/e-gui-utils.h. 2001-02-14 Dan Winship * Evolution-Storage.idl: add asyncCreateFolder and asyncRemoveFolder interfaces. (Use Bonobo::Listener rather than creating a new listener interface.) * Evolution-LocalStorage.idl: Remove the Evolution::LocalStorageOpsListener interface, which wasn't being used. * evolution-storage.c (impl_Storage_async_create_folder, impl_Storage_async_remove_folder): implement by emitting signals on the EvolutionStorage object. Convert from EvolutionStorageResult to GNOME_Evolution_Storage_Result (blah!) (class_init): Set up the new "create_folder" and "remove_folder" signals. * e-corba-storage.c (async_create_folder, async_remove_folder): Implement, using the new Evolution::Storage IDL. Convert from GNOME_Evolution_Storage_Result to EStorageResult (blah!) * e-storage-set.c (e_storage_set_async_create_folder): Don't allow a NULL description (since it doesn't allow a NULL anythign else). * e-shell-folder-creation-dialog.c (dialog_clicked_cb): Pass "" rather than NULL for the description. 2001-02-12 Kjartan Maraas * Makefile.am: xml-i18n-tools setup. * GNOME_Evolution_Shell.oaf.in: Mark strings for translation. 2001-02-10 Ettore Perazzoli * e-shell-view-menu.c: Moved the author list to the top of the file. (command_about_box): Display the `SUB_VERSION' as well. 2001-02-08 Ettore Perazzoli * e-shell-folder-creation-dialog.c (dialog_clicked_cb): Destroy the dialog instead of using `gnome_dialog_close()'. (dialog_clicked_cb): Likewise. (dialog_close_cb): Removed. (e_shell_show_folder_creation_dialog): Don't connect to the "close" signal anymore. * e-shell-folder-selection-dialog.c (folder_creation_dialog_result_cb): New callback. Set the default folder to be the newly created one. (impl_clicked): Use it. * e-shell-folder-creation-dialog.c: Add members `folder_path', `result_callback' and `result_callback_data' to `struct _DialogData'. (e_shell_show_folder_creation_dialog): New args @result_callback and @result_callback_data. (async_create_cb): Notify the result through the specified callback. (dialog_clicked_cb): Likewise. Set the `folder_path' in the DialogData so that we can pass it over when we get the async notification of the result of the operation. * e-shell-folder-creation-dialog.h: New type `EShellFolderCreationDialogCallback'. * e-storage-set-view.c (e_storage_set_view_set_current_folder): Show the node too, using `e_tree_model_show_node()'. 2001-02-05 Ettore Perazzoli * e-setup.c (copy_default_stuff): s/first time you run/first time you are running/. 2001-02-02 Ettore Perazzoli * e-component-registry.h: Don't #include . * e-corba-storage-registry.h: Likewise. * e-corba-storage.h: Likewise. * e-folder-type-registry.h: Likewise. * e-folder.h: Likewise. * e-local-folder.h: Likewise. * e-local-storage.h: Likewise. * e-shell-folder-title-bar.h: Likewise. * e-shell-view.h: Likewise. * e-shell.h: Likewise. * e-shortcuts-view.h: Likewise. * e-shortcuts.h: Likewise. * e-splash.h: Likewise. * e-storage-set-view.h: Likewise. * e-storage-set.h: Likewise. * e-storage.h: Likewise. * evolution-local-storage.h: Likewise. * evolution-session.h: Likewise. * evolution-shell-client.h: Likewise. * evolution-shell-component.h: Likewise. * evolution-shell-view.h: Likewise. * evolution-storage-listener.h: Likewise. * evolution-storage.h: Likewise. 2001-02-02 Iain Holmes * importer/evolution-importer-client.c: (evolution_importer_client_new_from_id): Free the CORBA_Environment. 2001-01-30 Iain Holmes * importer/importer.c: (start_import): Added a notice if there is no importer that can handle the file. (get_iid_for_filetype): Free the list of multiple items before returning. (importer_timeout_fn): Removed notice. (import_cb): Removed notice. 2001-01-30 Iain Holmes * importer/importer.c: Added a nasty hack to change the druids Finish button to be Import. * importer/import.glade: Remove the FIXME warning. 2001-01-30 Kjartan Maraas * importer/importer.c: Fixed some typos. 2001-01-28 Ettore Perazzoli * e-shell-folder-creation-dialog.c (add_storage_set_view): Set the shadow type to be `GTK_SHADOW_IN' in the EScrollFrame. 2001-01-27 Ettore Perazzoli * e-shell-view.c (storage_set_view_box_button_release_event_cb): Don't pop down the folder bar if the button release happens in the e-paned's handle. (storage_set_view_box_button_release_event_cb): Changed the return value to be int. Stupid me. 2001-01-27 Jason Leach * e-shortcuts-view.h: Fix #include to point to gal instead of widgets/shortcut-bar/ * e-shortcuts.c: Here too. * e-shortcuts-view-model.h: And lastly here. * Makefile.am (evolution_LDADD): Don't link with the old widgets/shortcut-bar/libshortcut-bar.la anymore, gal has the new shortcut-bar. 2001-01-27 Ettore Perazzoli * e-storage-set-view.c (get_pixbuf_for_folder): Don't scale if the size is the same. `gdk_pixbuf_scale()' seems to be blurring the image even if the scaling factor is 1.0. 2001-01-26 Ettore Perazzoli * e-corba-storage.c: Remove all instances of `__FUNCTION__'. * e-folder-tree.c: Likewise. * e-folder-type-registry.c: Likewise. * e-shell-view.c: Likewise. * e-shell-view-menu.c: Likewise. 2001-01-25 Ettore Perazzoli * e-shell-view.c (e_shell_view_construct): Connect the "updated_folder" with `gtk_signal_connect_while_alive()' so that it gets disconnected when the shell view dies. 2001-01-24 Jason Leach (Fix #1252: Need a File->Close way to close a view) * e-shell-view-menu.c (command_close): New function, destroys the current view. * e-shell.c (view_destroy_cb): Make sure shell settings get saved when the last view is destroyed. 2001-01-24 Kjartan Maraas * importer/GNOME_Evolution_Importer.idl: Fix missing ';'. 2001-01-23 Ettore Perazzoli * e-corba-storage.c (impl_StorageListener_update_folder): Don't call `e_storage_updated_folder()' as it's supposed to happen automatically now. * e-storage.c (e_storage_updated_folder): Removed. (folder_changed_cb): New callback for the "changed" signal on the EFolders. (e_storage_new_folder): Connect it. * e-folder-tree.c: New member `data_to_path' in `EFolderTree'. (e_folder_tree_new): Init here. (e_folder_tree_destroy): Destroy it here. (e_folder_tree_add): Add to the `data_to_path' hash. Make sure we are not adding the same folder twice. (remove_folder): Remove from the `data_to_path' hash. (e_folder_tree_get_path_for_folder): New. * e-shell-view.c (e_shell_view_construct): Don't connect to the "folder_updated" signal of the local storage anymore. (folder_updated_cb): Removed. (updated_folder_cb): New. (e_shell_view_construct): Connect it to the "updated_folder" signal. * e-local-storage.c: Remove `FOLDER_UPDATED' enum value and the `signals' variable, as we don't want to define any custom signals here anymore. (bonobo_interface_update_folder_cb): No need to emit the "folder_updated" signal here. The base class will take care of this already. (class_init): Don't install the "folder_updated" signal here. * e-local-storage.h: Removed signal "folder_updated". It is not necessary, as we already have an `updated_folder' in `EStorage', which is the parent class of `ELocalStorage'. 2001-01-24 Iain Holmes * importer/GNOME_Evolution_Importer.idl: Removed the busy exception. 2001-01-19 Iain Holmes * importer/GNOME_Evolution_Importer.idl: Make the processItem oneway. Make the Listener interface inherit from Bonobo::Unknown. * importer/evolution-importer-client.[ch]: Remove all the crap to deal with creating the Listener object. * importer/evolution-importer-listener.[ch]: A new bonobo object to implement the ImporterListener interface. * importer/importer.c: Fix it up to use the new Listener object. 2001-01-18 Iain Holmes * e-shortcuts-view.c (show_new_group_dialog): Don't make the dialog modal. 2001-01-16 Iain Holmes * importer/GNOME_Evolution_Importer.idl: Removed the ImporterFactory interface and put the methods from it into the Importer interface. * importer/evolution-importer-factory.[ch]: Removed. * importer/evolution-importer.[ch]: Added the new methods. Added inline documentation for all public functions. * importer/evolution-importer-client.[ch]: Added new client support for the new methods. Added inline documentation for all public functions. * importer/importer.c (create_plugin_menu): Changed the query to look for IDL:GNOME/Evolution/Importer:1.0. (start_import): Do all CORBA methods through the EvolutionImporterClient. (get_iid_for_filetype): Change query to search for IDL:GNOME/Evolution/Importer:1.0. 2001-01-19 Dan Winship * evolution-storage.c (evolution_storage_folder_exists): New function. Obvious. 2001-01-19 Jason Leach (Bug #883: Shortcut bar does not update when a folders display name changes) * e-local-storage.c (class_init): Define a new "folder_updated" signal here. (bonobo_interface_update_folder_cb): Emit the new folder_updated signal here. * e-shell-view.c (e_shell_view_construct): Connect the EShell::ELocalStorage folder_updated signal here. Also connect the updated_folder signal coming from EShell::EStorageSet to the new callback. * e-shell-view.c (folder_updated_cb): Callback that actually initiates the shell updating. * e-shortcuts.c (e_shortcuts_update_shortcut_by_uri): New function. Given a URI for a shortcut bar item, we'll update it. * e-shortcuts.c (e_shortcuts_remove_shortcut_by_uri): New function. Given a URI for a shortcut bar item, we'll remove it. * e-shortcuts.c (removed_folder_cb): Connect this callback that will remove a renamed vfolder from the shortcut bar. Temporary fix to the problem of renaming vfolders and having the shortcut bar think the old vfolder still exists. (Bug #1168: Shortcut bar and icon size persistence) * e-shell-view.c (save_shortcut_bar_icon_modes): New static function, save the icon modes (for all shortcut bar groups, even though we only have one group now). (load_shortcut_bar_icon_modes): New static function, load the saved shortcut bar group icon modes and apply them to our shortcut bar. 2001-01-17 Federico Mena Quintero * importer/evolution-importer.h: Use "typedef enum { ... } Blah;" instead of "typedef enum _Blah Blah; enum _Blah { ... };" so that gtk-doc can parse it. Sigh. 2001-01-17 Ettore Perazzoli * e-shell-folder-selection-dialog.c (e_shell_folder_selection_dialog_construct): Set the shadow type for the EScrollFrame. Also, make the EStorageSetView widget grab the focus. For some reason it doesnt' seem to work, but I'll blame ETree for now. 2001-01-17 Ettore Perazzoli * e-shell-view.c (update_for_current_uri): Display the folder name before "Evolution" instead of after it. Also, display the sub-version string if it was defined when configuring. 2001-01-17 Ettore Perazzoli * e-storage-set-view.c (table_drag_drop): Don't emit the "dnd_action" signal here. Instead, do a `gtk_drag_get_data()' to retrieve information about the drop. (table_drag_data_received): New, implementation for `ETable::table_drag_data_received'. (class_init): Install it. (table_drag_data_get): Use `unsigned int' instead of `guint' for consistency. (table_drag_motion): Same here. Also use `int' instead of `gint'. (table_drag_drop): Likewise. (treepath_compare): Likewise. (marshal_NONE__ENUM_STRING_STRING_STRING): Removed. (marshal_NONE__GDKDRAGACTION_STRING_STRING_STRING): New. (class_init): Use it; update signal "dnd_action" so that it passes a `GdkDragAction *' instead of . * e-storage-set-view.h: Change signal "::dnd_action" so that it provides a `GdkDragContext' instead of just a `GdkDragAction'. 2001-01-16 Michael Meeks * e-shell-view.c (e_shell_view_construct): set config path on window. 2001-01-16 JP Rosevear * e-shell-folder-title-bar.c (e_shell_folder_title_bar_new): pop the visual/cm after the construct 2001-01-15 JP Rosevear * e-shell-folder-title-bar.c (e_shell_folder_title_bar_new): push/pop the color map (e_shell_folder_title_bar_new): and the visual... 2001-01-15 Iain Holmes * importer/importer.c (import_druid_cancel): Just destroy the wizard. All other freeing code is moved into import_druid_destroy. (show_import_wizard): Connect the destroy signal to import_druid_destroy. (start_import): Connect to the destroy signal of the dialog and the clicked as well. (dialog_destroy_cb): Stop the import after the current item has finished. (dialog_clicked_cb): Stop the import. (import_cb): Only process the next item if the dialog hasn't been stopped. Destroy the dialog if it hasn't been destroyed already. * e-splash.c (e_splash_construct): Set the window title to Evolution. 2001-01-13 Jason Leach (Fix bug #934: Add Right-click item to hide the shortcut bar) * e-shortcuts-view.c (class_init): Create a new hide_requested signal. (hide_shortcut_bar_cb): New function that gets called from the right click menu items, it emits the hide_requested signal. * e-shell-view.c (setup_widgets): Connect the hide_requested from the shortcut bar. (hide_requested_cb): New function. 2001-01-13 Ettore Perazzoli * e-storage-set-view.h: New signal `dnd_action'. * e-storage-set-view.c: Renamed `drag_types' to `source_drag_types' and `num_drag_types' to `num_source_drag_types'. New variables `destination_drag_types' and `num_destination_drag_types'. (e_storage_set_view_construct): Set the ETree as a drag destination. Allow both GDK_ACTION_MOVE and GDK_ACTION_COPY. * e-storage-set-view.c (table_drag_begin): Renamed from `etable_drag_begin'. (table_drag_data_get): Renamed from `etable_drag_data_get'. Changed to be a method override instead of a signal handler. (table_drag_motion): New; implementation for the `ETable::table_drag_motion' method. Changed to be a method override instead of a signal handler. (table_drag_drop): New, implementation for `::table_drag_drop'. (cursor_change): Renamed from `on_cursor_change'. (e_storage_set_view_construct): Don't connect the signals here. (class_init): Instead, override the methods here. Also, install our override for `::table_drag_motion' and for `::table_drag_drop'. (right_click): Changed to be a method instead of a signal handler. (cursor_change): Likewise. 2001-01-13 Miguel de Icaza * e-shell.c (e_shell_construct): Unref our copy, and then destroy. * e-splash.c (e_splash_set_icon_highlight): Do not execute code if we have been destroyed. (e_splash_add_icon): ditto. 2001-01-12 Miguel de Icaza * e-splash.c (e_splash_construct): Ok, talked to Ettore. Going back to TOPLEVEL non-POPUP. (e_splash_construct): Remove nice toplevel window. 2001-01-12 Ettore Perazzoli * evolution-shell-component.c: Add member `copy_folder_fn' to `EvolutionShellComponentPrivate'. (init): Init to NULL. (impl_ShellComponent_async_copy_folder): New function, implementation for `::asyncCopyFolder'. (evolution_shell_component_construct): New arg @copy_folder_fn. Set the corresponding member in `EvolutionShellComponentPrivate'. (evolution_shell_component_new): New arg @copy_folder_fn. Pass it to `evolution_shell_component_construct'. * evolution-shell-component.h: New type `EvolutionShellComponentCopyFolderFn'. 2001-01-12 Ettore Perazzoli * Evolution-ShellComponent.idl: Add method `::removeFolderAsync'. 2001-01-12 Ettore Perazzoli * evolution-shell-component.c (corba_class_init): s/addFolderAsync/createFolderAsync/. * evolution-shell-component-client.c (evolution_shell_component_client_async_create_folder): s/addFolderAsync/createFolderAsync/. * Evolution-ShellComponent.idl: Rename `addFolder' into `createFolder'. 2001-01-12 Dan Winship * importer/.cvsignore: Create 2001-01-12 Miguel de Icaza * e-storage-set-view.c: Added translation strings. * e-shell-view-menu.c (command_about_box): Update our name (command_new_mail_message): Remove "window" from the moniker path. * e-splash.c (e_splash_construct): Make the spalsh screen a toplevel instead of a popup. 2001-01-11 Dan Winship * e-shell-view.c (show_existing_view): Remove the "Already have view for..." message. People keep assuming it's an error. 2001-01-11 Iain Holmes * importer/*: New directory containing the importer framework. * e-shell-view-menu.c (file_verbs): Add the FileImporter verb. 2001-01-10 Miguel de Icaza * e-shell-view-menu.c (command_goto_folder): Fix prototype (command_new_view): ditto. (command_new_mail_message): Implement command_new_mail_message. verbs: Use BONOBO_UI_VERB instead of BONOBO_UI_UNSAFE_VERB 2001-01-04 Dan Winship * evolution-storage.c (evolution_storage_update_folder_by_uri): New function to update a folder given its URI. Plus associated changes to other functions to keep track of the path<->URI mappings. 2000-12-28 Ettore Perazzoli * evolution-shell-client.c (user_select_folder): Make sure the `*uri_return' and `*physical_uri_return' are always initialized on return, as that's what the caller expects. 2000-12-23 Jason Leach * e-shell-view-menu.c (command_run_bugbuddy): Fix a crash when the user tries to "Submit bug report" but doesn't have bug-buddy installed. Bug #633. 2000-12-23 Jason Leach * e-setup.c (copy_default_stuff): Make the "Evolution installation" dialog resizable. Bug #742. (check_evolution_directory): Here too. 2000-12-14 Iain Holmes * e-shell-folder-selection-dialog.c (dbl_click_cb): Modify to suit the new double click callback signature. Destroy the dialog after the double click as well. 2000-12-14 Ettore Perazzoli * main.c (development_warning): Slightly updated the text for the release. 2000-12-14 Ettore Perazzoli * e-splash.c (ICON_Y): Update for the size of the new splash. 2000-12-12 Jeffrey Stedfast * e-splash.c (button_press_event): Return TRUE as we have handled the event. 2000-12-12 Dan Winship * e-shell-view.c (get_control_for_uri): Pass path+1 rather than path to get_type_for_storage, to match the convention used by its other callers. 2000-12-11 Jeffrey Stedfast * e-splash.c (e_splash_construct): Connect a button-press-event signal on the splash screen so users can click it to hide it. (button_press_event): New callback to hide the splash screen. 2000-12-11 Dan Winship * e-shell-view.c (get_type_for_{folder,storage}): return NULL if no {folder,storage} is found. (get_control_for_uri): return NULL if no folder_type is found. 2000-12-08 Ettore Perazzoli * e-shortcuts-view.c (e_shortcuts_view_construct): Ooops. We were reffing a bogus pointer that was not assigned yet. * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): Updated according to the new IDL. * e-local-storage.c (construct): Pass `NULL' to `e_storage_construct' as the @toplevel_node_type arg. * evolution-shell-component-client.c (evolution_shell_component_client_new_for_objref): New. (evolution_shell_component_client_new): Refactored to use it. * e-corba-storage.c (e_corba_storage_construct): New arg @toplevel_node_type. Pass it to `e_storage_construct'. (e_corba_storage_new): New arg @toplevel_node_type. Pass it to `e_corba_storage_construct'. * e-storage.c: New member `toplevel_node_uri_type' in `EStoragePrivate'. (init): Init to NULL. (destroy): Unref. (e_storage_construct): New arg @toplevel_node_type. Set the private member value accordingly. (e_storage_new): New arg @toplevel_node_type. Pass to `e_storage_construct'. (e_storage_get_toplevel_node_type): New. * e-shell-view.c (get_physical_uri_for_evolution_uri): New arg @shell_view. (get_physical_uri_for_storage): Filled in. New arg @shell_view. (get_physical_uri_for_folder): Filled in. New arg @shell_view. * evolution-local-storage.c (evolution_local_storage_construct): Pass `NULL' as the @toplevel_node_type arg to `evolution_storage_construct'. * evolution-storage.c: New member `toplevel_node_type' in `EvolutionStoragePrivate'. (destroy): Free. (init): Init to NULL. (evolution_storage_construct): New arg @toplevel_node_handler to initialize the corresponding field in `->priv'. (evolution_storage_new): New arg @toplevel_node_type. Pass it to `evolution_storage_construct'. (evolution_storage_register): Pass the @toplevel_node_type arg to `::addStorage'. * Evolution-Storage.idl: Add arg @toplevel_node_type to `StorageRegistry::addStorage'. * main.c (new_view_on_running_shell): Deal with an exception in `::createNewView' gracefully. * e-shell-view.c (switch_on_folder_tree_click): New. (folder_selected_cb): Refactored to use it. (storage_selected_cb): Use it. 2000-12-07 Michael Meeks * Makefile.am (oaf_DATA): update to GNOME_Evolution_Shell.oafinfo * e-shell.h: upd. 2000-12-04 Ettore Perazzoli * Evolution-StorageSetView.idl: Arg @uri renamed to @name in `StorageSetViewListener::notifyStorageSelected'. * evolution-storage-set-view.c (storage_set_view_widget_storage_selected_cb): Renamed arg @uri to @name. * e-storage-set-view.c (on_cursor_change): Only emit the name of the storage for the "storage_selected" signal [i.e. remove the leading slash]. * e-shell-view.c (storage_selected_cb): New callback for the "storage_selected" signal on the EStorageSetView used for the folder tree. (setup_storage_set_subwindow): Connect it. * evolution-local-storage.c (evolution_local_storage_construct): Pass NULL as the @toplevel_node_uri arg to `evolution_storage_construct()'. * evolution-storage.c: New member `toplevel_node_uri' in `EvolutionStoragePrivate'. (init): Init to NULL. (destroy): Free. (evolution_storage_construct): New arg @toplevel_node_uri. Set the @toplevel_node_uri member in the private part to its value. (evolution_storage_new): New arg @toplevel_node_uri. Pass it to `evolution_storage_construct()'. (evolution_storage_register): Pass the @toplevel_node_uri value to the `::addStorage' CORBA method. * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): New arg @toplevel_node_uri, to go with the IDL change. * Evolution-Storage.idl (StorageRegistry::addStorage): New arg @toplevel_node_uri. * e-local-storage.c (construct): Pass NULL as the @toplevel_node_uri arg to `e_storage_construct()'. * e-corba-storage.c (e_corba_storage_construct): New arg @toplevel_node_uri. Pass it to `e_storage_construct()'. (e_corba_storage_new): New arg @toplevel_node_uri. Pass it to `e_corba_storage_construct()'. * e-storage.c: New member `toplevel_node_uri' in `EStoragePrivate'. (init): Init to NULL. (destroy): Free. (e_storage_construct): New arg @toplevel_node_uri. Set the `toplevel_node_uri' member in the private part to its value. (e_storage_new): New arg @toplevel_node_uri. Pass it to `e_storage_construct()'. (e_storage_get_toplevel_node_uri): New. * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): Renamed from `impl_StorageRegistry_register_storage'. (impl_StorageRegistry_removeStorageByName): Renamed from `impl_StorageRegistry_unregister_storage'. (corba_class_init): Updated accordingly. 2000-12-04 Ettore Perazzoli * main.c (new_view_on_running_shell): Don't crash if the object returned from `oaf_activate_from_id' is NIL and the exception isn't set. Just handle this as a normal error condition. 2000-12-04 Michael Meeks * e-shell-view.c (get_control_for_uri): return NULL if we can't create a view. (setup_evolution_shell_view_interface): add precondition. 2000-12-04 Ettore Perazzoli * e-shortcuts-view.c (e_shortcuts_view_construct): Ref the shortcuts. * main.c (new_view_on_running_shell): New. (idle_cb): If the shell cannot be created, then call `new_view_on_running_shell'. * e-shell-view.c: New member `shell_view_interface' in `EShellViewPrivate'. (init): Init to NULL. (setup_evolution_shell_view_interface): Set up. (destroy): Unref. * e-shell.c (impl_Shell_getComponentByType): Renamed from `impl_Shell_get_component_for_type'. (impl_Shell_selectUserFolder): Renamed from `impl_Shell_user_select_folder'. (impl_Shell_getLocalStorage): Renamed from `impl_Shell_get_local_storage'. (impl_Shell_createStorageSetView): Renamed from `impl_Shell_create_storage_set_view'. (corba_class_init): Updated accordingly. (impl_Shell_createNewView): New, implementation for the `createNewView' CORBA method. (corba_class_init): Install it. * Evolution-Shell.idl: New method `::createNewView'. * e-shell.c (register_shell): New. (e_shell_construct): Return value changed to `gboolean'. New arg @iid. Construct the Bonobo object before displaying the splash, then try to register it with the specified @iid. If registration fails, return %FALSE. Otherwise, just do everything normally and return %TRUE. (e_shell_new): Pass the OAFIID to `e_shell_construct()'. If it fails, unref the object and return NULL. * evolution.oafinfo: New. 2000-11-27 JP Rosevear * e-shell-view-menu.c (command_about_box): Add myself, anna, jesse 2000-11-15 Michael Meeks * e-shell.c (e_shell_component_maybe_crashed): de-register a component's UI if it dies. 2000-11-25 Peter Williams * Makefile.am (idldir): Install our IDL's into $(datadir)/idl. 2000-11-25 Federico Mena Quintero * e-setup.c (check_dir_recur): Plug leaks of the fullname and fulldefaultname. (check_evolution_directory): Plug leaks of defaultdir and newfiles and the list's data; made the code have a single return point. * e-shell.c (e_shell_restore_from_settings): Plug leak of prefix. (corba_class_init): Plug leak; we were not assigning the vepv->_base_epv. * evolution-storage.c (corba_class_init): Likewise. * evolution-local-storage.c (corba_class_init): Likewise. 2000-11-24 Federico Mena Quintero * evolution-shell-component.c (impl_ShellComponent__get_supported_types): Plug leak; mark the CORBA sequence so that it will be released. 2000-11-14 Michael Meeks * e-shell-view.c (unmerge_on_error): add (e_shell_view_construct): hook up to system_exception on ui_container. 2000-11-11 Matt Bissiri * e-shell.c: (setup_components), (save_settings_for_component): * evolution-storage.c: (evolution_storage_register_on_shell): Update the remaining "IDL:Evolution*" to "IDL:GNOME/Evolution*" to sync up with yesterday's IDL re-scoping. 2000-11-06 Michael Meeks * e-shell-view.c (unrealize): remove. (e_shell_view_construct): ditto. 2000-11-09 Christopher James Lahey * e-shell-view.c: Make the panes of the EPaned not shrinkable beyond their minimum size. 2000-11-08 Matt Bissiri * e-shell-folder-selection-dialog.c: Fix typo in a comment. 2000-11-06 Dan Winship * e-storage-set-view.c (insert_folders): Pass full_name, not folder_name to callback. 2000-11-06 Ettore Perazzoli * evolution-shell-view.c (impl_ShellView_change_current_view): Constified @uri. (impl_ShellView_set_title): Constified @title. 2000-11-06 Ettore Perazzoli * e-shell.c: New member `crash_type_names' in `EShellPrivate'. (init): Init to NULL. (destroy): Free. (e_shell_component_maybe_crashed): New. 2000-11-06 Ettore Perazzoli * evolution-shell-component.c (impl_ShellComponent_create_view): `CORBA_Object_duplicate()' the return value. 2000-11-06 Kjartan Maraas * e-setup.c: Added #include 2000-11-03 Ettore Perazzoli * main.c: New local static variables `evolution_directory', `no_splash'. (main): Removed local variable `evolution_directory'. Add a `--no-splash' command-line option for setting the value of `no_splash'. (idle_cb): Use the static `evolution_directory'. Make the newly created shell show the splash or not according to the value of `no_splash'. * e-shell.c (setup_components): Deal with a NULL @splash parameter. (e_shell_construct): New arg `show_splash'. Don't create a splash screen if FALSE; instead, pass NULL to `setup_components()' as the @splash arg. (e_shell_new): New arg `show_splash'. Pass it to `e_shell_construct()'. 2000-11-03 Dan Winship * evolution-storage-listener.c (class_init): Fix the name of the signal passed to gtk_signal_new so that this actually works. 2000-11-01 Dan Winship * evolution-storage.c (evolution_storage_new_folder): Make this take "highlighted" as well. * e-local-storage.c (new_folder): * e-corba-storage.c (impl_StorageListener_new_folder): set highlighted on the new folder. * e-storage-set-view.c (updated_folder_cb): Remove an unused variable. 2000-10-26 Iain Holmes * Evolution-ShellView.idl: Added a change_current_view method and a set_title. * evolution-shell-view.c (class_init): Added signals for the above methods. (impl_ShellView_change_current_view), (impl_ShellView_set_title): Implementations for above methods. (corba_class_init): Connect the implemenations. * e-shell-view.c (shell_view_interface_change_current_view): Change the display to the new uri. (shell_view_interface_set_title): Set the window title. (setup_evolution_shell_view_interface): Connect the signals to the above functions. 2000-11-01 Dan Winship * Evolution-Storage.idl: Add "highligted" field to Folder. Add update_folder method to StorageListener to change display_name and highlight status. * e-folder.c: Add "highlighted" to EFolder to match the Evolution::Folder type. (e_folder_get_highlighted, e_folder_set_highlighted): Added * evolution-storage-listener.c (impl_Evolution_StorageListener_update_folder, etc): * e-storage.c (e_storage_updated_folder, etc): * e-corba-storage.c (impl_StorageListener_update_folder, etc): Implement update_folder. * e-storage-set.c (storage_updated_folder_cb, etc): Re-emit updated_folder signals received from EStorage. * e-storage-set-view.c (various): Add another model column to the ETable and set it up as a bold_column based on e_folder_get_highligted. (updated_folder_cb, etc): Listen to EStorageSet update_folder signal and emit ETree node_changed signals. * evolution-storage.c (evolution_storage_update_folder): Client function to update a folder's display_name and highlighted status. * Evolution-LocalStorage.idl: * evolution-local-storage.c: * e-local-storage.c: Change set_display_name to update_folder to match Evolution::StorageListener 2000-10-25 * e-shortcuts-view-model.c (load_group_into_model): Set folder to NULL to kill warning 2000-10-23 Dan Winship * Makefile.am (INCLUDES): Update EVOLUTION_LOCALEDIR 2000-10-20 Michael Meeks * evolution-shell-component-client.c (evolution_shell_component_client_populate_folder_context_menu), (evolution_shell_component_client_create_view): update to new UI handler * e-shell-view-menu.c (command_create_folder): ditto. * e-storage-set-view.c (popup_folder_menu): ditto. * evolution-shell-component-client.h: kill ui-compat include. 2000-10-19 Iain Holmes *e-shell-view.c (e_shell_view_save_settings): If there is no view save the default uri instead. (socket_destroy_cb): When a view crashes, change the view to the default one. 2000-10-18 Michael Meeks * evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu): update for new UI handler. 2000-10-18 Iain Holmes * e-shell-view.c (start_progress_bar): If the widget is not realized don't do anything, to prevent BadGC's at shut down. (stop_progress_bar): Don't draw anything if the widget is not realized. Same reason. * e-shell-folder-selection-dialog.c (dbl_click_cb): Emit the folder-selected signal. (e_shell_folder_selection_dialog_construct): Connect to the e-table's double-click signal. 2000-10-17 Iain Holmes * e-shell.c (view_deleted_cb): Save the settings before the view is destroyed. (e_shell_quit): Don't save the settings when there are no views. 2000-10-16 Iain Holmes * e-setup.c (check_evolution_directory): Better dialog. * e-splash.c (icon_free): Don't unref the canvas item. (e_splash_construct): Add a frame round the splash screen. 2000-10-16 Dan Winship * evolution-storage-set-view-factory.c (evolution_storage_set_view_factory_new_view): Add a typecast. * e-storage-set-view.c (popup_folder_menu): Move variable declarations into the #if 0 to kill warnings. (populate_folder_context_menu_with_common_items, folder_context_menu_activate_cb): Move these into #if 0 too. * e-shell.c: Add prototype. * e-shell-view.c (storage_set_view_box_map_cb): * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct): Remove unused variables. * e-setup.c: Fix warning caused by e-util -> gal migration. 2000-10-11 Iain Holmes * e-setup.c (check_evolution_directory): Check if there are any files in default_user that are not in ~/evolution and if so copy them over. (check_dir_recur): Recursive function to check the directory. * e-shell-view-menu.c: Look Maw! I'm an Evolution hacker too. * e-shell-view.c: Don't quit on when a view is destroyed. * e-shell.c: Save the settings for the remaining views whenever a view is destroyed. 2000-10-15 Ettore Perazzoli * e-shell-view.c (setup_storage_set_subwindow): Use an EScrollFrame instead of a GtkScrolledWindow. 2000-10-14 Ettore Perazzoli * e-shell.c (e_shell_construct): Display a splash screen. (setup_components): New arg @splash, pointer to an ESplash. Display the icons of the components in the splash and highlight them as the components are activated. * e-splash.c: New. * e-splash.h: New. 2000-10-13 Anna Marie Dirks * e-shell-folder-creation-dialog.glade: Added focus to the folder-name text entry. 2000-10-11 Christopher James Lahey * e-storage-set-view.c: Fixed the spec on this. 2000-10-11 Christopher James Lahey * e-storage-set-view.c: Changed this to use the built in cells. 2000-10-11 Christopher James Lahey * e-storage-set-view.c: Adapted this for the new ETable system. 2000-10-09 Michael Meeks * e-shell-view-menu.c: Change paths in such a way as to require HEAD bonobo. (command_toggle_folder_bar, command_toggle_shortcut_bar): only respond to state changes. 2000-10-07 Matt Wilson * e-shell-view.c (init): initialize priv->sockets to NULL, fixes startup crash on non-ia32 platforms 2000-10-06 Ettore Perazzoli * e-shell-view.c: New member `sockets. (init): Init to NULL. (destroy): Free. Also, disconnect the "destroy" signal from them before the controls get destroyed. (find_socket): New function. [Thanks Dan.] (socket_destroy_cb): New callback for the destruction of a socket. (get_control_for_uri): Get the socket through `find_socket()' and connect the "destroy" signal to `socket_destroy_cb'. 2000-10-06 Chris Toshok * e-storage-set-view.c (insert_storages): call _set_compare_function after inserting the storage. 2000-10-06 Michael Meeks * e-shell-view.c (e_shell_view_display_uri): add a freeze / thaw pair to reduce flicker on switching controls. 2000-10-05 Michael Meeks * e-shell-view-menu.c (command_xml_dump): fix. 2000-10-05 Chris Toshok * e-shell-folder-creation-dialog.c: #include * e-shell-folder-selection-dialog.c: same. 2000-10-05 Chris Toshok * e-shell-folder-selection-dialog.c: add #include for libgnomeui/gnome-messagebox.h 2000-10-05 Michael Meeks * e-shell-view-menu.c (shortcut_bar_mode_changed_cb): upd. (folder_bar_mode_changed_cb): upd. (command_xml_dump): clobber. (e_shell_view_menu_setup): upd. * e-shell-view.c (shell_view_interface_set_message_cb): upd. (shell_view_interface_unset_message_cb): upd. (e_shell_view_construct): upd. (get_control_for_uri): upd. (e_shell_view_get_bonobo_ui_component): upd. 2000-10-04 Michael Meeks * e-shell-view.c (setup_progress_bar): remove evil usize set. 2000-10-03 Matt Bissiri * e-shell-view-menu.c (e_shell_view_menu_setup): Use `bonobo_ui_component_add_verb_list' instead of `bonobo_ui_component_add_verb_list_with_data' for help_verbs, so that `command_help' gets an html filename as user_data, instead of a ptr to EShellView. (menu_do_misc): Move DumpXML from help_verbs to here, because `command_xml_dump' needs to get EShellView as user_data. 2000-10-02 Ettore Perazzoli * e-shortcuts-view.c (show_new_group_dialog): Destroy the dialog if the user has clicked on "OK" or "Cancel". 2000-10-02 Chris Toshok * e-storage-set-view.c (e_storage_set_view_get_current_folder): if we're not displaying folders, the current folder is NULL. (class_init): fix typo. * Makefile.am (libeshell_a_SOURCES): evolution-storage-set-view-listener.[ch] should be here, not evolution_SOURCES. 2000-10-02 Chris Toshok * evolution-storage-set-view.c: add storage_selected behavior - loop over the listeners calling _storage_selected. * Evolution-StorageSetView.idl: add storage_selected to the Listener interface. * e-storage-set-view.c add storage_selected signal. (on_cursor_change): if the depth is less than 2, emit "storage_selected", otherwise emit "folder_selected". * e-storage-set-view.h: add storage_selected signal. * evolution-storage-set-view-listener.h: add storage_selected signal. * evolution-storage-set-view-listener.c: add storage_selected signal. 2000-10-02 Ettore Perazzoli * evolution-storage-set-view-listener.c: New. * evolution-storage-set-view-listener.h: New. 2000-10-02 Chris Toshok * evolution-storage-set-view.c (impl_StorageSetView_add_listener): fix typo. (impl_StorageSetView_remove_listener): same. (impl_StorageSetView__get_show_folders): implementation of getter for show_folders. (impl_StorageSetView__set_show_folders): implementation of setter for show_folders. (corba_class_init): install _set_show_folders and _get_show_folders. * Evolution-StorageSetView.idl: add show_folders attribute to StorageSetView. * e-storage-set-view.h: add prototypes for e_storage_set_view_{get,set}_show_folders. * e-storage-set-view.c (insert_storages): split this code out from e_storage_set_view_construct so we can call it when "show_folders" has been changed. (e_storage_set_view_construct): remove the code to insert storages. (e_storage_set_view_set_show_folders): new function. tears down existing tree and node/path hashtable and calls insert_storages. (e_storage_set_view_get_show_folders): new function, retrieves current show_folders state. 2000-10-02 Chris Toshok * evolution-storage-set-view-factory.c (evolution_storage_set_view_factory_new_view): pass storage_set_view_interface as second argument to bonobo_object_add_interface, and call gtk_widget_show on the storage_set_view widget. 2000-10-03 Michael Meeks * e-shell-view.c (setup_bonobo_ui_handler): kill. * e-shell-view-menu.c (e_shell_view_menu_setup): strip out the XML UI merge; move it to * e-shell-view.c (e_shell_view_construct): here, + freeze / thaw pair. * e-shell-view.c (setup_progress_bar): impl. (setup_widgets): hook in. (progress_bar_timeout_cb): fix. (start_progress_bar): fix. (stop_progress_bar): fix. (e_shell_view_construct): setup ui handler first. 2000-09-22 Michael Meeks * e-shell-view-menu.c (e_shell_view_menu_setup): upd. 2000-10-02 Chris Toshok * e-storage-set-view.c (new_folder_cb): set the new node's compare function. (insert_folders): same. (new_storage_cb): remove uunecessary cast. 2000-10-02 Chris Toshok * e-storage-set-view.c (new_storage_cb): track e-tree sort api change. (treepath_compare): same. (new_folder_cb): same. 2000-10-02 Chris Toshok * e-storage-set-view.c (e_storage_set_view_construct): pass NULL for the open/closed pixbuf of the tree renderer. we'll let it supply the default. (destroy): remove the expanded/unexpanded pixbuf references. (new_storage_cb): use e_tree_model_node_insert_id so we can (soon) save expanded/collapsed state. (new_folder_cb): same. (insert_folders): same. (e_storage_set_view_construct): same. 2000-10-02 Ettore Perazzoli * e-shell.c (impl_Shell_create_storage_set_view): New, implementation for `::create_storage_set_view'. (corba_class_init): Install. * evolution-storage-set-view-factory.c: New. * evolution-storage-set-view-factory.h: New. * evolution-storage-set-view.c: New. * evolution-storage-set-view.h: New. * Evolution-Shell.idl: New method `Shell::create_storage_set_view'. * Evolution.idl: #include . * Evolution-StorageSetView.idl: New. 2000-10-02 Ettore Perazzoli * evolution-storage.c (find_listener_in_list): New helper function. (impl_Storage_remove_listener): New, implementation for `Storage::remove_listener'. (remove_listener): Helper function for `impl_Storage_remove_listener'. (evolution_storage_get_epv): Install the implementation for `::remove_listener'. (add_listener): Return a boolean indicating success or failure. Reject multiple additions of the same listener. (impl_Storage_add_listener): Updated accordingly: raise an exception if `add_listener' fails. * Evolution-Storage.idl: Added `Storage::remove_listener'. Added exception `AlreadyListening' for `::add_listener'. 2000-09-29 Ettore Perazzoli * e-shell-view.c (popup_storage_set_view_button_clicked): Renamed from `popup_storage_set_view_close_button_clicked'. (storage_set_view_box_map_cb): Updated accordingly. Connect to "button_clicked" instead of "close_button_clicked". (disconnect_popup_signals): Updated accordingly. (e_shell_view_set_folder_bar_mode): Update the button mode of the title bar according to the folder bar mode. 2000-09-28 Dan Winship * e-corba-storage.c (impl_StorageListener_new_folder): Don't print "Folder registered successfully" if it didn't. (Duh. :) 2000-09-28 Ettore Perazzoli * e-shell-view.c: New constant `DEFAULT_URI'. (e_shell_view_load_settings): If the `DisplayedURI' from `gnome_config' cannot be displayed, display the `DEFAULT_URI'. 2000-09-26 Ettore Perazzoli * e-shortcuts.c (e_shortcuts_get_group_title): Cast the data pointer, not the node pointer. (e_shortcuts_add_group): If @group_num is -1, emit the effective group number with the "new_group" signal instead of -1, which is going to confuse the signal handler. (e_shortcuts_add_shortcut): Likewise with the shortcut. * e-shortcuts-view-model.c (shortcuts_new_group_cb): We are @data, not @shortcuts. (class_init): Install the `::destroy' handler. * e-shortcuts-view.c (e_shortcuts_view_construct): Set `priv->shortcuts'. (remove_shortcut_cb): Don't remove the item both on the data and the model. (toggle_small_icons_cb): Removed some crufty checks. (toggle_large_icons_cb): Likewise. (show_new_group_dialog): New, implementation for the "Create new shortcut group" dialog. (destroy_group_cb): Callback for the "Destroy this group" item. (create_new_group): Callback for the "Create new group" item. 2000-09-25 Ettore Perazzoli * e-shortcuts-view.c (item_selected): Renamed from `selected_item'. (class_init): Updated accordingly. (impl_shortcut_dropped): New function, implementation for `EShortcutBar::shortcut_dropped'. (impl_shortcut_dragged): New function, implementation for `EShortcutBar::shortcut_dragged'. (e_shortcuts_view_construct): Update to use EShortcutsViewModel. (class_init): Install them. * e-shortcuts.c (e_shortcuts_get_group_title): New. * e-shortcuts-view-model.c: New. * e-shortcuts-view-model.h: New. 2000-09-24 Ettore Perazzoli * e-shell.c (setup_local_storage): Don't unref the local storage. 2000-09-22 Michael Meeks * e-shell-view-menu.c (e_shell_view_menu_setup): upd. 2000-09-21 Federico Mena Quintero * e-shell-view-menu.c: Fix mis-spelling of "calendar". 2000-09-21 Michael Meeks * e-shell-view.c (show_existing_view): upd. * Evolution-ShellComponent.idl: upd. * evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu): upd. 2000-09-18 Michael Meeks * e-shell-view-menu.c (command_xml_dump): add xml dump option. 2000-09-18 Christopher James Lahey * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-component-registry.c, e-corba-storage-registry.c, e-corba-storage.c, e-folder-type-registry.c, e-folder.c, e-local-folder.c, e-local-storage.c, e-shell-folder-creation-dialog.c, e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c, e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c, e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c, e-storage.c, evolution-local-storage.c, evolution-session.c, evolution-shell-client.c, evolution-shell-component-client.c, evolution-shell-component.c, evolution-shell-view.c, evolution-storage-listener.c, evolution-storage.c, main.c: Fixed the #include lines to deal properly with gal. 2000-09-16 Michael Meeks * e-shell-view-menu.c (e_shell_view_menu_setup): use datadir. 2000-09-16 Ettore Perazzoli * e-shell-view.h: #include "bonobo-win.h", not "bonobo-app.h". 2000-09-15 Dan Winship * e-storage.c (get_path_for_physical_uri_foreach): foreach_data should be set to the caller-supplied data, not the tree item data. 2000-09-14 Iain Holmes * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct): Remove the *kludge* so that the button width is set properly. Fixes bug #XXXX 2000-09-14 Michael Meeks * e-shell-view-menu.c: Remove sillies in toggle paths. 2000-09-14 Michael Meeks * e-shell-view.c: move fn to bonobo. 2000-09-14 Christopher James Lahey * Makefile.am: Added $(GNOME_PRINT_LIBS) to evolution_LDADD. 2000-09-14 Michael Meeks * e-shell-view.c (e_shell_view_construct): prune cruft. (shell_view_interface_unset_message_cb), (shell_view_interface_set_message_cb): impl. 2000-09-14 Michael Meeks * e-shell-view-menu.c (e_shell_view_menu_setup): re-order to suit and add freeze / thaw, update paths to toggles, remove warnings 2000-09-07 Michael Meeks * e-shell-view-menu.c: Re-hash pretty much the whole file * ui.xml: Add. * e-shell-view.c (e_shell_view_construct): connect unrealize & delete_event to theit signals on the window (class_init): remove widget_class bits. 2000-09-06 Michael Meeks * e-shell.c (view_destroy_cb, destroy, e_shell_new_view, e_shell_quit): update to track object type change. * e-shell.c (e_shell_restore_from_settings): ditto. * main.c (idle_cb): ditto. * e-shell-view.c (e_shell_view_new, e_shell_view_construct, setup_widgets): updated for BonoboApp. (progress_bar_timeout_cb, start_progress_bar, stop_progress_bar), (shell_view_interface_set_message_cb, shell_view_interface_unset_message_cb): emasculated for now. * e-storage-set-view.c (popup_folder_menu): disable popup menu for now. 2000-09-13 Ettore Perazzoli * e-shell-view.c (popdown_transient_folder_bar): New. (storage_set_view_box_button_release_event_cb): Rewritten to use it. (folder_selected_cb): Pop down the transient folder bar if the folder bar mode is `TRANSIENT'. 2000-09-12 Ettore Perazzoli * ($(IDL_GENERATED)): Stupid `orbit-idl' wants a space after the `-I'. 2000-09-12 Lauris Kaplinski * e-shell-view.c (update_folder_title_bar): Translate UTF-8 2000-09-12 Ettore Perazzoli * Makefile.am: Remove the `ui.xml' stuff. 2000-09-11 Dan Winship * main.c (main): Initialize libunicode 2000-09-11 Christopher James Lahey * e-local-storage.c: Fixed some warnings. 2000-09-11 Ettore Perazzoli * e-shell-folder-selection-dialog.c (set_default_folder): Work on the assumption that @default_uri is not NULL. (e_shell_folder_selection_dialog_construct): Only call if the @default_uri is not NULL. 2000-09-11 Ettore Perazzoli * e-local-storage.c (new_folder): Removed debugging message. 2000-09-11 Ettore Perazzoli * evolution-storage.c (evolution_storage_new_folder): If description is NULL, use the empty string instead. * e-local-storage.c (new_folder): New utility function to add a new folder by keeping both the Bonobo interface and the EStorage up-to-date. (load_folders): Use it here instead of just `e_storage_new_folder()'. (component_async_create_folder_callback): Likewise. * e-shell-view.c (update_for_current_uri): Prevent an EStorageSetView warning if the path is NULL. * evolution-storage.c (impl_Storage_add_listener): New, implementation for `Evolution::Storage::add_listener'. (evolution_storage_get_epv): Install it. * evolution-storage-listener.c (evolution_storage_listener_corba_objref): New. (create_servant): Create the servant with `g_new0()' instead of `g_new()'. 2000-09-11 Ettore Perazzoli * evolution-storage-listener.c (evolution_storage_listener_construct): Unset the `GTK_FLOATING' flag as `EvolutionStorageListener' is self-owned. 2000-09-11 Ettore Perazzoli * e-storage.c (impl_list_folders): Removed. (impl_get_subfolder_paths): New static function, implementation for `::get_subfolder_paths'. (class_init): Install it. (e_storage_get_subfolder_paths): New. * e-storage.h: `list_folders' virtual method removed. New virtual method `list_subfolder_paths'. * e-storage-set-view.c (etree_icon_at): If the folder is not found, return NULL. * e-local-storage.c (bonobo_interface_set_display_name_cb): New function, callback for the `set_display_name' signal on the EvolutionLocalStorage. (construct): Connect it. * e-storage-set-view.c (folder_changed_cb): New callback for the "changed" signal emitted by the EFolders. It makes the model emit the "changed" signal for the appropriate row. (insert_folders): Connect it. 2000-09-09 Ettore Perazzoli * e-storage-set-view.c (etree_value_at): Return the name of the folder or the storage instead of just returning the last segment of the path. * e-storage-set.c (e_storage_set_get_folder): If the storage is not found, just return NULL to avoid a g_warning. 2000-09-09 Christopher James Lahey * e-shell-view.c: Fixed some warnings. 2000-09-09 Ettore Perazzoli * e-shell-view.c (update_for_current_uri): Make sure `folder_name' is always dynamically allocated, as we `g_free()' it. 2000-09-08 Lauris Kaplinski * e-shell-view.c (update_for_current_uri): Translate UTF-8 string 2000-09-08 Ettore Perazzoli * evolution-storage.c (list_through_listener_foreach): Don't crash on nodes with no data. [The root node has none indeed.] 2000-09-08 Ettore Perazzoli * e-folder-tree.c (e_folder_tree_get_folder): Return NULL if there is no folder with that @path, instead of segfaulting. 2000-09-08 Ettore Perazzoli * evolution-storage.c: New member `folder_tree' in `EvolutionStoragePrivate'. (init): Initialize it. (destroy): Destroy it. (list_through_listener): New. (add_listener): Use it to list all the current folders through the listener. (evolution_storage_new_folder): Add the thingie to the `folder_tree'. (evolution_storage_removed_folder): Remove the thingie from the `folder_tree'. 2000-09-08 Ettore Perazzoli * e-storage.c: Replaced the `path_to_folder' GHashTable with an EFolderTree named `folder_tree'. (init): Updated accordingly. (destroy): Updated accordingly. (free_private): Removed. (remove_folder): Removed. (folder_new): Removed. (folder_remove_subfolder): Removed. (folder_add_subfolder): Removed. (folder_destroy): Removed. (get_parent_path): Removed. (impl_list_folders): Reimplemented by using the `EFolderTree' methods. (e_storage_construct): Don't create the root folder here. (get_path_for_physical_uri_foreach): Updated to be an `EFolderTreeForeachFunc'. (e_storage_get_path_for_physical_uri): Likewise, updated to use `e_folder_tree_foreach()'. (e_storage_new_folder): Updated to use the EFolderTree. (e_storage_removed_folder): Likewise. (folder_destroy_notify): New function, for the destroy notification of `EFolder'. * evolution-storage-listener.c: Change the `servant' member in `EvolutionStorageListenerPrivate' into an `EvolutionStorageListenerServant'. * e-folder-tree.c: New. * e-folder-tree.h: New. 2000-09-08 Ettore Perazzoli * evolution-storage-listener.c (create_servant): Return an `EvolutionStorageListenerServant' instead of a `POA_Evolution_StorageListener'. (evolution_storage_listener_new): Add a cast accordingly. * evolution-storage.c (corba_class_init): Remove `NO_WARNINGS' madness. 2000-09-08 Christopher James Lahey * e-storage-set-view.c: Added base ETableModel functions. * evolution-storage-listener.c, evolution-storage.c: Fixed some warnings. 2000-09-08 Ettore Perazzoli * e-shell.c (set_owner_on_components): New. (e_shell_construct): Call it after setting up the local storage. * e-component-registry.c (register_component): Don't set the owner here. * evolution-shell-client.c (evolution_shell_client_get_local_storage): New. 2000-09-08 Ettore Perazzoli * evolution-shell-view.c (destroy): Chain to the parent's destroy method. * evolution-shell-component.c (destroy): Chain to the parent's destroy method. * evolution-storage.c: `corba_storage_listener' in `EvolutionStoragePrivate' replaced with a list of listeners, `corba_storage_listeners'. (init): Init to NULL. (add_listener): New utility function. (destroy): Destroy all the listeners. (evolution_storage_new_folder): Notify all the listeners. (evolution_storage_removed_folder): Likewise. * e-local-storage.c: New member `bonobo_interface' in `ELocalStoragePrivate'. (init): Init to NULL. (e_local_storage_get_corba_interface): New. * e-shell.c: New member `local_storage' in `EShellPrivate'. (init): Init to NULL. (setup_local_storage): Make it point to the newly created local storage. (destroy): Unref if not NULL. (impl_Shell_get_local_storage): New, implementation for `Evolution::Shell::get_local_storage'. (corba_class_init): Set it up. * evolution-local-storage-client.c: New. * evolution-local-storage-client.h: New. * evolution-local-storage.c: New. * evolution-local-storage.h: New. * evolution-storage-listener.c: New. * evolution-storage-listener.h: New. * Evolution-Storage.idl: New method `Storage::add_listener'. * Evolution-Shell.idl: New method `Shell::get_local_storage'. * Evolution-LocalStorage.idl: New. 2000-09-02 Lauris Kaplinski * e-shell-folder-creation-dialog.c: Use e_utf8 wrappers 2000-09-01 Chris Toshok * e-storage-set-view.c (removed_folder_cb): free node_data. (removed_storage_cb): same. (new_storage_cb): don't free the path we put in the node's node_data. (e_storage_set_view_set_current_folder): remove calls to set_cursor_row (-1), and clean up a little bit. 2000-09-01 Christopher James Lahey * e-local-storage.c: Strdup path when setting the callback data. * evolution-storage.c: Removed an unused variable. 2000-08-31 Chris Toshok * e-shell-view.c (init): initialize delayed_selection = NULL; 2000-09-01 Ettore Perazzoli * evolution-storage.c (evolution_storage_new_folder): Handle @path as the full path. * e-storage.c (e_storage_new_folder): Consider @path to be the full path, not the parent path. * e-local-storage.c (load_folders): Updated accordingly. * Evolution-Storage.idl: Member `name' of `struct Folder' renamed to `display_name'. 2000-08-31 Chris Toshok * e-shell-view.c: add delayed_selection to _EShellViewPrivate. (new_folder_cb): new function. check if the path is our delayed_selection and if so, select it. (folder_selected_cb): if the user selects something using a UI gesture, clear out a pending delayed selection. (e_shell_view_display_uri): if the uri isn't available, save it in the delayed_selection field, and set up the new_folder signal. 2000-08-29 Ettore Perazzoli * e-shell-view.c (shell_view_interface_set_message_cb): If the message contains a newline, only display the part until the newline, excluding the newline. Otherwise the status bar resizes nastily. 2000-08-28 Ettore Perazzoli * e-shell.c (setup_components): Removed the hardcoding of the shell component IDs. Rather, do an OAF query looking for the `Evolution::ShellComponent' interface and activate all the components in the result. (MAIL_COMPONENT_ID): Removed. (CALENDAR_COMPONENT_ID): Removed. (ADDRESSBOOK_COMPONENT_ID): Removed. * e-storage-set-view.c: Make `sort_model' static. 2000-08-25 Chris Toshok * e-storage-set-view.c: convert to use ETree instead of GtkCTree. * e-storage-set-view.h: change superclass from GtkCTree to ETable. * main.c (main): call e_cursors_init. * Makefile.am (evolution_LDADD): add libetable.a 2000-08-25 Peter Williams Silence some obvious assertions. * e-shell.c (e_shell_construct): Ref our shortcut bar to sink it. Same with the folder_type_registry. * e-shell-folder-title-bar.c (destroy): Only attempt to unref priv->icon if nonnull. * e-shell-view.c (update_folder_title_bar): Don't attempt to set the folder_icon/_name if they're NULL. 2000-08-24 Ettore Perazzoli * evolution-shell-component-client.c (evolution_shell_component_client_new): Don't abort if the component cannot be activated. Rather, just return NULL. 2000-08-20 arik devens * Makefile.am (evolution_LDADD): Added UNICODE_LIBS to link in the new e-text stuff. 2000-08-19 Christopher James Lahey * e-shell-folder-title-bar.c: Fixed a warning. 2000-08-19 Christopher James Lahey * e-shell-view.c: Fixed a warning. 2000-08-18 Larry Ewing * e-shell-folder-title-bar.c (style_set_cb): update the pixmap define E_USE_STYLES to disable the current darkening behavior (destroy): free the icon. (e_shell_folder_title_bar_construct): style_set_cb does everything important now. (e_shell_folder_title_bar_set_icon): actually store the pixbuf when we set it so that we still have it if the style changes and take care of refcounting them properly. 2000-08-17 Ettore Perazzoli * e-shell-view-menu.c (menu_create_file): Make capitalization of menu items consistent. (menu_create_view): Likewise. (menu_create_help): Likewise. (e_shell_view_menu_setup): Create a component menu placeholder so that components can add their own component-specific menus there. (menu_create_actions): Removed. (e_shell_view_menu_setup): Don't call it. (menu_create_tools): Removed. (e_shell_view_menu_setup): Don't call it. (menu_create_settings): New. (e_shell_view_menu_setup): Call it. 2000-08-13 Ettore Perazzoli * e-shell-view.c (delete_event): New. Make the parent shell quit. 2000-08-13 Ettore Perazzoli * e-shell-view.c (shell_view_interface_set_message_cb): Removed debugging message. (shell_view_interface_unset_message_cb): Likewise. 2000-08-13 Ettore Perazzoli * e-shell-view.c: New members `progress_bar_timeout_id', `progress_bar_value' in `EShellViewPrivate'. (init): Init them. (destroy): If the timeout id is not zero, remove the associated timeout. (progress_bar_timeout_cb): New. (start_progress_bar): New. (stop_progress_bar): New. (shell_view_interface_set_message_cb): If busy, start the progress bar. Otherwise, stop it. (shell_view_interface_unset_message_cb): Stop the progress bar. * e-shell-view.c (setup_widgets): Enable the progress bar in the appbar. * e-shell-view.c (shell_view_interface_unset_message_cb): New function, callback for the `EvolutionShellView::unset_message' signal. (shell_view_interface_set_message_cb): New function, callback for the `EvolutionShellView::set_message' signal. (setup_evolution_shell_view_interface): Connect these signals to a newly created EvolutionShellView object, add ::add_interface this object to the control's frame. * evolution-shell-view.c: New. * evolution-shell-view.h: New. * Evolution-ShellView.idl: New interface. 2000-08-10 Dan Winship * Evolution-ShellComponent.idl: add "in string evolution_homedir" to ShellComponent::set_owner's arguments. * e-shell.c (e_shell_get_local_directory): Expose local_directory. * e-component-registry.c (register_component): Pass the shell's "local_directory" to the component as its evolution_homedir. * evolution-shell-component.c (impl_ShellComponent_set_owner): Update to include evolution_homedir. (class_init): Update signal prototype. * evolution-shell-component-client.c (evolution_shell_component_client_set_owner): Update to include evolution_homedir. * e-init.c: Remove. This wasn't being used. 2000-08-10 Peter Williams * e-shell-view-menu.c (command_about_box): Add lil' ol' me to the about box. 2000-08-09 Christopher James Lahey * e-setup.c, e-shell.c: Fixed some warnings. 2000-08-09 Christopher James Lahey * e-shell-view.c: Fixed a warning. 2000-08-09 Ettore Perazzoli * e-shell-view-menu.c (menu_create_file_new): Create a placeholder for the print items. 2000-08-08 Dan Winship * e-setup.c (e_setup): Check for ~/evolution/shortcuts.xml in addition to ~/evolution, to make sure it's really the directory we're expecting it to be. Also, convert from old-style config file to new-style config directory. 2000-08-04 Michael Meeks * evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu): unref. * e-shell.c (e_shell_construct): Remove erroneous refs on folder_type_registry, storage_set. * e-shortcuts-view.c (destroy): unref the shortcuts, causing a massive ripple chain ref-count reaction. 2000-08-03 JP Rosevear * e-shell.h: Remove gconf references * e-shell-view.h: Remove gconf references * main.c (idle_cb): Remove gconf references * Makefile.am: Remove gconf cflags and libs * e-shell-view.c (e_shell_view_load_settings): Change to use gnome-config (e_shell_view_save_settings): ditto * e-shell.c (e_shell_restore_from_settings): Change to use gnome_config (save_settings_for_views): ditto 2000-08-03 Michael Meeks * e-shell-view.c (destroy): unref the UI handler. 2000-08-03 Jeffrey Stedfast * e-shell-folder-selection-dialog.c (set_default_folder): Make sure default_uri isn't NULL!! 2000-08-03 Ettore Perazzoli * e-shell-view-menu.c (command_goto_folder): Just use the current URI as the @default_uri parameter for `e_shell_folder_selection_dialog_new()'. * evolution-session.c (class_init): Call `corba_class_init()'. * e-shell-folder-selection-dialog.c (e_shell_folder_selection_dialog_new): @default_path renamed to @default_uri. (e_shell_folder_selection_dialog_construct): Likewise. If the @default_uri is an `evolution:' one, use it as a path; if it is different, assume it is a physical URI and consequently look for the folder that has that physical URI and make it the default. (set_default_folder): New helper function. (e_shell_folder_selection_dialog_construct): Use it. * e-storage-set.c (e_storage_set_get_path_for_physical_uri): New. * e-storage.c (e_storage_get_path_for_physical_uri): New. 2000-07-27 Dan Winship * main.c (idle_cb): work with either gconf 0.5 or newer 2000-07-26 Peter Williams * e-storage.c (e_storage_new_folder): Fix tiny mem leak. 2000-07-26 Ettore Perazzoli * e-shell-view.c (disconnect_popup_signals): Disconnect the "map" signal handler too. 2000-07-25 Ettore Perazzoli * e-shell-folder-creation-dialog.c (add_folder_types): Work around GtkOptionMenu utter brokenness by destroying the associated Glade-built GtkMenu and creating a new one from scratch. 2000-07-24 Dan Winship * e-shell.c, main.c: Remove GOAD support. * evolution-shell-component-client.c: Remove GOAD support. (evolution_shell_component_client_new): Give the "maybe OAF_INFO_PATH" message if no oafinfo file was found, and give a "consult previous error messages" message if the component was found but not activated. Abort in either case. 2000-07-23 Ettore Perazzoli * e-shell-view-menu.c: Converted to use `bonobo_ui_handler_*()' stuff directly, instead of converting from GnomeUIInfo. (command_quit): Update arg types for BonoboUIHandler. (command_run_bugbuddy): Likewise. (command_about_box): Likewise. (command_new_task): Removed. (command_new_journal_entry): Removed. (menu_create_file_new): New. (menu_create_file): New. (menu_create_edit): New. (menu_create_view): New. (menu_create_tools): New. (menu_create_actions): New. (e_shell_view_menu_setup): Create menus using them instead of converting from GnomeUIInfo. 2000-07-22 Ettore Perazzoli * e-shell.c (e_shell_construct): Don't unref NULL shortcuts, you idiot. 2000-07-22 Ettore Perazzoli * e-shell-view.c (e_shell_view_set_folder_bar_mode): Make the title bar non-clickable when the folder tree is visible. * e-shell-folder-title-bar.c: New members `button_arrow' and `clickable' in `EShellFolderTitleBarPrivate'. Renamed `label' into `button_label'. Added `label'. (init): Init them. (e_shell_folder_title_bar_construct): Pass a pointer to the title bar as the user data for the "realize" signal. Create `label'. (title_button_box_realize_cb): Use the `button_arrow' member instead of using `gtk_object_{set,get}_data()'. (setup_style): Set the style for `label' too. (e_shell_folder_title_bar_set_clickable): New. (e_shell_folder_title_bar_set_title): Set both `label' and `button_label'. 2000-07-21 Peter Williams * evolution-shell-client.c (user_select_folder): Don't use g_main_loop to block the caller; this will break when threads are enabled and GDK_THREADS_ENTER deadlocks. Use gtk_main / gtk_main_exit to enter and exit the main loop, which handles the recursive case correctly. (impl_FolderSelectionListener_selected): Same. (impl_FolderSelectionListener_cancel): Same. (struct _FolderSelectionListenerServant): No more main_loop member. 2000-07-21 Ettore Perazzoli * e-shell-view.c (storage_set_view_box_button_release_event_cb): Set the toggle state to FALSE on the title bar. * e-shell-folder-title-bar.c: Signal "title_clicked" replaced by "title_toggled". (setup_style): Change the style for the button too. (e_shell_folder_title_bar_construct): Use a GtkToggleButton, not a GtkButton. (e_shell_folder_title_bar_set_toggle_state): New. 2000-07-21 Ettore Perazzoli * e-shell-folder-title-bar.c (create_icon_pixmap): New. Create a small arrow-shaped GtkPixmap. (title_button_box_realize_cb): New. Callback for the "realize" signal of the button's inner box. * e-shell-view.c (title_bar_clicked_cb): New function, callback for the "title_clicked" signal of the title bar. (setup_widgets): Connect it. * e-shell-view.c: New member `storage_set_title_bar' in `EShellViewPrivate'. (setup_storage_set_subwindow): Set it. * e-shell-folder-title-bar.c: Use a GtkLabel instead of an EClippedLabel for the title. (title_button_clicked_cb): New. (e_shell_folder_title_bar_construct): Put the label into a button. Connect the button's "clicked" signal to `title_button_clicked_cb'. 2000-07-21 Ettore Perazzoli * evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu): If the pointer to the function to populate the folder context menu is NULL, don't do anything. 2000-07-21 Ettore Perazzoli * e-storage-set-view.c (popup_folder_menu): New. Create a BonoboUIHandler-managed pop-up menu, let the component fill it in with `::populate_folder_context_menu', and display it. Then destroy it with the associated BonoboUIHandler. (handle_right_button_selection): New. (handle_left_button_selection): New. This pops up the right-click menu. (button_release_event): Use them. (init): Set the `GTK_BUTTON_SELECTS' flag for button #3's actions. * evolution-shell-component-client.c (evolution_shell_component_client_populate_folder_context_menu): New. (evolution_shell_component_client_async_create_folder): Added preconditions. * e-shell-view.c (e_shell_view_save_settings): Add missing cast. * evolution-shell-component.c: New member `populate_folder_context_menu' in `EvolutionShellComponentPrivate'. (impl_ShellComponent_populate_folder_context_menu): New, implementation for `Evolution::ShellComponent::populate_folder_context_menu'. (corba_class_init): Install it. (evolution_shell_component_new): New arg @populate_folder_context_menu. (evolution_shell_component_construct): Likewise. * Evolution-ShellComponent.idl: New method `::populate_folder_context_menu'. 2000-07-20 Ettore Perazzoli * e-shell-view.c (e_shell_view_save_settings): Save the paned positions. (e_shell_view_load_settings): Restore them. 2000-07-20 Ettore Perazzoli * e-shell.c (save_settings_for_views): New. Code moved out of `e_shell_save_settings'. (e_shell_save_settings): Use it. (save_settings_for_component): New. (save_settings_for_components): New. (e_shell_save_settings): Use it, so that we make all the components save settings too. * e-component-registry.c (e_component_registry_get_id_list): New. (e_component_registry_get_component_by_id): New. * Makefile.am (libeshell_a_SOURCES): Add `evolution-shell-component-client' and `evolution-session'. * evolution-session.c: New. * evolution-session.h: New. * Makefile.am (evolution_SOURCES): Removed files that were already in `libeshell.a'. * Evolution.idl: #include . * Evolution-Session.idl: New. 2000-07-20 Ettore Perazzoli * main.c (no_views_left_cb): Call `e_shell_quit()' on the shell before getting out of the GTK+ main loop. (view_delete_event_cb): Removed. (idle_cb): Don't call it. * e-shell-view-menu.c (command_new_view): New, implementation of the "New view" command. 2000-07-16 Damon Chaplin * e-shortcuts-view.c (e_shortcuts_view_construct): created a model for the EShortcutBar. This will probably have to be moved to support multiple views. (class_init): #if'd out overriding the class functions. They don't exist any more (they are in the model instead). 2000-07-12 Christopher James Lahey * main.c: Fixed to match gconf API change. 2000-07-10 Dan Winship * main.c (development_warning): Update the message. 2000-07-10 Ettore Perazzoli * e-shell-folder-title-bar.c (title_button_clicked_cb): Temporarily `#if 0'ed out. 2000-07-10 Dan Winship * e-shell.c (impl_Shell_user_select_folder): Translate a default_folder of "" into NULL (which can't be passed over CORBA). 2000-07-10 Ettore Perazzoli * e-storage.c (e_storage_new_folder): Removed debugging message. * e-storage-set.c (storage_new_folder_cb): Removed debugging message. 2000-07-10 Federico Mena Quintero * e-shell-view.c (unrealize): As a quasi-hack, do a gdk_flush() when the shell view is unrealized so that the DeleteEvent gets sent to the remote plugs as soon as possible before we start making other CORBA calls. The problem is that our CORBA pipe is synchronous while our X pipe is asynch. We have to ensure ordering for certain operations. This is NOT the correct and complete fix, which should go in Bonobo. 2000-07-08 Ettore Perazzoli * e-shell-view.c (e_shell_view_display_uri): Don't update the current URI if there are problems creating a view for it. (show_error): Remove. Not used anymore. 2000-07-08 Ettore Perazzoli * e-shell-view-menu.c: Cleanup some unused menu items and added "FIXMEs" for the ones we plan to add in the short term but are not implemented yet. (command_create_folder): Get rid of an unused variable. 2000-07-07 Ettore Perazzoli * evolution-shell-client.c (user_select_folder): Fix small warning by adding proper cast when filling in the CORBA sequence struct. 2000-07-07 Ettore Perazzoli * e-shell.c (setup_corba_storages): Ref the CORBA storage registry. 2000-07-06 Ettore Perazzoli * evolution-storage.c: Removed `corba_storage_registry' member from `EvolutionStoragePrivate'. (destroy): Don't unref/release it. Call `StorageListener::destroy' to notify that we are dead. (evolution_storage_register): Don't ref and store the registry. 2000-07-05 Dan Winship * e-shell.c (e_shell_save_settings): Use the correct gconf path (/apps, not /app), and call gconf_client_suggest_sync at the end. (e_shell_restore_from_settings): Use the correct gconf path. 2000-07-05 Ettore Perazzoli * e-shell-view-menu.c (command_goto_folder): Set the folder selection dialog as transient for the shell view. (command_create_folder): New, bound to the "Create folder" command in the "File" menu. 2000-07-01 Ettore Perazzoli * e-shell.c (impl_Shell_user_select_folder): New arg @allowed_types. Pass it to the EShellFolderSelectionDialog. Connect to the "cancelled" and "folder_selected" signals instead of "clicked". (corba_listener_destroy_notify): New callback. (impl_Shell_user_select_folder): Associate it to the DestroyNotify for the "corba_listener" GtkObject data, so we don't leak it. (folder_selection_dialog_clicked_cb): Don't release the listener interface here. (folder_selection_dialog_cancelled_cb): New callback for the "cancelled" signal. (folder_selection_dialog_folder_selected_cb): New callback for the "folder_selected" signal. * e-shell-view-menu.c (command_goto_folder): Don't connect to "clicked". Connect to "cancelled" and "folder_selected" instead. (folder_selection_dialog_cancelled_cb): New, callback for the "cancelled" signal. (folder_selection_dialog_folder_selected_cb): New, callback for the "folder_selected" signal. * e-shell-folder-selection-dialog.c New members `allowed_types', `storage_set' in `EShellFolderSelectionDialogPrivate'. (class_init): Install signals "folder_selected", "cancelled". (init): Init to NULL. (impl_destroy): Free/unref them. (e_shell_folder_selection_dialog_new): New arg @allowed_types. (e_shell_folder_selection_dialog_construct): New arg @allowed_types. Initialize `priv->allowed_types' from it. (check_folder_type): New function. Check if the selected folder is of the appropriate type and, if not, return FALSE and pop up an error dialog. Otherwise, return TRUE. (impl_clicked): Use `check_folder_type()' to check if the folder type is OK. If it is not, stop emission of the "clicked" signal. * e-shell-folder-selection-dialog.h: New signals "folder_selected", "cancelled". * evolution-shell-client.c (evolution_shell_client_user_select_folder): New arg @allowed_types. (user_select_folder): New arg @allowed_types. Pass this to the ::user_select_folder method. * Evolution-Shell.idl: New arg @required_types in ::user_select_folder. 2000-07-01 Ettore Perazzoli * e-shell.c (setup_components): Don't ref the component registry. 2000-06-30 Dan Winship * Evolution-Shell.idl: add "cancel" to FolderSelectionListener. * evolution-shell-client.c (impl_FolderSelectionListener_cancel): Implement cancel (set *uri and *physical_uri to NULL). (evolution_shell_client_user_select_folder): document %NULL uri and physical_uri return values. * e-shell.c (folder_selection_dialog_clicked_cb): If the user clicked "Cancel" or used the wm to close the dialog, call _cancel instead of _selected. 2000-06-30 Ettore Perazzoli * evolution-shell-component.c (impl_ShellComponent_set_owner): Duplicate the object before storing it, you doofus. 2000-06-30 Ettore Perazzoli * evolution-shell-component.c (impl_ShellComponent_unset_owner): NULL the owner_client. 2000-06-30 Ettore Perazzoli * evolution-shell-client.h (evolution_shell_client_user_select_folder): Add prototype. 2000-06-29 Ettore Perazzoli * evolution-shell-component.c: New member `owner_client'. Removed member `corba_owner'. All the code updated to use it. (evolution_shell_component_get_owner): Changed so that it returns an EvolutionShellClient instead of the raw CORBA object. * evolution-shell-component.h: Change signal "owner_set" to get an EvolutionShellClient wrapper instead of a CORBA interface. * evolution-shell-client.c: New. * evolution-shell-client.h: New. 2000-06-29 Dan Winship * evolution-shell-component-client.c (evolution_shell_component_client_new): Update warning message to not say "CRASHING", since it won't if you have current bonobo. 2000-06-29 Peter Williams * e-shell.c (e_shell_restore_from_settings): Check for the insanely invalid NumberOfViews = 0 case. 2000-06-29 Peter Williams * e-shell.c (e_shell_construct): Ref the various E-things that we create to go with our unrefs in the destructor. 2000-06-29 Ettore Perazzoli * e-shell-view.c (e_shell_view_construct): Don't ref the shell. (destroy): Don't unref the shell. 2000-06-29 Ettore Perazzoli * e-shortcuts.c (e_shortcuts_construct): Fix typo: @shortcuts should unset `GTK_FLOATING', not @storage_set. * e-shell-view.c (get_storage_set_path_from_uri): If @uri is NULL, return NULL. * main.c (idle_cb): Restore the shell from the settings. If this fails, just create a new view. * e-shell.c (e_shell_save_settings): New. (e_shell_quit): Save settings before exiting. (e_shell_restore_from_settings): New. * e-shell-view.c (e_shell_view_save_settings): New. (e_shell_view_load_settings): New. * main.c (idle_cb): Initialize Gconf, create the GConfClient and pass it to `e_shell_new()'. * e-shell.c: New member `gconf_client' in `EShellPrivate'. (destroy): Unref it if not NULL. (init): Init to NULL. (e_shell_new): New param @gconf_client. (e_shell_construct): Likewise. * Makefile.am (INCLUDES): Add `GCONF_CFLAGS'. 2000-06-27 Ettore Perazzoli * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct): Enable the title bar button. 2000-06-27 Michael Zucchi * e-shell.c (folder_selection_dialog_clicked_cb): Close the dialog when done. Dont do anything if 'new' was pressed, and always return empty strings if 'cancel' was pressed. 2000-06-27 Michael Zucchi * e-shell.c (impl_Shell_user_select_folder): Set the listener as the corba_listener data, not the shell. 2000-06-26 Christopher James Lahey * glade/Makefile.am: Added EXTRA_DIST for make distcheck. 2000-06-19 Ettore Perazzoli * e-local-storage.c: Don't #define POSIX_SOURCE at all; this is not needed anymore as we no longer use `readdir_r'. 2000-06-19 Chris Toshok * e-local-storage.c: #undef _POSIX_SOURCE after including dirent.h. this breaks the build on freebsd if we leave it #defined. go figure. 2000-06-19 Dan Winship * evolution-shell-component-client.c (evolution_shell_component_client_new): Add a warning before crashing due to a known bug when it can't activate a component, so people don't have to waste any time trying to figure out what's up. 2000-06-13 Ettore Perazzoli * Makefile.am: Compile the CORBA-built files, evolution-shell-component.c and evolution-storage.c into a separate `libeshell.a' library. Link the `evolution' executable to it. Also cleaned up a bit and got rid of the `CPP_FLAGS' assignment. 2000-06-12 Michael Meeks * e-shell-folder-selection-dialog.c: include gnome-dialog.h (PARENT_TYPE): GNOME_TYPE_DIALOG replaced with gnome_dialog_get_type. 2000-06-10 Ettore Perazzoli * e-shell.c (impl_Shell_user_select_folder): New, implementation for `Shell:user_select_folder'. (corba_class_init): Install it. (folder_selection_dialog_clicked_cb): Callback for the folder selection dialog. * Evolution-Shell.idl: New method `Shell::user_select_folder'. New interface `FolderSelectionListener'. * glade/e-shell-folder-creation-dialog.glade: Make it larger. * e-shell-folder-creation-dialog.h: Fix typo: #include , not . * e-shell-view-menu.c: Added "Go to folder..." command. (commmand_goto_folder): Implementation for it. * e-shell-folder-selection-dialog.c: New. * e-shell-folder-selection-dialog.h: New. 2000-06-10 Ettore Perazzoli * e-local-folder.c (save_metadata): Don't set the description in the XML file if null. Compute the physical path correctly. * e-folder.c (e_folder_construct): Allow NULL description. * evolution-shell-component-client.c (init): Initalize `listener_interface' to `CORBA_OBJECT_NIL' and `listener_servant' to NULL. (create_listener_interface): Return void and set the `servant' and `listener_servant' fields directly. (evolution_shell_component_client_async_create_folder): Updated accordingly. * e-shell-folder-creation-dialog.c: New struct `DialogData' to be passed to the dialog's callbacks. (dialog_data_destroy): New. (e_shell_show_folder_creation_dialog): Set up a `DialogData' object and pass it as the data for the signals. (shell_destroy_cb): New handler for the "destroy" signal on the shell. (e_shell_show_folder_creation_dialog): Connect it. (dialog_destroy_cb): New handler for the "destroy" signal on the dialog; it frees the associated `DialogData'. (e_shell_show_folder_creation_dialog): Connect it. (async_create_cb): New function, callback for the async folder creation function. (entry_name_is_valid): New function to check if the entered folder name is valid. (dialog_clicked_cb): Check if the specified folder name is valid and, if so, asynchronously create the new folder. (add_folder_types): Set "type_name" data on each menu item. * e-storage-set-view.c (e_storage_set_view_get_current_folder): New function. * e-storage-set.c (get_storage_for_path): New helper function. (e_storage_set_get_folder): Use it. * e-storage.c (e_storage_async_create_folder): Renamed from `e_storage_create_folder'. (e_storage_remove_folder): Renamed from `e_storage_remove_folder'. (impl_create_create_folder): Renamed from `impl_create_folder'. (impl_create_remove_folder): Renamed from `impl_remove_folder'. (class_init): Updated accordingly. (e_storage_result_to_string): New function. * e-storage.h: `::create_folder' renamed to `::async_create_folder'. `::remove_folder' renamed to `::async_remove_folder'. * evolution-shell-component.h: Return type of `EvolutionShellComponentCreateFolderFn' and `EvolutionShellComponentRemoveFolderFn' changed to `void'. * e-local-storage.c: `EComponentRegistry component_registry' replaced with `EFolderTypeRegistry folder_type_registry' in `ELocalStoragePrivate' (component_async_create_folder_callback): New function, to handle the callback from EvolutionShellComponent. (construct): Likewise. (e_local_storage_open): Replaced @component_registry with @folder_type_registry. (impl_create_folder): Implemented. * e-local-folder.c (e_local_folder_new): New. (e_local_folder_construct): New. (e_local_folder_save): Precondition: physical URI is not NULL. (save_metadata): Unlink the metadata file if `xmlSaveFile()' fails. * e-storage.c (e_storage_create_folder): Precondition: @path is absolute. (e_storage_remove_folder): Likewise. 2000-06-09 Ettore Perazzoli * e-shell-view-menu.c: Removed folder menu and "save as..." command. * main.c (main): Call `glade_gnome_init()'. * e-shell-view-menu.c (command_new_folder): Implemented. * e-shell-folder-creation-dialog.c: New. * e-shell-folder-creation-dialog.h: New. * glade/Makefile.am: New. * glade/e-shell-folder-creation-dialog.glade: New. * e-shell-view.c (e_shell_view_get_current_uri): New. * e-folder-type-registry.c (e_folder_type_registry_get_type_names): New. * e-shell-view.c (get_control_for_uri): Updated to use `EvolutionShellComponentClient'. * e-folder-type-registry.c: Use `EvolutionShellComponentClient's instead of `BonoboObjectClient's. * e-component-registry.c: Use `EvolutionShellComponentClient' instead of `BonoboObjectClient' in `Component'. (component_new): Updated accordingly. (register_component): Likewise. * evolution-shell-component-client.h: New. * evolution-shell-component-client.c: New. * evolution-shell-component.c (impl_ShellComponent_async_create_folder): New, implementation of `::async_create_folder'. (impl_ShellComponent_async_remove_folder): New, implementation of `::async_remove_folder'. (corba_class_init): Install them. (evolution_shell_component_new): New args `create_folder_fn' and `remove_folder_fn' for setting the handlers for these new methods. (evolution_shell_component_construct): Likewise. * Evolution-ShellComponent.idl (ShellComponent::async_create_folder): New. (ShellComponent::async_remove_folder): New. (ShellComponentListener): New. * evolution-shell-component.c (impl_ShellComponent_create_view): New param @type. Use the new `EvolutionShellComponentCreateViewFn'. * evolution-shell-component.h: New enum `EvolutionShellComponentResult'. Changed `EvolutionShellComponentCreateViewFn' to return an `EvolutionShellComponentResult'. * e-shell-view.c (get_control_for_uri): Pass the folder type to `ShellComponent::create_view'. * Evolution-ShellComponent.idl: New param @type for `ShellComponent::create_view'. 2000-06-08 Miguel de Icaza * main.c (development_warning): Use version here. Add padding to the message. Only destroy object if its window was not closed. 2000-06-08 Ettore Perazzoli * e-shell-view.c (setup_bonobo_ui_handler): Oops. Don't create the toolbar. This was not supposed to be committed. 2000-06-07 Ettore Perazzoli * e-storage.c (folder_destroy): Don't destroy the subfolders. (remove_folder): New helper function. (free_private): Use it. (e_storage_removed_folder): Use it here too. (folder_destroy): Don't unref the EFolder if NULL. * e-storage-set-view.c (e_storage_set_view_construct): Use `gtk_signal_connect_while_alive()' instead of just `gtk_signal_connect()' so that the signal handler is automatically removed when we are destroyed. * e-storage-set.c (e_storage_set_remove_all_storages): New function. * e-shell-view.c (e_shell_view_construct): Use `bonobo_object_ref' on the shell instead of `gtk_object_ref'. (destroy): Unref the shell. * e-local-storage.h: #include "e-component-registry.h". * e-shell.c (setup_local_storage): Renamed from `setup_storages'. Only set up the local storage, not the CORBA one, and don't create the storage set. (e_shell_construct): Create the storage set here instead. Call `setup_local_storage' after setting up the components. * e-local-storage.c: New member `component_registry' in `ELocalStoragePrivate'. (init): Init to NULL. (destroy): If not null, unref it. (e_local_storage_open): New arg @component_registry. (construct): New arg @component_registry. Init `priv->component_registry' from it. * e-local-storage.c (impl_get_name): Renamed from `get_name'. (impl_create_folder): New function, implementing `EStorage::create_folder'. Just a stub for now. (impl_remove_folder): New function, implementing `EStorage::remove_folder'. Just a stub for now. (class_init): Install these stub implementations. * e-storage.c (e_storage_remove_folder): New function. (e_storage_create_folder): New function. (impl_create_folder): New function, default implementation for `::create_folder'. (impl_remove_folder): New function, default implementation for `::remove_folder'. (class_init): Install the implementations. * e-storage.c (impl_get_name): Renamed from `get_name'. (impl_get_folder): Renamed from `get_folder'. (impl_list_folders): Renamed from `list_folders'. * e-storage.h: New virtual methods `remove_folder', `create_folder'. * e-storage.c (e_storage_removed_folder): Renamed from `e_storage_remove_folder'. * e-corba-storage.c (impl_StorageListener_removed_folder): Updated accordingly. 2000-06-02 Ettore Perazzoli * e-shell-view.c (setup_bonobo_ui_handler): Create the default toolbar. 2000-06-02 Jeffrey Stedfast * e-shell-view-menu.c: Changed "Using the Shell" to "Getting Started" 2000-06-02 Christopher James Lahey * e-shell-view.c: Free the uri variable. * e-shell.c: Free the local_directory variable. 2000-06-02 Ettore Perazzoli * main.c (view_delete_event_cb): New callback for the "delete_event" on the view. (idle_cb): Connect it. 2000-06-01 Christopher James Lahey * e-storage-set-view.c (set_e_shortcut_selection): Added a g_return_if_fail check. 2000-06-01 Dan Winship * e-shell-view-menu.c (command_help): New menu callback to launch the help browser. (menu_help): add pointers to the users' guide. (e_shell_view_menu_setup): Add the help menu stuff to the uih. * main.c (main): Set up gettext. (Problem noted by Héctor García Alvarez) 2000-06-01 Ettore Perazzoli * e-shell-view.c (DEFAULT_WIDTH): Add more 5 pixels. 2000-06-01 Ettore Perazzoli * e-shell-view.c (DEFAULT_WIDTH): Made the default window a bit narrower. (DEFAULT_HEIGHT): And shorter. (setup_widgets): Set the border width of the vbox that holds the title bar to 2 pixels, so that the view looks a bit nicer. 2000-06-01 Ettore Perazzoli * e-shell-view.c (DEFAULT_TREE_WIDTH): Made the tree 150 pixel wide [instead of 100]. (setup_widgets): Use `DEFAULT_TREE_WIDTH' instead of `DEFAULT_SHORTCUT_BAR_WIDTH' where appropriate. (e_shell_view_construct): Hide the folder bar by default. * e-storage-set-view.c (e_storage_set_view_construct): Set auto-resize mode for column one. 2000-06-01 Ettore Perazzoli * e-shell-view-menu.c (e_shell_view_menu_setup): Set the statusbar. * e-shell-view.c: New member `appbar' for `EShellViewPrivate'. (init): Initialize to NULL. (setup_widgets): Install a status bar and set `appbar' to point to it. (setup_bonobo_ui_handler): Make the BonoboUIHandler use `appbar' as its statusbar. (e_shell_view_get_appbar): New function. (e_shell_view_construct): Set up the BonoboUIHandler after setting up the widgets. * e-shortcuts.c (class_init): Add new signals "new_shortcut", "removed_shortcut", "new_group", "removed_group". (e_shortcuts_remove_shortcut): Emit "remove_shortcut". (e_shortcuts_add_shortcut): Emit "new_shortcut". (e_shortcuts_remove_group): Emit "remove_group". (e_shortcuts_add_group): Emit "new_group". (unload_shortcuts): Emit "remove_group" for all the groups. * e-shortcuts.h: New signals "new_shortcut", "removed_shortcut", "new_group", "removed_group". * e-shortcuts-view.c (pop_up_right_click_menu): New function to pop up the right-click menu for the shortcut bar. (pop_up_right_click_menu_for_shortcut): New function. (selected_item): Pop up right click menu when appropriate. Don't activate the shortcut when right-clicking. 2000-05-31 Ettore Perazzoli * evolution-storage.h: #include 'Evolution.h". 2000-05-31 Ettore Perazzoli * e-shell-view.c (show_error): Use `set_current_notebook_page()' instead of `gtk_notebook_set_page()'; this will also deactivate the current control properly. * e-shell-view-menu.c (e_shell_view_menu_setup): Initialize the state of the shortcut/folder toggle menu items using `e_shell_view_get_shortcut_bar_mode()' and `e_shell_view_get_folder_bar_mode()'. (command_toggle_shortcut_bar): Removed debugging message. (command_toggle_folder_bar): Likewise. * e-shell-view.c (e_shell_view_get_shortcut_bar_mode): New function. (e_shell_view_get_folder_bar_mode): New function. 2000-05-31 Ettore Perazzoli * e-storage-set-view.c: New constant `DRAG_RESISTANCE'. New members `button_x', `button_y' in `EStorageSetViewPrivate'. (init): Initialize to zero. (button_press_event): Set. (motion_notify_event): Don't start drag unless the current x/y position is farther than `DRAG_RESISTANCE', in any of the two directions, from the original position of the button click. (button_release_event): Always ungrab the pointer, even if `selected_row_path' is NULL. 2000-05-31 Ettore Perazzoli * evolution-shell-component.c (class_init): Eeek! s/owner_set/owner_unset/. * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct): Increase the size of the border of the hbox slightly to make the title bar a bit nicer. 2000-05-31 Ettore Perazzoli * e-component-registry.c (component_free): Invoke `::unset_owner' on the component before releasing it. * evolution-shell-component.c (class_init): Install the "owner_set" signal. (impl_ShellComponent_unset_owner): New function, implementation of `ShellComponent::unset_owner'. (corba_class_init): Install it. * evolution-shell-component.h: New signal "owner_unset". * Evolution-ShellComponent.idl: New method `ShellComponent:: unset_owner'. * e-shell.c (e_shell_quit): Destroy all the views explicitly. * e-shell-view-menu.c: Changed `Show shortcut bar' and `Show folder tree' items into toggle items. (shortcut_bar_mode_changed_cb): New callback to update the status of the "show shortcut bar" toggle item when the shortcut bar is hidden/shown in the view. (folder_bar_mode_changed_cb): Likewise for the folder bar. (e_shell_view_menu_setup): Connect these to the corresponding signals on the shell. * e-shell-view.c: New members `shortcut_bar_mode' and `folder_bar_mode' in `EShellViewPrivate'. (init): Initialize `shortcut_bar_mode' and `folder_bar_mode' to `E_SHELL_VIEW_SUBWINDOW_HIDDEN'. (class_init): Add the new signals. (e_shell_view_set_shortcut_bar_mode): Renamed from `e_shell_view_show_shortcuts'. Emit "shortcut_bar_mode_changed" and update the `shortcut_bar_mode' member. (e_shell_view_set_folder_bar_mode): Renamed from `e_shell_view_show_folders'. Emit "folder_bar_mode_changed" and update the `folder_bar_mode' member. * e-shell-view.h: New signals "shortcut_bar_mode_changed", "folder_bar_mode_changed". * e-shell-view.c (setup_menus): Removed. (e_shell_view_construct): Use `e_shell_view_menu_setup' instead. (e_shell_view_get_bonobo_ui_handler): New function. * e-shell-view-menu.c (e_shell_view_menu_setup): New. * e-shell.c (impl_Shell_get_component_for_type): New function, implementation of `Evolution::Shell::get_component_for_type'. (corba_class_init): Install it into the EPV. * Evolution-Shell.idl: Added method `get_component_for_type'. 2000-05-30 Ettore Perazzoli * e-shortcuts.c: New members `dirty', `save_idle_id' in `EShortcutsPrivate'. (init): Initialize. (destroy): If the idle ID is nonzero, remove the idle. If `dirty' is true, save. (idle_cb): New. (schedule_idle): New. (make_dirty): New. (e_shortcuts_remove_shortcut): Call it. (e_shortcuts_add_shortcut): Likewise. (e_shortcuts_remove_group): Likewise. (e_shortcuts_add_group): Likewise. * e-shell.c (e_shell_construct): Updated to match the `EShortcuts' API changes. * e-shortcuts.c: New member `file_name' in `EShortcutsPrivate'. (init): Init to NULL. (destroy): Free it. (e_shortcuts_load): Removed. (e_shortcuts_save): Removed. (e_shortcuts_new): New arg @file_name. Load from the specified file name. * e-shortcuts-view.c (added_item): New method implementation. (removed_item): New method implementation. (added_group): New method implementation. (removed_group): New method implementation. (class_init): Install these. * e-shortcuts.c (e_shortcuts_remove_shortcut): New function. (e_shortcuts_add_shortcut): New function. (e_shortcuts_remove_group): New function. (e_shortcuts_add_group): New function. * e-shell-view.c: New member `view_title_bar' in `EShellViewPrivate'. (setup_widgets): Put an EShellFolderTitleBar on top of the tree view and the content view. (update_window_icon): Renamed from `set_icon'. (update_folder_title_bar): New. (popup_tree): New function to pop up the tree view when the title button in the title bar is clicked. (folder_title_clicked_cb): New callback for the "clicked" signal of EShellFolderTitleBar. (setup_widgets): Don't add a title bar to the shortcut bar. (create_storage_set_subwindow): New helper function. (setup_widgets): Use it. (show_error): Use an EClippedLabel instead of a GtkLabel. * e-shell-view.c: Replaced all the occurences of `gpointer' with `void *' for consistency. * e-shell-folder-title-bar.c: New file. * e-shell-folder-title-bar.h: New file. * e-storage-set-view.c (e_storage_set_view_construct): Ooops. Fix inverted key/value pair in the call to `g_hash_table_insert()'. 2000-05-28 Dan Winship * main.c (main): Remove extra free of evolution_directory. 2000-05-28 Ettore Perazzoli * evolution-storage.c (evolution_storage_register): Use the storage's name when registering. 2000-05-26 Matt Loper * e-shell-view-menu.c (command_about_box): Make authorlist more alphabetical. (command_show_treeview): New function; shows the treeview, when it has been hidden. (command_show_shortcut_bar): New function; shows the shortcut bar, when it's been hidden. 2000-05-26 Ettore Perazzoli * e-corba-storage.c (impl_StorageListener_new_folder): Set the physical URI on the folder using `e_folder_set_physical_uri()'. * e-local-folder.c (get_physical_uri): Removed. (construct_loading_metadata): Use EFolder's `physical_uri' field instead of ours, which is gone. (save_metadata): Likewise. (destroy): Don't free. * e-local-folder.h: Removed `physical_uri' from `ELocalFolder'. * e-folder.c: New member `physical_uri' in `EFolderPrivate'. (init): Initialize to NULL. (destroy): Free it. (get_physical_uri): Removed. (e_folder_set_physical_uri): New function. * e-storage-set.c (e_storage_set_get_folder): Fix off-by-one error in extracting the base name. * e-storage.c: New member `path' in `Folder'. (folder_destroy): Free it. (folder_new): New arg. Initialize `path' from it. (e_storage_construct): Updated accordingly. (e_storage_new_folder): Likewise. (e_storage_remove_folder): Remove the folder from the hash. * e-storage-set-view.c (remove_node): New function. (removed_storage_cb): Use it. (new_folder_cb): New function, callback for the "new_folder" signal on the EStorageSet. (removed_folder_cb): New function, callback for the "removed_folder" signal on the EStorageSet. (e_storage_set_view_construct): Connect these signal handlers to the respective signals on our model storage. * e-storage-set.c (storage_new_folder_cb): New function, callback for the "new_folder" signal on the storages. (storage_removed_folder_cb): New function, callback for the "removed_folder" signal on the storages. (e_storage_set_add_storage): Connect them to the signals of the storage being added. * e-corba-storage-registry.c (impl_StorageRegistry_register_storage): Throw an exception if `e_storage_set_add_storage()' returns false. * e-shell.c (setup_storages): Unref the local storage after adding to the storage set. * e-corba-storage-registry.c (impl_StorageRegistry_register_storage): Unref the storage after adding to the storage set. * e-storage-set.c: New hash table `name_to_named_storage' in `EStorageSetPrivate'. (named_storage_new): New helper function. (named_storage_destroy): New helper function. (e_storage_set_add_storage): Use the hash table. Return value changed to `gboolean'. Return FALSE if there is a storage with that name already. Also, ref the storage. (e_storage_set_remove_storage): Likewise [but of course don't ref the storage]. (e_storage_set_get_storage): Use the `name_to_named_storage' hash table. (destroy): Destroy the `name_to_named_storage' hash. * e-storage-set.h: New signals "new_folder", "removed_folder". * e-storage.c (e_storage_get_watcher_for_path): Removed. (get_watcher_for_path): Removed. (class_init): Install signals "new_folder" and "removed_folder". (e_storage_remove_folder): Emit "removed_folder". (e_storage_new_folder): Emit "new_folder". * e-storage.h: Removed method `get_watcher_for_path'. New signals "new_folder", "removed_folder". * e-storage-watcher.c: Removed. * e-storage-watcher.h: Removed. * e-corba-storage-registry.c (corba_class_init): Set the Bonobo_Unknown evp parts. * evolution-storage.c: New. * evolution-storage.h: New. * evolution-shell-component.c (evolution_shell_component_get_owner): New. * e-storage-set-view.c (new_storage_cb): New function. (e_storage_set_view_construct): Connect to the "new_storage" signal on the EStorageSet. (removed_storage_cb): New function. (e_storage_set_view_construct): Connect to the "removed_storage" signal on the EStorageSet. * e-storage-set-view.c (e_storage_set_view_construct): Make this always look pretty, with Helix GNOME or without. 2000-05-25 Christopher James Lahey * e-storage-set-view.c: Make this always look pretty, with Helix GNOME or without. 2000-05-25 Ettore Perazzoli * e-storage-set-view.c (e_storage_set_view_construct): Set the dotted line type again. Dotted is less butt-ugly than continuous. * e-shell-view.c (show_error): Display page zero in the notebook. * main.c (idle_cb): Renamed from `new_view_idle_cb'. Create the EShell object here, because now the shell depends on the GLib loop to be running for correct operation. (main): Don't create the EShell here. * e-storage-set-view.c (get_pixmap_and_mask_for_folder): If the icon is not found, set the returned pixmap and mask to NULL. * e-shell.c (e_shell_construct): Added precondition: @corba_object must be non-nil. (e_shell_new): Added precondition: @local_direcory must be non-null. * evolution-shell-component.c: New. * evolution-shell-component.h: New. * e-shell.c: New member `component_registry' in `EShellPrivate'. (init): Initialize to NULL. (destroy): Unref it. (setup_components): New function to set up the compnent registry and initialize the mail, calendar and addressbook components. (e_shell_construct): Call it. * e-storage-set.c: Updated to use EFolderTypeRegistry. * e-storage-set.h: Likewise. * e-shortcuts.c: Likewise. * e-shortcuts.h: Likewise. * e-shell.c: Likewise. * e-shell.h: Likewise. * e-shell-view.c: Likewise. * e-shortcuts-view.c: Likewise. * e-storage-set-view.c: Likewise. * e-component-registry.c: New. * e-component-registry.h: New. * e-folder-type-registry.c: New. * e-folder-type-registry.h: New. * e-folder-type-repository.c: Removed. * e-folder-type-repository.h: Removed. * Evolution-ShellComponent.idl: New struct `FolderType'; new type `FolderTypeList'. New attribute `supported_types'. (ShellComponent::set_owner): Renamed from `set_shell'. (ShellComponent::create_view): New. 2000-05-24 Christopher James Lahey * e-shell-view.c: Was using the wrong include here. * e-storage-set-view.c: Got rid of the lines in the tree view. 2000-05-24 Christopher James Lahey * Makefile.am: Added libepaned.a. * e-shell-view.c: Switched from GtkPaned to EPaned. 2000-05-23 Ettore Perazzoli * e-shell.c: New member `corba_storage_registry' in `EShellPrivate'. (init): Initialize it to NULL. (destroy): Unref it if not NULL. (setup_corba_storages): New function to set up the CORBA storage registry and `bonobo_object_add_interface()' it to the shell. (setup_storages): Call it from here. * e-shell.h, e-shell.c: Derive EShell from BonoboObject instead of GtkObject. * e-storage.c (e_storage_remove_folder): Return value changed into `gboolean'; return false if an error occurs, true otherwise. (e_storage_new_folder): Likewise. * e-corba-storage-registry.c: New. * e-corba-storage-registry.h: New. * e-corba-storage.c: New. * e-corba-storage.h: New. * Evolution.idl: Include the new IDLs, but no `evolution-service-repository.idl' anymore. * Evolution-Shell.idl: New. * Evolution-ShellComponent.idl: New. * Evolution-Storage.idl: New. * evolution-service-repository.idl: Removed. * evolution-service-repository.c: Removed. * evolution-service-repository.h: Removed. * e-folder-type-repository.c (folder_type_new): Free `icon_path'. 2000-05-18 Dan Winship * main.c (new_view_idle_cb): add development_warning (moved from mail component) 2000-05-16 Ettore Perazzoli * e-storage-set-view.c: Get rid of the `ICON_WIDTH' and `ICON_HEIGHT' #defines. (get_pixmap_and_mask_for_folder): Get the mini icon instead of the big one. Use `E_SHELL_MINI_ICON_SIZE' instead of `ICON_WIDTH' and `ICON_HEIGHT'. * e-folder-type-repository.c: New member `mini_icon_pixbuf' in `FolderType'. (folder_type_new): Initialize `mini_icon_pixbuf' by loading the mini icon if possible. If the mini icon is not found, resort to the big one. (folder_type_free): Unref the mini icon. (e_folder_type_repository_get_icon_for_type): New arg @mini. If true, return the mini icon instead of the standard one. * e-shell-view.c (set_icon): Get the mini icon instead of the big one by using `e_shell_get_icon_path's @try_mini arg. * e-shell-constants.h: New file. * e-shell-utils.c (e_shell_get_icon_path): New arg @try_mini. If true, look for the mini version [whose name ends in `-mini']. * e-folder-type-repository.c (folder_type_new): Free string returned by `e_shell_get_icon_path()'. 2000-05-16 Ettore Perazzoli * e-shell-view.c: New members `storage_set_view_box', `shortcut_bar_box', `hpaned1_position', `hpaned2_position' in `EShellViewPrivate'. (init): Initialize them. (setup_widgets): Add title bars to the tree and shortcut views. (shortcuts_view_close_button_clicked_cb): New callback function. (setup_widgets): Connect to the "close_button_clicked" signal of the shortcut view's title bar. (storage_set_view_close_button_clicked_cb): New callback function. (setup_widgets): Connect to the "close_button_clicked" signal of the storage set view's title bar. (e_shell_view_show_shortcuts): New function. (e_shell_view_show_folders): New function. * e-shell-view.c: New members `hpaned1', `hpaned2' in `EShellViewPrivate'. (init): Initialize both to NULL. (setup_widgets): Invert the parenting order for the GtkHPaneds and store them into the private `hpaned' and `hpaned2' members. * Makefile.am (evolution_LDADD): Link with `libemiscwidgets.a'. 2000-05-15 Ettore Perazzoli * e-shortcuts.c (load_shortcuts_into_view): Removed. (e_shortcuts_new_view): Don't set up the shortcut bar manually here anymore, and don't set the icon callback either. The `EShortcutsView' object is now able to do this by itself. * e-shortcuts-view.c (icon_callback): Moved here from `e-shortcuts.c'. (load_group): New function. (load_all_shortcuts): New function. (e_shortcuts_view_construct): Call it to load the shortcuts from the `EShortcuts' object. Also, set `icon_callback' as the icon callback. * e-storage-set-view.c (button_press_event): Add/remove grab with `gtk_grab_add' and `gtk_grab_remove'. (button_release_event): Call `gtk_grab_remove' when removing the grab. * e-shortcuts.c: New member `title_to_group' in `EShortcutsPrivate'. (init): Initialize here. (destroy): Destroy here. (unload_shortcuts): Destroy and recreate here. (load_shortcuts): Avoid inserting multiple groups with the same title, and insert the groups into the `title_to_group' hash table. Also, avoid leaking the return value from `xmlNodeListGetString'. (e_shortcuts_get_group_titles): New function. (e_shortcuts_get_shortcuts_in_group): New function. (e_shortcuts_get_storage_set): New function. * e-storage-set-view.c (e_storage_set_view_set_current_folder): Emit the "folder_selected" signal. * e-local-folder.c (get_string_value): Return a `char *' to be deallocated by the caller instead of a `const char *' that does not need to be deallocated. (construct_loading_metadata): Free values returned from `get_string_value'. 2000-05-15 Ettore Perazzoli * e-storage-set-view.c: New members `dragged_row_path', `selected_row_path_before_click' in `EStorageSetViewPrivate'. (init): Initialize them to NULL. (motion_notify_event): Set `dragged_row_path' from `selected_row_path'. (button_press_event): Initialize `selected_row_path_before_click' from `selected_row_path'. (button_release_event): Set `selected_row_path_before_click' to NULL. (drag_end): Restore the current selection from `selected_row_path_before_click'; then set both `dragged_row_path' to NULL. 2000-05-15 Ettore Perazzoli * e-storage-set-view.c: New members `in_drag' and `drag_button' in `EStorageSetViewPrivate'. New static variables `drag_types', `num_drag_types', `target_list'. (class_init): Create the `target_list'. (init): Initialize the private `in_drag' member to false. Initialize the private `drag_button' member to zero. (button_release_event): Set it to false. (motion_notify_event): New function, implementation of `GtkWidget::motion_notify_event'. If `in_drag' is false, set it to true and set ourselves up as a drag source. (button_press_event): New function, implementation of `GtkWidget::button_press_event'. Set `drag_button' to the event's button number and then chain to the implementation in the parent class. (drag_end): New function, implementation of `GtkWidget::drag_end'. (drag_data_get): New function, implementation of `GtkWidget::drag_data_get'. (set_e_shortcut_selection): New function, helper for `drag_data_get'. (set_uri_list_selection): New function, helper for `drag_data_get'. (class_init): Install these method implementations. * e-storage-set-view.c: New member `selected_row_path' in `EStorageSetViewPrivate'. (init): Initialize it to NULL. (tree_select_row): Set it to the path of the selected row. Don't emit "folder_selected" yet. Also, keep the grab. (button_release_event): New function, implementation of `GtkWidget::button_release_event'. If `selected_row_path' is not NULL, emit the "folder_selected" signal with `selected_row_path' as the parameter and then set `selected_row_path' to NULL again. (class_init): Install `button_release_event'. * e-storage-set-view.c: Made `ICON_WIDTH' and `ICON_HEIGHT' global #defines. (e_storage_set_view_construct): Set the row height to `ICON_HEIGHT'. Alos, set the selection mode to `GTK_SELECTION_BROWSE'. 2000-05-15 Iain Holmes * e-local-folder.c (get_string_value): Use the correct function to get the node's contents. * e-shortcuts.c (load_shortcuts): Same as above. 2000-05-14 Ettore Perazzoli * e-folder-type-repository.c (e_folder_type_repository_get_control_id_for_type): Protect against non-existing types. (e_folder_type_repository_get_icon_for_type): Likewise. 2000-05-14 Ettore Perazzoli * e-storage-set-view.c (folder_compare_cb): Callback comparison function for comparing folders based on their names. (insert_folders): Use it to sort the folder list before using it. 2000-05-14 Ettore Perazzoli * e-shell.c (setup_storages): Pass the pointer to the folder type repository. (e_shell_construct): Initialize the folder type repository before everything else. * e-storage-set.c: New member `folder_type_repository' in `EStorageSetPrivate'. (init): Initialize it to NULL. (destroy): Unref it. (e_storage_set_construct): New arg @folder_type_repository. Initialize the corresponding member in the private struct through it. (e_storage_set_new): New arg @folder_type_repository. (e_storage_set_get_folder_type_repository): New function. * e-shortcuts.c (icon_callback): Just use [the new version of] `e_folder_type_repository_get_icon_for_type()' instead of loading the image manually. * e-folder-type-repository.c: New member `icon_pixbuf' in `FolderType'. (folder_type_new): Load the pixbuf. (folder_type_free): Unref the pixbuf. (e_folder_type_repository_get_icon_name_for_type): Renamed from `e_folder_type_repository_get_icon_for_type'. (e_folder_type_repository_get_icon_for_type): New function, now returning a `GdkPixbuf *'. * e-shortcuts.c (icon_callback): Use `e_shell_get_icon_name()'. * e-shell-view.c: New member `storage_set_view' in `EShellViewPrivate'. (init): Initialize it to NULL. (e_shell_view_construct): Create an EStorageSetView for the shell's EStorageSet and put it into a scrolled window. Also, put the scrolled window into the EShellView with some [temporary] GtkPaned action. Store the pointer to the EStorageSetView to `priv->storage_set_view'. (set_icon): Get an EShellView and an EFolder instead of an EShellView and a URI. Also, don't leak. (update_for_current_uir): New helper function. Call `set_icon'. (show_error): Call it. (folder_selected_cb): New function. (setup_widgets): Connect it to the "folder_selected" signal of the storage set view. * e-storage-set-view.c: New file. * e-storage-set-view.h: New file. * e-shell-utils.c: New file. * e-shell-utils.h: New file. 2000-05-10 Christopher James Lahey * e-shell-view-menu.c: Added an about box. 2000-05-10 Christopher James Lahey * e-shell-view.c: Set the icons when changing between components. * main.c: Set the default icon. (The change in e-shell-view.c doesn't work unless we do this.) 2000-05-09 Matt Loper * e-shell-view-menu.c (command_run_bugbuddy): New function; allows users to submit a bug. (command_run_bugbuddy): Implemented with jacob's patch. 2000-05-09 Ettore Perazzoli * e-shell.c (e_shell_new_view): Display the specified @uri in the view. * e-shell-view.c (e_shell_view_construct): Removed arg @uri. (e_shell_view_new): Likewise. * main.c: New string constant `STARTUP_URI', specifying the URI to show in the startup view. (new_view_idle_cb): New callback function to create a new view for `STARTUP_URI' in the idle loop. We need to do this in the idle loop because the CORBA stuff cannot work until the loop starts running. (main): Set `new_view_idle_cb' up as the idle callback instead of creating the view right away. 2000-05-09 Ettore Perazzoli * e-shell.c (setup_storages): Woops. Don't free the path before the warning message, as we need to print it. 2000-05-08 Ettore Perazzoli * main.c (destroy_cb): New function. (main): Connect it to the `destroy' signal on the shell. 2000-05-08 Ettore Perazzoli * e-shortcuts.c (load_shortcuts): Const fix. 2000-05-08 Larry Ewing * e-shortcuts.c (load_shortcuts_into_view): xmlFree the return value of xmlGetProp. 2000-05-07 Ettore Perazzoli * e-shortcuts-view.c (e_shortcuts_view_construct): Use correct cast. 2000-05-07 Ettore Perazzoli * main.c (main): Connect to "no_views_left", not "destroy". * e-shell.c (view_destroy_cb): Grmpf. 2000-05-07 Ettore Perazzoli * e-shell.c (e_shell_construct): Output a warning message if the shortcut file is not found. (setup_storages): Output a warning message if the local storage cannot be initialized. (destroy): Destroy all the views. * e-shell-view.c (e_shell_view_construct): Ref the shell. * e-shortcuts-view.c (e_shortcuts_view_construct): Ref the shortcuts. * e-shell.c: Create the "no_views_left" signal. New member `views' in `EShellPrivate'. (init): Initialize `views' to NULL. (view_destroy_cb): Destroy handler for a view: remove the view from `views', and emit the "no_views_left" signal if this was the last view. (e_shell_new_view): Add the new view to `views' and connect the "destroy" signal to `view_destroy_cb'. (destroy): Destroy the views. * e-shell.h: New signal "no_views_left". * e-shell-view-menu.c (command_quit): New function, implementation of the "quit" command. * e-shell-view.c (e_shell_view_get_shell): New function. * e-shell.c (e_shell_quit): New function. * main.c (main): If it is not possible to create the shell for some reason, pop up an error message. (shell_destroy_cb): New function, signal handler for "destroy" on the shell object. (main): Connect it. 2000-05-06 Ettore Perazzoli * e-shortcuts.c (destroy): Be safer about NULL objects. * e-shell.c (destroy): Be safer about NULL objects. * e-local-storage.c (load_folders): Use `readdir()', not `readdir_r()'. 2000-05-06 Ettore Perazzoli * main.c (init_corba) [! USING_OAF]: We have no options no popt context. 2000-05-06 Ettore Perazzoli * All files: Reorganized and redone a lot of the shell. New features: internal URI namespace, extensible storage/folder mechanism, configurable shortcuts. 2000-05-03 Damon Chaplin * e-shell-view.c (e_shell_view_new): turned the notebook border off. The calendar looks better without it. If any of the views want a border they should create it themselves, shouldn't they? 2000-05-04 Ettore Perazzoli * e-shortcut.c (shell_icon_cb): Type of @url changed from `gchar *' to `const gchar *'; new arg @data. (e_shortcut_bar_view_new): Pass NULL as the closure value for `e_shortcut_bar_set_icon_callback()'. 2000-05-02 Ettore Perazzoli * e-folder-mail.c: Removed. * e-folder-mail.h: Removed. * eshell-types.h: Removed. * e-folder.h: Don't #include "eshell-types.h". 2000-05-02 Ettore Perazzoli * e-folder.h: Removed member `eservice' from `EFolder'. * e-service.c: Removed. * e-service.h: Removed. 2000-05-02 Matt Loper * Makefile.am: set G_LOG_DOMAIN. 2000-05-01 Dan Winship * e-shell-view.c (e_shell_view_set_view): Turn off control frame autoactivation, so the toolbars work correctly. This may actually be a bug in Bonobo, but we'll kludge around it here for now. 2000-04-27 Ettore Perazzoli * e-shell-view.c: OAFized. (get_view): If `bonobo_widget_new_control()' fails for the calendar, don't try to get the property bag and stuff and thus prevent a segfault. * main.c (corba_init): Removed Bonobo initialization. Implemented OAF version for the case in which `USING_OAF' is #defined. (init_bonob): New function. (main): Call `init_bonobo()'. 2000-04-26 Matt Loper * e-shell-view.c (bonobo_widget_is_dead): Helper function to see whether a bonobo widget is a zombie (ie the remote bonobo control died). (e_shell_view_set_view): Try to respawn dead widgets. 2000-04-25 Dan Winship * Makefile.am: include -I$(datadir)/idl in orbit-idl arguments so that you can have bonobo installed in the same prefix as evolution, when that isn't the same prefix is gnome-libs, which a lot of people seem to be doing. (CLEANFILES): add EVOLUTION_CORBA_GENERATED 2000-04-24 Christopher James Lahey * idl/folder.idl: Made some functions syncronous that didn't need to be asyncronous. 2000-04-24 Matt Loper * e-shell-view.h: Added hpaned and treeview widgets to EShellView. Added e_shell_view_toggle_shortcut_bar() and e_shell_view_toggle_treeview(). * e-shell-view.c (e_shell_view_setup_shortcut_display): Use EPaned widget to house our shortcut bar. (e_shell_view_toggle_shortcut_bar): New function; toggles whether the shortcut bar is showing. (e_shell_view_toggle_treeview): Same, for the treeview (NYI). (e_shell_view_new): Put the notebook view in our EPaned widget. * e-shell-view-menu.c (esv_cmd_toggle_shortcut_bar): New function; toggles whether the shortcut bar is viewed. (esv_cmd_toggle_treeview): Same, but with the treeview. Added menuitems in the "view" menu to allow access to the above. 2000-04-19 Seth Alves * e-shell-view.c (get_view): set calendar's uri with a property bag 2000-04-19 Christopher James Lahey * idl/folder.idl: New idl file. Still unused. 2000-04-14 Christopher James Lahey * e-shell-view.c: Made the left pane of the shell view not autoresize. 2000-04-09 Matt Loper * e-shell-view.c (e_shell_view_setup): Set the default height bigger, to 600, so that everything in the shortcut-bar shows up. 2000-04-07 Matt Loper * e-shell-view.c (destroy_folder_view): New function; Bonobo_Unknown_unref's the controls that have the views in them. (esv_destroy): Calls the above for each folder_view in the hashtable. (get_view): unref the ServiceRepository interface of the control when we're done with it. 2000-04-06 Miguel de Icaza * shell/e-shortcut.c (shell_icon_cb): Append a slash here. (shell_icons): Only list the filenames. * shell/main.c (evolution_boot): Be less rude. 2000-04-06 Matt Loper * shell/main.c (evolution_boot): Make sure our data directory is available with e_setup_base_dir (). 2000-04-06 Miguel de Icaza * shell/e-shortcut.c (shell_icon_cb): Load the icons from the installation path, not form the GNOME-libs installation prefix. (shell_icon_cb): Memory leak fix. * shell/Makefile.am (imagesdir): Pass the EVOLUTION_IMAGES installation directory here. 2000-04-05 Seth Alves * shell/e-shell-view.c (get_view): hook up control:calendar 2000-03-31 Dan Winship * shell/e-shortcut.c (e_shortcut_bar_view_new, shell_icon_cb): Update for shortcut bar changes. * shell/e-folder.h: add E_FOLDER_SUMMARY * shell/e-shell.c (e_shell_setup_default_folders): make the "Today" icon be of type E_FOLDER_SUMMARY, not E_FOLDER_MAIL. 2000-03-30 Dan Winship * shell/e-shell-view.c (e_shell_view_set_view): Hold off on deactivating the "outgoing" control until after setting up the "incoming" control. That way if the new control takes a few seconds to load, there won't be an ugly empty spot where the toolbar used to be while the new control loads. 2000-03-29 Dan Winship * shell/e-shell-view.c (e_shell_view_set_view): Call bonobo_control_frame_activate on the folder_view every time it is displayed, and bonobo_control_frame_deactivate every time it is hidden. 2000-03-25 Matt Loper * shell/e-shell-view.c (get_view): Move CORBA_Environment to different scope. 2000-03-22 Matt Loper * shell/main.c (evolution_boot): gtk_signal_connect'ed "destroy" to gtk_main_quit, so that the shell dies when you want it to. * shell/e-shell-view.c (get_view): Reorganized, and added assertions. (e_shell_view_set_view): Added assertions. 2000-03-20 Matt Loper * shell/e-shell-view.h: New private field in EShellView added, which contains the notebook and a hashtable of folders to views. * shell/e-shell-view.c (e_shell_view_set_view): Instead of creating a new control every time we set the view, we now keep our controls in a notebook. This function now switches to the correct notebook page, or creates a new page/control as necessary. (e_shell_view_new): Creates and inserts the notebook into the shell. 2000-03-13 Christopher James Lahey * shell/e-shell-view.c: Added an E_FOLDER_CONTACTS section to the get_view function. 2000-03-13 bertrand * shell/e-shell.c (EShell_register_service): test implementation. Show the uri and the type of service that has just been registered. * shell/e-shell-view.c (get_view): once we have the bonobo control widget, disable the autoactivation and activate the control frame. (get_view): added a parameter to have a reference to the EShellView. (get_view): In the case of the mail component use the Evolution_ServiceRepository to give the component a reference to the Shell server. 2000-03-12 bertrand * shell/e-shell-view.c (get_view): name change * shell/e-folder.c (e_folder_get_folder_type): added the get_e_folder_type function. * shell/evolution-service-repository.c: (evolution_service_repository_new): creates an Evolution_ServiceRepository object. (create_evolution_service_repository): create the corresponding servant. (evolution_service_repository_construct): set the closure as well as the virtual functions. 2000-03-12 bertrand * shell/evolution-service-repository.c: * shell/evolution-service-repository.h: Implementation of the service repository interface as a bonobo object. * shell/evolution-service-repository.idl: new file. Contains the definition for the service repository interface. * shell/Shell.idl: move the shell related stuff here 2000-03-12 bertrand * shell/e-folder.h: add a field refering to a service associated to the efolder. In the case of distant folders, it is generally a server. * shell/e-service.c: New class. Models a service. A service is an object with an URI and a root folder. It genreally reporesents a distant folder. A service is generally a ressource shared amongst several folders. * shell/e-service.h: 2000-03-07 bertrand * shell/e-shell-shortcut.c (shortcut_bar_item_selected): removed a test that prevented the standard menu to be shown. 2000-03-01 Ettore Perazzoli * shell/Makefile.am (INCLUDES): use `top_srcdir' instead of `srcdir'. Also, add `$(top_srcdir)'. And put the srcdir includes before everything else. (evolution_LDADD): `libeutil.la', not `libeutil.a'. 2000-02-22 bertrand * shell/Makefile.am (evolution_LDADD): add libetext.a. 2000-02-08 Iain Holmes * shell/Makefile.am: Changed the order of the compilation, so the CORBA stuff was generated before it was needed. 2000-01-15 Miguel de Icaza * shell/e-shell.c: Construct the default folders * shell/e-shell-view.c (e_shell_view_new): Setup the main GnomeApp application, load the shortcut, internal api. * shell/e-folder.c (e_folder_get_type_name): Return description here; Change of policy; We now know about all of the possible types that can be displayed on Evolution. 2000-01-15 Miguel de Icaza * shell/e-folder.c: Renamed signal. * widgets/shortcut-bar/e-shortcut-bar.c (e_shortcut_bar_add_item): Use e_bar_set_item_data. Drop item_url; Require image argument; Require user data argument. 2000-01-05 Miguel de Icaza * shell/Makefile.am: New file.