2001-02-22 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder.h: Remove the 'FIXME: remove because this isn't
required...' comment for copy_message_to since we now need and
cherish its existance in the filter-driver code ;-)
* camel-filter-driver.c (camel_filter_driver_filter_message): Now
takes a UID and CamelFolder arguments (which can be NULL) to allow
for possible optimizations when copying messages between folders
on the same store.
(camel_filter_driver_filter_mbox): Updated (passes NULL for both
since this case can't be optimized anyway).
(camel_filter_driver_filter_folder): Updated to pass in the uid
and folder of the message.
svn path=/trunk/; revision=8346
* providers/imap/camel-imap-summary.h (CAMEL_IMAP_SERVER_FLAGS):
#define this as the set of all IMAP system flags
* providers/imap/camel-imap-folder.c (sync_message): after syncing
flags, set server_flags to (flags & CAMEL_IMAP_SERVER_FLAGS)
rather than just "flags", since any other flags won't have been
synced. Prevents the CAMEL_MESSAGE_ATTACHMENTS flag from getting
lost.
svn path=/trunk/; revision=8344
2001-02-22 Not Zed <NotZed@Ximian.com>
* Makefile.am (CAMEL_OBJS_EXTRA): Removed, no longer link with
libcamelvee.
(evolution_mail_LDADD): Ditto.
* mail-vtrash.c: Moved camel-vee-store header ot camel levle.
* mail-tools.c: Moved camel-vee-folder header to camel.
svn path=/trunk/; revision=8341
2001-02-22 Not Zed <NotZed@Ximian.com>
* providers/vee/*: Removed all files.
* camel-private.h: Move camel-vee-private.h stuff into here.
* camel-session.c: Move the vee_provider here, and initialise it
always as part of a session. The vfolder provider is always
available.
* providers/Makefile.am: Remove "vee" from the build list, now
built as part of the main library.
* Makefile.am (libcamelinclude_HEADERS):
(libcamel_la_SOURCES): Added camel-vee-store.[ch],
camel-vee-folder.[ch].
svn path=/trunk/; revision=8340
2001-02-22 Not Zed <NotZed@Ximian.com>
* providers/vee/camel-vee-folder.c (vee_folder_build): Removed,
not used.
(camel_vee_folder_new): Removed call to build_folder.
(vee_get_message): Dont try and free the mi if we didn't get it.
* camel-folder.c (camel_folder_change_info_new): Added a hash
table of what we have in the lists, plus moved private things into
private pointer.
(camel_folder_change_info_add_source): Fixed up private accesses.
(camel_folder_change_info_add_uid): Changed to use a hashtable to
see if we already have the uid, etc.
(camel_folder_change_info_remove_uid): Similar.
(change_info_remove): Likewise.
(camel_folder_change_info_clear): Fixes for privatisations.
(camel_folder_change_info_free): "
svn path=/trunk/; revision=8339
2001-02-22 Not Zed <NotZed@Ximian.com>
* mail-local.c (local_storage_new_folder_cb): started hack for
progress reporting, which is currently to the console.
* mail-mt.c (set_stop): Set the stop button sensitivity.
(mail_msg_received): enable/disable stop button while we're
processing stuff in another thread.
* message-list.c (ml_tree_value_at): If our uid entry vanishes
before w'ere ready, then make a fake.
svn path=/trunk/; revision=8338
2001-02-21 Christopher James Lahey <clahey@ximian.com>
* backend/pas/pas-backend-file.c (pas_backend_file_search): Made
this pay attention to the return value of e_sexp_parse.
* gui/component/select-names/e-select-names-text-model.c
(e_select_names_text_model_activate_obj): Fixed a const
inconsistency here.
svn path=/trunk/; revision=8321
2001-02-21 Jeffrey Stedfast <fejj@ximian.com>
* mail-crypto.c (pgp_mime_part_verify): Changed to use
PgpValidity.
* openpgp-utils.c (openpgp_verify): Return a PgpValidity and set
the description as UTF-8 for later use in mail-format.c when
writing to GtkHTML.
* mail-format.c (try_inline_pgp_sig): Updated to use the new
PgpValidity code.
(handle_multipart_signed): Updated.
svn path=/trunk/; revision=8320
2001-02-21 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-book.c (pas_book_queue_get_supported_fields):
new function.
(impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): track
change to idl.
(pas_book_respond_get_supported_fields): new function.
* backend/pas/pas-book.h: add GetSupportedFields to the
PASOperation enum. Also, add a stringlist field to the PASRequest
struct. lastly, add a prototype for
pas_book_respond_get_supported_fields.
* backend/pas/pas-backend.h: remove prototype for
pas_backend_get_supported_fields, and remove it from the vtable.
* backend/pas/pas-backend.c (pas_backend_get_supported_fields):
remove.
(pas_backend_class_init): no vtable entry for get_supported_fields
anymore.
* backend/pas/pas-backend-ldap.c
(pas_backend_ldap_process_get_supported_fields): new function.
(pas_backend_ldap_process_client_requests): add case for
GetSupportedFields.
(pas_backend_ldap_class_init): get_supported_fields isn't in
vtable anymore.
* backend/pas/pas-backend-file.c
(pas_backend_file_process_get_supported_fields): new function.
(pas_backend_file_process_client_requests): add case for
GetSupportedFields.
(pas_backend_file_class_init): get_supported_fields isn't in
vtable anymore.
* backend/idl/addressbook.idl: Book::getSupportedFields now
returns void and add BookListener::notifySupportedFields.
* backend/ebook/test-client.c (get_fields_cb): new function.
(auth_user_cb): track change to e_book_get_supported_fields.
* backend/ebook/e-book.c
(e_book_do_response_get_supported_fields): new function.
(e_book_check_listener_queue): add case
GetSupportedFieldsResponse.
(e_book_get_supported_fields): switch to async model.
* backend/ebook/e-book.h: switch e_book_get_supported_fields to an
async model.
* backend/ebook/e-book-listener.c
(e_book_listener_queue_get_supported_fields_response): new
function.
(impl_BookListener_response_get_supported_fields): new function.
(e_book_listener_get_epv): fill in epv's "notifySupportedFields"
* backend/ebook/e-book-listener.h: add an async response for
GetSupportedFields and add a stringlist member to the
EBookListenerResponse struct.
svn path=/trunk/; revision=8316
2001-02-21 Not Zed <NotZed@Ximian.com>
* mail-callbacks.c (composer_postpone_cb): Fix for api changes to
append_mail.
* Makefile.am (evolution_mail_SOURCES): Removed mail-threads.[ch].
* mail-threads.[ch]: Removed.
* subscribe-dialog.c (subscribe_do_get_store): Chagned to use new
thread stuff. This is really getting boring.
(subscribe_do_subscribe_folder): Changed to use new thread stuff.
Last one at last, phew.
* session.c (register_callback): Changed to use new thread stuff.
YUCK. I dropped some functionality, now the timeout callback
return is ignored, so basically it keeps running till finished.
* mail-ops.c (mail_operation_run): Removed, no longer used/needed.
(mail_do_append_mail): Changed to use new thread stuff.
(mail_do_transfer_messages): ditto.
* mail-local.c (local_storage_new_folder_cb): Use new thread
stuff, also only run synchronous for this operation.
(mail_local_reconfigure_folder):
(reconfigure_clicked): Changed to use new mail thread stuff.
* mail-config.c (mail_config_check_service): Changed to use new
thread stuff.
svn path=/trunk/; revision=8314
2001-02-21 Not Zed <NotZed@Ximian.com>
* e-msg-composer.c (menu_file_save_draft_cb):
(exit_dialog_cb): Use mail_append_mail to save to drafts instead
of custom thread handler.
svn path=/trunk/; revision=8313
* e-folder.c (_EFolderPrivate): split "highlighted" into
self_highlight and child_highligh.
(e_folder_get_highlighted): Return TRUE if either self_highlight
is true or any child is highlighted.
(e_folder_set_child_highlight): New function to tell the folder
about a child highlight change.
* e-storage.c (folder_changed_cb): Update child highlights
correctly on folders so that folders will be highlighted whenever
their children are.
svn path=/trunk/; revision=8311
2001-02-16 Federico Mena Quintero <federico@ximian.com>
* wombat.c (main): Unref the factories if we failed to initialize
anything.
(setup_pcs): Call cal_factory_oaf_register(). Removed the OAF
registration code from here; now it is in the CalFactory itself.
svn path=/trunk/; revision=8309
2001-02-16 Federico Mena Quintero <federico@ximian.com>
* pcs/cal-factory.c (CalFactoryPrivate): Added a `registered'
field.
(cal_factory_oaf_register): New function; now the factory performs
its own registration with OAF.
(cal_factory_destroy): Unregister from OAF if appropriate.
svn path=/trunk/; revision=8308
2001-02-20 Federico Mena Quintero <federico@ximian.com>
* backend/pas/pas-book-factory.c (pas_book_factory_activate):
Moved the register_factory() code to here, since it was the only
thing being called anyways.
(PasBookFactoryPrivate): Added a "registered" flag.
(pas_book_factory_activate): Set the registered flag.
(pas_book_factory_destroy): Deactivate the factory when we go away.
svn path=/trunk/; revision=8307
* mail-vtrash.c (get_trash_get): Pass NULL, not "/" for @top.
* mail-callbacks.c (create_folders): Make this work with
CamelStores where the separator character isn't /. folder_created
and folder_deleted are still broken.
svn path=/trunk/; revision=8306
2001-02-02 Not Zed <NotZed@Ximian.com>
* e-cell-tree.c (ect_draw): If we are drawing a top-level tree
node, without any children then dont offset it for the expansion
image it doesn't need.
svn path=/trunk/; revision=8304
2001-02-20 Chris Toshok <toshok@ximian.com>
* e-tree-model.c: add some more (mostly empty) api docs.
(e_tree_model_node_changed): pass the node in the "node_changed"
signal.
(etree_destroy): e_tree_model_node_remove our root node here to
free up the tree's storage.
svn path=/trunk/; revision=8302
2001-02-20 Not Zed <NotZed@Ximian.com>
* mail-vtrash.c: Include the camel-vee-store.h header from the
uninstalled copy.
svn path=/trunk/; revision=8301
2001-02-19 Christopher James Lahey <clahey@ximian.com>
* configure.in: Changed the version number to 0.5.99.1.
* gal/Makefile.am (libgal_la_LIBADD): Change the directories for
e-table-text-model.lo, e-text-event-processor.lo, and
e-text-event-processor-emacs-like.lo. Reordered the e-text
directory to be after the e-table directory in build order.
* gal/e-text/Makefile.am: Removed
e-text-event-processor-emacs-like.c,
e-text-event-processor-emacs-like.h,
e-text-event-processor-types.h, e-text-event-processor.c, and
e-text-event-processor.h. Added e-table-text-model.c and
e-table-text-model.h.
* gal/e-text/e-table-text-model.c: Changed the signature of these
mehtods to match the changed signature in ETextModel.
* gal/e-text/e-text-event-processor-emacs-like.c,
gal/e-text/e-text-event-processor-emacs-like.h,
gal/e-text/e-text-event-processor-types.h,
gal/e-text/e-text-event-processor.c,
gal/e-text/e-text-event-processor.h: Moved these to gal/util/.
* gal/e-text/e-text.c, gal/e-text/e-text.h: Changed the includes
to match the moved files.
* gal/util/Makefile.am: Added e-text-event-processor-emacs-like.c,
e-text-event-processor-emacs-like.h,
e-text-event-processor-types.h, e-text-event-processor.c, and
e-text-event-processor.h.
* gal/util/e-text-event-processor-emacs-like.h,
gal/util/e-text-event-processor.h: Changed the includes to match
the moved files.
2001-02-19 Christopher James Lahey <clahey@ximian.com>
* Makefile.am: Removed e-table-text-model.c and
e-table-text-model.h.
* e-table-text-model.c, e-table-text-model.h: Moved these to
gal/e-text/.
* e-cell-text.c: Changed the include line for
e-text-event-processor.h and e-text-event-processor-emacs-like.h.
svn path=/trunk/; revision=8298
2001-02-20 Not Zed <NotZed@Ximian.com>
* mail-vtrash.c (create_trash_vfolder): Add the auto-update flag
to the folder open flags.
svn path=/trunk/; revision=8297
2001-02-19 Jeffrey Stedfast <fejj@ximian.com>
* e-msg-composer.c (build_message): Handle exceptions a little
nicer and pop up a nice GnomeDialog with the error message - also,
don't return a CamelMimeMessage if it fails to sign/decrypt
because we want to let the user decide what to do based on the
error message he/she gets.
svn path=/trunk/; revision=8296
2001-02-20 Not Zed <NotZed@Ximian.com>
* camel-mime-utils.c (mail_list_magic): Take the ^Header: part out
of the expression, since we look that up ourselves.
(header_raw_check_mailing_list): When getting the match, get match
1, not match 0, we dont want the full string match.
* camel-folder-summary.c (CAMEL_FOLDER_SUMMARY_VERSION): Bumped
for summary change.
(message_info_new): Extract the mlist info from the headers.
(message_info_load): Load mlist from summary.
(message_info_save): Save mlist to summary.
(message_info_free): Save the mlist entry.
(camel_message_info_new_from_header): Extract mailing list header.
(camel_message_info_dup_to): Copy the mlist entry.
(camel_message_info_free): Free mlist.
(message_info_dump): Dump the mlist.
* camel-folder-summary.h: Add an mlist (mailing list) string to
the summary.
svn path=/trunk/; revision=8295
2001-02-19 JP Rosevear <jpr@ximian.com>
* gnome-pilot.m4: Revert my previous patch now that gnome-pim and
evolution are fixed to accomodate the change
svn path=/trunk/; revision=8289
2001-02-19 Jeffrey Stedfast <fejj@ximian.com>
* mail-vfolder.c (mail_vfolder_get_vfolder_storage): New handy
dandy function to ref and return the vfolder storage (will
probably be disavowed once I figure out how to get the vTrash
folder to show up in the EvolutionLocalStorage).
* main.c (main): Call vtrash_cleanup().
* mail-vtrash.c: New file.
(vtrash_uri_to_folder): vtrash: URI handler
(vtrash_create): Replacement async vtrash function for the old one
in mail-ops.c
(vtrash_cleanup): Cleanup code - unrefs the cached vtrash folders
and free's the hashtable.
* Makefile.am: Added mail-vtrash.[c,h].
* mail-tools.c (mail_tool_uri_to_folder): If we have a vtrash:
URI, call the vtrash URI handler function rather than continuing
on. Yes, I know this is a hack and it needs to be fixed.
* mail-ops.c (mail_do_setup_trash): Removed.
(mail_trash_get): Removed.
* component-factory.c (owner_set_cb): Create the vTrash folder for
the LocalStore here.
* mail-local.c (get_folder_info): Implement.
svn path=/trunk/; revision=8288
2001-02-19 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-manager.c
(e_select_names_manager_create_entry): When creating the entry,
open up an ebook (corresponding to the local addressbook) and make
the entry use an EAddressCompletion.
(completion_handler): Added; this is the actual completion
handler, which manipulates the entry when the user selects
something from the drop-down.
* gui/component/select-names/e-select-names-model.c: Various hacks
by clahey to unbreak e_select_names_model_add_item,
e_select_names_model_replace_item (which I added) and
e_select_names_model_remove_item.
* gui/component/select-names/e-select-names-text-model.c
(e_select_names_text_model_obj_count,
e_select_names_text_model_get_nth_obj): Make chunks of text that
correspond to ECards in the ESelectNamesModel be embedded objects.
(e_select_names_text_model_activate_obj): On activation, pop up a
contact editor for the embedded object's card.
(e_select_names_text_model_model_changed): Fixed to work with
ETextModel API changes.
(e_select_names_text_model_set_text): Make const correct.
(e_select_names_text_model_insert): Make const correct.
(e_select_names_text_model_insert_length): Make const correct.
* backend/ebook/e-address-completion.h,
backend/ebook/e-address-completion.c: Added. EAddressCompletion
is a derived class of ECompletion that does asynchronous address
lookups for completions.
svn path=/trunk/; revision=8282
2001-02-19 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-entry.c (e_entry_enable_completion_full): Added.
Allows you to attach an ECompletion to an EEntry, and have that
ECompletion be used for (obviously enough) completions.
* gal/e-text/e-completion-view.h, gal/e-text/e-completion-view.c:
Added. ECompletionView is a widget for displaying the results of
a completion request in a format that is appropriate for a
drop-down window.
* gal/e-text/e-completion.h, gal/e-text/e-completion.c: Added.
ECompletion is a "pure virtual base class" for completion-type
operations. It is implemented so that completions can be either
synchronous or asynchronous.
* gal/e-text/e-text.c: Lots of changes to accomodate the
ETextModel changes. First of all, we render embedded text objects
as being underlined. We also cause the model to emit the
appropriate object activation signal when an embedded object is
double-clicked. Also, all of the code that moves the cursor in
response to user input has been removed. Instead, the EText now
listens for "reposition" events from the underlying model, and
bases all cursor motions on those.
(get_bounds_item_relative): Fixed bug in the handling of
differently-anchored text. Being differently-anchored is not a
crime or a perversion --- it is an alternative lifestyle that we
have to respect.
* gal/e-text/e-text-model-uri.h, gal/e-text/e-text-model-uri.c: A
sample ETextModel that converts URIs into embedded objects that
get opened in the browser when you double-click them.
* gal/e-text/e-text-model-repos.h,
gal/e-text/e-text-model-repos.c: Added. A group of simple
structures & functions for handling various cursor movement rules.
These are the sorts of things that are passed as arguments to
ETextModel "reposition" event handlers.
* gal/e-text/e-text-model.h, gal/e-text/e-text-model.c: Privitized
the ETextModel struct and "methodized" all of the operations, so
that derived classes can do arbitrarily respond to get/set
requests in arbitrarily strange ways. Also added the concept of
declaring regions of the text as "embedded text objects".
Finally, caused operations that change the text to emit a
"reposition" signal that passes information that can be used by a
view (like an EText) to move the cursor or selection in an
intelligent way in response to those changes. This means that you
can now open two ETexts that look at the same ETextModel, and have
the cursor in one do the right thing when you edit the other. (As
opposed to producing a lot of potential segfaults, as it was
before.)
svn path=/trunk/; revision=8280
2001-02-20 Not Zed <NotZed@Ximian.com>
* mail-ops.c (fetch_mail_fetch): Unref the driver here, in the
subthread, so we dont block the gui while it sync's all the
folders.
(fetch_mail_fetched): Rewmoved above code from here.
svn path=/trunk/; revision=8278
2001-02-16 Not Zed <NotZed@Ximian.com>
* mail-send-recv.c (receive_status): Dont do the thaw/freeze set here.
(update_folders): "
* mail-vfolder.c (vfolder_refresh): Setup the virtual
'unmatched' folder by default.
(vfolder_uri_to_folder): HAndle UNMATCHED folder specially, it has
no explicit sources.
svn path=/trunk/; revision=8277
2001-02-19 Not Zed <NotZed@Ximian.com>
* providers/vee/camel-vee-folder.c (camel_vee_folder_new): Added
flags argument.
(message_changed): Add support for the auto-update flag, in which
case we auto-match the content as it changes.
(camel_vee_folder_init): Remoive "DYNAMIC" optionality
(camel_vee_folder_finalise): "
(vee_expunge): As we expunge folders, re-sync their content by
rerunning the query.
* providers/vee/camel-vee-store.c (vee_get_folder): Pass flags to
folder new.
2001-02-18 Not Zed <NotZed@Ximian.com>
* providers/vee/Makefile.am (noinst_HEADERS): Added
camel-vee-private.h.
* providers/vee/camel-vee-private.h: New file to add locking stuff
for vee folders.
* providers/vee/camel-vee-folder.c (camel_vee_folder_new): Add
locking around unmatched setup.
(camel_vee_folder_init): Setup lock.
(camel_vee_folder_finalise): Free locks.
(folder_changed): Add locking.
(unmatched_finalise): "
(message_changed): "
(vee_folder_build): "
2001-02-17 Not Zed <NotZed@Ximian.com>
* providers/vee/camel-vee-folder.c (vee_folder_add): Check uid
doesn't exist before adding it.
2001-02-16 Not Zed <NotZed@Ximian.com>
* providers/vee/camel-vee-folder.c (camel_vee_folder_new): Create
a new virtual virtual folder UNMATCHED, to store all messages that
dont match other vfolders.
(unmatched_folder_changed): When a vfolder issues a changed event,
use its info to update the unmatched folder info.
(unmatched_finalise): When a vfolder is finalised, remove any uids
it has as if we had a removed event for it.
svn path=/trunk/; revision=8276