2001-03-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-internet-address.c
(camel_internet_address_encode_address): Make sure there is a
space between the name and the address tokens.
svn path=/trunk/; revision=8551
2001-03-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (rfc2047_decode_word): encoded string
segments need to be at least 8 chars (7 doesn't leave room for an
ecoding value. To be more realistic, even 8 chars isn't enough as
this assumes there is no charset nor any encoded text. If the
encoding value is not 'Q' or 'B', then return NULL. This fixes bug
#1689.
svn path=/trunk/; revision=8550
2001-03-05 Damon Chaplin <damon@ximian.com>
* gui/e-tasks.c: keep list of all Tasks folders so we can update the
preference settings when necessary.
* gui/gnome-cal.c: configure the TaskPad according to the settings.
* gui/e-calendar-table.c: use ECellCombo and ECellDateEdit for fields,
so the tasks folders is almost usable now.
* gui/calendar-model.c: added support for the Status property.
* gui/calendar-config.[hc]: added convenience functions to setup
ECalendarTable and ECellDateEdit objects.
* gui/calendar-commands.c: connected to "destroy" signal of calendars
so we can remove them from all_calendars list.
* gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config):
call e_tasks_update_all_config_settings() to update all the settings
in the Tasks folders as well.
* cal-util/cal-component.h: added CAL_COMPONENT_FIELD_STATUS.
* cal-util/cal-component.c (cal_component_get_transparency): fixed
calls to strcasecmp so they check for '== 0'.
Applied patch from Miguel...
2001-02-27 Miguel de Icaza <miguel@ximian.com>
* gui/e-day-view.c (e_day_view_on_event_right_click): Reorganize
the menus to have entries always in a consistent fashion, as
reported to the genepool mailing list.
(e_day_view_on_event_right_click): Added a FIXME comment to the
FIXME comment without a FIXME.
Now we use e_popup_menu. This allows us to hide/show items on
demand, and to sensitize/de-sensitize items depending on their
state.
This will also let us add icon support (when we get nice icons for
this)
* gui/e-week-view.c (e_week_view_show_popup_menu): Ditto.
The files popup-menu.c and popup-menu.h can now be removed.
svn path=/trunk/; revision=8549
2001-03-04 Damon Chaplin <damon@ximian.com>
* e-time-utils.[hc]: new files to contain functions to parse and
format dates and times for various calendar widgets.
svn path=/trunk/; revision=8546
2001-03-04 Damon Chaplin <damon@ximian.com>
* e-cell-text.c: added "editable" Arg, to stop the user from editing
the text. The user can still select the text, though. The "editable"
Arg is useful for ECellCombo where we want the user to select an item
in the popup but not edit the field itself.
* e-cell-combo.c: updated to select the matcing item before it pops up
the list.
svn path=/trunk/; revision=8544
2001-03-04 Christopher James Lahey <clahey@ximian.com>
* addressbook/By_Company.galview: New view.
* addressbook/Makefile.am: Added By_Company.galview.
* addressbook/Phone_List.galview: Updated this a bit.
* addressbook/galview.xml: Added By Company and Address Cards (No
Address_Cards.galview is required for now.)
svn path=/trunk/; revision=8540
2001-03-04 Christopher James Lahey <clahey@ximian.com>
* addressbook/.cvsignore, addressbook/Makefile.am,
addressbook/Phone_List.galview, addressbook/galview.xml: Added a
built in view menu for addressbook.
svn path=/trunk/; revision=8539
2001-03-04 Christopher James Lahey <clahey@ximian.com>
* backend/ebook/e-card-simple.c: Cleaned up the formatting in this
file a bit.
* contact-editor/e-contact-editor.c (e_contact_editor_set_arg):
Made it so that passing in NULL to the writable_fields arg sets
the set of writable fields to the empty set.
* gui/component/select-names/e-select-names-text-model.c
(e_select_names_text_model_activate_obj): Pass NULL as the
writable_fields argument here.
* gui/widgets/e-addressbook-model.c: Don't offset by one here.
This way we will get the file_as field as one of our
ETableColumns.
* gui/widgets/e-addressbook-view.c (SPEC): Updated this for the
changes in ECardSimple.
* gui/widgets/e-minicard.c (remodel): Don't remodel if the item
isn't realized.
svn path=/trunk/; revision=8538
2001-03-04 Christopher James Lahey <clahey@ximian.com>
* mail/By_Sender.galview, mail/By_Subject.galview: Corrected these
views a bit.
* mail/By_Status.galview, mail/Messages.galview: New views for "By
Status" and "Messages".
* mail/Makefile.am, mail/galview.xml: Added By_Status.galview and
Messages.galview.
svn path=/trunk/; revision=8537
2001-03-02 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c: doh, track renaming of
objectclass from evolvePerson to evolutionPerson.
svn path=/trunk/; revision=8536
2001-03-02 Chris Toshok <toshok@ximian.com>
* backend/pas/evolutionperson.schema: rename evolveperson.schema
to this, and add remaining attributes.
* backend/pas/pas-backend-ldap.c: add remaining fields, and fix up
ones that were incorrent (either the ldap_attr or the query prop).
svn path=/trunk/; revision=8535
2001-03-03 Not Zed <NotZed@Ximian.com>
* mail-tools.c: Remove very old camel lock stuff.
* mail-local.c (register_folder_registered): Add the local folder
as a potential vfolder source.
* folder-browser.c (got_folder): When we have a new folder,
register it as a potential vfolder source.
* mail-vfolder.c: Added the source rule to the vfolder_info.
(vfolder_refresh): Store the rule in the vfolder info, etc.
(vfolder_register_source): Function to register a newly opened
folder with us.
(vfolder_uri_to_folder): Save the folder in the vfolder_info too.
(source_finalise): Handle clenaup when the folder dies.
svn path=/trunk/; revision=8534
2001-03-03 Not Zed <NotZed@Ximian.com>
* filter.glade: Added option menu to vfolder editor.
2001-03-02 Not Zed <NotZed@Ximian.com>
* vfolder-rule.c (get_widget): Setup the data on the base source
opiton menu, and make hte option menu reflect the source.
(select_source_with): Set the source type for this
rule. e.g. these folders, "with ..."
* filter-editor.c: Removed the N_() stuff from the source_names
array, they must not be internationalised!!!
svn path=/trunk/; revision=8533
2001-03-03 Not Zed <NotZed@Ximian.com>
* camel-vee-folder.c (vee_folder_remove_folder): New function to
remove a folder from a vfolder.
(camel_vee_folder_remove_folder): New public function to remove a
folder from a vfolder.
svn path=/trunk/; revision=8532
2001-03-02 Jeffrey Stedfast <fejj@ximian.com>
* e-icon-list.c (icon_new_from_pixbuf): Added a comment reminding
us that we should probably not force a particular font in the icon
caption.
svn path=/trunk/; revision=8531
2001-03-02 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (try_auth): Don't forget to
unref the SASL object.
* providers/smtp/camel-smtp-transport.c (query_auth_types):
Implemented.
(smtp_auth): Implemented.
(smtp_helo): Don't bother parsing the authtypes if we already have
them.
(smtp_connect): call smtp_auth() here if we found any authtypes.
(smtp_disconnect): Updated as I now use a hash table for the
supported authtypes rather than a linked list.
(esmtp_get_authtypes): modify to use a hash table instead of a
linked list and also use isspace() rather than == ' '.
svn path=/trunk/; revision=8525
* providers/sendmail/camel-sendmail-transport.c (sendmail_send_to,
sendmail_send): Use "-f" to set the envelope from address so
bounces go to the right place. Also, pass "-U" since the man page
says we're supposed to...
svn path=/trunk/; revision=8521
2001-03-02 Chris Toshok <toshok@ximian.com>
* configure.in: add logic to make sure we're building against OpenLDAP >= 2
svn path=/trunk/; revision=8519
2001-03-02 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (add_objectclass_mod): add
objectclasses for "person", "organizationalPerson", and "top" as
well, just to be complete.
(check_schema_support): rename check_for_evolve_person to this, to
reflect that we're doing more than just checking for that
objectClass.
(add_oc_attributes_to_supported_fields): new function.
(add_to_supported_fields): new function.
(pas_backend_ldap_destroy): unref supported_fields.
svn path=/trunk/; revision=8517
2001-03-02 Chris Toshok <toshok@ximian.com>
* gui/widgets/e-minicard-view.c (supported_fields_cb): new
function.
(e_minicard_view_event): split out the creation of the contact
editor to the supported_fields callback.
* gui/widgets/e-minicard.c (supported_fields_cb): new function.
(e_minicard_event): split out the creation of the contact editor
to the supported_fields callback.
* gui/widgets/e-addressbook-view.c (table_double_click): split
function into two functions, since e_book_get_supported_fields
requires a callback now.
(supported_fields_cb): new function.
* gui/component/addressbook.c (new_contact_cb): split this into
two functions, since e_book_get_supported_fields requires a
callback now.
(supported_fields_cb): new function.
* contact-editor/test-editor.c (main): track change to
e_contact_editor_new (pass NULL for the writable_fields arg.)
* contact-editor/contact-editor.glade: fix several labels so they
make better sense (since we look them up in e-contact-editor.c.)
* contact-editor/e-contact-editor.h (struct _EContactEditor): add
writable_fields. also, add it to e_contact_editor_new.
* contact-editor/e-contact-editor.c (e_contact_editor_class_init):
add writable_fields arg.
(e_contact_editor_destroy): unref the writable_fields list.
(e_contact_editor_new): pass @fields as the writable_fields arg.
(e_contact_editor_set_arg): add writable_fields support.
(enable_writable_fields): new (very hairy) function, to disable
everything and reenable just the fields listed in the
writable_fields list.
(_email_arrow_pressed): set label-email1, entry-email1, and
checkbutton-htmlmail to be sensitive since the only way to get
here is to activate a writable field in the menu.
(_address_arrow_pressed): set label-address, button-fulladdr, and
text-address to be sensitive for the same reason.
(_phone_arrow_pressed): sensitize the label and entry for the same
reason.
svn path=/trunk/; revision=8516
2001-03-02 Chris Toshok <toshok@ximian.com>
* backend/ebook/e-card-simple.c (field_data): add new entries for
phone enums, and fill in the ecard_field with (bogus in all but a
few cases) strings. these are the strings sent from wombat to
evolution-addressbook for supported_fields.
(e_card_simple_get_ecard_field): new function.
(e_card_simple_map_phone_to_field): new function.
(e_card_simple_map_email_to_field): new function.
(e_card_simple_map_address_to_field): new function.
* backend/ebook/e-card-simple.h: add a few phone entries to the
ECardSimpleField enum, and add prototypes for mapping the list
types (phone, email, address) to ECardSimpleField. Also, add
prototype for e_card_simple_get_ecard_field.
* backend/ebook/e-book.c
(e_book_do_response_get_supported_fields): don't build the EList
here, it's already built.
* backend/ebook/e-book-listener.h: change fields from the CORBA
sequence to the EList in our reponse struct.
* backend/ebook/e-book-listener.c
(e_book_listener_queue_get_supported_fields_response): we make the
EList here, since after we return the CORBA list is freed up.
svn path=/trunk/; revision=8515
2001-03-02 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-file.c
(pas_backend_file_process_get_supported_fields): implement
properly, we support everything.
svn path=/trunk/; revision=8514
2001-03-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-sasl.c: #include "camel-sasl-digest-md5.h"
(camel_sasl_authtype_list): add DIGEST-MD5 stuff here.
(camel_sasl_authtype): And here too.
(camel_sasl_new): And here...
* camel-sasl-digest-md5.[c,h]: new SASL class for DIGEST-MD5 (has
been tested and proven to work).
svn path=/trunk/; revision=8513
2001-03-01 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-bonobo.c
(entry_set_property_fn): Oops, we do need to be able to write to
"text" after all (for things like Reply-to: to work properly).
Fixed.
(impl_SelectNames_get_entry_for_section): Made "text" a writeable
property again.
* gui/component/select-names/e-select-names-text-model.c
(e_select_names_text_model_insert_length): Increment pos so that
we don't reverse strings when length > 1 (a particularly amusing
bug).
* gui/component/select-names/e-select-names-completion.c
(e_select_names_completion_destroy): Check for NULL before calling
gtk_object_unref (GTK_OBJECT (---)), to get rid of annoying error
messages.
svn path=/trunk/; revision=8512
2001-03-01 JP Rosevear <jpr@ximian.com>
* gnome-pilot.m4: quote a test and make sure incdir is always set
so 'cat' works
svn path=/trunk/; revision=8469
* e-path.c (e_path_to_physical): New function to turn foo/bar into
foo/subfolders/bar. The inverse function doesn't exist yet because
I didn't need it. Also, if the shell were going to use this, we'd
need a few more tools...
* Makefile.am (libeutil_la_SOURCES): Add e-path.[ch]
svn path=/trunk/; revision=8467
* providers/imap/camel-imap-store.c: Add an "authtypes" hash table
to CamelImapStore recording the supported authtypes.
(connect_to_server): Record supported authtypes in the authtypes
hash rather than the capabilities bitmask, since now the IMAP code
is no longer responsible for keeping track of which authtypes we
support.
(query_auth_types): Use camel_sasl_authtype_list to get the
SASL-supported authtypes.
(try_auth): New function to try a SASL auth mechanism. Sort of
formerly imap_try_kerberos_v4_auth.
(imap_connect): Get rid of the krb4-specific bits and genericize
them for any SASL authtype.
* providers/imap/Makefile.am: Remove camel-imap-auth.[ch] (moved
into camel-imap-store.c since it's now constant size) and the
KRB4_CFLAGS and KRB4_LDFLAGS references.
svn path=/trunk/; revision=8463
* camel-sasl.c (camel_sasl_challenge): Take a GByteArray as input
as well. Comment that you can pass %NULL for @token to get the
initial auth data for mechanisms that are client-initiated.
(camel_sasl_challenge_base64): Convenience function for protocols
that use base64-encoded SASL.
(camel_sasl_authenticated): Implement this... (it was prototyped
already)
(camel_sasl_new): Function to take a service name, a mechanism
name, and a CamelService, and return a CamelSasl for it.
(camel_sasl_authtype, camel_sasl_authtype_list): Functions to
return CamelServiceAuthType information about SASL mechanisms, to
allow providers to deal with them generically.
* camel-sasl-anonymous.c, camel-sasl-plain.c: Update/simplify for
CamelSasl changes. Both of these are single-round
(client-initiated) mechanisms, so they don't need to keep state.
(camel_sasl_plain_new): Removed; use camel_sasl_new instead.
(Can't get rid of camel_sasl_anonymous_new though...)
* camel-sasl-cram-md5.c: Update/simplify for CamelSasl changes.
(camel_sasl_cram_md5_new): Removed; use camel_sasl_new instead.
(cram_md5_challenge): Use md5_get_digest where possible, and
various other minor simplifications. CRAM-MD5 only has a single
round, so there's no need to keep track of state. This code is now
tested (against Cyrus IMAPd) and known to work.
* camel-sasl-kerberos4.h: Update/simplify for CamelSasl changes.
Make only a single #ifdef HAVE_KRB4. Remove stuff from priv that
isn't needed between rounds.
(camel_sasl_kerberos4_new): Removed; use camel_sasl_new instead
(krb4_challenge): Fix up the logic I broke in my previous "at
least make it compile" fixes, update to match other changes, and
remove IMAP-isms that shouldn't be in the generic code. This still
isn't tested, because we're stuck behind a NAT right now...
svn path=/trunk/; revision=8462
2001-03-01 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-table-model.c
(fill_in_info): Change for new EDestination/ESelectNamesModel API.
* gui/component/select-names/e-select-names-manager.c
(e_select_names_manager_get_source): Added. A function for
looking up the ESelectNamesModel by id. (I didn't end up using
this function, but it might come in handy later.)
(e_select_names_manager_get_cards): #if 0/#endif out this
function.
(e_select_names_manager_create_entry): Modified to attach an
ESelectNamesCompletion to the entry we create.
(completion_handler): A post-completion handler for our EEntry, to
take the completion's extra data (an EDestination) and properly
stick it into our ESelectNamesModel.
* gui/component/select-names/e-select-names.c
(real_add_address_cb): Changed to operate on EDestinations rather
than ECards and to use the new ESelectNamesModel API. This leads
to a rather nice code simplication.
(remove_address): Changed for new ESelectNamesModel API.
* gui/component/select-names/e-select-names-bonobo.c
(entry_get_property_fn): Rather than just passing the entry's text
through the property bag, get the "address text" from the model.
This returns a nice, verbose string of addresses with names
expanded when the address is tied to an ECard (i.e. "Jon
Trowbridge <trow@ximian.com>").
(impl_SelectNames_get_entry_for_section): Make the text property
read-only.
(entry_set_property_fn): ...and since it is read-only now, chop
out the setter code.
* gui/component/select-names/e-select-names-text-model.h:
* gui/component/select-names/e-select-names-text-model.c: Again,
this code has been (pretty much) totally rewritten to convert all
text operations into changes on the ESelectNamesModel. This lets
us give the associated EEntry some (IMHO) nice semantics regarding
whitespace, etc. Includes object activation, so destinations tied
to ECards are underlined and can be double-clicked to bring up a
contact editor.
* gui/component/select-names/e-select-names-model.h:
* gui/component/select-names/e-select-names-model.c: I've heavily
modified this object to both hide all implementation details
(which the old version exposed a bit too much for my peculiar
tastes) and to act as an EDestination container. The old code put
the text model operations here. I've moved them all to
ESelectNamesTextModel --- so the text model actions (insert,
delete, etc.) are all done through the API rather than operating on
ESelectNamesModel internals.
* gui/component/select-names/e-select-names-completion.c: Added. A
fairly complicated object derived from ECompletion that searches
our local addressbook in various and sundry ways.
* gui/component/select-names/e-select-names-completion.h:
* backend/ebook/e-destination.h:
* backend/ebook/e-destination.c: Added. This object encapsulates
a place to sent an email to, which can either be just a address as
a string ("trow@ximian.com"), a fancier string ("Jon Trowbridge
<trow@ximian.com>"), or an ECard and a specific address within
that ECard.
svn path=/trunk/; revision=8459
2001-03-01 Jon Trowbridge <trow@ximian.com>
* configure.in: Boost version number to 0.5.99.3.
* gal/e-text/e-entry.c (e_entry_show_popup): Grab pointer when the
popup is visible, and then hide the popup if any button press
events occur outside of the popup. This lets up avoid most of the
worst "floating popup" cases that would occur if windows are
moved, desktops changed, etc. with the mouse. (Doing things like
changing desktop w/ keybindings can still cause a "floating
popup", but that is also true of Gtk's own combo box.) Change
popup positioning to slightly offset it from the entry, rather
than just plopping it down directly below.
(button_press_cb): Determine if a button press occured outside of
the popup when the pointer was grabbed, and unbrowse accordingly.
* gal/e-text/e-completion-view.c
(e_completion_view_key_press_handler): Improve keystroke handling.
Allow Tabs to pass through (after hiding the pop-up) in order to
allow focus change requests to work properly.
(e_completion_view_construct): Disable horizontal scrollbars.
* gal/e-text/e-completion-test.c (main): Reworked to use signals
instead of explicit callbacks.
* gal/e-text/e-completion.h:
* gal/e-text/e-completion.c: Fix the awkward mix of signals and
explicitly-specified callbacks by taking out the explicit
callbacks. This approach is more gtk-ish, after all.
svn path=/trunk/; revision=8458