* providers/imap/camel-imap-command.c: New file containing
camel_imap_command and friends. Major camel_imap_command rewrite
to remove duplicated code, make the parsing of literals be
more safe/correct, deal with RECENT/EXPUNGE responses more
consistently, and make it possible to implement the AUTHENTICATE
command.
* providers/imap/camel-imap-utils.c (imap_parse_nstring): New
function, to parse an IMAP "nstring".
* providers/imap/camel-imap-store.c: Move command stuff to
camel-imap-command.c. Update for camel_imap_command changes.
* providers/imap/camel-imap-folder.c: Update for
camel_imap_command changes.
(imap_append_message): CRLF filter the message before sending it.
* providers/imap/Makefile.am: Add camel-imap-command.[ch], remove
camel-imap-stream.[ch] for now.
svn path=/trunk/; revision=5693
2000-10-02 Chris Toshok <toshok@helixcode.com>
* subscribe-dialog.c, subscribe-dialog.h: add a
storage-set-view-listener, and add a little printf saying what
storage was selected.
svn path=/trunk/; revision=5688
2000-10-02 Chris Toshok <toshok@helixcode.com>
* e-storage-set-view.c (e_storage_set_view_get_current_folder): if
we're not displaying folders, the current folder is NULL.
(class_init): fix typo.
* Makefile.am (libeshell_a_SOURCES):
evolution-storage-set-view-listener.[ch] should be here, not
evolution_SOURCES.
svn path=/trunk/; revision=5687
2000-10-02 Chris Toshok <toshok@helixcode.com>
* evolution-storage-set-view.c (impl_StorageSetView_add_listener): fix typo.
(impl_StorageSetView_remove_listener): same.
(impl_StorageSetView__get_show_folders): implementation of getter for show_folders.
(impl_StorageSetView__set_show_folders): implementation of setter for show_folders.
(corba_class_init): install _set_show_folders and _get_show_folders.
* Evolution-StorageSetView.idl: add show_folders attribute to
StorageSetView.
* e-storage-set-view.h: add prototypes for
e_storage_set_view_{get,set}_show_folders.
* e-storage-set-view.c (insert_storages): split this code out from
e_storage_set_view_construct so we can call it when "show_folders"
has been changed.
(e_storage_set_view_construct): remove the code to insert
storages.
(e_storage_set_view_set_show_folders): new function. tears down
existing tree and node/path hashtable and calls insert_storages.
(e_storage_set_view_get_show_folders): new function, retrieves
current show_folders state.
svn path=/trunk/; revision=5684
2000-10-02 Chris Toshok <toshok@helixcode.com>
* subscribe-dialog.c (subscribe_dialog_gui_init): get
Evolution::StorageSetView interface on our storage set view
control, and set "show_folders" to FALSE.
svn path=/trunk/; revision=5683
2000-10-02 Chris Toshok <toshok@helixcode.com>
* Makefile.am (INCLUDES): add -I$(top_srcdir)/widgets/misc
* subscribe-dialog.c (subscribe_dialog_gui_init): change the
window title to Manage Subscriptions, bold subscribed folders, and
add a title bar ala the evolution shell (but without the close
button).
svn path=/trunk/; revision=5682
2000-10-02 Chris Toshok <toshok@helixcode.com>
* subscribe-dialog.h: add fields for the storage set
Bonobo_Control and Evolution_StorageSetView interfaces.
* subscribe-dialog.c (subscribe_dialog_gui_init): create the uih
as early as possible, and add the storage set view to the left
side of the hpaned.
svn path=/trunk/; revision=5681
2000-10-02 Chris Toshok <toshok@helixcode.com>
* evolution-storage-set-view-factory.c
(evolution_storage_set_view_factory_new_view): pass
storage_set_view_interface as second argument to
bonobo_object_add_interface, and call gtk_widget_show on the
storage_set_view widget.
svn path=/trunk/; revision=5680
2000-10-02 Jeffrey Stedfast <fejj@helixcode.com>
* camel-mime-message.c (camel_mime_message_has_8bit_parts): New
convenience function to determine if there are any 8bit mime parts
in a mime message.
(camel_mime_message_encode_8bit_parts): New convenience function
to recursively reencode all 8bit mime parts to either
quoted-printable or base64 depending on which would be the best
encoding for that part.
* providers/smtp/camel-smtp-transport.c (smtp_data): If the mime
message contains 8bit parts and the server doesn't support 8bit
transfers, reencode those parts before proceding with the send.
(smtp_mail): If the mime message contains 8bit parts and the
server supports the 8BITMIME extension to SMTP, notify the server
that we'll be sending it 8bit mime parts.
(_send_to): Find out if the message contains 8bit parts.
svn path=/trunk/; revision=5677
2000-10-02 Chris Toshok <toshok@helixcode.com>
* e-tree-model.h: change/add prototypes and a typedef for
ETreePathCompareFunc.
* e-tree-model.c (e_tree_model_node_set_compare_function): new
function, used to set the comparison function for sorted nodes.
Eventually sorting entail just calling this function, with the
tree maintaining the sort.
(e_tree_model_node_sort): use a helper function
(e_tree_model_node_compare) to allow the e-tree user's comparison
function to take mode reasonable paramaters. also, fix it so the
previous expanded state is kept with the node. i can't believe i
wrote it the way it originally was. also, don't take the
comparison function here. it's set in
e_tree_model_node_set_compare_function.
svn path=/trunk/; revision=5674
2000-10-02 Chris Toshok <toshok@helixcode.com>
* e-tree-model.c (e_tree_model_node_sort): don't screw things up
if we sort a collapsed node.
svn path=/trunk/; revision=5673
* mail-config-gui.c: Remove "Port" entry from source dialog. We'll
use "host:port" like Netscape and other programs do.
(service_page_get_url): If host ends in ":###", use that as port.
(service_page_set_url): If URL contains a port, append it to the
hostname, separated by a colon.
svn path=/trunk/; revision=5670
2000-10-02 Chris Toshok <toshok@helixcode.com>
* message-list.c (message_list_init_renderers): remove the 2 tree
pixbufs, so adjust the offsets to the score pixbufs. also, pass
NULL for the open/closed pixbufs to the tree cell renderer.
svn path=/trunk/; revision=5667
2000-10-02 Chris Toshok <toshok@helixcode.com>
* e-storage-set-view.c (e_storage_set_view_construct): pass NULL
for the open/closed pixbuf of the tree renderer. we'll let it
supply the default.
(destroy): remove the expanded/unexpanded pixbuf references.
(new_storage_cb): use e_tree_model_node_insert_id so we can (soon)
save expanded/collapsed state.
(new_folder_cb): same.
(insert_folders): same.
(e_storage_set_view_construct): same.
svn path=/trunk/; revision=5666
2000-10-02 Chris Toshok <toshok@helixcode.com>
* tree-unexpanded.xpm: flip black and gray, the way i intended them to be.
* tree-expanded.xpm: same.
svn path=/trunk/; revision=5665
* mail-ops.c (mail_do_scan_subfolders, etc): Update for
CamelFolderInfo changes.
* message-list.c (message_list_destroy): Don't save_tree_state if
there's no folder associated with the MessageList.
* folder-browser.c (folder_browser_set_uri): Only call
mail_do_load_folder if the URI is not "".
svn path=/trunk/; revision=5664
* camel-folder.[ch]: Remove
camel_folder_{get,free}_subfolder_info, as we want to be able to
scan the whole subfolder tree without having to open any folders,
so this needs to be in CamelStore. Remove can_hold_folders and
can_hold_messages flags; things that don't hold messages are no
longer considered CamelFolders.
* camel-folder-summary.[ch]: Remove CamelFolderInfo stuff.
* camel-store.[ch]: Add camel_store_{get,free}_folder_info, as
well as camel_store_free_folder_info_full and ..._nop for default
implementations, and camel_folder_info_free and
camel_folder_info_build as convenience functions. Turn
CamelFolderInfo into a tree structure and also add an "url"
member.
* providers/*/camel-*-folder.c: Remove subfolder_info and can_hold
stuff.
* providers/*/camel-*-store.c: Add folder_info stuff.
* providers/imap/camel-imap-folder.c (imap_summary_free): Free the
summary elements with camel_message_info_free, not
camel_folder_info_free. Oops.
* providers/imap/camel-imap-utils.c: const poison
svn path=/trunk/; revision=5663
2000-10-02 Jeffrey Stedfast <fejj@helixcode.com>
* e-msg-composer.c (build_message): If the body of the message has
8-bit chars, set the Content-Transfer-Encoding type to the best
encoding.
svn path=/trunk/; revision=5662
2000-10-02 Chris Toshok <toshok@helixcode.com>
* tree-expanded.xpm: reinstate file.
* tree-unexpanded.xpm: same.
* e-tree-example-1.c (main): remove calls to e_cursor_*, and don't
create pixbufs. let's the tree give us the defaults.
* e-tree-model.c (e_tree_model_node_changed): call
e_table_model_row_changed on the node's row (if it's visible).
(e_tree_model_node_inserted): call e_table_model_row_inserted on
the new node's row, if it's visible.
(e_tree_model_node_removed): call e_table_model_row_removed on the
old node's row, if it was visible.
* e-cell-tree.c (e_cell_tree_construct): allow open_pixbuf and
closed_pixbuf to be NULL, and default them to the xpm data in
rtee-{un}expanded.xpm.
(ect_destroy): call gdk_pixbuf_unref on our open/closed pixbufs.
* tree-expanded.xpm, tree-unexpanded.xpm: make the + and - a
little lighter than straight black.
svn path=/trunk/; revision=5660
Bonobo::Control (untested, and needed by Toshok's subscription
dialog). Also, added a custom interface for this control so that the
container can get notification when a folder gets selected.
svn path=/trunk/; revision=5657
2000-10-02 Iain Holmes <iain@helixcode.com>
* mail-display.[ch]: Add a cache for the pixbufs, hashed on CID,
so that we only have to make a thumbnail once.
2000-10-01 Iain Holmes <iain@helixcode.com>
* mail-display.c: Generate the thumbnails on an idle function so that
the user interface isn't locked. Checks in case the widget it will
use to display the image isn't destroyed.
svn path=/trunk/; revision=5653
2000-10-02 Iain Holmes <iain@helixcode.com>
* e-msg-composer-attachment-bar.c: If the description of an attachment
is a blank string, revert to displaying the filename.
2000-10-01 Iain Holmes <iain@helixcode.com>
* e-icon-list.c: If you try to add an icon from a file that doesn't
exist put a "Broken icon" image.
* bad-icon.xpm: Broken icon image.
svn path=/trunk/; revision=5652
Fri Sep 29 07:33:54 2000 Christopher James Lahey <clahey@helixcode.com>
* gui/widgets/e-minicard.c, gui/widgets/e-minicard.h: Made it so
that minicard doesn't write out changes to the backend unless
something's actually changed.
svn path=/trunk/; revision=5647
2000-09-29 Damon Chaplin <damon@helixcode.com>
* cal-util/cal-recur.c: updated to support RDATE end times or
durations. Note that if you have two RDATEs with the same start times,
but with different end dates/durations set, the results are
unpredictable. So the event editor dialog should check for this.
* gui/e-week-view-main-item.c (e_week_view_main_item_draw_day):
make strftime() strings translatable, and changed the formats a bit.
* NOTE: someone needs to check print.c to make sure strftime strings
are OK for i18n.
* gui/e-day-view.h: Changed EDayViewDateFormat enum. We now try to
include the weekday if possible. Also changed EDayView struct so we
store the month & weekdays with the longest names rather than the
actual widths. This helps i18n.
* gui/e-day-view.c (e_day_view_recalc_cell_sizes): used _() for
strftime strings, tried to see if weekday fits, and rearranged a
bit to make i18n easier.
* gui/e-day-view-top-item.c (e_day_view_top_item_draw): used _() for
strftime strings, and updated to use new formats.
* gui/calendar-model.c: added use_24_hour_format boolean to
CalendarModelPrivate so we can display dates in 12-hour format if
requested. This meant adding a CalendarModel argument to a few
functions. Also added get/set functions to set use_24_hour_format.
I suppose ideally we should have an ECellDate renderer and this option
should go there.
svn path=/trunk/; revision=5646
2000-09-25 Damon Chaplin <damon@helixcode.com>
* e-meeting-time-sel-item.c:
* e-meeting-time-sel.c: fixed use of date strings to support i18n
better.
(e_meeting_time_selector_update_attendees_list_positions): updated to
use e_canvas_item_move_absolute() to position the EText items.
svn path=/trunk/; revision=5644