2003-01-24 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c (folder_browser_ui_add_global): Set the
paned_size here.
* folder-browser.c (folder_browser_gui_init): Don't bother
connecting to the hide-deleted, message-display-style, paned-size,
nor show-preview gconf notifications anymore, since we can just
set them when the view becomes active again in
folder-browser-ui.c. Cuts down on extra overhead.
(folder_browser_destroy): No need to disconnect from those
notifications anymore either.
svn path=/trunk/; revision=19626
2003-01-22 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_get_thread_list): Removed.
(mail_config_set_thread_list): Removed.
(mail_config_uri_renamed): No longer needs to change threaded
state for each url either.
(mail_config_write_on_exit): Updated.
* folder-browser-ui.c (folder_browser_ui_add_list): Get the
threaded state via gconf.
* folder-browser.c (folder_browser_toggle_threads): Save the
threaded state.
svn path=/trunk/; revision=19580
* folder-browser-ui.c (folder_browser_ui_setup_view_menus): Use
EVOLUTION_GALVIEWSDIR.
* message-browser.c (set_bonobo_ui): Get
evolution-mail-messagedisplay.xml from EVOLUTION_UIDIR.
* mail-signature-editor.c (mail_signature_editor): Get
evolution-signature-editor.xml from EVOLUTION_UIDIR.
* folder-browser-ui.c (ui_add): Get the evoluiton-mail* XML files
from EVOLUTION_UIDIR.
* Makefile.am (INCLUDES): Define EVOLUTION_GALVIEWSDIR; update
EVOLUTION_IMAGESDIR to include the $(BASE_VERSION).
(gladedir): Version using $(BASE_VERSION).
(etspecdir): Likewise.
(iconsdir): Likewise.
(buttonsdir): Likewise.
(etspecdir): Likewise.
* component-factory.c (owner_set_cb): Look for vfoldertypes.xml in
the new version-aware location.
* mail-summary.c (generate_folder_summaries): Likewise.
* mail-search-dialogue.c (mail_search_dialogue_construct): Likewise.
* mail-vfolder.c (vfolder_load_storage): Likewise.
* mail-autofilter.c (filter_gui_add_from_message): Look for
filtertypes.xml in the new version-aware location.
(mail_filter_rename_uri): Likewise.
(mail_filter_delete_uri): Likewise.
* mail-session.c (main_get_filter_driver): Likewise.
* mail-callbacks.c (filter_edit): Likewise.
svn path=/trunk/; revision=19562
2003-01-13 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c (folder_browser_ui_add_message): Check the
state of message_style in gconf and set the menus accordingly.
* folder-browser.c (folder_browser_destroy): Remove listener for
message_style change notification.
(folder_browser_gui_init): Connect a listener for changes to
message_style.
svn path=/trunk/; revision=19432
2003-01-10 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c (folder_browser_ui_add_list): We also need
to call message_list_set_hidedeleted() here so that any
deactivated folder controls will change to the currently set state
when re-activated.
(folder_browser_ui_add_global): Same for show_preview.
* folder-browser.c (hide_deleted_changed): Don't call
message_list_set_hidedeleted() here.
(folder_browser_toggle_hide_deleted): Instead, call it here. This
way we get a faster "response time". Also, this will make it so
that not all folder controls will regen their message-list at the
same time.
(folder_browser_toggle_preview): Same idea as the hide-deleted
changes.
(show_preview_changed): See above.
* mail-config-druid.c (make_account): Default the new account to
enabled.
(wizard_finish_cb): Don't set enabled here.
svn path=/trunk/; revision=19417
2003-01-10 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (factory): Updated for function rename.
* mail-config-factory.c (mail_config_control_factory_cb):
Namespaced the function name.
* folder-browser-ui.c (folder_browser_ui_add_global): Don't add
the listener for show_preview here, it was moved into
folder-browser.c so we could detach the listener when the
folder-browser is destroyed. Also prevents a listener being added
multiple times (which was possible? before).
* folder-browser.c (folder_browser_destroy): Remove the gconf
notify handler for show_preview.
(show_preview_changed): Moved here from folder-browser-ui.c
svn path=/trunk/; revision=19408
2003-01-08 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_get_show_preview): Removed.
(mail_config_set_show_preview): Removed.
* folder-browser.c (folder_browser_toggle_preview): Simply set the
gconf show_preview setting and let the code in folder-browser-ui.c
detect it and update the UI.
* folder-browser-ui.c (folder_browser_ui_add_global): Listen for
changed events on the show_preview setting.
svn path=/trunk/; revision=19288
2003-01-07 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (save_cursor_pos): Use gconf to get the paned
size.
(folder_browser_set_message_preview): Same.
(folder_browser_toggle_hide_deleted): Use gconf to set the
hide-deleted state.
(folder_browser_set_message_display_style): Same but for the
message_display_style.
(fb_resize_cb): Save the paned_size via gconf.
(paned_size_changed): Callback for when the paned_size gets
changed. Change the folder-browser's paned size to the new
setting.
(folder_browser_gui_init): Listen to changes to the paned_size and
also get the initial size from gconf.
* message-list.c (message_list_set_folder): Use gconf.
(regen_list_regen): Use gconf.
* message-browser.c (transfer_msg_done): Use gconf to get the
hide_deleted setting.
* mail-account-gui.c (sig_add_new_signature): Use gconf.
* folder-browser-ui.c (folder_browser_ui_add_list): Use gconf.
* folder-browser.c (save_cursor_pos): Use gconf.
(folder_browser_set_message_preview): Same.
(folder_browser_toggle_hide_deleted): Here too.
(folder_browser_set_message_display_style): And here.
(folder_browser_gui_init): Here too.
(done_message_selected): And here.
* mail-config.c (mail_config_get_thread_subject): Removed.
(mail_config_set_thread_subject): Removed.
(mail_config_get_empty_trash_on_exit): Removed.
(mail_config_set_empty_trash_on_exit): Removed.
(mail_config_get_last_filesel_dir): Removed.
(mail_config_set_last_filesel_dir): Removed.
(mail_config_get_hide_deleted): Removed.
(mail_config_set_hide_deleted): Removed.
(mail_config_get_paned_size): Removed.
(mail_config_set_paned_size): Removed.
(mail_config_get_send_html): Removed.
(mail_config_set_send_html): Removed.
(mail_config_get_confirm_unwanted_html): Removed.
(mail_config_set_confirm_unwanted_html): Removed.
(mail_config_get_citation_highlight): Removed.
(mail_config_set_citation_highlight): Removed.
(mail_config_get_citation_color): Removed.
(mail_config_set_citation_color): Removed.
(mail_config_get_do_seen_timeout): Removed.
(mail_config_set_do_seen_timeout): Removed.
(mail_config_get_mark_as_seen_timeout): Removed.
(mail_config_set_mark_as_seen_timeout): Removed.
(mail_config_get_prompt_empty_subject): Removed.
(mail_config_set_prompt_empty_subject): Removed.
(mail_config_get_prompt_only_bcc): Removed.
(mail_config_set_prompt_only_bcc): Removed.
(mail_config_get_confirm_expunge): Removed.
(mail_config_set_confirm_expunge): Removed.
(mail_config_get_confirm_goto_next_folder): Removed.
(mail_config_set_confirm_goto_next_folder): Removed.
(mail_config_get_goto_next_folder): Removed.
(mail_config_set_goto_next_folder): Removed.
(mail_config_get_http_mode): Removed.
(mail_config_set_http_mode): Removed.
(mail_config_get_default_forward_style): Removed.
(mail_config_set_default_forward_style): Removed.
(mail_config_get_default_reply_style): Removed.
(mail_config_set_default_reply_style): Removed.
(mail_config_get_message_display_style): Removed.
(mail_config_set_message_display_style): Removed.
(mail_config_get_default_charset): Removed.
(mail_config_set_default_charset): Removed.
(mail_config_get_x_mailer_display_style): Removed.
(mail_config_set_x_mailer_display_style): Removed.
* subscribe-dialog.c (populate_store_list): Use the list of
accounts. We can't get the list of sources anymore.
(populate_store_foreach): Updated.
* mail-callbacks.c (guess_me_from_accounts): Use account->enabled.
(mail_generate_reply): Same.
(empty_trash): Here too.
* mail-accounts.c (account_delete_clicked): Use account->enabled
rather than source->enabled.
(account_able_clicked): Same.
(account_cursor_change): Here too.
(mail_accounts_load): And here.
* component-factory.c (owner_unset_cb): Use gconf empty-on-exit
settings.
(mail_load_storages): Use account->enabled rather than
account->source->enabled. The struct changed.
* mail-composer-prefs.c (sig_add): Get the send_html pref from gconf.
* message-tag-followup.c (target_date_new): Use gconf.
* mail-config.c (mail_config_get_week_start_day): Removed.
* mail-tools.c (mail_tool_quote_message): Use gconf here too, but
we don't need to parse the colour - just use it as a raw string.
(mail_tool_forward_message): Use gconf.
* mail-format.c (mail_format_data_wrapper_write_to_stream): Use gconf.
(write_headers): Use gconf.
(handle_text_plain): Same.
* mail-display.c (mail_text_write): Updated to use gconf and parse
GdkColour strings.
(on_url_requested): Updated to use gconf.
* mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Use gconf
rather than the old mail-config APIs which will be removed.
(ask_confirm_for_empty_subject): Same.
(ask_confirm_for_only_bcc): Here too.
(composer_get_message): And here.
(create_msg_composer): Same.
(transfer_msg_done): Again here.
(delete_msg): Here too.
(confirm_expunge): And finally here.
* mail-config.c (mail_config_write): Use gconf.
(mail_config_get_sources): Removed.
* mail-account-gui.c (mail_account_gui_save): No need to save
enabled-state anymore for a source.
* mail-config-druid.c (wizard_finish_cb): Instead of setting
account->source->enabled to TRUE, just set account->enabled to
TRUE. The structures changed a bit.
* mail-send-recv.c (mail_send_receive): Get the list of accounts
instead of sources, and pass them along to build_dialogue. I'm
trying to get rid of the mail_config_get_sources() api.
(mail_autoreceive_setup): Here too.
* mail-config.c (mail_config_get_filter_log): Removed.
(mail_config_set_filter_log): Removed.
(mail_config_get_filter_log_path): Removed.
(mail_config_set_filter_log_path): Removed.
(mail_config_get_new_mail_notify): Removed.
(mail_config_set_new_mail_notify): Removed.
(mail_config_get_new_mail_notify_sound_file): Removed.
(mail_config_set_new_mail_notify_sound_file): Removed.
* mail-session.c (main_get_filter_driver): Updated to use the
gconf settings.
svn path=/trunk/; revision=19271
2002-11-27 Not Zed <NotZed@Ximian.com>
* message-tag-followup.c (construct): gnome_pixmap -> gtkimage.
(construct): gtk_clist -> gtk_tree_view, setup columns. They dont
size well :-/
(message_tag_followup_append_message): Append using model, remove
clist stuff.
(construct): Show date edit (glade bugs?)
* folder-browser.c (folder_browser_class_init): gtk_marshal -> g_cclosure_marshal
(setup_popup_icons): gnome_pixmap -> gtk_image.
(on_right_click): gtk_pixmap -> gtk_image.
* mail-accounts.c (account_delete_clicked): removed #if 0'd out code.
* mail-send-recv.c (receive_done): remove FIXME and extra unref.
* mail-session.c (request_password): Removed #if 0'd out stuff.
* mail-vfolder.c (new_rule_clicked): proper cast for g_object_get_data.
* mail-local.c (reconfigure_response): cast for g_object_get_data.
* mail-account-editor.c (construct): GNOME_DIALOG -> GTK_DIALOG.
* *.[ch]: re-ran fix.sh for e_notice change
* mail-callbacks.c (save_msg_ok): g_object_get_data +
gtk_object_remove_no_notify -> g_object_steal_data.
(find_socket): gtk_container_children ->
gtk_container_get_children
(edit_msg): gnome_*_dialog -> gtk_message_dialog.
(resent_msg): "
(search_msg): "
(confirm_goto_next_folder): gtkmessagedialogised (even if not
used).
(confirm_expunge): gtkmessagedialogised
(filter_edit): "
(do_mail_print): e_notice -> gtk_message_dialog.
(are_you_sure): removed e_gnome_ok_cancel_dialog crap, replaced
with a gtk dialog.
(are_you_sure): gtkmessagedialogised.
(edit_msg_internal): Dont free uids array, are_you_sure() free's
it.
(resend_msg): Same.
(check_send_configuration): Use e_notice for stuff. Sigh, here we
go again ...!
(e_question): A utility function to ask a question, potentially
with 'dont ask again' as well.
(configure_mail): use e_question to save code. Here we go again,
again ...
(ask_confirm_for_unwanted_html_mail): "
(ask_confirm_for_only_bcc): "
(ask_confirm_for_only_bcc): "
(composer_get_message): Use e_notice.
(composer_save_draft_cb): Use e_question
(edit_msg): use e_notice, & change to an ERROR.
(resend_msg): same.
(save_msg_ok): Properly initialise ret to OK, and use e_question,
and use access() to determine existance/write access rather than
stat, display an error if we can't write to a file that exists,
and print the filename in all dialogues.
(confirm_goto_next_folder): Use e_question.
(confirm_expunge): use e_question.
(filter_edit): Use e_notice.
(do_mail_print): use e_notice.
svn path=/trunk/; revision=18974
2002-09-09 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c (folder_browser_ui_scan_selection): Make
sure that fb->message_list is non-NULL before checking
fb->message_list->threaded? I guess this'll fix bug #29965.
* mail-callbacks.c (composer_save_draft_cb): NULL-check the ccd
before reffing it.
(composer_send_cb): Same.
svn path=/trunk/; revision=18026
2002-08-29 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c: Add HAS_FLAGS to a few miscellaneous commands
that don't use IS_xMESSAGE.
svn path=/trunk/; revision=17922
2002-08-28 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c (default_ui_nodes): Add some new flags for
sensitizing nodes based on the flags of the currently selected
messages.
(folder_browser_ui_add_message): Reset the sensitivity cache when
we re-add UI items.
(folder_browser_ui_add_list): Same.
(folder_browser_ui_add_global): Same.
(fbui_sensitise_item): Only cache the sensitivity in the hash
table if we actually change it.
(folder_browser_ui_scan_selection): New function, getting the bulk
of the contents of folder_browser_ui_set_selection_state. Now
with code to iterate over the currently selected messages and
check their flags so we can sensitize based on them.
(folder_browser_ui_set_selection_state): Now just set the
selection state if necessary and pass off to _scan_selection. Don't
skip of we're trying to go from SELSTATE_SINGLE to SELSTATE_SINGLE,
eg, as the flags of the selected messages may have changed.
* folder-browser-ui.h: Prototype folder_browser_ui_scan_selection.
* folder-browser.c (main_folder_changed): Call
folder_browser_ui_scan_selection as the flags on a selected
message may have just changed.
svn path=/trunk/; revision=17893
2002-08-20 Mike Kestner <mkestner@ximian.com>
* folder-browser-ui.c (folder_browser_ui_setup_view_menus): guard
against the view_instance disappearing during earlier CORBA work.
svn path=/trunk/; revision=17825
2002-08-08 Not Zed <NotZed@Ximian.com>
* folder-browser.c (folder_browser_toggle_threads): Force a
refresh of the menu sensitivity when the thread state changes.
2002-08-07 Not Zed <NotZed@Ximian.com>
* folder-browser-ui.c: Added EditSelectThread to only enable
threaded mode if threaded is on. For #19941. Added some macro's
to simplify the table.
(folder_browser_ui_set_selection_state): Implement IS_THREADED
mask.
svn path=/trunk/; revision=17738
2002-08-07 Not Zed <NotZed@Ximian.com>
* message-tag-followup.c (target_date_new): Set the week start day
from the calendar prefs, do same for 24 hour format. See #23423.
svn path=/trunk/; revision=17728
2002-07-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_folder_to_safe_url): Use
mail_tools_folder_to_url().
* mail-tools.c (mail_tools_folder_to_url): New convenience
function to take a CamelFolder and return the URL associated with
it.
* mail-callbacks.c (composer_get_message): Pass in a 'post'
argument so we know whether or not we can ignore a NULL set of
recipients.
(composer_send_cb): Default send->send to TRUE unless we are in
Post-To mode, in which case set send->send to FALSE (since we'll
have nothing to send). Also, if we are in Post-To mode, append to
the folder the user wants to post to rather than appending to
Outbox.
(composer_send_queued_cb): Only queue a send thread if send->send
is TRUE (ie, the composer was not in Post mode - if it was in Post
mode, then the message post has already been saved in the correct
folder so there is nothing to do).
(post_message): New function to create an empty composer widget in
Post mode.
(post_reply): New function that calls mail_reply with the new mode
of REPLY_POST.
(mail_generate_reply): If the mode is REPLY_POST, create a Post
composer widget otherwise create a normal composer widget.
svn path=/trunk/; revision=17592
2002-07-10 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c: Modified to use a single list of UI node
elements with an enable-mask rather than split into groups. This
allows much more control and easier modification to get the
desired enable/disable effects.
svn path=/trunk/; revision=17414
2002-06-04 Christopher James Lahey <clahey@ximian.com>
* folder-browser-ui.c (folder_browser_ui_setup_view_menus): Set
the title of our GalViewCollection.
svn path=/trunk/; revision=17104
2002-05-01 Not Zed <NotZed@Ximian.com>
* folder-browser.h (FOLDER_BROWSER_IS_DESTROYED): Also check
folder!=NULL. Fixes race where folder isn't setup yet, and
neither is bonobo menu status (because its delayed), and we get a
menu event before we're setup yet. For bug #21939.
svn path=/trunk/; revision=16653
2002-04-01 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c: Removed an unused pixmap from
Tools/Settings to avoid a big nasty bonobo warning.
svn path=/trunk/; revision=16318
2002-03-26 Jeffrey Stedfast <fejj@ximian.com>
Sync with yet-another-mail-config branch.
* mail-composer-prefs.c: Updated to get the right widgets and
whatnot. Also updated to tell the evolution-config-control that
stuff has changed.
* mail-preferences.c: Updated to get the right widgets and
whatnot. Also updated to tell the evolution-config-control that
stuff has changed.
* mail-accounts.etspec: New file needed by mail-accounts.c
svn path=/trunk/; revision=16257
2002-03-14 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (next_thread): Implemented.
* message-list.c (message_list_select_next_thread): New function
to select the next thread.
svn path=/trunk/; revision=16165
2002-03-04 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (my_folder_browser_init): Connect to the
focus-in/out events on the message-list so that we can disable the
EditInvertSelection and EditSelectThread menu items when the
message-list is not in focus.
* folder-browser-ui.c (folder_browser_ui_message_list_unfocus):
New function to de-sensitize some items if the message-list is not
in focus.
(folder_browser_ui_message_list_focus): New function to sensitize
some items if the message-list is not in focus.
* mail-callbacks.c (invert_selection): Only invert the selection
of the message-list if it is the widget in focus.
* message-list.c (message_list_select): Do not explicitly grab the
focus here.
svn path=/trunk/; revision=15909
2002-02-13 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c: Set the followup icon to use the new flag
icon rather than the exclamation mark icon.
* mail-callbacks.c (flag_for_followup): Append the selected
messages to the clist in the followp editor.
* message-list.c: Include the new flag-for-followup icon.
* message-tag-followup.c (message_tag_followup_append_message):
New method to add a message to the message-list.
(construct): Get the message_list widget and load the flag icon
pixmap.
svn path=/trunk/; revision=15720
2002-02-12 Jeffrey Stedfast <fejj@ximian.com>
* message-tag-followup.c (set_widget_values): Fixed a bug.
* mail-callbacks.c (flag_for_followup): If only 1 message is
selected and it happens to already be marked for follow-up, set
the value of the flag on the editor so the settings are restored.
* folder-browser-ui.c: Set the pixmaps on MarkAsRead, MarkAsUnread
and MarkAsImportant bonobo verbs. Also connect to
flag-for-followup verb.
(folder_browser_ui_set_selection_state): Added MessageFollowUpFlag
verb to the array of verb strings.
* folder-browser.c: Set key accelerators on the follow-up
right-click menu items to match Outlook.
svn path=/trunk/; revision=15702
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped the required version of gal.
From addressbook/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* gui/widgets/e-addressbook-view.c
(e_addressbook_view_setup_menus): Changed this function to use the
new GalViewMenus which takes a GalViewInstance, instead of a
GalViewCollection.
From calendar/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c
(gnome_calendar_setup_view_menus): Made these use the new
GalViewMenus stuff.
From mail/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* folder-browser.c, folder-browser.h, folder-browser-ui.c,
folder-browser-ui.h
(folder_browser_ui_setup_view_menus,
folder_browser_ui_discard_view_menus): Changed this to use the new
GalViewMenus stuff. Made these exported functions.
* mail-callbacks.c, message-browser.c: Changed these to not pass
the now removed row parameter to message_list_select.
* mail-config.c, mail-config.h (mail_config_folder_to_safe_url):
Refactored this out of mail_config_folder_to_cachename.
* message-list.c, message-list.h (message_list_select): Removed
the row argument. Changed this to use the new function in ETree
for finding the next cursor row that matches a test.
(message_list_construct): Handle a failed construction of the
ETree here.
(message_list_setup_etree, save_tree_state): Don't load or save
the header state. folder-browser-ui.c deals with this now.
From views/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* addressbook/galview.xml, calendar/galview.xml, mail/galview.xml,
tasks/galview.xml: Added default-view parameters.
* mail/As_Sent_Folder.galview: New galview.
* mail/Makefile.am, mail/galview.xml: Added As_Sent_Folder
galview.
From widgets/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* menus/gal-view-menus.c, menus/gal-view-menus.h
(gal_view_menus_new): Made this take a GalViewInstance instead of
a GalViewCollection. Reworked most of this to utilize the
interfaces provided by GalViewInstance.
svn path=/trunk/; revision=15592
2002-01-29 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (redirect): New function that implements the
Redirect feature.
* mail-ops.c (mail_send_message): If we are redirecting a message,
get the Resent-* recipients otherwise get the normal To/Cc/Bcc
recipients and use them in the CamelTransport::send_to() method.
* mail-session.c (main_get_filter_driver): Set the beep_func to
the beep_cb, not the play_sound_func. Oops ;-)
* folder-browser-ui.c: Add Redirect bonobo verb thingy here.
(folder_browser_ui_set_selection_state): Add MessageRedirect to
the proper string arrays.
svn path=/trunk/; revision=15511
2001-12-11 Jon Trowbridge <trow@ximian.com>
* message-list.etspec: Add ETable magic for our new "Needs Reply"
column. (The next few entries are for bug #90)
* message-list.h: Add COL_NEED_REPLY.
* message-list.c: Move mail_need_reply_xpm to the end of
states_pixmaps.
(ml_duplicate_value): Handle COL_NEED_REPLY.
(ml_free_value): Handle COL_NEED_REPLY.
(ml_initialize_value): Handle COL_NEED_REPLY.
(ml_value_is_empty): Handle COL_NEED_REPLY. Added
needs_reply_map[] array.
(ml_value_to_string): Handle COL_NEED_REPLY.
(ml_tree_value_at): Fix magic numbers, undoing my changes from the
otehr day. Add handler for COL_NEED_REPLY.
(message_list_create_extras): Attach icons for COL_NEED_REPLY.
(on_click): Undo my previous changes to display need-reply status
in COL_MESSAGE_STATUS. Add handing for COL_NEED_REPLY.
* mail.h: Change mail_format_mime_message, mail_format_raw_message
and the MailMimeHandlerFn typedef to take GtkHTML and
GtkHTMLStream args, as per our changes in mail-format.c.
* mail-format.c: Giant refactoring. Remove the assumption
throughout that we will always want to render into the GtkHTML
object contained in the MailDisplay. Instead, always pass in the
GtkHTML and GtkHTMLStream that we want to write to. Also, ignore
theme work-arounds if the printing flag is set. (This and what
follows fixes bug #82)
* mail-display.h: Remove GtkHTMLStream *stream from MailDisplay.
We don't need it anymore.
* mail-display.c (mail_display_render): Added. Breaks the code
that renders the message into the GtkHTML object out of
mail_display_redisplay.
(mail_display_redisplay): Call mail_display_render.
(mail_display_init): Remove reference to ->stream.
(mail_display_new): Remove reference to ->stream.
* mail-callbacks.c (do_mail_print): Create a new GtkHTML to render
our printed version into (via the new function
mail_display_render. Set the MailDisplay's printing flag to TRUE
before we render, and set it back to FALSE afterwards.
(do_mail_fetch_and_print): If the preview pane isn't open when we
try to print, fetch the message before printing.
(print_msg): Call do_mail_fetch_and_print.
(print_preview_msg): Call do_mail_fetch_and_print.
* folder-browser-ui.c: Remove "PrintMessage" and
"PrintPreviewMessage" from message_pane_enables... these now work
when the preview pane is closed. Disable printing if multiple
messages are selected.
svn path=/trunk/; revision=14981
2001-12-03 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c: Setup the UI for the AddSenderToAddressbook
ui verb thingy.
* mail-callbacks.c (add_sender_to_addrbook): New bonobo-ui
callback that adds a sender to the addressbook.
svn path=/trunk/; revision=14905
2001-12-04 Jon Trowbridge <trow@ximian.com>
* folder-browser-ui.c (folder_browser_ui_set_selection_state):
Allow 'n' and 'p' to work when multiple messages are selected.
Fixes#12062.
svn path=/trunk/; revision=14874
2001-11-25 Not Zed <NotZed@Ximian.com>
* mail-config.c (config_read): Enable news accounts that exist
always, since no gui for it.
2001-11-20 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_select): 'n' shouldn't wrap if 'p'
doesn't.
* mail-format.c (format_mime_part): Make sure the mime-type is
non-NULL before passing it off to mail_lookup_handler().
2001-11-20 Not Zed <NotZed@Ximian.com>
* folder-browser-ui.c: Disable search if no message
loaded/viewed. Also for #14348.
* folder-browser.c: Disable "Add sender to addressbook" if we dont
have a message loaded (it wont work). For #14348.
2001-11-20 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (load_content_loaded): Make sure the mail-display
object is still "alive" before accessing any of it's data.
svn path=/trunk/; revision=14796
2001-11-02 <NotZed@Ximian.com>
* message-browser.c (message_browser_message_list_built):
Disconnect from the message_list_built function so we dont do it
every time the list is rebuilt.
* mail-callbacks.c (composer_send_cb): Disable autosave when we're
sending mail.
(composer_sent_cb): Re-enable autosave.
* folder-browser-ui.c (fbui_sensitize_timeout): Make sure we reset
any data we're using on the folderbrowser before doing anything
'cause things could vanish while we're doing it, and also
ref/unref the folderbrowser so it doesn't vanish while w'ere
working.
* folder-browser.c (folder_browser_set_ui_component): If we are
changing the ui comp, remove any pending timeouts. For #13719.
svn path=/trunk/; revision=14575
2001-10-30 <NotZed@Ximian.com>
* subscribe-dialog.c (fe_cancel_op_foreach): Argh!!! Dont free the
async op data here, the async op is still running and will access
it! Just try to cancel it and mark it as cancelled (id == -1)
(fe_done_subscribing): Only remove outselves from the hash table
if we're not cancelled. The handle should always be set here,
since this code runs in the gui thread.
* message-list.c (on_cursor_activated_idle): If nothing
selected/cursor not activated, then select no message.
* mail-folder-cache.c (update_1folder): Make the trash count
optional on EVOLUTION_COUNT_TRASH, becuase some lusers are just
too stupid to understand what its for.
* component-factory.c (storage_xfer_folder): Return slightly
better error codes for copying folders, since its not implemented
yet.
* mail-vfolder.c, mail-local.c, mail-folder-cache.c,
message-list.c component-factory.c, mail-ops.c,
subscribe-dialog.c, mail-session.c: d() out some debug printfs,
w() out some warnings.
* folder-browser-ui.c (folder_browser_ui_add_message): Fix typo,
Resent->Resend.
svn path=/trunk/; revision=14412
2001-10-28 <NotZed@Ximian.com>
* folder-browser-ui.c (fbui_sensitize_timeout): Remove uic, kill
dumb warning.
* mail-autofilter.c (mail_filter_rename_uri): Implement function
for filters to keep track of uri's being renamed.
(mail_filter_delete_uri): Similarly for deleting uri's. Note that
these functions are just noops though.
(real_flush_updates): Also rename and delete uri's from filters.
(mls_delete_folder): Unref the store when done.
(mls_rename_folder): Fix implementation, shell already created
destination folder, so we can't just rename :(
(xfer_folder): Manually call rename code, since the shell will do
a remove/add later on, AND there's no way we can determine the new
path from the crock of an api we have to work with.
svn path=/trunk/; revision=14291
2001-10-25 <NotZed@Ximian.com>
* folder-browser-ui.c (fbui_sensitize_timeout): So apparently the
uicomp can just 'vanish' while we're using it. Joy. Take care of
that case here, fixes#13482.
(fbui_sensitise_item): Check here too just for kicks.
* mail-folder-cache.c (store_finalised): If we can't destroy our
async event, then queue another one to do it.
(store_finalised_finish): And handle it here, until we can, then
free it.
(mail_note_store): Queue an async event to get folderinfo, dont
use mail_get_folderinfo.
(update_folders_get): thread-async event to retrieve the
folderinfo, and build it, then queues gui-async event to update
the gui.
(add_unmatched_info): Taken from mail-ops, adds unmatched if
required.
(add_vtrash_info): From mail-ops, add trash if required.
(update_folders): Thread async event to update gui.
(mail_note_store): Ref the store and storage when created.
(update_1folder): Changed to assume we have info_lock, and store
updates in an updates list.
(setup_folder): Same.
(folder_changed): Changed to call update_1folder directly.
(real_folder_changed): Removed.
(mail_note_folder): Changed to call update_1folder directly.
(real_note_folder): Removed.
(store_folder_subscribed): Call setup_folder directly.
(real_folder_created): Removed.
(real_flush_update): Function that actually does the updates in
the gui thread.
(mail_note_store): Go back to using mail_get_folderinfo.
(update_folders): Fixed upf ro changed api's.
(unset_folder_info): Changed to queue pending updates.
(real_folder_deleted): Removed.
(store_folder_unsubscribed): Do the removal work directly.
(mail_note_store): Dont link to finalised event of store - we now
ref it.
(mail_note_store_remove): If we have any pending updates, clear
them out. Also cancel any pending folderinfo retrieve operations.
(update_folders): Remove our update from the storeinfo list, if it
still exists.
(update_1folder): Make 'sent folder shows all counts' optional via
an environmental variable EVOLUTION_COUNT_SENT for all those
bloody whinging lusers out there.
(mail_note_store_remove): Unref the storage when done.
* mail-mt.c (mail_async_event_emit): If we're in main and have a
gui task, set it to run via an idle function.
(idle_async_event): Wrapper for calling do_async_event from idle
function, and freeing the message when done.
(idle_async_event): Call mail_msg_free not free on the finished
message.
* component-factory.c (mail_remove_storage): Destroy the storage
async.
(store_disconnect): This does the work.
(free_storage): Un-note the store when we remove it, so the store
noting code can unref things properly.
(idle_quit): Return false when done, dont loop.
2001-10-24 <NotZed@Ximian.com>
* component-factory.c (owner_set_cb): Setup an async_event
handler.
(idle_quit): Try to destroy the async_event, or keep dropping out
if it can't (deadlock).
* mail-mt.c (do_async_event): Set the threadid of the thread we're
running in so we know its running/which thread its in.
(mail_async_event_emit): Added new argument 'type' which is the
type of thread to execute against, gui or another one. Fixed all
callers.
(mail_async_event_destroy): Return -1 if this operation will fail
(deadlock possibility). If we're in the thread of the task
we're going to wait for, then return a failure (since we will
deadlock).
(mail_async_event_emit): Chagned to use MailAsyncFunc type as the
function type, which just takes 3 void args, change args to suit.
* mail-folder-cache.c (mail_note_store): Record the pending update
events in a pending list. We should really be able to use an
async event for this, but that doesn't return to the gui loop when
done :-/
(update_folders): Remove from pending update when done.
svn path=/trunk/; revision=14101
fix for #10346
2001-10-24 <NotZed@Ximian.com>
* message-browser.c (message_browser_message_loaded): Call
ui_message_loaded when we are.
* folder-browser-factory.c (control_activate): Freeze/thaw around
all updates.
(control_deactivate): Freeze/thaw around all updates.
* folder-browser.c (folder_browser_init): Setup a hashtable to
keep track of *our* sensitise state, so we can optimise pushes to
bonobo.
(folder_browser_finalise): Free hash here.
(folder_browser_set_message_preview): Call a ui_message_loaded,
even though it isn't, so it updates sensitivities right.
(done_message_selected): Call ui_message_loaded when it really is,
rather than the very fucked up idea of reversing the loaded_uid
check.
* folder-browser-ui.c (folder_browser_ui_set_selection_state):
Dont enable the message-enabled options if the message display is
hidden, e.g. print, view headers, etc.
(folder_browser_ui_rm_all): Forget sensitise state.
(fbui_sensitise_item): Sensitise items via a current-state table,
so we dont have to do bonobo calls every time.
(folder_browser_setup_property_menu): Call sensitise_item.
(folder_browser_ui_add_message):
(folder_browser_ui_add_global): Leave current set_prop "sensitive"
for the stop button, so it doesn't get lost by the stuff in
mail-mt.c
(fbui_real_sensitize_items): Removed.
(fbui_sensitize_timeout): Cleaned up, use sensitise_item to do
work.
(folder_browser_ui_message_loaded): Setup sensitive based on
preview_shown too.
(folder_browser_ui_set_selection_state): And here too.
svn path=/trunk/; revision=13972
2001-10-09 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c (folder_browser_ui_add_message): Create a
chaqrset picker submenu in the View menu.
* mail-format.c (mail_format_raw_message): Pass the mail-display
to get_data_wrapper_text.
(get_data_wrapper_text): Use the user's override charset if one is
provided, otherwise user the user's default charset.
(handle_text_plain): Pass along the mail-display to
get_data_wrapper_text.
(handle_application_pgp): Same.
(handle_text_enriched): Here too.
(mail_get_message_body): Pass NULL as the mail-display to
get_data_wrapper_text since we don't have access to a
mail-display.
* mail-display.c (mail_display_set_charset): New function to set a
charset on the maildisplay. Once set, the message is redisplayed
using the new charset.
(mail_display_destroy): Free the charset.
* folder-browser.c (folder_browser_charset_changed): New callback
for when a user overrides the message charset.
svn path=/trunk/; revision=13530
2001-10-04 <NotZed@Ximian.com>
* folder-browser-ui.c (folder_browser_setup_property_menu): Do a
better job of setting up the name. Also de-sensitise when we
can't configure the folder.
svn path=/trunk/; revision=13427