* message-list.c: #include <camel/camel-file-utils.h>
* mail-ops.c (get_folderinfo_get):
* subscribe-dialog.c (build_tree): Update for
camel_store_get_folder_info prototype change.
* mail-format.c (handle_text_plain_flowed): Improve more on the
fix from the other day: the first level of indentation adds blank
lines, but further levels don't...
svn path=/trunk/; revision=9660
* camel-disco-store.c: new abstract class for disconnectable
remote stores
* camel-disco-folder.c: new abstract class for folders on
disconnectable stores.
* Makefile.am: Add camel-disco-folder.[ch] and
camel-disco-store.[ch].
* providers/imap/camel-imap-store.c: Make this a subclass of
CamelDiscoStore, and fix up the offline interfaces for the changes
since they were first written (particularly the fact that some
IMAP stores don't just use subscribed folders).
* providers/imap/camel-imap-folder.c: Make this a subclass of
CamelDiscoFolder, although most ops still fail in disconnected
mode.
* camel-store.c (camel_store_get_folder_info): Change gboolean,
gboolean, gboolean to guint32 in the prototype for this function.
* providers/local/camel-local-store.c (get_folder_info): Update
for prototype change.
svn path=/trunk/; revision=9659
* signature editing fixes
2001-05-03 Radek Doulik <rodo@ximian.com>
* e-msg-composer.c (get_signature_html): put signature in 100%
width table
(delete_old_signature): look only for first flow with signature == 1
(e_msg_composer_new): don't insert <BR>
(e_msg_composer_new_with_sig_file): ditto
(delete_old_signature): don't delete whole signature paragraph,
but just it's content
(delete_old_signature): if signature isn't found, insert new empty
paragraph to end of document for new signature
(e_msg_composer_set_sig_file): delete signature always
(e_msg_composer_set_sig_file): don't place signature to the end of
document, but place it where previous one was (if there wasn't
then new one is appended to the document)
2001-05-02 Radek Doulik <rodo@ximian.com>
* listener.c (impl_event): do automagic indenting only when
in_signature_insert is FALSE
* e-msg-composer.c (e_msg_composer_set_sig_file): do indent-zero
before signature inserting
(e_msg_composer_set_sig_file): use in_signature_insert flag
2001-05-01 Radek Doulik <rodo@ximian.com>
* listener.c (impl_event): set signature to 0 in newly created
empty paragraphs
(clear_signature): new helper function
svn path=/trunk/; revision=9658
this file :(
2001-05-02 Gediminas Paulauskas <menesis@delfi.lt>
* component/e-summary.c: set default content type of html to
"text/html; charset=utf-8".
svn path=/trunk/; revision=9651
* providers/imap/camel-imap-store.h: Clean this up a bit. Add a
"tag_prefix" member. Move "useful_lsub" into capabilities.
* providers/imap/camel-imap-store.c (camel_imap_store_init):
Initialize the tag_prefix, based on a static variable.
* providers/imap/camel-imap-command.c (camel_imap_command): Use
the store's tag_prefix character rather than "A" at the start of
the tag. Makes the verbose debug output easier to parse when
connected to multiple IMAP servers. (Well, unless you're connected
to more than 26 servers...)
svn path=/trunk/; revision=9649
2001-05-02 JP Rosevear <jpr@ximian.com>
* gui/component/addressbook.c (addressbook_view_free): unref the
book if the view is being destroyed
* backend/pas/pas-backend-file.c
(pas_backend_file_process_get_book_view): unref the book_view when
we are finished, it is only interesting if someone else has reffed
it now (weak reference)
(pas_backend_file_add_client): unref the book for the same reason
as above
* Fixes bug #2255
svn path=/trunk/; revision=9648
2001-05-02 JP Rosevear <jpr@ximian.com>
* gui/component/addressbook.c (addressbook_view_free): unref the
book if the view is being destroyed
* backend/pas/pas-backend-file.c
(pas_backend_file_process_get_book_view): unref the book_view when
we are finished, it is only interesting if someone else has reffed
it now (weak reference)
(pas_backend_file_add_client): unref the book for the same reason
as above
svn path=/trunk/; revision=9647
* providers/imap/camel-imap-utils.c (imap_uid_array_to_set): Fix
this up... it was losing count in some cases and giving a more
verbose answer than it needed to.
svn path=/trunk/; revision=9644
2001-05-01 Anders Carlsson <andersca@codefactory.se>
* camel-tcp-stream-ssl.c (ssl_bad_cert): Remove the last argument from
camel_session_alert_user.
svn path=/trunk/; revision=9640
* providers/imap/camel-imap-command.c (camel_imap_command): Redo
command locking. Since command_lock is recursive, we can just get
a lock here, and release it either on error, or when the caller
frees the response data. (This simplifies a lot of stuff, and
fixes some problems with camel_imap_folder_changed being called
without the command_lock locked because of the 2001-03-22 change.)
(camel_imap_response_free):
(camel_imap_response_free_without_processing):
(camel_imap_response_extract):
(camel_imap_response_extract_continuation): These all take a
CamelImapStore now as well, to deal with locking.
* providers/imap/camel-imap-private.h: Add
CAMEL_IMAP_STORE_ASSERT_LOCKED, which defaults to a noop, but can
be made to call e_mutex_assert_locked.
* providers/imap/camel-imap-folder.c, camel-imap-search.c,
camel-imap-store.c: Simplify using new locking stuff. Add a few
CAMEL_IMAP_STORE_ASSERT_LOCKED checks.
svn path=/trunk/; revision=9639
* e-html-utils.c (e_text_to_html_full): Don't use g_utf8_next_char
on text that isn't valid UTF8, since it won't work (and might even
get into an infinite loop).
svn path=/trunk/; revision=9637
resync after disconnected operation more efficiently, but also
makes it possible to do appends and moves/copies more efficiently
now.
* providers/imap/camel-imap-folder.c (imap_append_message): If the
server supports UIDPLUS, grab the APPENDUID response and cache the
message into the folder's message cache.
(imap_copy_messages_to): Likewise, for COPYUID, copy any message
parts we have cached between the source and destination folder
caches.
(imap_get_message): If the entire message is already in the cache,
just return that rather than building it from parts.
(imap_update_summary): Fetch just the "UID FLAGS RFC822.SIZE" of
the new messages first, then only fetch the headers for messages
where we don't already have the headers cached.
* providers/imap/camel-imap-message-cache.c: Add gtk-doc comments.
(cache_put): Fix refcounting stuff here.
(camel_imap_message_cache_insert_stream,
camel_imap_message_cache_insert_wrapper): New.
(camel_imap_message_cache_get): Fix a bug here so the memory
caching actually works.
(camel_imap_message_cache_copy): New routine, used by
imap_copy_messages_to.
* providers/imap/camel-imap-utils.c (imap_uid_set_to_array):
Inverse operation of imap_uid_array_to_set. Used to parse COPYUID
response.
svn path=/trunk/; revision=9635
2001-04-30 JP Rosevear <jpr@ximian.com>
* backend/pas/pas-backend-file.c (vcard_matches_search): if the
view does not contain a search context, the result is by default
false fixes#2470
svn path=/trunk/; revision=9634
* providers/imap/camel-imap-utils.c (imap_uid_array_to_set):
New-and-improved version of get_uid_set() from
camel-imap-folder.c. Looks at the summary as it goes so that if
you ask for messages 5, 6, 8, and 9, and there is no message 7,
then you get "5:9" instead of "5:6,8:9"
* providers/imap/camel-imap-folder.c (imap_copy_messages_to): Use
imap_uid_array_to_set() rather than get_uid_set().
(get_uid_set): Gone
svn path=/trunk/; revision=9632
* folder-browser.c (folder_browser_destroy): Unhook event handlers
before syncing the folder, since the folder browser will have been
destroyed by the time the sync thread completes and calls the
signal handlers.
svn path=/trunk/; revision=9630
2001-04-29 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c: Made fewer calls to functions like
split_into_lines to save time when possible.
svn path=/trunk/; revision=9629
* e-html-utils.c (email_address_extract): Make this smarter. Now
e_text_to_html_full calls it when it sees a '@', and
email_address_extract deals with scanning both forward and
backward to find the bounds of the email address. It's still
fooled by Message-IDs, but there's not a whole lot we can do
there...
svn path=/trunk/; revision=9628
* mail-format.c (handle_text_plain_flowed): Mojo this a bit so
that "\n\n>" gets translated to "<br><blockquote>" rather than
"<br><br><blockquote>", since the transition to blockquote mode
creates a blank line itself. Makes Mozilla-generated flowed
replies look better.
svn path=/trunk/; revision=9627
2001-04-29 Christopher James Lahey <clahey@ximian.com>
* gal/Makefile.am (libgal_la_LIBADD): Added
widgets/e-categories-master-list-dialog-model.lo and
widgets/e-categories-master-list-dialog.lo here.
* gal/widgets/Makefile.am (libwidgets_la_SOURCES): Added
widgets/e-categories-master-list-dialog-model.c and
widgets/e-categories-master-list-dialog.c here.
(libwidgetsinclude_HEADERS): Added
widgets/e-categories-master-list-dialog-model.h and
widgets/e-categories-master-list-dialog.h here.
(glade_DATA): Added e-categories-master-list-dialog.glade here.
* gal/widgets/e-categories-master-list-dialog-model.c,
gal/widgets/e-categories-master-list-dialog-model.h: New class
defining an ETableModel for use in
e-categories-master-list-dialog.c.
* gal/widgets/e-categories-master-list-dialog.c,
gal/widgets/e-categories-master-list-dialog.glade,
gal/widgets/e-categories-master-list-dialog.h: New dialog for
editing the master category list.
* gal/widgets/e-categories.c: Added code to hook up the edit
master category list button here to launch an
e-categories-master-list-dialog.
* gal/widgets/gal-categories.glade: Added a button here to edit
the master category list.
svn path=/trunk/; revision=9625
2001-04-28 Jason Leach <jasonleach@usa.net>
(Make the alternating row colors a option in ETableSpecification
instead of a compiled in #define)
* e-table-specification.c (e_table_specification_load_from_node):
Read in the "alternating-row-colors=bool" option for
ETableSpecifications. Default value is true so unless it is
specified to be false, row colors will alternate.
(e_table_specification_save_to_node): Save the alternating row
color options here.
* e-table.c (et_build_groups): Pass down the alternating row
colors through to the ETableGroup.
* e-table-group-container.[ch]: Handle the new alternating row
colors
option here, passing it to ETableItem.
* e-table-group-leaf.[ch]: Here too.
* e-table-item.c (eti_get_cell_background_color): Got rid of the
#define ALTERNATE_COLORS, replaced with truth check for
ETableItem::alternating_row_colors.
* e-tree.c: Make ETree recognize alternating row color options as
well.
svn path=/trunk/; revision=9622
2001-04-28 Peter Williams <peterw@ximian.com>
* POTFILES.in: Reflect Danw's move of mail/session.c to
mail/mail-session.c
svn path=/trunk/; revision=9621
* mail-session.c: Renamed from session.c and made to be a subclass
of CamelSession.
* mail-mt.c (mail_user_message): Renamed from mail_get_accept and
made more general-purpose, to implement the new
camel_session_alert_user.
svn path=/trunk/; revision=9618
* camel-session.c: Redo this a lot so that instead of having a
class full of callbacks, we have a subclassable class. Also,
replace the increasingly horrifying
camel_session_query_authenticator with three new routines,
camel_session_get_password, camel_session_forget_password, and
camel_session_alert_user.
* camel-pgp-context.c:
* camel-pkcs7-context.c:
* camel-smime-context.c:
* providers/imap/camel-imap-store.c:
* providers/pop3/camel-pop3-store.c:
* providers/smtp/camel-smtp-transport.c:
Use camel_session_get_password / camel_session_forget_password.
* camel-tcp-stream-ssl.c (ssl_bad_cert): Use
camel_session_alert_user.
svn path=/trunk/; revision=9617
2001-04-27 JP Rosevear <jpr@ximian.com>
* gui/e-meeting-edit.c (put_property_in_list): remove hardcoded
values
(edit_attendee): ditto, and there are only 4 roles now
* gui/e-meeting-dialog.glade: tweak
* gui/itip-utils.c: There shouldn't be an "other" role
svn path=/trunk/; revision=9616
2001-04-26 JP Rosevear <jpr@ximian.com>
* cal-util/cal-component.c (cal_component_alarm_set_trigger): the
value type should be inited with ICAL_VALUE_* rather than
ICAL_*_VALUE because it is a param argument.
svn path=/trunk/; revision=9611