2002-03-04 Ettore Perazzoli <ettore@ximian.com>
[Fix#20234, Deleting Folder gratuitiously causes /local to open.]
* e-shell-view.c (find_inbox_in_storage): New helper function to
heuristically find an Inbox folder.
(handle_current_folder_removed): New function to handle the
removal of the currently displayed folder in a slightly smarter
way than before. It tries to display the parent folder of the
folder that got deleted and, if not possible, the Inbox in the
same storage. If neither of this is possible, it displays the
default local Inbox. [It still doesn't handle the case where you
have no Inbox gracefully, but that can come later.]
(storage_set_removed_folder_callback): Call
`handle_current_folder_removed'.
2002-03-04 Ettore Perazzoli <ettore@ximian.com>
[Fix#20237, Shell silently drops xfer_folder errors.]
* e-shell-folder-commands.c (xfer_result_callback): Display an
error message if the operation failed.
svn path=/trunk/; revision=15898
on exit. What happened is that the signal would be disconnected
twice, once by cleanup_delayed_selection() and once by the
while_alive handler.]
* e-shell-view.c (destroy): Call cleanup_delayed_selection() here.
(e_shell_view_display_uri): Use gtk_signal_connect_full(), not
e_gtk_signal_connect_full_while_alive().
svn path=/trunk/; revision=15848
* e-storage-set-view.c (impl_destroy): Renamed from `destroy'.
(impl_right_click): Renamed from `right_click'.
(impl_cursor_activated): Renamed from `cursor_activated'.
(impl_tree_start_drag): Renamed from `tree_start_drag'.
(impl_tree_drag_begin): Renamed from `tree_drag_begin'.
(impl_tree_drag_end): Renamed from `tree_drag_end'.
(impl_tree_drag_data_get): Renamed from `tree_drag_data_get'.
(impl_tree_drag_data_delete): Renamed from
`tree_drag_data_delete'.
(impl_tree_drag_motion): Renamed from `tree_drag_motion'.
(impl_tree_drag_leave): Renamed from `tree_drag_leave'.
(impl_tree_drag_drop): Renamed from `tree_drag_drop'.
(impl_tree_drag_data_received): Renamed from
`tree_drag_data_received'.
svn path=/trunk/; revision=15811
* 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.
svn path=/trunk/; revision=15804
* e-shell-view.c (remove_uri_from_history): New helper function to
remove all the matching URIs from the history.
(history_uri_matching_func): Compare function for using
e_history_remove_matching.
(storage_set_removed_folder_callback): Call
`remove_uri_from_history()'.
* e-history.c (e_history_remove_matching): New.
svn path=/trunk/; revision=15803
* e-shell-view.c (update_navigation_buttons): New.
(display_uri): Call it before returning so the navigation buttons
always have the right sensitivity.
* e-shell-folder-title-bar.c
(e_shell_folder_title_bar_update_navigation_buttons): New.
(add_navigation_buttons): Remove the "Back" label.
svn path=/trunk/; revision=15799
* e-shell-view.c: New member `history' in `EShellViewPrivate'.
(init): Initialize.
(destroy): Unref.
(e_shell_view_display_uri): Make it a no-op if the URI is the same
as the current one. Also, moved code into `display_uri' and use
it.
(back_clicked_callback): New, callback for the back button on the
folder title bar.
(forward_clicked_callback): Likewise for the forward button.
* e-history.c: New.
* e-history.h: New.
svn path=/trunk/; revision=15798
* e-shell-view.c (e_shell_view_show_folder_bar):
`e_shell_folder_title_bar_set_title_clickable()', not
`e_shell_folder_title_bar_set_clickable()'.
* e-shell-folder-title-bar.c: Rename `button', `button_label' and
`button_arrow' to `title_button', `title_button_label' and
`title_button_arrow'. Renamed `label' to `title_label'. Renamed
`arrow_xpm' to `down_arrow_xpm'. Added `left_arrow.xpm' and
`right_arrow.xpm'.
(class_init): Add the "back_clicked" and "forward_clicked"
signals.
(add_navigation_buttons): New function to add the navigation
buttons to the title bar.
(back_button_clicked_callback): Callback for the back button,
emits "back_clicked".
(forward_button_clicked_callback): Callback for the forward
button, emits "forward_clicked".
(e_shell_folder_title_bar_construct): Call
`add_navigation_buttons()'.
(forward_button_clicked_callback):
(create_arrow_pixmap): Removed.
(create_pixmap_widget_from_xpm): New.
(title_button_box_realize_cb): Removed.
(e_shell_folder_title_bar_construct): Don't connect. Just add the
icon normally using the new `create_pixmap_widget_from_xpm()'.
(e_shell_folder_title_bar_set_title_clickable): Renamed from
`e_shell_folder_title_bar_set_clickable'.
(size_allocate_navigation_buttons): New.
(size_allocate_title_button): Get an @offset.
(size_allocate_label): Get an @offset.
(size_allocate): Allocate the navigation buttons and offset
everything else accordingly.
* e-shell-folder-title-bar.h: New signals "back_clicked",
"forward_clicked".
svn path=/trunk/; revision=15797
* e-shell-user-creatable-items-handler.c
(get_default_action_for_view): Return NULL if there is no
component ID for the current view.
svn path=/trunk/; revision=15792
* 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.
svn path=/trunk/; revision=15786
* e-shell-view-menu.c (command_open_folder_in_new_window): Don't
show the folder bar and the shortcut bar in the new window.
* e-shell-view.c (activate_shortcut_cb): Don't show the folder bar
and the shortcut bar in the new window.
* e-shell-view.c (e_shell_create_view): Don't flush the GTK events
here.
* e-shell.c (e_shell_construct): New arg @start_online. If true,
invoke `e_shell_go_online()' before returning.
(e_shell_new): New arg @start_online. Pass it to
e_shell_construct().
(init): Default ->line_status to E_SHELL_LINE_STATUS_OFFLINE.
* main.c (main): Add "--offline" and "--online" options.
svn path=/trunk/; revision=15776
2002-01-30 Not Zed <NotZed@Ximian.com>
* e-storage-set-view.c (popup_folder_menu): Use
right_click_row_path rather than selected_row_path, so clients get
the uri that was actually clicked on.
svn path=/trunk/; revision=15522
* Makefile.am: Just use BONOBO_HTML_GNOME_CFLAGS and
BONOBO_HTML_GNOME_LIBS for compiling/linking; we don't need the
other ones.
svn path=/trunk/; revision=15458
done but it needs pretty icons so I am leaving it disabled for now.]
* e-combo-button.c: Remove member `separator' from
`EComboButtonPrivate'. New members `icon', `label'.
(init): There shall be no separator no more. Init `icon' and
`label' to %NULL.
(e_combo_button_construct): Set no relief.
(e_combo_button_new): Don't get a @menu arg anymore.
(e_combo_button_construct): Likewise.
(e_combo_button_set_icon): New.
(e_combo_button_set_label): New.
(e_combo_button_set_menu): New.
(impl_clicked): New, overriding the "clicked" method for
GtkButton.
(class_init): Install.
(impl_button_release_event): Removed.
(class_init): No need to override ::release_event with this
anymore.
(impl_released): New, override for the GtkButton::released method.
(class_init): Install.
* e-shell-user-creatable-items-handler.c: New member `id' in
struct `Component'. New member `icon' in struct `MenuItem'.
(component_free): Free ->id.
(component_new): Renamed from `component_new_from_client'. Get an
@id arg and set ->id accordingly.
(e_shell_user_creatable_items_handler_add_component): New arg @id.
Pass it to `component_new'.
(e_shell_user_creatable_items_handler_setup_menus): New arg
@current_component_id.
(e_shell_user_creatable_items_handler_update_menus): New.
(set_current_component): New helper function.
(get_component_by_id): New helper function.
(add_verbs): Renamed from `add_verbs_to_ui_component()'. Get a
@shell_view instead of a @ui_component. Set the SHELL_VIEW_KEY on
the ui_component of the shell_view to point to the shell_view
itself.
(ensure_menu_items): Set item->icon to NULL.
(free_menu_items): Unref item->icon.
(ensure_menu_xml): Set the icon as well.
(get_default_action_for_view): New helper function.
(find_menu_item_for_verb): New helper function.
(shell_view_view_changed_callback): New callback, set up the label
on the "New" button depending on the current component.
(e_shell_user_creatable_items_handler_attach_menus): New. For
now, do not display the toolbar button yet.
(execute_verb): New helper function, splitting out code from
`verb_fn'.
(verb_fn): Use `execute_verb'.
(combo_button_activate_default_callback): Callback for the
"activate_default" signal on the EComboButton.
(setup_toolbar_button): Connect.
* evolution-shell-component.c: New member `icon' in
`UserCreatableItemType'.
(impl__get_userCreatableItemTypes): Put the ->icon in the
corba_type as well.
(user_creatable_item_type_new): Get a new @icon argument.
(evolution_shell_component_add_user_creatable_item): New arg
@icon.
* Evolution-ShellComponent.idl: New member `icon' in struct
`UserCreatableItemType'.
* evolution-test-component.c (register_component): Pass a NULL
@icon to `evolution_shell_component_add_user_creatable_item()'.
* e-shell-view.c (class_init): Add the signal to the class.
(e_shell_view_display_uri): Emit "view_changed".
(e_shell_view_get_current_component_id): New.
* evolution-shell-component-client.c: New member `id' in
EvolutionShellComponentClientPrivate.
(init): Init to NULL.
(impl_destroy): Free.
(evolution_shell_component_client_new_for_objref): Removed.
(evolution_shell_component_client_construct): New arg @id.
Initialize ->id from it.
(evolution_shell_component_client_get_id): New.
* e-shell-view.h: New signal "view_changed".
* evolution-activity-client.c (create_icon_from_pixbuf): Removed.
(create_corba_animated_icon_from_pixbuf_array): Removed.
(evolution_activity_client_construct): Use
`e_new_corba_animated_icon_from_pixbuf_array()' instead.
svn path=/trunk/; revision=15438
* e-shell-about-box.c: Add Michael MacDonald.
[Fixes#17377, Evolution doesn't work on multi-depth displays.]
* main.c (main): Push GdkRGB visual and colormap.
[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.
svn path=/trunk/; revision=15192
* e-setup.c (setup_bonobo_conf_private_directory): New helper
function to create the `~/evolution/private' directory.
(e_setup): Call it.
svn path=/trunk/; revision=15012
* e-shell-view.c (folder_bar_popup_map_callback): And grab the
keyboard as well.
(popdown_transient_folder_bar): Ungrab the keyboard as well.
(switch_on_folder_tree_click): Likewise.
[Fix#16507, Right Click -> View does nothing.]
* e-shell-view-menu.c: New verb "ActivateView".
(command_activate_view): New, callback for the "ActivateView"
verb.
svn path=/trunk/; revision=14897
2001-11-15 Zbigniew Chyla <cyba@gnome.pl>
* 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.
svn path=/trunk/; revision=14849
2001-11-28 Federico Mena Quintero <federico@ximian.com>
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 <ettore@ximian.com>
svn path=/trunk/; revision=14820
2001-11-14 Damon Chaplin <damon@ximian.com>
* e-shell-startup-wizard.c (finish_func): make timezone default to
"UTC" rather than "".
svn path=/trunk/; revision=14700
* e-storage-set-view.c (set_e_shortcut_selection): Get the storage
name if we are dragging a storage instead of a folder.
svn path=/trunk/; revision=14604
2001-11-05 Anna Marie Dirks <anna@ximian.com>
* 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)
svn path=/trunk/; revision=14599
* e-storage-set-view.c (set_e_shortcut_selection): Set the
shortcut name to be the folder name, not just the last component
of its path, which may be different.
svn path=/trunk/; revision=14589
2001-11-01 Anna Marie Dirks <anna@ximian.com>
* 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.
svn path=/trunk/; revision=14567
2001-10-31 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (cursor_activated): Don't do operations on
a NULL path.
(updated_folder_cb, folder_changed_cb): Send pre_change signal
here.
svn path=/trunk/; revision=14558
* e-storage-set-view.c (handle_evolution_path_drag_motion): If the
source folder is stock and the operation is GDK_ACTION_MOVE,
always return %FALSE as we don't want that to be allowed ever.
svn path=/trunk/; revision=14543
* e-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()'.
svn path=/trunk/; revision=14493
2001-10-30 Iain Holmes <iain@ximian.com>
* e-shell-view.c (e_shell_view_load_settings): If the display uri is
NULL, set the view to the default.
svn path=/trunk/; revision=14489
* 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.
svn path=/trunk/; revision=14484
* e-shell-view.c (e_shell_view_construct): Connect to the
"removed_folder" signal with gtk_signal_connect_while_alive() so
we don't crash if the view gets destroyed. Fixes#13285.
svn path=/trunk/; revision=14478
2001-10-30 <NotZed@Ximian.com>
* 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.
svn path=/trunk/; revision=14450
* evolution-shell-component.c (owner_ping_callback): Slightly
change the debugigng message for when the shell has disappeared.
svn path=/trunk/; revision=14413