2001-01-17 Larry Ewing <lewing@helixcode.com>
* configure.in (EVOLUTION_DIR): add the
doc/devel/importer/Makefile as a target.
* backend/ebook/Makefile.am (oaf_DATA): don't require the pine
oainfo file until it is actually added to the repository. We need
to keep the build working for nightlies to work.
svn path=/trunk/; revision=7597
2001-01-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_set_pgp_path): New config function to
set the path to the pgp binary.
(mail_config_get_pgp_path): Gee I wonder...
(mail_config_set_pgp_type): This one sets the type (ie PGP5, PGP2,
or GnuPG - see openpgp-utils.h for values)
(mail_config_get_pgp_type): Der.
svn path=/trunk/; revision=7596
2001-01-17 Damon Chaplin <damon@helixcode.com>
* gui/e-week-view*.c
* gui/e-day-view*.c: don't use the theme colors at all within
the graphical parts of the widgets, since they may clash with
our colors. May make them configurable in future so people can tweak
them to go with their theme. At least the calendars are usable in any
theme now, even though the colors may not go well with the theme.
Also set the font of all the EText items in style_set.
* gui/e-week-view-event-item.c (e_week_view_event_item_draw): don't
draw the icons if we are editing the event.
* gui/e-day-view.c:
* gui/e-week-view.c: reinstated the optimizations so we don't do a
complete relayout if the event's dates haven't been changed.
(Though we still do a re-layout when recurring events change, since
comparing all the RDATES/RRULES/EXDATES/EXRULES is too much hassle.)
A side-effect of this change is that the EWeekView won't crash so
often - only recurring events will be a problem.
* cal-util/cal-component.[hc]: added function to check if the start
and end dates of a component match. Used for optimizing the updating
of the EDayView & EWeekView.
svn path=/trunk/; revision=7593
2001-01-17 Jeffrey Stedfast <fejj@ximian.com>
* e-messagebox.c (e_message_box_get_id): Oops. Delete this. I
never meant for this to get commit'd.
svn path=/trunk/; revision=7587
2001-01-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-account-editor.c (construct): Oops. "url && url->host"
doesn't do much without the '?' and ':' ;-)
svn path=/trunk/; revision=7586
The value you provide is now also displayed in the shell title bar.
And while I was at it, I changed the title bar so that it displays the
name of the folder first (instead of "Evolution - Inbox" it says
"Inbox - Evolution 0.8 [yaddayadda]").
svn path=/trunk/; revision=7585
2001-01-17 Michael Meeks <michael@helixcode.com>
* evolution-composer.c (enum_objects): comment out for now
to ease compat issues.
(evolution_composer_construct): pass in NULL for the item
handler enum_objects fn + calm warning.
svn path=/trunk/; revision=7584
2001-01-17 JP Rosevear <jpr@ximian.com>
* e-msg-composer.c (e_msg_composer_new_with_message): Use the
to/cc/bcc addresses insted of just the to.
svn path=/trunk/; revision=7581
2001-01-17 JP Rosevear <jpr@ximian.com>
* e-messagebox.c (e_message_box_get_id): Dont remove the function, give
it the proper name
svn path=/trunk/; revision=7580
2001-01-17 Federico Mena Quintero <federico@ximian.com>
* */*: Ximianified email addresses and copyrights.
* idl/evolution-calendar.idl (CalFactory::open): Renamed from
::load(), and added an only_if_exists argument.
(CalFactory::create): Removed method.
(Listener::OpenStatus): Removed the IN_USE error and replaced it
with a NOT_FOUND one; renamed the enum from LoadStatus.
(Listener::notifyCalOpened): Renamed from notifyCalLoaded().
* pcs/cal-backend.h (CalBackend): Removed the uri field.
(CalBackendOpenStatus): Renamed from CalBackendLoadStatus and
added a NOT_FOUND value.
(CalBackendClass::open): Put in a slot for the open method.
* pcs/cal-backend.c (cal_backend_create): Removed function.
* pcs/cal-backend-file.c (cal_backend_file_open): Return the
appropriate value when only_if_exists is TRUE.
(create_cal): We are Ximian now, so set the PRODID property to
the appropriate foo.
* pcs/cal-factory.c (CalFactory_open): implemented, replacing
CalFactory_load() and CalFactory_create().
(CalFactory_open): Moved the queue_load_create_job() stuff to
here, since we now only need to contemplate the open case instead
of load/create ones.
(open_backend): Do everything here; replaces load_backend() and
create_backend().
* cal-client/cal-listener.h (CalListenerClass::cal_opened):
Renamed from cal_loaded.
(CalListenerClass): Replaced the silly signals, which are
gratuitous abstraction, by a set of function pointers in the
instance structure.
* cal-client/cal-listener.c (cal_listener_get_calendar): Removed
unused function.
(cal_listener_construct): Added the listener notification functions.
(cal_listener_new): Ditto.
(Listener_notifyCalOpened): Renamed to our new naming convention
for servant implementations.
(Listener_notifyObjUpdated): Ditto.
(Listener_notifyObjRemoved): Ditto.
* cal-client/cal-client.h (CalClientOpenStatus): Renamed from
CalClientLoadStatus.
(CalClientClass::cal_opened): Renamed from ::cal_loaded().
(CalClientLoadState): New enum; basically make LoadState public so
that users of this code do not have to maintain their own states.
* cal-client/cal-client.c (cal_client_create_calendar): Removed
function.
(cal_client_open_calendar): Moved the functionality over from
load_or_create(); now we do everything here.
(*): Use the CalClientLoadState enum values instead of the old
LoadState values.
(cal_client_get_load_state): Renamed from cal_client_is_loaded(),
and return the appropriate value.
(CalClientPrivate): Added an uri field.
(cal_client_init): Initialize priv->uri.
(cal_client_destroy): Free the priv->uri.
(cal_opened_cb): Maintain the priv->uri.
(cal_client_open_calendar): Fill in the priv->uri.
(cal_client_get_uri): New function.
* gui/calendar-model.c (calendar_model_set_new_comp_vtype): New
function to configure the type of calendar components to create
when doing click-to-add. This makes the model usable for
something other than task lists.
(calendar_model_get_new_comp_vtype): New function.
* gui/e-calendar-table.c (e_calendar_table_get_model): New function.
(e_calendar_table_destroy): Unref the subset_model.
* gui/gnome-cal.h (GnomeCalendarOpenMode): Removed enum.
* gui/gnome-cal.c (LoadState): Removed enum; we now use the
CalClientLoadState from the client objects.
(GnomeCalendarPrivate): Removed the loading_uri and
task_pad_loading_uri fields as well as the load_state and
task_pad_load_state fields, as we can now query them directly from
the CalClient.
(open_error): Renamed from load_error().
(create_error): Removed function.
(gnome_calendar_open): Do not take in the mode parameter.
(cal_opened_cb): Get rid of our beautifully-crafted state machine
and replace it with simple code; all the loading smarts are in the
Wombat now.
(setup_widgets): Set the new component vtype of the table model to
CAL_COMPONENT_TODO.
* gui/Makefile.am (evolution_calendar_SOURCES): Removed
gnome-month-item.[ch] from the list of sources.
* gui/calendar-summary.c (CalSummary): Removed unused cal_loaded
field.
(create_summary_view): Do not check if the file exists; this is
the job of the Wombat.
(generate_html_summary): Fixed prototype.
(alarm_fn): Fixed prototype.
(property_dialog): Fixed prototype. Wonder if/how this ever
worked.
(create_summary_view): Cast the component and view as
appropriate. Removed unused html variable.
[Iain dude, are you compiling with -Wall?]
* gui/e-itip-control.c (cal_opened_cb): Sigh, this function
signature was *very* wrong. It was using CalClientGetStatus
instead of CalClientOpenStatus.
* gui/e-tasks.h (ETasksOpenMode): Removed enum.
* gui/e-tasks.c (setup_widgets): Set the new component vtype of
the table model to CAL_COMPONENT_TODO.
(LoadState): Removed the state machine foo.
(e_tasks_open): Removed the mode parameter.
(initial_load): Removed function.
(create_error): Removed function.
(ETasksPrivate): Removed folder_uri field.
(cal_opened_cb): Remove the state machine.
* gui/component-factory.c: #include "tasks-control.h"
* conduits/calendar/calendar-conduit.h (ECalConduitContext):
Removed calendar_load_tried field.
* conduits/calendar/calendar-conduit.c (start_calendar_server_cb):
Sigh, fixed function prototype.
* conduits/todo/todo-conduit.h (EToDoConduitContext): Removed
calendar_load_tried field.
* conduits/todo/todo-conduit.c (start_calendar_server_cb): Fixed
function prototype.
svn path=/trunk/; revision=7571
2001-01-17 Martin Norbäck <d95mback@dtek.chalmers.se>
* openpgp-utils.c (pgp_get_passphrase): Changed the word entry
to enter, which is the correct word to use.
svn path=/trunk/; revision=7569
2001-01-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (ask_confirm_for_empty_subject): Update to use
EMessageBox and to record if the user doesn't want to ever see
this dialog again.
* mail-config.c (mail_config_get_prompt_empty_subject): New config
function.
(mail_config_set_prompt_empty_subject): Another new one.
svn path=/trunk/; revision=7567
2001-01-17 Jeffrey Stedfast <fejj@ximian.com>
* Makefile.am: Added e-messagebox to the build.
* e-messagebox.[c,h]: Added a new messagebox window that contains
a checkbox for "Don't show me this again."
svn path=/trunk/; revision=7566
This fixes translations of library messages compared to application messages.
2001-01-17 Miguel de Icaza <miguel@gnu.org>
* po/POTFILES.in: update.
* gal/widgets/color-palette.c: use e-i18n.h
* gal/util/e-i18n.h: Avoid inclussion of the GNOME i18n file as we
provide our own.
2001-01-17 Miguel de Icaza <miguel@gnu.org>
* e-table-header-item.c: Use e-i18n.h here.
* e-table.c (et_col_spec_to_col): Use gettext here.
(et_real_construct): Use gettext too.
(et_col_spec_to_col): Use gettext here.
* e-cell-date.c: Use e-i18n.h here.
* e-table-config.c (config_sort_info_update): Simplify column
grabbing code and drop item layout code.
(config_group_info_update): ditto.
* e-table-config.c: Get correct translation setup working.
2001-01-17 Miguel de Icaza <miguel@gnu.org>
* e-group-bar.c: Use e-i18n.h
svn path=/trunk/; revision=7565
2001-01-16 Miguel de Icaza <miguel@gnu.org>
* e-table-config.c (configure_sort_dialog): Load frames.
* Kill e-table-config-field.c
* e-table-specification.c (e_table_specification_save_to_file):
Specify version to xmlNewDoc.
* e-table-state.c (e_table_state_save_to_string): Specify version
to xmlNewDoc.
* e-table-config.c (config_destroy): Destroy the copies. Unref
the originals.
(e_table_config_construct): Duplicate values of configuration
here.
(configure_sort_dialog): New function that populates the sort gtk
combo boxes.
* e-table.c (et_col_spec_to_col): Fixup use of title here. Do the
actual translation here.
* e-table-column-specification.c: Remove title_, it is now called
title. Translation needs to take place elsewhere, not here
* e-table-specification.c (e_table_specification_duplicate): Add
preconditions here.
(e_table_specification_save_to_node): ditto.
(e_table_specification_save_to_string): ditto.
(e_table_specification_save_to_file): ditto.
* e-table-state.c (e_table_state_duplicate): Implement.
* e-table-config.glade (dialog_sort): Change drop down menus to
use GtkComboText widgets.
* e-table-config.c (configure_dialog): New function, used to set
up dialogs.
svn path=/trunk/; revision=7563
2001-01-16 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (camel_folder_summary_array): Add an int
i so this code will compile. Should I be worried about how well
this code will work? ;-)
svn path=/trunk/; revision=7562
2001-01-16 Jeffrey Stedfast <fejj@ximian.com>
* mail-account-editor.c (apply_changes): Modify to be able to
handle a NULL source_url.
(source_auth_init): Allow for a NULL source url.
(source_check): Same.
* mail-config.c (mail_config_write): Allow for NULL source
URLs. And while we're at it, NULL transport URLs as well. Might as
well save the use_ssl variable too.
(config_read): Same.
* mail-config-druid.c (druid_finish): Modify to allow a NULL
source url.
(incoming_next): Modify to check for a NULL source and jump to the
transport page if one is encountered (this means the user decided
not to config a source).
(incoming_type_changed): Modify to set all widgets insensitive if
the user selected the "None" source menu item (aka NULL provider).
(incoming_check): Modify to allow the user to go to the next page
when he/she has chosen "None" for their source type.
(mail_config_druid_get_source_url): Return NULL if the provider is
NULL.
(mail_config_druid_get_transport_url): Same.
svn path=/trunk/; revision=7561
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.684
diff -r1.684 ChangeLog
0a1,34
> 2001-01-17 Not Zed <NotZed@Ximian.com>
>
> * camel-folder.c (free_summary): Call
> camel_folder_summary_array_free() to do the work.
> (get_summary): Use camel_folder_summary_array() to get the array
> atomically. These fixes allow folder/test8 to work again, and fix
> a sort of race where the summary size can change while we were
> making a copy of it.
>
> * camel-folder-summary.c (camel_folder_summary_array): Get the
> summary array atomically, so it can't contain empty records.
> (camel_folder_summary_array_free): And free it.
>
> * tests/lib/camel-test.c (die): If we are verbose & in threads,
> then goto sleep so we can debug.
>
> * tests/folder/test8.c (worker): Add a missing pull() for
> comnparing content.
>
> * camel-filter-search.c: Fix the symbol table, so match-all is an
> immediate function, as it should be.
>
> * tests/folder/test9.c (main): New test, tests some filtering
> things.
>
> * tests/message/test3.c (main): Dont use a boundary string with
> spaces in it. Folding can corrupt it. Maybe the folding isn't
> working entirely right, but anyway.
>
> * camel-session.c: Debug out the debug.
>
> * camel-filter-driver.c (camel_filter_driver_filter_folder): Plug
> a messageinfo leak.
>
1a36,94
>
> * camel-filter-search.c (header_exists): Changed to support
> multiple args (or'd together).
> (header_contains): Cleaned up to match the search code. Why did
> fejj change it? I'll never know.
> (header_matches):
> (header_starts_with):
> (header_ends_with): Big cleanup of fejj's "i'm the cut & paste
> king" code. Also properly handle or'ing of additional args to
> match what the folder-search code should do.
> (check_match): New function which does the annoying matching
> stuff (for header matches).
> (check_header): Similarly, handles or'ing of the matches together.
> (header_contains):
> (header_matches):
> (header_starts_with):
> (header_ends_with): Call check_header to do the actual work.
> (header_soundex): And here too.
> (match_all): Yeah like match-all isn't passed expression results,
> its passed expression terms. Fix this so match-all works like it
> should, by executing the contained expression.
> (message_body_contains): Copied directly from
> camel-folder-search.c, a more robust/faster/simpler body search
> code.
> (mime_part_matches): Removed entirely.
> (handle_multipart): Removed entirely.
> (build_match_regex): Copied from camel-folder-search. Builds a
> set of simple strings into a regex pattern that matches any of
> them (for faster & simpler matching). Expanded to accept regex
> patterns itself, so it can merge them together.
> (body_contains): Use build match/match message to match using a
> built regex.
> (body_regex): Likewise, this time we tell it we're building a
> regex though.
> (header_full_regex): Use build_match_regex to take the drudgery
> out of it, and expand it to handle multiple regex's at once.
> (get_full_header): slightly cleaner (well i dunno, the sprintf
> stuff just got to me).
> (header_regex): Cleaned up to use build_match_Regex too, and to
> properly check types.
> (filter_message_search): Just allocate 'fms' on the stack.
>
> * camel-filter-driver.c (camel_filter_driver_finalise):
> (camel_filter_driver_init):
> (camel_filter_driver_class_init):
> (camel_filter_driver_get_type): Changed from gtk object to camel
> object.
> (camel_filter_driver_add_rule): New function to add a rule to be
> processed in sexp form.
> (camel_filter_driver_init): Init the rules list.
> (camel_filter_driver_finalise): Clear the rules/rules list.
> (camel_filter_driver_filter_message): Scan rules list directly
> rather than creating on the fly.
>
> * Makefile.am (libcamelinclude_HEADERS): Added camel-filter-driver.h
> (libcamel_la_SOURCES): Added camel-filter-driver.c, code taken
> from filter-driver, which can drive, uh, filters based on sexp's.
> (libcamelinclude_HEADERS):
> (libcamel_la_SOURCES): Added camel-filter-search.[ch]
svn path=/trunk/; revision=7560
* camel-types.h: typedef CamelMessageInfo and
CamelMessageContentInfo here
* camel-folder-summary.h: Add a "size" field to
CamelMessageContentInfo.
* camel-folder-summary.c (camel_folder_summary_content_info_new,
camel_folder_summary_content_info_free): Renamed and made
non-static for providers that construct their own content info.
(content_info_load, content_info_save): load/save size
* camel-data-wrapper.c (camel_data_wrapper_is_offline): New
function to return if a data wrapper's contents are "offline". (So
that, for example, we don't make thumbnails of images that haven't
been loaded off the IMAP server yet.) Defaults to FALSE.
* providers/imap/camel-imap-folder.c (camel_imap_folder_selected):
Fix a bug in re-selecting a folder when messages have been
expunged from it by another client in the meantime.
(imap_get_message): Rewrite. If the message is larger than a
certain size, just create a skeleton message containing
CamelImapWrappers that will read parts as needed. This way, large
attachments only need to be downloaded if the user looks at them,
and multipart/alternative alternatives that aren't used will never
be downloaded at all.
(imap_update_summary): Rewrite this a bunch too to make the
parsing more robust.
* providers/imap/camel-imap-summary.c
(CAMEL_IMAP_SUMMARY_VERSION): bump.
(camel_imap_summary_new): Set build_content to TRUE.
(content_info_load, content_info_save): Only save/load the content
for messages that have it. (The content info gets created as a
side effect of imap_get_message.)
* providers/imap/camel-imap-utils.c (imap_parse_body): New routine
(and helpers) to parse an IMAP 'body' FETCH response and fill in a
CamelMessageContentInfo from it.
* providers/imap/Makefile.am (libcamelimap_la_SOURCES,
libcamelimap_la_HEADERS): add camel-imap-wrapper.
svn path=/trunk/; revision=7557
* camel-tcp-stream-raw.c (stream_getsockopt, stream_setsockopt):
* camel-stream-fs.c (stream_read, stream_write):
* camel-remote-store.c (socket_connect): fcntl(fd, F_GETFL)
returns the flags as the return value, not via a passed in
pointer. And F_SETFL looks for an int, not a long, and you have to
pass it what it's expecting because it's a va_arg parameter. (Yes,
the man page lies on Linux. But check the UNIX98 spec or the glibc
source.) Also, fix another bug in socket_connect: if we manage to
connect right away, unset O_NONBLOCK so it doesn't mess us up
later.
Fixes a bunch of problems with non-blocking I/O being done in the
allegedly-blocking case and then returning EWOULDBLOCK.
svn path=/trunk/; revision=7555
2001-01-16 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (save_msg_ok): If the user hits "No", then
don't destroy the filesel window.
* mail-ops.c (save_messages_save): Open with mode 0666 as danw
suggests.
svn path=/trunk/; revision=7553
2001-01-16 Chris Toshok <toshok@ximian.com>
* providers/Makefile.am (NNTP_DIR): set to nntp if ENABLE_NNTP
(SUBDIRS): use $(NNTP_DIR)
svn path=/trunk/; revision=7552
2001-01-16 Chris Toshok <toshok@helixcode.com>
* component-factory.c (owner_set_cb): only load the news storage
if ENABLE_NNTP.
* mail-accounts.c (construct): if !ENABLE_NNTP, remove the news
page from the dialog.
svn path=/trunk/; revision=7550