* mail-format.c (mail_format_mime_message): Initialize the "urls"
hash table stored on the message and store cid and other URLs
there rather than as object data on the message.
(get_cid): rewrite this a bunch
(handle_text_enriched): move the code from write_iframe_string()
into here, since it's the only place that actually needs it.
(handle_text_html): simplify this a lot. We can use a cid: URL
here rather than x-evolution-data.
(get_url_for_icon): New routine to return URLs for icons, and
cache the results, so we don't have to keep re-reading the icon
files (and so we can't be spoofed into reading non-icon files).
(handle_mystery, handle_audio): use get_url_for_icon.
* mail-display.c (save_data): move the CamelMimePart filename
extracting code from get_cid to here.
(on_link_clicked, on_object_requested): Update for cid: changes.
(on_url_requested): Kill off the kludgy, exploitable x-gnome-icon
URL schema, update cid and x-evolution-data to match
mail-format.c.
It should now be easier to implement RFC 2557 (Content-Location,
etc), but that RFC still pretty much sucks.
svn path=/trunk/; revision=3314
* mail-format.c: Redo this back to the old way: a single GtkHTML
with various things inline in it. (Gets rid of flicker, simplifies
some scrolling, selecting, and printing issues.)
(handle_text_enriched, handle_text_html): Use <iframe>s for these,
to protect the rest of the document from their possibily invalid
HTML.
(handle_via_bonobo): Use (new-and-improved) <object> tags for
this, moving most of the work back into mail-display.c
* mail-display.c (on_object_requested): Move the Bonobo embedding
code back here again (reorganized a bit).
(on_url_requested): add x-evolution-data handler, for iframe
bodies.
(mail_html_new, mail_html_end): removed
(mail_display_set_message, mail_display_new): Update for NWO.
svn path=/trunk/; revision=3312
children is zero anymore. This was causing problems with some of the
widgets that are in the EShellView and have zero requisition.
svn path=/trunk/; revision=3311
that they start up in the correct state. Deactivate the current
control when displaying an empty error page. Removed some crufty
debugging messages.
svn path=/trunk/; revision=3310
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* gui/component/e-cardlist-model.c,
gui/component/e-cardlist-model.h: New files for card list.
svn path=/trunk/; revision=3309
2000-05-30 Federico Mena Quintero <federico@helixcode.com>
* gui/event-editor.c (event_editor_construct): Create the UI
handler after we have constructed the parent GnomeApp.
(main_menu): Menu template is now in place.
(toolbar): Tollbar template is now in place.
(create_toolbar): Turn off labels in the toolbar since it sucks;
it should support non-homogeneous buttons with horizontal icons
and text.
svn path=/trunk/; revision=3308
2000-05-30 Not Zed <NotZed@HelixCode.com>
* filtertypes.xml: And here too.
* vfoldertypes.xml: Add body-contains and not-body-contains
types.
svn path=/trunk/; revision=3306
components in ShellComponent. Implemented toggle menu items to
hide/show the shortcut bar and the folder bar (but they don't work,
apparently because of some BonoboUIHandler bogosity). Implemented a
CORBA method in Shell to allow a client to get the component that
handles a certain folder type.
svn path=/trunk/; revision=3303
2000-05-30 Not Zed <NotZed@HelixCode.com>
* e-sexp.c (e_sexp_encode_bool): Utility function to build a bool
as part of an expression string.
(e_sexp_encode_string): Likewise for strings.
svn path=/trunk/; revision=3300
2000-05-30 Not Zed <NotZed@HelixCode.com>
* providers/mbox/camel-mbox-folder.c (mbox_append_message): Init
filter_from to NULL, for exception case.
(mbox_get_message_by_uid): Cast off_t to long int for diagnostics.
* camel-url.c (camel_url_hash): Hash funciton for using camel
url's as hash keys.
(camel_url_equal): equal function for same.
* camel-session.c (camel_session_finalise): Free cached services.
(camel_session_init): Init service cache.
(service_cache_remove): destroy callback to remove a service from
the cache.
* camel-store.c (get_folder_internal): Remove the extra ref of the
folder. That seems the right behaviour ...?
(camel_store_get_type): Doh, actually call store init, so the
cache works.
(cache_folder): strdup the folder name! no wonder it never found
it again.
svn path=/trunk/; revision=3298
* message-list.c: use the "new" tigert pixmaps rather than the
older ones. Includes a "replied to" icon (which is used now), but
no "deleted" icon (although we have the strikeout renderer for
that now).
svn path=/trunk/; revision=3295
* message-list.c (message_changed): call
e_table_model_row_changed, not e_table_model_changed so we do less
work, and don't lose the current selection.
(select_msg): Set up a timer to mark the displayed message as
"seen" if it's selected for longer than 1.5 seconds (a number
pulled out of Matt's butt).
(ml_value_at): Use the MESSAGE_STATUS column for read/unread as
well as deleted.
svn path=/trunk/; revision=3293
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Make sure that the cursor is always shown when
the selection changes.
svn path=/trunk/; revision=3290
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* e-canvas-utils.c, e-canvas-utils.h: Added
e_canvas_item_show_area which makes sure that a particular area of
a given item is in the scroll area.
svn path=/trunk/; revision=3289
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* gui/component/alphabet.glade: Made the alphabet buttons not
focusable.
* gui/minicard/e-minicard-view.c: Made the "123" button work.
* gui/minicard/e-reflow-sorted.c: Made all buttons past the last
letter available work.
svn path=/trunk/; revision=3285
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* gui/component/alphabet.glade: Added a bit of space around the
alphabet bar.
svn path=/trunk/; revision=3284
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* gui/component/Makefile.am: Added alphabet.glade and
alphabet.glade.h.
* gui/component/addressbook.c, gui/component/alphabet.glade,
gui/component/alphabet.glade.h: Added an alphabet bar.
* gui/minicard/e-minicard-view.c, gui/minicard/e-minicard-view.h,
gui/minicard/e-reflow-sorted.c, gui/minicard/e-reflow-sorted.h:
Added the ability to just to a particular spot in the reflow.
svn path=/trunk/; revision=3283
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* printing/Makefile.am: Added BONOBO_GNOME_CFLAGS to CPPFLAGS.
svn path=/trunk/; revision=3282
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* gui/minicard/e-minicard-view.c: Made double clicking create a
new card. Set the empty message.
* gui/minicard/e-minicard.c: Made sorting be case insensitive.
* gui/minicard/e-reflow-sorted.c, e-reflow.c, e-reflow.h: Added a
message for when the reflow is empty.
* printing/e-contact-print.c, printing/medbook.ecps: Made the
default printout be full page. Made sorting case insensitive.
svn path=/trunk/; revision=3281
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/e-book-view-listener.c,
backend/ebook/e-book-view-listener.h, backend/ebook/e-book-view.c,
backend/ebook/e-book-view.h, backend/idl/addressbook.idl,
backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c,
backend/pas/pas-book-factory.c, backend/pas/pas-book-view.c,
backend/pas/pas-book-view.h: Added "sequence_complete" signal.
* printing/e-contact-print.c: Made printing wait for
"sequence_complete" signal and made it sort.
svn path=/trunk/; revision=3279
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Switched to using "cursor_change" signal instead
of "row_selection" for switching messages. Select the first row
(still doesn't work because of ETable.) Adapt to some small
ETable changes. Set drawfocus to FALSE.
svn path=/trunk/; revision=3278
shortcut view. Made shortcuts behave correctly when moved around.
Also, implemented automatic re-saving of the shortcuts when they
change.
svn path=/trunk/; revision=3276
2a3,9
> * camel-store.c (camel_store_init): Move it to here. If this
> level is going to maintain it, it should set it up. Lets see what
> caching folders breaks :(
>
> * providers/pop3/camel-pop3-store.c (camel_pop3_store_init): Dont
> init folder cache here.
>
7a15,16
> (camel_mbox_summary_expunge): Remove some debug, and dont offset
> frompos?
svn path=/trunk/; revision=3274
`g_hash_table_insert()' when initializing the EStorageSetView. This
was causing addition of new folders to a registered storage at runtime
to fail.
svn path=/trunk/; revision=3273
2000-05-29 Not Zed <NotZed@HelixCode.com>
* providers/mbox/camel-mbox-summary.c
(camel_mbox_summary_expunge): Make sure we copy messages which are
still intact to the new folder.
(camel_mbox_summary_expunge): Update the frompos as well when
moving the content.
svn path=/trunk/; revision=3272
> summary.
> (folder_changed): Track folder changes, re-query the folder that
> changed, and cascade the changed event as well.
> (camel_vee_folder_finalise): Free subfolder and subfolder summary.
svn path=/trunk/; revision=3271
2000-05-29 Not Zed <NotZed@HelixCode.com>
* folder-browser.c (folder_browser_load_folder): Hardcode the
vfolder source to just the inbox (so at least it returns
something).
* component-factory.c (create_test_storage): Create a vfolder dir
first, and put the folders in that.
(create_test_storage): Create the storage as VFolders, not
"storage_name" :)
svn path=/trunk/; revision=3269
2000-05-29 Not Zed <NotZed@HelixCode.com>
* providers/vee/camel-vee-folder.c (vee_folder_build): Check the
searched folder is open before trying to search it.
svn path=/trunk/; revision=3268
* e-msg-composer.c (get_editor_text): add a "format" argument so
we can fetch different kinds of text.
(format_text): New function to do line wrapping on plain text.
(build_message): Build multipart/alternative messages rather than
HTML-only ones. Yay. We don't suck (as much) any more!
svn path=/trunk/; revision=3267
* camel-service.c (camel_service_new): Fix up some glib
precondition stuff. Try to set the URL in camel_service_new before
checking whether or not it's "empty" so that you can successfully
set "sendmail:" as a URL.
svn path=/trunk/; revision=3266