2001-09-19 <NotZed@Ximian.com>
* General cleanup of camel debug printfs.
* camel-lock.c (camel_lock_fcntl): Changed to return 'success' if
the error indicates file locking isn't supported on this
filesystem. Still return a warning just incase (if its the first
time). Might fix a lot of reported bugs.
* providers/local/camel-spool-store.c (get_folder_info): Dont
include the empty // host part in the uri. This 'breaks' the
service lookup.
svn path=/trunk/; revision=12973
2001-09-19 Aaron Weber <aaron@ximian.com>
* C/usage-calendar.sgml: more meetings-by-mail additions. Had no
idea this needed so much work.
* C/usage-mail.sgml: Added info about meetings-by-mail.
* C/menuref.sgml: added F9 instructions.
* C/config-prefs.sgml: added info on how to connect to an arbitrary port.
* C/usage-mail.sgml: Revised gnome-vfs-http-proxy info.
* C/usage-exec-summary.sgml: added gnome-vfs-http-proxy
info. Almost the same as the stuff in usage-mail.
* C/usage-mail-org.sgml: removed regex item.
svn path=/trunk/; revision=12971
2001-09-18 JP Rosevear <jpr@ximian.com>
* gui/dialogs/schedule-page.*: A page that shows the meeting time
selector and free/busy data for attendees
* gui/dialogs/meeting-page.c: use the meeting model to track/edit
attendees, remove table value conversion routines and simple table
routines
(set_attendees): take a pointer array
(meeting_page_destroy): destroy the pointer array, save state
(meeting_page_init): new pointer array
(meeting_page_fill_widgets): don't null the deleted attendees
field
(popup_delegate_cb): array add
(popup_delete_cb): array add
(cleanup_attendees): iterate over the array to unref now
(meeting_page_fill_widgets): don't null out fields, no need to add
attendees here
(invite_entry_changed): use e_meeting_attendee routines
(popup_delegate_cb): ditto
(popup_delete_cb): ditto
(meeting_page_new): take new arg and pass it to construct
(meeting_page_construct): take new arg, use e-meeting-model
routines to construct table
* gui/dialogs/task-editor.c (task_editor_init): new meeting model
(task_editor_destroy): unref the model
* gui/dialogs/event-editor.c (event_editor_init): make new model
and pass it to meeting and schedule pages
(event_editor_set_cal_client): virtual function, set meeting model
client
(event_editor_edit_comp): add the attendees to the model
(event_editor_destroy): unref model
* gui/dialogs/comp-editor.h: add virtual function
* gui/dialogs/comp-editor.c (comp_editor_set_cal_client): make
set_cal_client a virutal function
* gui/e-meeting-types.h: generally useful type defines
* gui/e-meeting-time-sel*.[hc]: Move here and use an e-table for
the attendee list and extract display information from the new
meeting model and attendees
* gui/e-meeting-time-sel.etspec: spec for the table
* gui/e-meeting-attendee.[hc]: meeting attendees for the model,
with to/from conversions for CalComponentAttendee structure, emits
changed signal and allows getting and setting of free busy
periods
* gui/e-meeting-model.[hc]: move the model out on its own
* gui/e-itip-control.c (write_error_html): clean up warnings
svn path=/trunk/; revision=12968
2001-09-19 JP Rosevear <jpr@ximian.com>
* Makefile.am: the meeting-time-sel dir is dead, relevant pieces
moved to calendar/gui
svn path=/trunk/; revision=12967
2001-09-18 Federico Mena Quintero <federico@ximian.com>
Fixes bug #6350.
* gui/component-factory.c (remove_folder): Use a simplified method
for removing our folder data; we just need to remove calendar.ics
or tasks.ics and the corresponding backup files.
svn path=/trunk/; revision=12966
2001-09-18 Jeffrey Stedfast <fejj@ximian.com>
* mail-mt.c (do_get_pass): Make the title translatable, and also
use the account name when possible. Sorta fixes bug #6277.
svn path=/trunk/; revision=12964
2001-09-18 Jeffrey Stedfast <fejj@ximian.com>
* e-msg-composer.c (build_message): Attach an X-Evolution-Format
header so if people re-edit a message in say their Sent folder, we
will preserve format preferences.
(e_msg_composer_get_message_draft): Don't attach
X-Evolution-Format headers here since it is now done in
build_message().
(e_msg_composer_new_with_message): Make sure to remove *all*
X-Evolution headers by using the mail-tools functions.
svn path=/trunk/; revision=12958
2001-09-17 <NotZed@Ximian.com>
* mail-send-recv.c (get_receive_type): Function to get the real
receive tpe for ag iven url. IMAP/SPOOL/MAILDIR types just update
their info, dont download.
(build_dialogue):
(mail_receive_uri): Use function above to get the right receive
type.
svn path=/trunk/; revision=12957
2001-09-18 <NotZed@Ximian.com>
* providers/local/camel-maildir-folder.c
(camel_maildir_folder_new): If filter inbox is set on the store,
and we're opening inbox '', then enable filtering on new messages.
* providers/local/camel-local-folder.c
(camel_local_folder_construct): After loading the summary, check
it, and only abort if that fails. Also maintain the changes
count.
* providers/local/camel-local-summary.c
(camel_local_summary_load): Remove summary_check code from here.
(camel_local_summary_check): Sync index/summary here, if we were
successful.
* providers/local/camel-spool-folder.c
(camel_spool_folder_new): If we have filter-new-messages-on-inbox
set and we just opened inbox, turn on filtering on this folder.
(camel_spool_folder_construct): Keep track of changes for the
folder, so that filter-new-messages works right (?)
* providers/local/camel-spool-store.c (get_folder): Pass 'INBOX'
as the folder name, not the path.
* camel-folder-search.c (search_not): Modified patch from
<peterw@ximian.com> since the summary is messageinfo's, not
strings.
** Ok so the problem with the stuff below is that maildir/spool
'summary_load' throws away all events, including recents, joy eh?
* providers/local/camel-maildir-summary.c (maildir_summary_check):
Add new messages to the recent changeinfo.
* providers/local/camel-spool-summary.c: Mark 'new' message as
recent, for later processing if required (i.e. 'filter new
messages').
* camel-store.c (construct): new function, cascade up construct
method and check for 'filter' param, and set accordingly for any
one that might want it.
* providers/imap/camel-imap-store.c (construct): map the
param_filter_inbox flag to the store->flags as
CAMEL_STORE_FILTER_INBOX.
* camel-store.h (CAMEL_STORE_FILTER_INBOX): new flag to tell it to
filter inbox.
* providers/imap/camel-imap-folder.h: Removed do_filtering flag
from CamelImapFolder.
* providers/imap/camel-imap-folder.c (imap_update_summary): Remove
the 'recents' parameter, use the 'changes' parameter instead to
convey this info.
(camel_imap_folder_changed): Changed for update_summary api
change. Now always just emit the changed event if we have any
changes to report, filtering code removed, handled upstream.
(filter_proc):
(filter_free): Removed old filtering code.
(camel_imap_folder_new): Set the filter_recent flag on the folder
if we're the inbox and filtering of inbox is enabled.
* camel-folder.c (folder_changed): If we have 'recent' messages,
and are set to filter recents, then freeze the folder and launch a
thread to do the processing (or similar if threading not enabled).
(thaw): Make sure we emit the changed signal outside of owning the
lock and if things have changed. Also, no longer bother
downgrading folder_changed events to message_changed events.
* camel-folder.h (struct _CamelFolder): Added filter_recent flag
-> signifies all recent messages in folder should be filtered.
* camel-session.c: (camel_session_thread_msg_new,
camel_session_thread_msg_free, camel_session_thread_queue,
camel_session_thread_wait): code to handle async operations as
part of camel processing.
(camel_session_finalise): free thread_lock, destroy thread, active
hash, etc.
(camel_session_init): init thread, active hash, etc.
(camel_session_class_init): Init virtual functions.
(session_thread_msg_new, session_thread_msg_free,
session_thread_destroy, session_thread_received,
session_thread_queue, session_thread_wait): default implementation
of session threads stuff.
2001-09-17 <NotZed@Ximian.com>
* camel-folder.c (camel_folder_change_info_recent_uid): New
function to add a 'recent' uid to the change info.
(camel_folder_change_info_clear): Clear recent list.
(camel_folder_change_info_free): Free recent list.
(camel_folder_change_info_new): Setup recent list.
* camel-folder.h: Added a uid_recent item to the folder_changed
event data.
* providers/local/camel-maildir-store.c (scan_dir): Free new in
the right block.
* providers/local/camel-local-provider.c: Add local config entries
to filter on new messages in spool and maildir provider.
* camel-vee-folder.c (vee_folder_construct): Remove the assertion
which stops ? in names from being allowed.
svn path=/trunk/; revision=12956
* folder-browser.c (folder_browser_set_uri): Merged into
folder_browser_new: nothing ever changes the URI of an existing
folder browser any more.
(folder_browser_new): Make this take a uri argument and do the
work folder_browser_set_uri used to do, except that we set fb->uri
right away, so that if the folder browser's control is activated
before got_folder() gets called, then folder_browser_ui_add_list()
will have access to the correct uri for purposes of setting
ViewThreaded, etc. Fixes#4913.
(got_folder): Don't set fb->uri here since it will already have
been set. Don't call message_list_set_threaded, since it should be
a noop now (and if it's not, it would make the message list not
match the menu item).
* folder-browser-ui.c (folder_browser_ui_add_list): Remove some
code that was failing to work around the problems above.
* message-browser.c (message_browser_new): Pass uri to
folder_browser_new, remove call to set_uri.
* folder-browser-factory.c (folder_browser_factory_new_control):
Likewise. Also fix a s/destroy/unref/ in an error cleanup.
svn path=/trunk/; revision=12954
2001-09-18 Federico Mena Quintero <federico@ximian.com>
Fixes bug #2830.
* gui/calendar-config.c (calendar_config_get_confirm_delete): New
function.
(calendar_config_set_confirm_delete): New function.
(config_read): Get the default value for the ConfirmDelete option.
(calendar_config_write): Set the value of ConfirmDelete.
* gui/dialogs/delete-comp.c (delete_component_dialog): Handle the
configuration option for confirmation.
* gui/dialogs/cal-prefs-dialog.c (CalPrefsDialogPrivate): Added
the fields for the Other page.
(get_widgets): Handle the new widgets.
(cal_prefs_dialog_show_config): Likewise.
(cal_prefs_dialog_update_config): Likewise.
svn path=/trunk/; revision=12953
2001-09-18 Rodrigo Moya <rodrigo@ximian.com>
* cal-client/cal-client-multi.[ch]: new class for managing multiple
calendars, with an API very similar to the CalClient one,
for ease of transition from one to the other
* gui/component-factory.c (xfer_folder, remove_folder, create_folder):
reworked to be able to manage folders for any calendar backend, and
not only the file: one
2001-09-18 Rodrigo Moya <rodrigo@ximian.com>
* idl/evolution-calendar.idl: changed signature for the getFreeBusy
method, to return a sequence of CalObj's, and added sequence of users
as a new parameter to that method
* cal-client/cal-client.c (cal_client_get_free_busy): adapted to new
IDL method signature, by adding a new "GList *users" parameter, for
callers to be able to specify a list of users
* pcs/cal-backend.[ch] (cal_backend_get_free_busy):
* pcs/cal-backend-file.c (cal_backend_file_get_free_busy): add the
"GList *users" parameter. In cal_backend_file_get_free_busy, call
lookup_component to get the CalComponent for each uid, instead
of calling cal_backend_get_object, which meant converting the
component to a string and then parsing it again.
* cal-client/client-test.c (cal_opened_cb):
* gui/e-itip-control.c (send_freebusy):
* gui/calendar-commands.c (publish_freebusy_cmd): adapted to
new getFreeBusy method signature
svn path=/trunk/; revision=12951
2001-09-18 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c (get_password): Pass a 'cache-me' argument to
mail_get_password.
* mail-mt.c (pass_got): Make less confusing...
(mail_get_password): Now takes an argument 'cache' that allows our
caller to determine if the user wanted to cache his/her password
or not.
(pass_got): Set the cache option.
svn path=/trunk/; revision=12950
* mail-format.c (mail_format_raw_message): Call
mail_content_loaded here rather than blocking if the message data
isn't available.
svn path=/trunk/; revision=12949
* camel-data-wrapper.c (camel_data_wrapper_is_offline): Virtualize
this.
* camel-medium.c (is_offline): A medium is offline if its content
object is offline.
* camel-multipart.c (is_offline): A multipart is offline if any of
its subparts are offline.
svn path=/trunk/; revision=12948
2001-09-18 JP Rosevear <jpr@ximian.com>
* backend/ebook/e-card-simple.c (field_data): add caluri field data
* backend/ebook/e-card.c (e_card_get_vobject): add the caluri
property when appropriate
(parse_caluri): handle read caluri
(e_card_class_init): add caluri arg
(e_card_destroy): free the caluri
(e_card_get_arg): return caluri arg
(e_card_set_arg): set caluri from arg
(e_card_init): init caluri to null
* backend/ebook/e-card-simple.h: new simple field
* backend/ebook/e-card.h: new member
* gui/contact-editor/e-contact-editor.c (field_changed): util
callback to change the command state
(set_entry_changed_signal_field): hook up a change signal to above
(set_entry_changed_signals): use above function
* gui/contact-editor/e-contact-editor.glade: Add collaboration
page and fields
svn path=/trunk/; revision=12945
* e-gtk-utils.c (widget_realize_callback_for_backing_store): Use
->bin_window [instead of ->window] if the widget is a GtkLayout.
svn path=/trunk/; revision=12943
2001-09-18 JP Rosevear <jpr@ximian.com>
* backend/pas/pas-backend-file.c
(pas_backend_file_build_cards_list): create a sexp and check if
the cards match before adding them to the list
(pas_backend_file_process_get_cursor): send extra param
svn path=/trunk/; revision=12940
2001-09-18 Larry Ewing <lewing@ximian.com>
* gui/component/select-names/e-select-names-completion.c
(book_query_process_card_list): unref the destination regardless
of whether we get an email addresss.
svn path=/trunk/; revision=12937
2001-09-17 Larry Ewing <lewing@ximian.com>
* gui/component/select-names/e-select-names-completion.c
(name_style_query): use g_strfreev.
(match_name): s/g_free/g_strfreev.
(match_file_as): s/g_free/g_strfreev.
* backend/ebook/e-book-util.c (e_book_name_and_email_query): fix
the memory handling here. All there members of the vector need to
be freed all the time.
* backend/ebook/load-pine-addressbook.c (parse_line): free the
string outside of the test that makes sure there are three
entries.
svn path=/trunk/; revision=12936
2001-09-17 Larry Ewing <lewing@ximian.com>
* gui/component/select-names/e-select-names-completion.c
(match_nickname): don't malloc a match we will never use.
svn path=/trunk/; revision=12935
2001-09-17 Larry Ewing <lewing@ximian.com>
* gal/e-text/e-text.c (e_text_supply_selection): remove redundant
NULL checks since g_free handles NULLs.
(e_text_destroy): free the selection. It does appear to be a
guarantee that we get a selection-clear event before we are
destroyed.
svn path=/trunk/; revision=12934
2001-09-17 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (delete_folder): Don't process
the ImapResponse data, we don't want to block forever on data we
don't care about...
(create_folder): Use get_folders_online() instead of
get_folder_info_online().
svn path=/trunk/; revision=12932
2001-09-17 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (storage_remove_folder): Unsubscribe from
the folder before deleting it. Also, use the url's path instead of
the shell's path since IMAP doesn't necessarily have to use "/" as
the dir sep.
* mail-ops.c (remove_folder_get): If the store supports
subscriptions, make sure to unsubscribe from the folder before
deleting it.
svn path=/trunk/; revision=12931
2001-09-17 Jon Trowbridge <trow@ximian.com>
* backend/ebook/e-destination.c (e_destination_is_valid): We want
to assume that a destination that comes from a card is
automatically valid, but the right way to check that is by calling
e_destination_from_card, not by checking if dest->priv->card !=
NULL. (Fixed bug #10017)
svn path=/trunk/; revision=12930
2001-09-17 <NotZed@Ximian.com>
* mail-ops.c (mail_get_folderinfo): Get folderinfo 1 at a time
rather than all at once.
svn path=/trunk/; revision=12929
2001-09-17 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-completion.c
(match_name): Fixed a stupid bug was causing completion to fail
for contacts who have only one name. (The classic example we all
know and love is 'George <jirka@5z.com>') (bug #8353)
svn path=/trunk/; revision=12928
2001-09-17 Jon Trowbridge <trow@ximian.com>
* backend/ebook/e-card.c (e_card_list_send): Do the right thing if
the card we are trying to send to has no valid e-mail addresses.
(bug #10137)
svn path=/trunk/; revision=12927
2001-09-17 Jon Trowbridge <trow@ximian.com>
* gui/widgets/e-minicard.c (e_minicard_event): Code implicitly
assumed that event->button.button is 1, 2, or 3, causing disaster
when using a wheel-mouse. Fixed. (bug #9400)
svn path=/trunk/; revision=12926
2001-09-17 Damon Chaplin <damon@ximian.com>
* gui/calendar-model.c: added a timeout to refresh the list every
10 minutes. Not ideal, as the user may be editing a task when it gets
refreshed.
(adjust_query_sexp): use the 'completed-before?' operator to filter
out tasks according to the config settings.
* gui/dialogs/task-details-page.c (task_details_page_fill_widgets):
added support for the 'Completed' date. This code must have got lost
somewhere, as it used to work.
(date_changed_cb): set the priv->updating flag while updating the other
widgets.
* pcs/cal-backend-file.c (cal_backend_file_update_objects): made sure
we freed the components.
* pcs/query.c (func_completed_before): added 'completed-before?'
operator.
* gui/calendar-config.c (calendar_config_configure_e_cell_date_edit):
don't set the lower & upper hour. Use 0-24 like the EDateEdit does.
* gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config): set
the 12/24-hour time format options sensitive only if we support both.
* gui/calendar-config.c (config_read): if the locale doesn't define
'am' and 'pm' strings then we must use 24-hour format.
* gui/calendar-commands.c (calendar_set_folder_bar_label): don't
translate the '%d' as it doesn't make much sense. Resolves bug #8027.
svn path=/trunk/; revision=12925
2001-09-17 Damon Chaplin <damon@ximian.com>
* e-time-utils.c (e_time_parse_date): only use 1 format, so we are
consistent everywhere. If we support multiple formats we have to
support that in e_time_parse_date_and_time() which means an explosion
of different formats. I don't think the alternatives are that useful,
anyway.
(e_time_parse_date_and_time): parse everything in one go, to avoid
i18n problems. Also only use '%p' if the locale has am/pm strings.
(e_time_parse_time): Only use '%p' if locale has am/pm strings.
svn path=/trunk/; revision=12924