2002-11-26 Not Zed <NotZed@Ximian.com>
* message-list.c (get_normalised_string): Duh idiot, "un-fixed"
the memleak i added.
* mail-callbacks.c (composer_get_message): Set parent window in
message dialogue & DESTROY_WITH_PARENT flag.
(composer_save_draft_cb):
(configure_mail):
(check_send_configuration): Add DESTROY_WITH_PARENT flag to
gtk_message_dialog's
(local_configure_done): remove some unecessary/wrong casts.
(empty_trash_expunged_cb): "
(do_mail_print): use gtk_window_set_transient_for instead of
e_dialog_set_parent.
svn path=/trunk/; revision=18923
2002-11-26 Not Zed <NotZed@Ximian.com>
* mail-account-editor.c (mail_account_editor_new):
gtk_widget_set_parent_window -> gtk_window_set_transient_for.
* mail-callbacks.c (composer_send_queued_cb): dont unref composer.
* message-browser.c (message_browser_destroy): moved back from
finalise.
2002-11-25 Not Zed <NotZed@Ximian.com>
* message-list.c (message_list_dispose): move saving tree state
here.
(message_list_finalise): And take it from here.
* mail-display.c (mail_display_destroy): @#$@# gtk. changed this
around a bit.
(mail_display_init): Fix prototype, its a gobject.
(mail_display_init): ref/sink the invisible gtkobject.
svn path=/trunk/; revision=18919
2002-11-13 Not Zed <NotZed@Ximian.com>
* Makefile.am: Commented out stuff that doesn't build yet. Also
fixed idl build rule. importers still not built.
* main.c (main): bonobactivationise. remove push visual/colormap.
(main): no longer activate activation, let bonobo_init do it.
* mail-signature-editor.c (menu_help): Change help api.
* mail-session.c (user_message_destroy_noreply): removed. Not
used?
* mail-local.c (load_metainfo): xml root->children.
* mail-format.c (g_string_append_len): Removed, it exists now.
2002-11-12 Not Zed <NotZed@Ximian.com>
* subscribe-dialog.c: gnome2ised, use gtkdialog.
(subscribe_get_global_extras): use a weak ref rather than destroy signal.
* message-tag-followup.c: gnome2ised.
* message-tag-editor.c: gnome2ised & converted to gtkdialog.
* message-list.c: gnome2ised.
(message_list_finalise): From destroy method. maybe should be
destroy still.
* message-browser.c: port to gnome2
(message_browser_finalise): renamed from destroy method.
* mail-stream-gtkhtml.c: removed redundant
camel_class_get_global_classfuncs() call.
* mail-signature-editor.c: gtkdialogised, & bonobo api changes.
* mail-search-dialogue.c: gtkdialogised.
* mail-folder-cache.c: cleaned up camel ref/hook casts.
* mail-composer-prefs.c (mail_composer_prefs_get_type): convert to
gtype.
* mail-font-prefs.c (mail_font_prefs_destroy): from finalise.
* mail-config.c: s/bonobo_config/e_config_listener/
Added /apps/Evolution prefix to the evolution keys.
Changed to use e_config_listener, etc.
(mail_config_init): remove bonobo_config stuff.
(mail_config_check_service): gtk dialogise.
(check_response): from check_cancelled.
* mail-config-druid.c (mail_config_druid_destroy): renamed from
_finalize, turned into destroy handler.
(construct): set type to toplevel, GTK_WINDOW_DIALOG no longer exists.
* mail-config-factory.c (mail_config_register_factory): bonobo api
changes.
* mail-crypto.c (mail_crypto_get_pgp_cipher_context): cleaned up
unref casts.
* mail-display.c (write_data_to_file): gnome->gtkdialog.
(on_link_clicked): use ascii_str*cmp on url.
(save_part): g_path stuff.
(launch_cb): gtk dialog.
(pixmap_press): de-oafify.
(pixbuf_for_mime_type): gnome-vfs api changes.
(do_attachment_header): Change the pixmap to a gtkimage.
(do_signature): "
(pixbuf_gen_idle): "
(do_attachment_header): ascii_str*cmp
(do_attachment_header): gnome pixmap->gtkimage.
(mail_display_destroy): protect against gtk mentalness.
(html_button_press_event): ascii_str*cmp
(drag_data_get_cb): added comment for translators of filename.
* mail-format.c (component_supports): de-oafise.
(is_anonymous): ascii_strncmp
(attachment_header): remove utf8<>locale stuff, and gnomevfs api
changes.
(format_mime_part): fix g_strdown call.
(write_field_row_begin): kill utf8->gtk stuff.
(write_address): "
(default_header_index): ascii_strcasecmp
(handle_text_plain): "
(handle_text_enriched): "
(handle_multipart_encrypted): remove utf/gtk stuff.
(handle_message_external_body): ascii_str*cmp
* mail-identify.c (mail_identify_mime_part):
(identify_by_magic): gnome vfs api changes.
* mail-importer.c: Converted.
* mail-local.c (load_metainfo): xml childs -> children.
(mls_get_folder): g_strerror.
(mls_delete_folder): g_strerror.
(reconfigure_got_folder): Gnome->GtkDialog
(reconfigure_response): from reconfigure_clicked.
* mail-mt.c (mail_msg_check_error): gnome -> gtk dialog
(error_response): renmae from error_gone. destroy widget on any
response.
* mail-offline-handler.c (impl_finalise): renamed from
impl_destroy since thats what it should be anyway.
* mail-ops.c: removed utf8 widget conversion & camel_object_un/ref
casts.
* mail-preferences.c (mail_preferences_get_type): glib2'ised.
* mail-search.c (mail_search_finalise): renmaed from destroy &
properly chain.
(mail_search_get_type): glib2 & make gtkdialog parent.
(entry_run_search): run search when entry activated. not sure if
gtkdialog has anohter way to do this on an arbitrary widget.
* mail-send-recv.c (dialogue_response): renamed from clicked. Use
gtkdialog.
* mail-session.c (request_password_deleted): removed, redundant.
(pass_response): rename from pass_got, changed for gtkdialog.
(user_message_destroy): Removed, redundant.
(user_message_response): Renamed from user_message_clicked.
2002-11-11 Not Zed <NotZed@Ximian.com>
* mail-stream-gtkhtml.c (mail_stream_gtkhtml_class_init): dont use
get_global_classfuncs, just get the type
* mail-tools.c: converted gnome2 api's.
* mail-vfolder.c (vfolder_editor_response): clicked->response.
(vfolder_editor_destroy): Removed.
(vfolder_edit): gtk dialog api
(edit_rule_response): clicked->response.
(vfolder_edit_rule): gnomedialog->gtkdialog.
(vfolder_gui_add_rule): "
(new_rule_clicked): clicked->response
svn path=/trunk/; revision=18723
* Mailer.idl: rename this from "Mail.idl" so that the generated .h
file won't overwrite "mail.h" on Mac OS X. Remove some
never-implemented IDL and add MailConfig_removeAccount.
* Makefile.am: Update for IDL rename
* mail-config.c: #include Mailer.h, not Mail.h
(impl_GNOME_Evolution_MailConfig_removeAccount): Implement.
* folder-info.c: #include Mailer.h, not Mail.h
* message-list.c: Remove Mail.h include.
svn path=/trunk/; revision=18060
2002-09-10 Not Zed <NotZed@Ximian.com>
* folder-browser.c (got_folder): If we already have a folder, make
sure we unref/unhook from it. Fixes a crash on exit.
* message-list.c (message_list_hide_clear): clear thread tree
cache if set.
(message_list_set_search): Same. For bug #28834.
svn path=/trunk/; revision=18029
2002-08-27 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (regen_list_regen): Pass
mail_config_get_thread_subject() as the third argument to
camel_folder_thread_messages_new().
* mail-config.c (config_read): Read in the thread_by_subject
config option.
(mail_config_write_on_exit): Save the thread_by_subject config
option.
(mail_config_get_thread_subject): New function to get the
thread_subject value.
(mail_config_set_thread_subject): New function to set the
thread_subject value.
svn path=/trunk/; revision=17881
2002-08-21 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c (class_init): Don't bother overloading the
timeout virtual methods since they don't exist anymore.
* mail-folder-cache.c (mail_note_store): Register a ping timeout
callback to ping each store to keep the connections alive.
svn path=/trunk/; revision=17831
2002-08-20 Peter Williams <peterw@ximian.com>
* message-list.c (search_func): Once we hit the target node,
update the cursor_uid if it's set. Fixes#29085.
svn path=/trunk/; revision=17821
2002-08-06 Not Zed <NotZed@Ximian.com>
* message-list.c (message_list_hidden): Only count hidden messages
which are in the folder. Should probably maintain hidden table
better. For #4334.
svn path=/trunk/; revision=17707
2002-08-05 Jeffrey Stedfast <fejj@ximian.com>
* mail-mt.c (mail_msg_check_error): If we are not in interactive
mode, don't display error dialogs.
* component-factory.c (interactive_cb): Updated to use the new
function mail_session_set_interactive().
(owner_unset_cb): Same here.
* mail-session.c (mail_session_set_interactive): Renamed from
mail_session_enable_interaction().
(mail_session_get_interactive): New function to get the
interactive state.
svn path=/trunk/; revision=17702
2002-08-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (mail_display_render): Updated to use the new
Follow-Up tags. Instead of storing a string containing the
follow-up tag value, we now have to store the CamelMessageInfo.
(mail_display_destroy): Unref the folder and the message-info.
* folder-browser.c (followup_tag_complete): No longer needed.
(on_right_clicked): Use the individual follow-up tags to decide
whether or not to enable something.
* message-list.c (ml_tree_value_at): Update to use the new
Follow-Up tags.
* mail-callbacks.c (flag_for_followup): Update to use the new
MessageTagEditor API.
(tag_editor_ok): Update this too.
(flag_followup_completed): Updated this too.
(flag_followup_clear): Set all the follow-up tag values to "".
svn path=/trunk/; revision=17691
2002-07-22 Not Zed <NotZed@Ximian.com>
* message-list.c (regen_list_regened): Remove the assert, and
always copy over the threadtree which represents the current view,
unreffing the old one if set. For #28021. Haven't tested this a
lot, but i guess it cant be worse than what is there.
svn path=/trunk/; revision=17524
2002-07-15 Not Zed <NotZed@Ximian.com>
* message-list.c (ml_tree_value_at): Lookup the label colour based
on the label token, not an integer.
* folder-browser.c (on_right_click): Lookup the label name from
the filter type. Sigh, a bunch of other code should do similar
but i'm going to leave it as integers.
(set_msg_label): Set the label directly.
svn path=/trunk/; revision=17473
2002-06-18 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_change_first_visible_parent): New
convenience function to find the first parent node that is visible
and emit a changed signal on it.
(main_folder_changed): If a message changed, call
change_first_visible_parent() in case we are in a collapsed thread
so that our first visible parent gets updated as well. Fixes bug
#26263.
* component-factory.c (storage_remove_folder): Simplify the error
checking.
svn path=/trunk/; revision=17228
2002-06-17 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (get_normalised_string): New convenience function
to get a cached normalised string.
(subject_compare): Removed, as we strip Re:'s when normalising the
subject strings now.
(ml_tree_value_at): Added support for the normalised columns (used
for a sorting optimisation).
(message_list_init): Initialise normalised_hash.
(message_list_destroy): Destroy normalised_hash.
(message_list_create_extras): Removed subject_compare.
(main_folder_changed): De-cache normalised strings for any removed
uids.
svn path=/trunk/; revision=17213
2002-06-17 Not Zed <NotZed@Ximian.com>
* message-list.c (regen_list_regen): If we dont support searching,
dont try to.
svn path=/trunk/; revision=17208
2002-06-11 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (regen_list_regen): Move m->complete = TRUE; to
within the cancel-check block, this way complete only ever gets
set to TRUE if we weren't cancelled. I assume this is how it was
supposed to work.
svn path=/trunk/; revision=17169
2002-06-11 Not Zed <NotZed@Ximian.com>
* folder-info.c (do_get_info): If we dont get a folder, dont try
and get details off it. Should get rid of most of those annoying
summary warnings, but not the cause of them.
2002-06-06 Not Zed <NotZed@Ximian.com>
* message-list.c (mail_regen_list): Keep track of the regeneration
request in a list.
(regen_list_free): Remove the request from the regenreation list.
(message_list_set_folder): If there are any outstanding
regneration requests, cancel them.
(regen_list_regened): If we were cancelled, do nothing.
(regen_list_regen): If we were cancelled, shortcut processing.
This is all for #23571.
* message-list.c (regen_list_regen): Change the way we calculate
the hide deleted messages and tree view options. Do it based on a
search and uid's rather than a summary.
(regen_list_regened): Handle changes to tree storage.
(mail_regen_list): The tree is now stored between updates, so we
can update the tree structure incrementally. This blows out
memory use some however. We need an etree that uses this as its
model directly?
(message_list_destroy): Free the thread tree.
(message_list_set_folder): Clear the thread tree when changing
folder.
svn path=/trunk/; revision=17165
2002-06-06 Not Zed <NotZed@Ximian.com>
* message-list.c (mail_regen_list): Keep track of the regeneration
request in a list.
(regen_list_free): Remove the request from the regenreation list.
(message_list_set_folder): If there are any outstanding
regneration requests, cancel them.
(regen_list_regened): If we were cancelled, do nothing.
(regen_list_regen): If we were cancelled, shortcut processing.
This is all for #23571.
svn path=/trunk/; revision=17129
2002-06-01 Not Zed <NotZed@Ximian.com>
* mail-local.c (mlf_getv): Implement, return a text description of
the localfolder.
* message-list.c (ml_duplicate_value):
(ml_free_value):
(ml_initialize_value):
(ml_value_is_empty):
(ml_value_to_string):
(ml_tree_value_at): Implement COL_LOCATION, original location of
message (useful for vfolder).
svn path=/trunk/; revision=17072
2002-05-16 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (ml_tree_value_at): Check for a label tag when
doing a lookup on the COLOR column.
* mail-config.c (mail_config_get_label_color_string): Return the
colour in string format.
* folder-browser.c (set_msg_label): Replaces colourise_msg and
sets the "label" tag rather than the "colour" tag.
* mail-preferences.c (mail_preferences_apply): Call
mail_config_write() so that the settings get synced to disk.
svn path=/trunk/; revision=16938
2002-05-15 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (ml_tree_value_at): Instead of g_assert()ing that
the msg_info is not NULL, if it is NULL just return NULL. This
fixes a crash when ETree requests the value at a root node (I
don't understand why it needs to do that??).
svn path=/trunk/; revision=16796
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-22 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (on_message_list_built): Removed, this wasn't
working as intended and seemed to break other features.
svn path=/trunk/; revision=15801
2002-02-21 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (on_message_list_built): Connect to our own
message_list_built signal. Focus the list and select the first
unread message (or frst message depending). Fixes bug #3900.
svn path=/trunk/; revision=15784
2002-02-19 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (confirm_goto_next_folder): Prompt the user to
find out if he/she wants to go to the next folder with unread mail
in it.
(find_current_folder): Find a given CamelFolderInfo node based on
a given uri.
(find_next_folder_r): Recursively look for a CamelFOlderInfo node
which has unread messages.
(find_next_folder): Given a currently selected CamelFolderInfo
node, look for the next node containing unread messages.
(do_evil_kludgy_goto_next_folder_hack): Find the currently
selected folder and then find the very next folder after it that
contains unread messages and then select it via a CORBA call to
the shell.
(next_unread_msg): If we fail to find an unread message in the
message-list, prompt the user to find out if we should jump to the
next fodler containing unread messages. If so, call
do_evil_kludgy_goto_next_folder_hack().
* message-list.c (message_list_select): Return a boolean value
based on whether the call was successfull or not.
* mail-config.c (mail_config_get_confirm_goto_next_folder):
(mail_config_set_confirm_goto_next_folder):
(mail_config_get_goto_next_folder):
(mail_config_set_goto_next_folder): All new functions, yay.
(config_read): Read in the confirm_goto_next_folder and
goto_next_folder config options.
(mail_config_write_on_exit): Same the options here.
svn path=/trunk/; revision=15770
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-11 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (ml_tree_value_at): Get followup-up message-list
values. Also highlight the message in red if the due-by date is
past due (this is what Outlook does).
(ml_duplicate_value): Handle follow-up columns.
(ml_free_value): Same.
(ml_initialize_value): Here too.
(ml_value_is_empty): And here.
(ml_value_to_string): And finally here.
* message-tag-followup.c (message_tag_followup_i18n_name): New
convenience function.
svn path=/trunk/; revision=15680
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-02-06 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c: Removed references to NEEDS_REPLY.
* mail-callbacks.c (mark_as_needing_reply): Removed.
(mark_as_not_needing_reply): Removed.
(toggle_need_reply): Removed.
* folder-browser.c (on_right_click): Remove CAN_MARK_NEEDS_REPLY
stuff, this is going to be implemented in an entirely different
way.
svn path=/trunk/; revision=15585
2002-01-08 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_select): When performing a
wraparound, check to see if the first (or last depending on
direction) message fits the selection criteria before telling
etable to find the next/previous matching node.
* mail-account-gui.c (mail_account_gui_new): When connecting to
the transport username changed event, pass the gui->transport not
the gui->source.
svn path=/trunk/; revision=15267
2001-12-20 Jon Trowbridge <trow@ximian.com>
* message-list.c (on_click): Makes the auto-undelete behavior when
changing message flags a bit more sane. (Fixes#17634)
svn path=/trunk/; revision=15200
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
Implements marking messages as "Need Reply".
2001-12-09 Jon Trowbridge <trow@ximian.com>
* mail-need-reply.xpm: Added a really, really ugly and
awful icon to symbolize "message needs a reply".
* Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* camel-folder-summary.c: Add "NeedsReply" to the flag_names array
for CAMEL_MESSAGE_NEEDS_REPLY.
* camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* vfoldertypes.xml: Add "Needs Reply" option to different status
types.
* filtertypes.xml: Add "Needs Reply" option to different status
types.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* message-list.c: #include "art/mail-need-reply.xpm".
(ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon
if the message needs reply.
(message_list_create_extras): Adjust magic numbers to add new
icon.
(on_click): Changed to toggle between unread, read, and need reply
when the status icon is clicked.
* mail-callbacks.c (mark_as_needing_reply): Added.
(mark_as_not_needing_reply): Added. Add "set" value to struct
post_send_data.
(composer_sent_cb): Use both "flags" and "set" elements of
post_send_data when setting message flags.
(mail_reply): Clear "Needs Reply" flag when we actually reply to a
message.
* folder-browser.c: Changed flag values to be given by
bit-shifting (1<<5) vs. base-ten (32). Added
CAN_MARK_DOESNT_NEED_REPLY flag. Added "Mark as Needing Reply"
and "Mark as Not Needing Reply" elements to context menu.
(on_right_click): Hide "Mark as (Not) Needing Reply" context menu
elements as appropriate.
svn path=/trunk/; revision=14946
2001-11-28 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (save_msg_ok): If the path exists, make sure
it's a regular file (or we can't possibly save to it). Fix for
#14127.
2001-11-28 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_select): Cleaned up the code.
* mail-callbacks.c (previous_unread_msg): Pass wraparound as TRUE.
svn path=/trunk/; revision=14850
2001-11-16 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_hide_clear): Save hide state.
(message_list_hide_uids): Save hide state.
(message_list_hide_add): Save hide state.
* mail-format.c (format_mime_part): Make sure the mime-type is
non-NULL before passing it off to mail_lookup_handler().
svn path=/trunk/; revision=14734
2001-11-02 Christopher James Lahey <clahey@ximian.com>
* message-list.c (ml_tree_value_at): Use GINT_TO_POINTER here for
platforms where simply casting an int to void * won't work.
(build_flat_diff, main_folder_changed): Call
e_tree_model_pre_change here.
svn path=/trunk/; revision=14581
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-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
2001-10-16 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (on_cursor_activated_idle): Check that the
cursor_uid is non-NULL before emitting a "message_selected"
signal. Fixes bug #6015.
svn path=/trunk/; revision=13706
* mail-folder-cache.c: Added an async_event handler to store_info.
(mail_note_store): Setup async event handler here.
(store_finalised): Flush out async events here.
(folder_changed): Use async event handler to emit event.
(mail_note_folder): Chagned, do most of the work in the calling
context, only do the corba stuff in main.
(store_folder_subscribed): Use async event, and do more work locally.
(store_folder_unsubscribed): Same.
(store_folder_deleted): Call store_folder_unsubscribed if we have
to do any work.
(store_folder_created): Call store_folder_subscribed if we have to
do any work.
(store_folder_unsubscribed): Ref store while busy.
(real_folder_deleted): And unref here.
(store_folder_subscribed): Reg store while busy.
(real_folder_created): Unref here.
(mail_note_folder): Ref folder while busy.
(real_note_folder): And unref here.
(mail_note_folder): Hook onto folder_deleted event.
(folder_deleted): Just mark this folder as no longer available.
* mail-session.c (register_timeout): Use mail_call_main instead of
proxy_event.
(remove_timeout): Same here.
* folder-browser.c (folder_changed): use the new mail_async_event
stuff.
(folder_changed_main): Remove old async event handling stuff.
(FOLDER_BROWSER_LOCK/UNLOCK): Removed.
(FolderBrowserPrivate): Removed too, sigh.
* mail-mt.c (mail_async_event_new, mail_async_event_emit,
mail_async_event_destroy): New functions to handle async events.
(mail_proxy_event, mail_proxy_event_id): Removed old functions for
async events.
(do_call): Add suport for MAIL_CALL_p_pp.
(mail_msg_free): Use mail_async_event instead of proxy_event.
* message-list.c (message_changed): Promote the message_changed to
a folder_changed and use main_folder_changed to process it.
(main_message_changed): Remove.d
(message_list_init): Setup async event handler.
(message_list_destroy): Remove async handler.
(folder_changed): Use async hanler to emit event in main loop.
(message_changed): Same.
svn path=/trunk/; revision=13698
* message-list.c, message-list.h, message-list.etspec: Revert the
change to remove the Score column until Chris can fix ETable so
it's possible to remove a column without breaking everyone's
exisiting settings.
svn path=/trunk/; revision=13646