2002-08-06 Not Zed <NotZed@Ximian.com>
* providers/pop3/camel-pop3-folder.c (cmd_list): Add messageinfo
to id table, and store array index in messageinfo too.
(fi_to_index): Removed, use index member of messageinfo, fixed
callers.
(cmd_builduid): Parse the headers of the data, and ignore any
status or x-status headers.
(uid_to_fi): Removed, use the hashtable instead.
(id_to_fi): Same.
(cmd_uidl): Add messageinfo to uid table.
(pop3_refresh_info): Setup hash tables, and fill out uid table for
nonuid capable servers.
(pop3_finalize): Destroy hash tables. Only free resources if the
uids table is not null (if finalised before we ran refresh info).
(id_to_fi): Removed. Use id hash table instead, fixed caller.
svn path=/trunk/; revision=17706
2002-08-06 Not Zed <NotZed@Ximian.com>
* mail-ops.c (filter_folder_filter): Unref the driver before
returning to main thread, so any closing operations are handled
async (as in fetch_mail_fetch()), for #28072.
** fixes for #24605.
* mail-vfolder.c (vfolder_gui_add_from_mlist): Removed.
* folder-browser.c (filter_type_uid,vfolder_type_uid): Changed to
accept args directly. Fixed callers.
(filter_mlist_uid,vfolder_mlist_uid): Use filter_type_uid instead
of mlist variant.
(vfolder_type_current): new function to handle setup of vfolders
from the main menu. It now uses the vfolder_type_uid function the
same as the popup.
(vfolder_subject, vfolder_sender, vfolder_recipient,
vfolder_mlist): Changed to use vfolder_type_current.
(filter_type_current): Similar for filters.
(filter_subject, filter_sender, filter_recipient,
filter_mlist): Changed to use filter_type_current.
* mail-autofilter.c (rule_from_message): Handle AUTO_MLIST type.
(rule_from_mlist):
(vfolder_rule_from_mlist):
(filter_rule_from_mlist): Removed.
(filter_gui_add_from_mlist): Removed.
* mail-autofilter.h: Added AUTO_MLIST type.
svn path=/trunk/; revision=17704
2002-08-05 Jeffrey Stedfast <fejj@ximian.com>
* rule-context.c (xml_doc_save): New internal function to replace
xmlSaveFile. Does proper error checking and so forth to ensure
that the resulting file does not ever get truncated.
(save): Cal xml_doc_save rather than xmlSaveFile. Fixes bug
#25980.
svn path=/trunk/; revision=17703
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-01 Peter Williams <peterw@ximian.com>
* mail-offline-handler.c (struct _sync_info): Add a GHashTable pointer
so we can remove the info once the operation is done.
(sync_done): Remove the info from the hash table.
(impl_syncFolder): Save the table to which the info was added.
svn path=/trunk/; revision=17701
2002-08-05 Jeffrey Stedfast <fejj@ximian.com>
* camel.c (camel_init): Always set a g_atexit handler to
flush/save the camel-certdb.
svn path=/trunk/; revision=17700
2002-08-05 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (get_folder_info_online): If
we are asking for the toplevel folders, use the IMAP store's
namespace as the toplevel folder rather than an empty
string. Fixes bug #28574.
(imap_forget_folder): Rearrange the code so that name can never be
used uninitialised.
* providers/imap/camel-imap-utils.c (imap_namespace_concat):
Removed.
svn path=/trunk/; revision=17699
2002-08-05 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (user_create_new_item_cb): Updated to call
post_to_url if the id is "post".
* mail-callbacks.c (post_to_url): New function so that we don't
need a FolderBrowser to post a new message.
(post_message): Call post_to_url since they shared so much code.
svn path=/trunk/; revision=17698
2002-08-04 Rodrigo Moya <rodrigo@ximian.com>
Fixes the crash in #19159
* gui/alarm-notify/alarm-queue.c (create_snooze): check for NULL
pointers before using them.
svn path=/trunk/; revision=17697
* e-html-utils.c (is_citation): Remove the logic that assumes
"Rupert> " is a citation, since it misfires more often than it
hits.
svn path=/trunk/; revision=17696
* camel-folder-summary.h (CamelMessageFlags): Add
CAMEL_MESSAGE_ANSWERED_ALL, for folders that can distinguish a
reply-to-sender from a reply-to-all. (eg, Exchange)
* providers/local/camel-local-folder.c (local_init): Add
ANSWERED_ALL to permanent_flags too.
svn path=/trunk/; revision=17694
2002-08-02 Jeffrey Stedfast <fejj@ximian.com>
* message-tag-followup.c (construct): Set the default flag to
Follow-Up.
svn path=/trunk/; revision=17692
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-08-01 Peter Williams <peterw@ximian.com>
* providers/imap/camel-imap-store.c (create_folder): If the folder
name contains the directory separator, reject it.
svn path=/trunk/; revision=17690
2002-08-02 JP Rosevear <jpr@ximian.com>
* gui/e-week-view.c (e_week_view_init): don't warn if we can't use
the small font, just set use_small_font to FALSE
svn path=/trunk/; revision=17689
2002-08-02 JP Rosevear <jpr@ximian.com>
* gui/e-itip-control.c (adjust_item): new util function to add
information to an itip message that might not already be there for
display purposes (summary, location, etc)
(show_current_event): use above
(show_current_todo): ditto
svn path=/trunk/; revision=17688
2002-08-02 Not Zed <NotZed@Ximian.com>
* providers/local/camel-mbox-summary.c (mbox_summary_check): Clear
the summary after building the 'removed uid' list.
svn path=/trunk/; revision=17686
2002-08-02 Not Zed <NotZed@Ximian.com>
* camel-folder-summary.c (message_info_load): revert jeff's patch
below, and do it slightly differently, and stop the auto-reformatting
bullshit.
2002-08-02 Not Zed <NotZed@Ximian.com>
* providers/local/camel-maildir-summary.c (message_info_new): If
we get a duplicate, just re-use the old info.
(remove_summary): Add any removed to a change list.
(maildir_summary_check): If we find new ones in 'cur' track them
in the change list. Removed FIXME about it. For #18348.
svn path=/trunk/; revision=17685
2002-08-02 Not Zed <NotZed@Ximian.com>
* filter.glade: Added a datespec editor window.
* filter-datespec.c (button_clicked): Rewritten to use glade.
Simplified all the code around it as a result, etc, and fixed bug
#21798.
svn path=/trunk/; revision=17684
2002-08-01 Chris Toshok <toshok@ximian.com>
[ fixes bug #25958 ]
* gui/component/addressbook.c (alphabet_state_changed): use
FULL_NAME in the case where we're untoggling a letter, and... well
use FULL_NAME in the other case too - we should never pop up the
advanced dialog.
svn path=/trunk/; revision=17683
2002-08-01 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names.h (struct
_ESelectNames): no more search_entry.
* gui/component/select-names/e-select-names.c (update_query): no
more search_entry, search_entry => select_entry, and add file_as
to the query since some entries don't have names (like the Ximian,
Inc. default card.)
(e_select_names_init): no more search_entry, and add an "activate"
handler on select_entry that updates the query.
svn path=/trunk/; revision=17682
2002-08-01 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names.h (struct
_ESelectNames): remove folders and folders_by_uri, and the 2
listeners.
* gui/component/select-names/e-select-names.c
(e_select_names_destroy): remove the hash_table_destroys of
folders and folders_by_uri, since they no longer exist. same for
other_contacts_listener and local_listener.
svn path=/trunk/; revision=17681
2002-08-01 Chris Toshok <toshok@ximian.com>
* wombat.c (last_calendar_gone_cb): remove the annoying fprintf
about Queueing termination, since we never actually terminate.
svn path=/trunk/; revision=17680
2002-08-01 Jeffrey Stedfast <fejj@ximian.com>
* mail-account-gui.c (mail_account_gui_save): If we are editing an
account, then get the CamelStore associated with the old account
info and save it in a struct that we will pass along as user_data
to mail_get_store() for the new account url.
(add_new_store): If the old account and new account stores are
identical, then don't remove the old store from the folder
tree. If they are not the same, then remove the old store and add
the new store to the folder tree.
svn path=/trunk/; revision=17674
* README: Update Soup information and remove hard spaces.
* configure.in: Check for Soup 0.7 or later. [Hm, we should make
sure that it's actually a 0.7.x version.]
svn path=/trunk/; revision=17673
2002-08-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_load): Do more error
checking to prevent crashing if we fail to read a string for
example.
svn path=/trunk/; revision=17672
2002-08-01 JP Rosevear <jpr@ximian.com>
* gui/calendar-model.c (is_overdue): use get_due_status
(get_color): ditto
(get_due_status): utility function to reduce replicated code,
handle the case where the due date is just a date
svn path=/trunk/; revision=17671
2002-08-01 Peter Williams <peterw@ximian.com>
* filter-datespec.c (activate_specified): If the value was unset,
initialize it to now.
svn path=/trunk/; revision=17670
2002-07-29 Peter Williams <peterw@ximian.com>
Fix bug #28238
* providers/imap/camel-imap-store.c (imap_forget_folder): New
function, breaking out the code in delete_folder() to handle when
a folder is removed.
(imap_folder_effectively_unsubscribed): New function, breaking out
the code in unsubscribe_folder() to handle when a folder is
unsubscribed.
(imap_check_folder_still_extant): New function, check whether a
folder exists by LIST'ing it.
(imap_store_refresh_folders): Add code here to check if the folder
still exists if we're unable to refresh its info. If so, pretend
that it was unsubscribed (to get the mailer to remove it from
the tree) and delete its cache. If somehow this goofs up, the
worst that can happen is that we must redownload the headers.
(get_folder_status): If we can't get the status, behave as above.
(delete_folder): Call imap_forget_folder() where the bulk of this
code has gone.
(unsubscribe_folder): Call imap_folder_effectively_unsubscribed()
where the bulk of this code has gone.
mail:
2002-07-31 Peter Williams <peterw@ximian.com>
* mail-folder-cache.c: Add another bitfield "unsub"
(real_flush_updates): If unsubscribing, manually remove the folder
from the shell.
(unset_folder_info): Add another parameter which is used to set
the unsub member.
(store_folder_unsubscribed): Pass true for @unsub.
(unset_folder_info_hash): Pass false for @unsub.
* subscribe-dialog.c (fe_done_subscribing): Don't notify the shell
here. The folder cache does it now, and it was broken to make the
CORBA call in another thread anyway.
svn path=/trunk/; revision=17669
2002-07-31 Rodrigo Moya <rodrigo@ximian.com>
* pcs/query-backend.[ch]: new class for implementing a backend cache
for the calendar queries.
* pcs/Makefile.am: added new files.
svn path=/trunk/; revision=17668
2002-07-31 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-folder.c (parse_fetch_response):
Disable my fix to not cache headers as it means that each time we
load the message, we've got to re-fecth the headers.
svn path=/trunk/; revision=17665
2002-07-31 Jeffrey Stedfast <fejj@ximian.com>
* e-msg-composer.c (e_msg_composer_new_with_message): Parse the
auto-cc/bcc recipients and then later when parsing the cc/bcc
recipients into EDestination objects, if the address is an
auto-*cc address, then set auto_recipient to TRUE on that
EDestination. This fixes bug #28339.
svn path=/trunk/; revision=17664
* gui/component/addressbook-component.c (create_component): Change
the order so that "New Contact" is first and "New Contact List" is
next.
* gui/component-factory.c (create_object): Change the order of the
user creatable items a bit so that "New Appointment" and "New
Meeting" are at the top when in a calendar folder.
* component-factory.c (create_component): Put "New Mail Message"
before "New Message Post" instead of vice versa.
* evolution-mail-global.xml: Remove "New Mail Message" and "Post
Message" items.
svn path=/trunk/; revision=17661
2002-07-31 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-filter-tohtml.c (is_addr_char): Don't use
"isprint(c)" to mean "c >= 32 && c < 128" since it doesn't in most
locales.
(is_url_char): Same.
(is_trailing_garbage): Same.
(is_domain_name_char): New macro for dns-valid characters
(email_address_extract): Use is_domain_name_char rather than
is_addr_char for the part after the @.
svn path=/trunk/; revision=17660
Don't sort the menu_items here.
(create_menu_xml): Instead, sort here, and only sort the
non-default section of the menu.
(get_default_action_for_view): Just get the first item that is
default; since we don't sort anymore, this works.
(find_menu_item_for_verb): Removed since it is not used anymore.
svn path=/trunk/; revision=17659
* gui/component/addressbook-component.c (add_creatable_item): Pass
"contacts" as the @folder_type to
evolution_shell_component_add_user_creatable_item().
* gui/component-factory.c (add_creatable_item): New arg
@folder_type, pass it to
evolution_shell_component_add_user_creatable_item().
(create_object): Set the right folder types for the various
user-creatable items.
* component-factory.c (create_component): Pass "mail" as
@folder_type to
evolution_shell_component_add_user_creatable_item().
* evolution-test-component.c (register_component): Pass NULL for
@folder_type to
evolution_shell_component_add_user_creatable_item().
* e-shell-user-creatable-items-handler.c: New member folder_type
in struct MenuItem.
(ensure_menu_items): Initialize ->folder_type.
(item_is_default): New helper function.
(create_menu_xml): New arg @folder_type. Put the items on the top
using item_is_default().
(shell_view_view_changed_callback): Pass the folder type to
create_menu_xml().
* evolution-shell-component.c: New member folder_type in
UserCreatableItemType.
(user_creatable_item_type_new): New arg @folder_type.
(user_creatable_item_type_free): Free ->folder_type.
(evolution_shell_component_add_user_creatable_item): New arg
@folder_type.
(impl__get_userCreatableItemTypes): Set ->folderType in the
returned CORBA structs.
* Evolution-ShellComponent.idl: New member folderType in struct
UserCreatableItemType.
* e-shell-user-creatable-items-handler.c: New member component_id
in struct MenuItem. Removed member menu_xml from
EShellUserCreatableItemsHandlerPrivate.
(init): No need to initialize menu_xml here anymore.
(impl_destroy): ...And no need to free here, either.
(setup_menu_xml): New, derived from ensure_menu_xml(). This
orders the menu so that the items for the current component go at
the top.
(create_menu_xml): Removed.
(e_shell_user_creatable_items_handler_attach_menus): Set up
properly for the current component ID, using setup_menu_xml().
svn path=/trunk/; revision=17658
2002-07-31 Chris Toshok <toshok@ximian.com>
[ roll in the following change from the 1.0 branch.]
* backend/pas/pas-backend-ldap.c:
(prop_info): change the CALURI and FBURL ecard attributes to map to the
RFC 2739 specified attributes.
(check_schema_support): check to see if calEntry is supported.
(add_objectclass_mod): insert calEntry if it's supported.
* backend/pas/evolutionperson.schema: deprecate freeBusyURI
and calendarURI.
svn path=/trunk/; revision=17657