aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog6553
1 files changed, 6553 insertions, 0 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index e69de29bb2..d1ab504abc 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -0,0 +1,6553 @@
+2004-09-03 JP Rosevear <jpr@novell.com>
+
+ Fixes #63191
+
+ * gui/contact-list-editor/contact-list-editor.glade: set the title
+ properly
+
+2004-09-08 Not Zed <NotZed@Ximian.com>
+
+ ** See bug #64080.
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD):
+ link addressbook to camel.
+
+2004-09-04 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/widgets/e-addressbook-view.h : add
+ new widget variable contact_dsiplay_window to _EABView strcut
+ to store. Remove unused scrolled varible
+ * gui/widgets/e-addressbook-view.c (eab_view_init)
+ (eab_view_dispose) : initialize and unref the new widget
+ added
+ (eab_view_new) : remove the loca variable scrlled_window
+ instead use eav->contact_display_window
+ (eab_view_show_contact_preview) : show/hide contact_display_window
+ instead of contact_display
+ Fixes #64024
+
+
+2004-08-27 Not Zed <NotZed@Ximian.com>
+
+ ** See bug #62856 (workaround).
+
+ * gui/component/addressbook.c (addressbook_authenticate): add
+ online flag to password request.
+
+ ** See bug #64011.
+
+ * gui/component/addressbook-view.c (edit_addressbook_cb): Remove
+ double ;; in declaration section (c99 extension). From Vincent
+ Noel <vnoel@cox.net>.
+
+2004-08-26 Hans Petter Jansson <hpj@ximian.com>
+
+ Really fixes #61833 and #63697.
+
+ * gui/component/select-names/e-select-names.etspec: Fetch values from
+ column 86 (NAME_OR_ORG), instead of 2 (FILE_AS).
+
+2004-08-26 Chris Toshok <toshok@ximian.com>
+
+ [ patch for the rest of 60889 ]
+ * gui/merging/eab-contact-merging.c (add_lookup): new function,
+ either start up the query or add it to the queue if we're over the
+ number of simultaneous queries.
+ (finished_lookup): start up enough pending queries to get us to
+ our limit again.
+ (free_lookup): free lookup->avoid.
+ (final_id_cb): call finished_lookup.
+ (eab_merging_book_add_contact): set lookup->avoid to NULL and
+ replace call to eab_contact_locate_match_full with add_lookup.
+ (eab_merging_book_commit_contact): set lookup->avoid to the
+ contact, and make the same
+ s/eab_contact_locate_match_full/add_lookup/ replacement.
+
+2004-08-26 Christian Neumair <chris@gnome-de.org>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in:
+ Don't mark component menu accel for translation.
+
+2004-08-25 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook-config.c (source_to_dialog) :
+ disbale the display name widget in case of groupwise as we can not handle renames as
+ of now
+ (dialog_to_source) also copy "use_ssl" property to new source so that
+ new books also use ssl
+
+2004-08-25 Hans Petter Jansson <hpj@ximian.com>
+
+ May fix #61833.
+
+ * gui/component/select-names/e-select-names-table-model.c
+ (fill_in_info): Get E_CONTACT_NAME_OR_ORG (first found from File As,
+ Full Name, Organization, Email 1) for the "name" field. Hopefully
+ will prevent most cases of blank entries.
+
+2004-08-25 Frederic Crozat <fcrozat@mandrakesoft.com>
+
+ * gui/component/addressbook-view.c: (delete_addressbook_cb):
+ Don't call gtk_dialog_set_has_separator on Gtk Message Dialog
+ with GTK+ >= 2.4.0.
+
+2004-08-20 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/component-factory.c (factory): remove the dead
+ ldap config control stuff.
+
+2004-08-20 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes bug #62715.
+
+ * gui/contact-editor/e-contact-editor.c
+ (fill_in_address_label_textview): Implement.
+ (fill_in_address_field): If structured address information is not
+ available, try putting the "label" blob in the free-form field.
+
+2004-08-19 Hans Petter Jansson <hpj@ximian.com>
+
+ Makes the contact image selector use GtkFileChooser if available.
+
+ * gui/contact-editor/e-contact-editor.c (image_selected_cb): Take just
+ the editor as an argument, so we can call from other places without
+ having to supply dummy args. Rename to image_selected, since it's no
+ longer strictly a callback. Include optional code to use the new
+ GtkFileChooser.
+ (image_cleared_cb): Ditto. Rename to image_cleared.
+ (file_chooser_response): Optional response handling for GtkFileChooser.
+ (image_clicked): Include optional code to use the new GtkFileChooser.
+ Move common strings to variables. For GtkFileSelection, swap callback
+ parameters for the modified image_selected () and image_cleared ().
+
+2004-08-19 Chris Toshok <toshok@ximian.com>
+
+ [ likely fixes #61500 ]
+ * addressbook-errors.xml (remove-addressbook): remove the
+ secondary text, since we don't have the gerror text to supply it
+ anymore.
+
+ * gui/component/addressbook-view.c (book_removed): new function,
+ move the error handling here.
+ (delete_addressbook_cb): create a closure with necessary data, and
+ call the e_book_async_remove instead of e_book_remove.
+
+2004-08-18 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/select-names/e-select-names.c (e_select_names_init) :
+ select names dialog can not be modal as password dialogs can come up while
+ user is in this dialog for address books which require authentication
+ like groupwise and LDAP
+ FIxes #63257
+
+2004-08-11 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (app_delete_event_cb):
+ Remove the custom prompt-to-save dialogs from here - use
+ eab_prompt_save_dialog (), and then only if the contact actually
+ changed.
+
+2004-08-16 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-gui-util.c (eab_show_multiple_contacts):
+ reinstate the ngettext patch that was part of the #53464 commit of
+ 2004-03-24 by dsegan@gmx.net.
+
+2004-08-12 Carlos Garnacho Parro <carlosg@gnome.org>
+
+ * gui/widgets/eab-gui-util.c: Optionally use GtkFileChooser if
+ compiled against Gtk+ >= 2.4.0
+
+2004-08-10 Not Zed <NotZed@Ximian.com>
+
+ * gui/component/addressbook.c (addressbook_authenticate): e
+ passwords api change/reprompt if we need to.
+
+2004-08-12 Sivaiah nallagatla <snallagatla@novell.com>
+
+ * gui/compoent/addressbook.c : just revering a local change
+ gone in in the commit i just made
+
+2004-08-12 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addresbook.c (load_source_auth_cb) :
+ when user cancels auth dialog send the anonoymous query
+ only in case of ldap
+ *gui/component/addresbook-view.c (book_open_cb) : no need to
+ display the error dialog when user cancels that
+
+2004-08-04 Rodney Dawes <dobey@novell.com>
+
+ * gui/widgets/eab-popup-control.c: #include <gtk/gtkvbox.h>
+
+2004-08-02 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #60529.
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (table_drag_drop_cb): Make sure to get the text/x-vcard target.
+
+2004-08-02 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #62085.
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (e_contact_list_editor_class_init): Set the save_contact method.
+ (e_contact_list_editor_save_contact): Implement.
+
+2004-08-02 JP Rosevear <jpr@novell.com>
+
+ * conduit/address-conduit.c (addrconduit_load_configuration): get
+ source uid
+ (addrconduit_dupe_configuration): copy source_uid
+ (addrconduit_destroy_configuration): free source_uid
+ (e_addr_context_new): get the source list
+ (e_addr_context_destroy): unref the source list
+ (pre_sync): open the source that was set earlier
+ (fill_widgets): set the source option menu value
+ (create_settings_window): pass source list to pilot settings
+ (save_settings): save source uid
+
+ * conduit/Makefile.am: link to and include misc. widgets
+
+2004-08-02 Rodney Dawes <dobey@novell.com>
+
+ * gui/component/ldap-config.glade: Make the main dialog here be
+ an actual GtkDialog instead of a GtkWindow
+ Fix up a few small spacing issues with the UI
+ Change "Contacts Group" to "Address Book"
+
+ * gui/component/addressbook-config.c (query_for_supported_bases):
+ Use gtk_widget_ensure_style instead of gtk_widget_realize
+ (addressbook_add_server_dialog):
+ Use gtk_widget_ensure_style on the dialog and fix the spacing and
+ border width of the dialog containers
+
+ Fixes #61365
+
+2004-07-30 Chris Toshok <toshok@ximian.com>
+
+ [ fixes #61365 and other misc issues with the addressbook source
+ editors ]
+
+ * gui/component/ldap-config.glade: change the
+ supported-bases-dialog to be initially hidden.
+
+ * gui/component/addressbook-view.c (editor_weak_notify): new
+ function, remove the editor from our hash.
+ (source_list_changed_cb): destroy the editors for given sources if
+ they're up when the source disappears.
+ (edit_addressbook_cb): add the editor (and some other misc info we
+ need) to our uid_to_editor hash so we can look it up later. only
+ create the editor if one doesn't exist for the given source.
+ (destroy_editor): GHFunc that destroys the widgets.
+ (addressbook_view_dispose): destroy uid_to_editor.
+ (addressbook_view_init): init uid_to_editor.
+
+ * gui/component/addressbook-config.h: change return values for
+ _edit_source and _new_source - they both return GtkWidget*s now.
+
+ * gui/component/addressbook-config.c (addressbook_ldap_init):
+ attempt set the protocol version to LDAPv3. This makes the
+ ldap_auth stuff work if the server requires v3.
+ (addressbook_root_dse_query): we don't need the separate window
+ arg, since all of this now happens *before* the supported bases
+ dialog is shown. we just use the source dialog's window for the
+ various error dialogs.
+ (do_ldap_root_dse_query): same.
+ (query_for_supported_bases): same, and set the supported bases
+ dialog as transient-for the source dialog, and make it modal.
+ Lastly, don't make the editor modal.
+ (addressbook_config_edit_source): return the editor's window.
+ (addressbook_config_create_new_source): same.
+
+2004-07-26 JP Rosevear <jpr@novell.com>
+
+ * gui/component/ldap-config.glade: change contacts group to
+ address book
+
+ * gui/component/addressbook-component.c
+ (impl__get_userCreatableItems): ditto
+
+2004-07-19 Radek Doulik <rodo@ximian.com>
+
+ * gui/widgets/eab-vcard-control.c (eab_vcard_control_new): but
+ buttons to button box, use vbox instead of table
+
+ * gui/widgets/eab-contact-display.c: base this widget directly on
+ gtkhtml
+
+ * gui/widgets/e-addressbook-view.c (eab_view_new): put contact
+ display in scrolled window
+
+2004-07-20 Not Zed <NotZed@Ximian.com>
+
+ * gui/widgets/eab-contact-display.c:
+ * gui/contact-editor/eab-editor.c:
+ * gui/component/addressbook-migrate.c: include config.h #61395.
+
+2004-07-21 Chris Toshok <toshok@ximian.com>
+
+ [ fixes #60508 ]
+
+ * gui/component/addressbook-config.h: reorder the Scopes so that
+ they match the option menu.
+
+ * gui/component/ldap-config.glade: change the scope option menu to
+ only display One and Sub, and also set the Login field to Lo_gin
+ in both dialogs. Add accelerators for the details page as well.
+
+2004-07-21 Rodney Dawes <dobey@novell.com>
+
+ * gui/contact-editor/contact-editor.glade:
+ Give a reasonable name to the widget for the _Where label
+
+ * gui/contact-editor/e-contact-editor.c (e_contact_editor_init):
+ Set the mnemonic widget for the _Where label
+
+ Fixes #61544
+
+2004-07-20 JP Rosevear <jpr@novell.com>
+
+ * gui/component/autocompletion-config.c
+ (autocompletion_config_control_new): don't set the toggle
+ selection
+
+2004-07-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (contact_added_cb)
+ (save_contact)
+ (app_delete_event_cb): Check source book writeability directly instead
+ of relying on stored state.
+ (e_contact_editor_init): Don't init source_editable.
+ (e_contact_editor_dispose): We don't listen for source writeability
+ anymore.
+ (writable_changed): Source writeability doesn't affect widget
+ status; remove code to check for it.
+ (e_contact_editor_set_property): Do nothing if book being set is
+ the same as currently set book; previously we would end up
+ unreffing then reffing it. Don't watch for source writeability, but
+ do so for target; fixes a warning. Only call sensitize_all() if
+ writeability on target changed.
+
+ * gui/contact-editor/e-contact-editor.h (EContactEditor): We don't
+ need the source_editable and source_editable_id vars anymore.
+
+2004-07-14 Chris Toshok <toshok@ximian.com>
+
+ [ fixes #60873, and possibly other crashes ]
+
+ * gui/widgets/e-addressbook-model.c (get_view): don't call
+ free_data before potentially making an async call. Or rather,
+ don't call free_data without ensure we'll be emitting
+ MODEL_CHANGED shortly after.
+
+2004-07-14 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-list-editor/.cvsignore: ignore
+ Evolution-Addressbook-SelectNames.h.
+
+ * gui/contact-list-editor/e-contact-list-editor.c: include our
+ local (in this directory) generated
+ Evolution-Addressbook-SelectNames.h
+
+ * gui/contact-list-editor/Makefile.am: add stuff to generate (and
+ clean up) the select names header we need to include.
+
+2004-07-13 Rodney Dawes <dobey@novell.com>
+
+ [ fixes #56657 ]
+
+ * gui/component/addressbook-migrate.c (get_source_by_uri):
+ Replace this call with get_source_by_name ()
+ (migrate_completion_folders): Fix the non-local folder migration
+ to look up sources for the migrated folders based on name, instead
+ of using the URI
+
+2004-07-12 Chris Toshok <toshok@ximian.com>
+
+ [ fixes #61299 ]
+
+ * gui/component/addressbook.c (addressbook_load_default_book):
+ don't pass @closure to load_source_cb, since that expects to get a
+ LoadSourceData*. also, don't always call e_book_async_open. only
+ do that when the book is non-NULL.
+
+2004-07-12 Chris Toshok <toshok@ximian.com>
+
+ [ part of fix for bug #56520 ]
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (e_contact_list_editor_init): init allows_contact_lists to TRUE.
+ (list_deleted_cb): nuke, it's unused.
+ (e_contact_list_editor_set_property): check if the book supports
+ contact lists, and desensitize things if it doesn't.
+ (select_names_ok_cb): this isn't valid C. declarations must come
+ before code.
+ (set_editable): the editable state of the dialog depends on
+ whether or not the backend supports contact lists.
+ (command_state_changed): the ok button needs to depend on
+ allows_contact_lists.
+ (extract_info): quiet compiler warning.
+
+ * gui/contact-list-editor/e-contact-list-editor.h (struct
+ _EContactListEditor): add allow_contact_lists.
+
+2004-07-08 Frederic Crozat <fcrozat@mandrakesoft.com>
+
+ * gui/component/Makefile.am:
+ tarball should ship .schemas.in.in files, not generated files.
+
+ * gui/component/apps_evolution_addressbook.schemas.in.in:
+ Don't set empty default value on an int, this causes gconf warning.
+ (bug #60859)
+
+2004-07-02 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (command_state_changed): Set the source option menu sensitivity here.
+
+2004-06-30 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c
+ (e_contact_editor_dispose): disconnect source/target_editable
+ signal ids.
+ (e_contact_editor_set_property): disconnect/connect editable
+ signals.
+ (writable_changed): new function - we need this since writable
+ status is generally communicated asynchronously with the async
+ interface.
+
+ * gui/contact-editor/e-contact-editor.h (struct _EContactEditor):
+ add source/target_editable_id slots.
+
+2004-06-29 Rodney Dawes <dobey@novell.com>
+
+ * tools/Makefile.am (bin_PROGRAMS): Change to privlibexec_PROGRAMS
+
+ Fixes #60832
+
+2004-06-28 Not Zed <NotZed@Ximian.com>
+
+ * gui/component/addressbook-component.c
+ (impl__get_userCreatableItems): fix shortcuts. #56746
+
+2004-06-25 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/meging/eab-contact-compare.[ch] (eab_contact_compare_file_as):
+ Implement.
+ (eab_contact_compare_name): Don't leak if only one of the strings is
+ NULL.
+ (use_common_book_cb): Include file_as in query.
+
+2004-06-25 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (fill_in_address_textview): Add
+ a newline between street line and rest of extended address.
+ (extract_address_textview): Omit the newline trailing the street line.
+
+2004-06-24 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (address_labels): Add table.
+ (append_to_address_label): Implement.
+ (set_address_label): Implement.
+ (extract_address_record): Set the address label fields.
+
+2004-06-24 Hans Petter Jansson <hpj@ximian.com>
+
+ * util/eab-book-util.c (eab_contact_list_from_string): Don't accept
+ input that doesn't have at least a "BEGIN:VCARD" in it.
+
+2004-06-24 Radek Doulik <rodo@ximian.com>
+
+ * gui/component/select-names/e-select-names-model.c
+ (e_select_names_model_get_textification): do not limit the text
+ len to 2047 characters
+
+ See bug #60366
+
+2004-06-23 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Set window to be invisible
+ initially.
+
+ * gui/contact-editor/e-contact-editor.c (e_contact_editor_init): Set
+ the type hint to "normal", and show the window after init.
+
+2004-06-23 Not Zed <NotZed@Ximian.com>
+
+ * gui/widgets/eab-gui-util.c
+ (eab_send_contact_list_as_attachment): use memcpy not strcpy to
+ copy to memory buffer. Fixes a UMW. See #60532.
+
+2004-06-23 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-view.c: Add an x-source-vcard target entry
+ that includes the source book URI.
+ (destroy_merge_context): Implement.
+ (removed_contact_cb): Implement.
+ (merged_contact_cb): Implement.
+ (selector_tree_drag_data_received): Get the source and target books,
+ and see if we need to remove contacts from source after they're added
+ to target. Copy contacts sequentially, not in parallel, with a
+ callback.
+
+ * gui/widgets/e-addressbook-view.c: Add an x-source-vcard target entry
+ that includes the source book URI.
+ (table_drag_data_delete): Remove. This is handled by the drag target.
+ (table_drag_data_get): Handle more than one contact. Supply source.
+ (create_table_view): Don't connect to the delete signal.
+
+ * gui/widgets/e-minicard-view.c: Add an x-source-vcard target entry
+ that includes the source book URI.
+ (e_minicard_view_drag_data_delete): Remove. This is handled by the
+ drag target.
+ (e_minicard_view_drag_data_get): Handle x-source-vcard target.
+ (e_minicard_view_drag_begin): Don't connect to the delete signal.
+ (e_minicard_view_dispose): Don't disconnect from the delete signal.
+ (e_minicard_view_init): Don't init delete_id.
+
+ * gui/widgets/e-minicard-view.h: Remove delete_id from struct.
+
+ * util/eab-book-util.[ch] (eab_contact_list_from_string): Skip the
+ source URI if present.
+ (eab_book_and_contact_list_from_string): Create the source book from
+ the provided URI, if present.
+ (eab_book_and_contact_list_to_string): Include the book URI in
+ generated string.
+
+2004-06-23 Rodney Dawes <dobey@novell.com>
+
+ * gui/component/select-names/select-names.glade:
+ Move the search bar to the top and add a label _Search so that the
+ entry has a mnemonic for keyboard accessibility
+
+ Fixes #52914 and #58448
+
+2004-06-22 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Name the labels.
+
+ * gui/contact-editor/e-contact-editor.c (sensitize_email_record)
+ (sensitize_phone_record)
+ (sensitize_im_record)
+ (sensitize_address_textview)
+ (sensitize_address_field)
+ (simple_field_map)
+ (sensitize_simple_field): Make entries uneditable and labels
+ insensitive, if field is disabled or read-only.
+
+2004-06-22 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #59622.
+
+ * gui/widgets/e-minicard-view.c (e_minicard_view_init): Clear drag_list
+ and canvas_drag_data_delete_id.
+ (e_minicard_view_dispose): Clear drag_list. Disconnect drag_data_delete
+ signal if connected.
+ (e_minicard_view_drag_begin): Set up drag_data_delete signal if
+ necessary. Clear old data before drag starts.
+ (clear_drag_data): Implement.
+ (e_minicard_view_drag_data_delete): Implement.
+ (e_minicard_view_drag_data_get): Don't clear drag_list here.
+
+2004-06-22 Chris Toshok <toshok@ximian.com>
+
+ [ should fix #60495, #58635 ]
+ * gui/widgets/eab-popup-control.c (name_only_query_cb): don't free
+ the list of contacts - libebook still owns it.
+ (query_cb): same.
+
+2004-06-22 Larry Ewing <lewing@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.c (add_email_cb):
+ don't set the changed flag unless we actually add something.
+
+2004-06-21 Federico Mena Quintero <federico@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Make the scrolled
+ windows around text views use GTK_SHADOW_IN, for consistency with
+ the GtkEntries.
+
+2004-06-21 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/ldap-config.glade: remove the auth-entry-notebook
+ in the edit dialog, and rename the auth entry to... auth-entry.
+
+ * gui/component/addressbook-config.c (source_to_dialog_new): nuke
+ - it's identical to source_to_dialog.
+ (dialog_to_source): we only have one auth entry now. fill it in
+ properly.
+ (source_to_dialog): fill in the auth entry properly based on the
+ auth type, and remove auth_entry_notebook references.
+ (auth_optionmenu_activated): remove auth_entry_notebook
+ references.
+ (setup_general_tab): same, and use auth-entry instead of
+ email-entry/dn-entry.
+ (general_tab_check): use auth_principle instead of email/binddn.
+ (add_folder_modify): same.
+ (addressbook_add_server_dialog): put setup_connecting_tab inside
+ the ifdef HAVE_LDAP, and call source_to_dialog instead of
+ source_to_dialog_new.
+ (addressbook_config_edit_source): always call setup_general_tab.
+
+ * gui/component/addressbook-config.h (AddressbookLDAPScopeType):
+ reorder to match order in option menu (we should really remove
+ BASE altogether.. it's useless for searching.)
+
+ * gui/component/addressbook-view.c (update_command_state):
+ macroize this, annoying seeing the same 4 lines repeated 15 times.
+
+2004-06-21 Jeffrey Stedfast <fejj@novell.com>
+
+ * conduit/address-conduit.c (local_record_from_uid): Make sure the
+ UIDs match. Should fix bug #59725.
+
+2004-06-19 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook-config.c (dialog_to_source) :
+ set auth-domain property on groupwise sources, so that
+ newly created contact groups can share remembered passwords
+
+2004-06-18 Jeffrey Stedfast <fejj@novell.com>
+
+ * conduit/address-conduit.c (ecard_from_remote_record): Always set
+ the File_As attribute in case the pilot attrib changed. Fixes bug
+ #59723.
+
+2004-06-18 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/select-names/e-select-names-model.c
+ (e_select_names_model_load_contacts): only go through the process
+ of creating/loading the EBook if the model has some data in it.
+
+2004-06-18 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #59376 ]
+
+ * gui/component/addressbook-view.c (fill_popup_menu_callback):
+ make this work with absolute uris in sources. Thanks to Sushma
+ Rai for the initial patch to fix this.
+
+2004-06-17 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #58696 ]
+
+ * gui/widgets/eab-gui-util.c (eab_transfer_contacts): use
+ addressbook_load instead of e_book_async_open, so we do auth stuff
+ for the destination book.
+
+2004-06-17 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (e_contact_editor_new):
+ EBookFieldsCallback -> EBookEListCallback.
+ (e_contact_editor_set_property): same.
+
+2004-06-17 Chris Toshok <toshok@ximian.com>
+
+ * util/eab-book-util.c (eab_name_and_email_query):
+ EBookContactsCallback -> EBookListCallback.
+ (eab_nickname_query): same.
+
+ * printing/e-contact-print.c: e-book-async.h -> e-book.h
+
+ * gui/widgets/eab-vcard-control.c: e-book-async.h -> e-book.h.
+
+ * gui/widgets/e-addressbook-model.h: e-book-async.h -> e-book.h.
+
+ * gui/widgets/eab-popup-control.h: e-book-async.h -> e-book.h.
+
+ * gui/widgets/eab-popup-control.c: remove e-book-async.h include.
+
+ * gui/merging/eab-contact-merging.h: e-book-async.h -> e-book.h.
+
+ * gui/contact-editor/e-contact-editor.h: e-book-async.h ->
+ e-book.h.
+
+ * gui/contact-editor/e-contact-editor.h: same.
+
+ * gui/contact-list-editor/e-contact-list-editor.h: same.
+
+ * gui/contact-list-editor/e-contact-list-model.h: remove include
+ of e-book-async.h
+
+ * gui/component/select-names/e-select-names-completion.h: include
+ e-book.h, not e-book-async.h
+
+ * gui/component/select-names/e-select-names-model.c: same.
+
+ * gui/component/select-names/e-select-names.c: same.
+
+ * gui/component/addressbook-migrate.c: include e-book.h, not
+ e-book-async.h
+
+ * gui/component/addressbook-view.c: same.
+
+ * gui/component/addressbook.h: same.
+
+ * gui/component/addressbook.c: remove include e-book-async.h.
+
+2004-06-17 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/widgets/e-addressbook-view.etspec : update
+ the model column numbers as new fields like E_CONTACT_EMAIL_4
+ are added to EContact
+ Fixes #59621
+
+2004-06-16 Not Zed <NotZed@Ximian.com>
+
+ * gui/component/autocompletion-config.c
+ (autocompletion_config_control_new): set the source selector to be
+ able to toggle the current selection. Fix for #55614.
+
+2004-06-16 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/contact-editor/e-contact-editor.c (full_name_clicked) :
+ compare old and new full names and if it is different set the new
+ the name using gtk_entry_set_text instead of set_entry_text
+ as this function blocks siganls hence preventing ok button being
+ enabled
+
+2004-06-14 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (extract_im_record): set
+ things to HOME, since we don't offer TYPE=OTHER IM attributes
+ through the EContact api, and one choice is just as good as
+ another if we aren't displaying it anyway.
+
+ * gui/widgets/eab-contact-display.c (render_contact): move the IM
+ stuff out of home/work, since we don't allow people to edit
+ location for them anymore. Also, change the IM accounts we look
+ up to "HOME", since that's what we hardcode them to in the contact
+ editor.
+
+2004-06-14 Not Zed <NotZed@Ximian.com>
+
+ * importers/evolution-ldif-importer.c (parseLine): handle LIST
+ field types.
+ (ldif_fields[]): Add a list type. E_CONTACT_EMAIL is a list field
+ type. See #58855.
+
+2004-06-08 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-model.c (get_view_idle): new
+ function. do the get_view in an idle handler.
+ (eab_model_set_property): don't call get_view directly from any
+ setter block. instead just add the idle handler (if it's not
+ already added.) This keeps us from duplicating queries when both
+ "book" and "query" are set using the same g_object_set.
+
+ * gui/widgets/e-addressbook-model.h: add book_view_idle_id.
+
+2004-06-07 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #58921.
+
+ * gui/contact-editor/e-contact-editor.c (extract_address_record):
+ Also check if the po box field is non-empty.
+
+2004-06-07 Jon Oberheide <jon@focalhost.com>
+
+ * gui/contact-list-editor/e-contact-list-model.c: disable editing
+ of cells in the contact table.
+
+2004-06-07 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #57795.
+
+ * gui/component/addressbook-migrate.c (migrate_contacts): Change
+ the "POSTAL" address in 1.4 to "OTHER" in 1.5.
+
+2004-06-07 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/Makefile.am (SUBDIRS): Fix order of dependencies.
+
+2004-06-07 H P Nadig <hpnadig@pacific.net.in>
+
+ * gui/contact-list-editor/e-contact-list-editor.h: Added few
+ headers needed for select names dialog.
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (e_contact_list_editor_init): Added select button handler.
+ (select_cb): The callback function for Select Button.
+ (setup_corba): To setup corba for select names dialog.
+ (select_names_ok_cb): Handle Select names dialog entries.
+ (add_to_model): Adds cards to the model.
+
+ * gui/contact-list-editor/contact-list-editor.glade: New 'Select'
+ Button. Tooltips added for buttons in button Box.
+
+2004-06-07 Dan Winship <danw@novell.com>
+
+ * gui/component/addressbook-view.c: s/stock_save_as/stock_save-as/
+
+2004-06-04 Larry Ewing <lewing@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.c: remove bonobo
+ menus and cruft add ok/cancel buttons.
+
+ * gui/contact-list-editor/e-contact-list-editor.h: add buttons for
+ ok/cancel.
+
+ * gui/contact-list-editor/contact-list-editor.glade: add fields for
+ ok/cancel reparent to GtkDialog, other minor adjustments.
+
+2004-06-04 JP Rosevear <jpr@novell.com>
+
+ Fixes #55945
+
+ * importers/*.server.in.in: ditto
+
+ * importers/evolution-ldif-importer.c: fix OAFIIDs
+
+ * importers/evolution-vcard-importer.c: ditto
+
+2004-06-04 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/select-names/e-select-names-model.c
+ (name_and_email_simple_query_cb): only resolve destinations
+ against persons, not contact lists.
+
+2004-06-03 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #53643 and #26903.
+
+ * gui/search/addresstypes.xml: category -> category_list
+
+ * gui/search/e-addressbook-search-dialog.c (get_widget): Get
+ filter rule from parent view.
+ (eab_search_dialog_set_property): Implement.
+ (eab_search_dialog_get_property): Impleent.
+ (eab_search_dialog_class_init): Set up property methods.
+ (get_query): Get filter rule from parent view.
+ (eab_search_dialog_init): Don't get the filter widget here,
+ wait until parent view property is set.
+ (eab_search_dialog_new): Don't poke the parent view in, set it
+ as a property instead.
+ (eab_search_dialog_dispose): No longer needs to unref rule.
+
+ * gui/search/e-addressbook-search-dialog.c: EABSearchDialog no
+ longer needs to keep rule internally.
+
+ * gui/widgets/Makefile.am: Set SEARCH_RULE_DIR define.
+
+ * gui/widgets/e-addressbook-view.c (eab_view_new): Set up filter
+ rule and context.
+ (eab_view_peek_search_context): Implement.
+ (eab_view_peek_search_rule): Implement.
+
+ * gui/widgets/e-addressbook-view.h: Keep track of filter rule
+ and context. Add protos for added API.
+
+2004-06-03 Jeffrey Stedfast <fejj@novell.com>
+
+ * conduit/address-conduit.c (set_status_cleared): Protect against
+ a NULL uid. Fixes bug #57619.
+ (ecard_from_remote_record): Set the full_name of the contact so
+ that we can use that as the FILE_AS rather than the company name,
+ which sucked. Fixes a bug I may or may not have reported months
+ ago. Ahah, fixes bug #57620.
+
+2004-06-02 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-migrate.c
+ (migrate_contact_folder_to_source): Add missing negation that caused
+ a crash.
+
+2004-06-02 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (addressbook_migrate):
+ remove hidden field migration, and add in a phase to clear the
+ absolute_uri properties on ESources.
+
+2004-06-02 Rodney Dawes <dobey@novell.com>
+
+ * gui/component/addressbook-config.c (focus_help, add_focus_handler):
+ Don't need these two functions any more
+ (source_to_dialog, auth_optionmenu_func):
+ Don't try to change the notebook page or set the widget sensitive,
+ for a notebook that doesn't exist any more
+ (reparent_to_vbox): Don't need this function any more, as the
+ widgets are all contained in the same dialog in the glade now
+ (setup_general_tab, setup_connecting_tab, setup_searching_tab):
+ We don't need to do the focus-based "tooltip" stuff any more
+ We just use tooltips on the widgets now
+ (ssl_optionmenu_selected, add_ssl_activate_cb):
+ We don't need the ssl_optionmenu_selected callback any more, as the
+ tooltips are just set on the necessary widgets now
+ (query_for_supported_bases): Set the border widths on the dialog's
+ vbox and action_area to be compliant with the HIG
+ (addressbook_add_server_dialog): Unref the GConfClient object
+ (addressbook_config_edit_source): Create the source_list so that
+ we can actually save the changes that we make here
+ Create the GladeXML with only the widget subtree that we need to
+ use here, to avoid popping up other visible dialogs
+ Set the border widths on the dialog's vbox and action_area to be
+ compliant with the HIG
+ We don't need to reparent widgets to vboxes any more, as the widgets
+ are now part of the dialog's widget tree
+ If we are without LDAP or not in LDAP mode, then hide the notebook
+ borders, and change the border size of its child to appear as though
+ we are a normal non-LDAP dialog
+ We don't need to set the type hint on the window as we are no a
+ real GtkDialog
+
+ * gui/component/ldap-config.glade: Update the properties dialogs to
+ be compliant with the HIG layout
+ Get rid of some of the extra windows and put their children in the
+ appropriate places in the properties dialog
+ Make the properties dialog be a real GtkDialog
+
+ Fixes #41141
+
+2004-06-01 Larry Ewing <lewing@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.c: Add in a source
+ option menu to the dialog and make is sensitive only on new lists.
+
+ * gui/contact-list-editor/e-contact-list-editor.h: add load_book
+ fields for async book loading.
+
+ * gui/contact-list-editor/contact-list-editor.glade: add the new
+ source selector in a table reorder some of the other widgets.
+
+2004-05-28 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-contact-display.c (render_contact): render all
+ email addresses, not just the first 3.
+ (eab_contact_display_class_init): use a C comment, not C++.
+
+2004-05-28 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/select-names/e-select-names-bonobo.c
+ (entry_set_property_fn): call e_select_names_model_load_contacts
+ after setting text/addresses/destinations.
+
+ * gui/component/select-names/e-select-names-model.c
+ (name_and_email_simple_query_cb): new function, ripped from the
+ 1.4 e-destination stuff.
+ (book_opened): new function, fire off eab_name_and_email_query for
+ each item in our model (that doesn't represent a contact already).
+ (e_select_names_model_load_contacts): new function, open the
+ default addressbook (yeah yeah, i know we should open something
+ different/more.)
+ (e_select_names_cancel_contacts_load): new (unimplemented, and how
+ do we implement it?) function.
+
+ * gui/component/select-names/e-select-names-model.h: add
+ prototypes for e_select_names_model_load_contacts and
+ e_select_names_cancel_contacts_load.
+
+ * gui/component/select-names/e-select-names.c (set_book): call
+ get_query_string and set the book and query in a single call to
+ g_object_set, just because we can/should.
+ (update_query): reimplement in terms of get_query_string.
+ (get_query_string): new function, build up the query string.
+
+ * gui/component/select-names/Makefile.am (INCLUDES): add
+ $(top_srcdir)/addressbook/util to INCLUDES.
+
+2004-05-28 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Add back office, spouse,
+ web log fields. Allow for 8 phone numbers, of which 4 can be hidden.
+
+ * gui/contact-editor/e-contact-editor.c (phones_default): Add more
+ defaults.
+ (im_service_default): Add more defaults.
+ (expand_phone): Implement.
+ (fill_in_phone_record): Expand if we have any records past 4.
+ (init_im_record_location)
+ (fill_in_im_record)
+ (extract_im_record)
+ (sensitize_im_record): Remove location.
+ (simple_field_map): Add spouse, office, web log.
+ (expand_phone_toggle): Implement.
+ (e_contact_editor_init): Hook up expander button.
+
+2004-05-28 Christophe Fergeau <teuf@gnome.org>
+
+ * gui/component/addressbook-config.c: added missing #ifdef HAVE_LDAP
+
+2004-05-26 Radek Doulik <rodo@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (e_contact_print_button): call
+ gnome_print_beginpage
+ (e_contact_print_button): call gnome_print_beginpage
+
+ Fixes #58977
+
+2004-05-25 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/select-names/e-select-names-text-model.c
+ (e_select_names_text_model_activate_obj): reenable this function,
+ in a slightly broken manner. we don't have e_contact_get_book
+ anymore (well, we never had it really... but we lost
+ e_card_get_book). load the system addressbook and supply that to
+ the editors. shouldn't be a problem, since it's a read-only
+ editor anyway.
+
+2004-05-25 Chris Toshok <toshok@ximian.com>
+
+ [ fixes #58654 ]
+
+ * gui/component/select-names/e-select-names.c (update_query):
+ build up the query using e_book_query calls so we're insulated
+ from field name changes. also, conjoin if we have more than 1
+ query element, not more than 2 (i *hope* this was an off by 1
+ error...)
+
+2004-05-25 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook.c (load_source_auth_cb )
+ (load_source_auth_cb ) : read the "auth-domain" property
+ from e-source and use it as the component name for e_password_*
+ calls if it exists
+
+2004-05-25 Jeffrey Stedfast <fejj@novell.com>
+
+ * Makefile.am: Generate the addressbook-errors.xml.h file and
+ install the xml file and all that jazz.
+
+ * addressbook-errors.xml: New error xml file.
+
+ * gui/widgets/e-addressbook-view.c (backend_died): Use
+ e_error_run().
+
+ * gui/widgets/eab-gui-util.c (eab_error_dialog): Use
+ e_error_run().
+ (eab_load_error_dialog): Same.
+ (eab_search_result_dialog): Same.
+ (eab_prompt_save_dialog): Same.
+ (save_it): Same.
+
+ * gui/contact-editor/e-contact-editor.c (categories_clicked): Use
+ e_error_run().
+ (e_contact_editor_is_valid): Same.
+ (save_contact): Same.
+
+ * gui/component/addressbook-view.c (delete_addressbook_cb): Use
+ e_error_run().
+
+ * gui/component/addressbook-config.c (addressbook_ldap_init): Use
+ e_error_run().
+ (addressbook_ldap_auth): Same.
+ (addressbook_root_dse_query): Same.
+ (do_ldap_root_dse_query): Same.
+ (do_schema_query): Same.
+
+2004-05-24 Chris Toshok <toshok@ximian.com>
+
+ * Makefile.am (SUBDIRS): add tools back to the build.
+
+2004-05-24 Chris Toshok <toshok@ximian.com>
+
+ * tools/Makefile.am: fix this for current build foo.
+
+ * tools/evolution-addressbook-export-list-folders.c,
+ * tools/evolution-addressbook-export-list-cards.c,
+ * tools/evolution-addressbook-export.c: revive this.
+
+2004-05-24 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #32194 ]
+
+ * importers/evolution-vcard-importer.c (process_item_fn): make
+ sure all ADR attributes have HOME/WORK/OTHER.
+
+2004-05-24 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #40013 ]
+
+ * importers/evolution-vcard-importer.c (process_item_fn): for TEL
+ attribute that don't specify a location (HOME/WORK/OTHER), default
+ to "OTHER". For TEL attributes that *only* specify a location,
+ default to "VOICE".
+
+2004-05-21 H P Nadig <hpnadig@pacific.net.in>
+
+ Fixes #58516.
+
+ * gui/contact-editor/contact-editor.glade: 'Job Title' is now called
+ 'Title'.
+
+2004-05-20 Hans Petter Jansson <hpj@ximian.com>
+
+ * importers/evolution-ldif-importer.c (add_to_notes): Add helper
+ func.
+ (process_item_fn): Add undisplayed fields to notes.
+
+ * importers/evolution-vcard-importer.c (add_to_notes): Add helper
+ func.
+ (process_item_fn): Add undisplayed fields to notes.
+
+2004-05-20 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-migrate.c (add_to_notes): Implement.
+ (migrate_contacts_hidden_fields): Implement.
+ (migrate_contacts): Copy fields that are now hidden in the UI,
+ to the notes field.
+
+2004-05-20 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-component.c (impl_requestCreateItem):
+ use the new ebook api here. missed this one in my earlier commit.
+
+2004-05-20 Radek Doulik <rodo@ximian.com>
+
+ * printing/e-contact-print.c (complete_sequence): finish pages
+ printing by gnome_print_job_close call before showing preview or
+ calling gnome_print_job_print
+
+ See #54482
+
+ * gui/widgets/e-addressbook-view.c (eab_view_print_preview): added
+ call to begin page, ref printable and sink it to avoid finalizing of
+ floating object
+ (eab_view_print): ref and sink printable to avoid finalizing of
+ floating object
+
+ Fixes #46658
+
+2004-05-19 Chris Toshok <toshok@ximian.com>
+
+ * importers/evolution-vcard-importer.c (load_file_fn): use the new
+ e_book_new and e_book_open apis.
+
+ * importers/evolution-ldif-importer.c (load_file_fn): use the new
+ e_book_new and e_book_open apis.
+
+ * gui/widgets/eab-gui-util.c (eab_transfer_contacts): use the new
+ e_book_new and e_book_async_open apis.
+
+ * gui/contact-editor/e-contact-editor.c (cancel_load):
+ addressbook_load_source_cancel -> addressbook_load_cancel.
+ (source_selected): use the new e_book_new and addressbook_load.
+
+ * gui/component/select-names/e-select-names.c
+ (addressbook_model_set_source): use the new e_book_new and
+ addressbook_load.
+
+ * gui/component/select-names/e-select-names-manager.c
+ (update_completion_books): use the new e_book_new and
+ addressbook_load.
+
+ * gui/component/addressbook.h: rename
+ addressbook_load_source{_cancel} to addressbook_load{_cancel}, and
+ remove the source arg.
+
+ * gui/component/addressbook.c (addressbook_load): rename since we
+ aren't passing a source anymore.
+ (addressbook_load_cancel): same.
+ (addressbook_load_default_book): use the new e_book_new_* apis.
+
+ * gui/component/addressbook-view.c (delete_addressbook_cb): just
+ use e_book_new, not e_book_load_source.
+ (selector_tree_drag_data_received): switch to new
+ e_book_new_*/e_book_open apis.
+ (activate_source): same, and addressbook_load_source ->
+ addressbook_load.
+
+ * gui/component/addressbook-migrate.c
+ (migrate_contact_folder_to_source): switch to new
+ e_book_new_*/e_book_open apis.
+ (migrate_contact_lists_for_local_folders): same.
+ (migrate_company_phone_for_local_folders): same.
+
+ * conduit/address-conduit.c (pre_sync): switch to new
+ e_book_new_*/e_book_open apis.
+
+2004-05-19 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (sensitize_email): Check
+ if individual email fields are supported.
+
+2004-05-19 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (extract_simple_field):
+ Remove debug output.
+ (real_save_contact): Separate out actual save logic from
+ save_contact ().
+ (save_contact): If the user wants to move the contact from one
+ address book to another, but the source is read-only, as to
+ save a copy instead.
+ (e_contact_editor_is_valid): The dialog should be an error dialog.
+ (app_delete_event_cb): If the target book is read-only, prompt
+ to discard. If the user wants to move but cannot, prompt to save
+ a copy. Also validate.
+
+ * gui/contact-editor/eab-editor.c (eab_editor_prompt_to_save_changes):
+ Remove comment about invalid data dialog, it's not handled here
+ anymore.
+
+2004-05-19 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes a number of bugs, adds some unimplemented functionality, and
+ makes code more structured.
+
+ * gui/contact-editor/e-contact-editor.h: Eliminate company,
+ fullname_editable, address_editable fields from EContactEditor.
+
+ * gui/contact-editor/e-contact-editor.c
+ (enable_writable_fields): Removed.
+ (set_editable): Removed.
+ (fill_in_info): Removed.
+ (extract_field): Removed.
+ (extract_info): Removed.
+ (set_fields): Removed.
+ (command_state_changed): Removed.
+ (widget_changed): Removed.
+ (enable_widget): Removed.
+ (nonempty): Invert and rename to STRING_IS_EMPTY().
+ (STRING_MAKE_NON_NULL): Impl.
+ (is_field_supported): Implement.
+ (file_as_get_style): Eliminate editor->company.
+ (file_as_set_style): Ditto. Also don't set empty fields in combo.
+ (update_file_as_combo): Implement.
+ (sensitize_ok): Implement.
+ (object_changed): Implement.
+ (image_chooser_changed): Don't call widget_changed() from here.
+ (set_option_menu_history): Implement.
+ (init_email_record_location): Hook up signals after init.
+ (init_phone_record_type): Ditto.
+ (init_im_record_location): Ditto.
+ (init_im_record_service): Ditto.
+ (init_address_textview): widget_changed -> object_changed
+ (init_address_field): Ditto.
+ (fill_in_email_record): Use set_option_menu_history(), blocking
+ signals.
+ (fill_in_im_record): Ditto.
+ (fill_in_address_field): Use set_entry_text(), blocking signals.
+ (alloc_ui_slot): nonempty -> STRING_IS_EMPTY
+ (extract_email): Ditto.
+ (fill_in_phone_record): Ditto.
+ (extract_im): Ditto.
+ (extract_address_record): Ditto.
+ (sensitize_email_record): Implement.
+ (sensitize_email): Implement.
+ (sensitize_phone_types): Implement.
+ (sensitize_phone_record): Impleent.
+ (sensitize_phone): Implement.
+ (sensitize_im_record): Implement.
+ (sensitize_im): Implement.
+ (sensitize_address_textview): Implement.
+ (sensitize_address_field): Implement.
+ (sensitize_address_record): Implement.
+ (sensitize_address): Implement.
+ (simple_field_map): Add all simple fields/widgets to a table with
+ attributes saying how to handle sensitivity and data transfer.
+ (init_simple_field): Implement.
+ (fill_in_simple_field): Implement.
+ (extract_simple_field): Implement.
+ (sensitize_simple_field): Implement.
+ (init_simple): Implement.
+ (fill_in_simple): Implement.
+ (extract_simple): Implement.
+ (sensitize_simple): Implement.
+ (fill_in_all): Implement.
+ (extract_all): Implement.
+ (sensitize_all): Implement.
+ (set_entry_changed_signal_field): Removed.
+ (set_urlentry_changed_signal_field): Removed.
+ (set_entry_activate_signal_field): Removed.
+ (new_target_cb): Don't signal changes.
+ (set_entry_activate_signals): Removed.
+ (set_entry_changed_signals): Removed.
+ (full_name_clicked): Honor field_supported and target_editable.
+ Use set_entry_text() and block changed signals.
+ (image_selected_cb): widget_changed -> object_changed. Don't clear
+ pointer to file_selector.
+ (image_cleared_cb): Ditto.
+ (contact_moved_cb): command_state_chaned() -> sensitize_all().
+ (contact_added_cb): Ditto.
+ (supported_fields_cb): Ditto.
+ (contact_modified_cb): Ditto.
+ (save_contact): extract_info() -> extract_all().
+ (e_contact_editor_is_valid): Be more verbose. Make sure File As is
+ non-empty.
+ (e_contact_editor_init): Call init_all() in place of lots of setup
+ calls. Remove reference to editor->company.
+ (e_contact_editor_dispose): Remove reference to editor->company.
+ (command_state_changed): Removed.
+ (e_contact_editor_set_property): Axe unneeded complexity, now that
+ we have sensitize_all() and sensitize_ok().
+ (set_fields): Removed.
+ (fill_in_field): Removed.
+ (field_mapping): Removed.
+ (disable_widget_foreach): Removed.
+ (widget_field_mapping): Removed.
+ (num_widget_field_mappings): Removed.
+ (enable_widget): Removed.
+
+2004-05-05 William Jon McCann <mccann@jhu.edu>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in:
+ Add menu_label and menu_accelerator.
+
+2004-05-18 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (file_send_as_cb): pass 0 to eab_send_contact.
+ (file_send_to_cb): same.
+
+2004-05-18 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-gui-util.c
+ (eab_send_to_contact_and_email_num_list): split out the
+ DISPOSITION_AS_TO stuff here, and make it take a GList of
+ ContactAndEmailNum, so we can set it for the single contact case.
+ (eab_send_contact_list_as_attachment): split out the
+ DISPOSITION_AS_ATTACHMENT stuff here.
+ (eab_send_contact_list): call one or the other of the above,
+ munging the list if disposition is set to TO.
+ (eab_send_contact): call eab_send_to_contact_and_email_num_list
+ directly with the supplied email_num, instead of calling
+ eab_send_contact_list.
+
+ * gui/widgets/eab-gui-util.h (eab_send_contact) add "email_num"
+ arg, so we can specify the email address we want to be selected.
+
+ * gui/widgets/eab-contact-display.c (on_link_clicked): add
+ (ifdefed out at the moment) code to handle mailto: urls
+ internally, instead of farming them out to gnome_url_show.
+ (render_contact): same.
+
+2004-05-18 Jerome Lacoste <jerome@coffeebreaks.org>
+
+ Fixes #57940
+
+ * gui/widgets/e-addressbook-view.c: "Save as VCard" ->
+ "Save as VCard..."
+
+2004-05-17 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (e_contact_editor_init):
+ Hook up image button.
+ (e_contact_editor_dispose): Dispose of file selector if it's around.
+ (image_clicked): Implement.
+ (file_selector_deleted): Implement.
+ (image_cleared_cb): Implement.
+ (image_selected_cb): Implement.
+
+ * gui/contact-editor/contact-editor.glade: Make the contact image
+ be a button that lets you change or discard the image.
+
+2004-05-17 Jeffrey Stedfast <fejj@novell.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.c: Change E_PIXMAP
+ size args over to E_ICON_SIZE_* values.
+
+ * gui/component/addressbook-view.c: Change E_PIXMAP size args over
+ to E_ICON_SIZE_* values.
+
+ * gui/widgets/e-minicard.c (e_minicard_init): Use an E_ICON_SIZE
+ enum value for the icon_size argument to get_icon.
+
+ * gui/widgets/eab-gui-util.c (eab_create_image_chooser_widget):
+ Use E_ICON_SIZE_DIALOG as the icon_size argument to
+ get_icon_filename.
+
+ * gui/widgets/eab-contact-display.c (on_url_requested): Use an
+ E_ICON_SIZE enum as the icon_size argument to get_icon_filename.
+
+ * gui/contact-editor/e-contact-editor-im.c
+ (setup_service_optmenu): Use E_ICON_SIZE_MENU here.
+
+ * gui/component/select-names/e-select-names-popup.c
+ (populate_popup_contact): Use E_ICON_SIZE_MENU here instead of 16.
+
+ * gui/component/addressbook-view.c (set_status_message): Use the
+ E_ICON_SIZE corresponding to 16x16 pixels.
+
+2004-05-12 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Add PO box entries.
+
+ * gui/contact-editor/e-contact-editor.c (init_address_record): Hook
+ up PO box entry.
+ (fill_in_address_record): Ditto.
+ (extract_address_record): Ditto.
+
+2004-04-18 S N Tejasvi <tejasvi_sn@gawab.com>
+
+ Fixes bug #55208.
+
+ * gui/contact-editor/e-contact-editor.c (save_contact):
+ Do e_contact_editor_is_valid check to check the birth date and
+ anniversary date format when user wants to save and warn him.
+
+2004-05-11 Not Zed <NotZed@Ximian.com>
+
+ * gui/component/addressbook-component.c (impl_upgradeFromVersion):
+ set exception properly on failure.
+
+ * gui/component/addressbook-migrate.c (addressbook_migrate): take
+ a GError error return. Doesn't do anything with it ... but ...
+
+2004-05-11 Dan Winship <danw@ximian.com>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: Remove
+ the addressbook control
+
+ * gui/component/component-factory.c (factory): Remove support for
+ the addressbook control
+
+ * gui/component/addressbook-view.c: Remove all the property-bag
+ stuff.
+
+2004-05-11 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook-config.c (dialog_to_source) : see if the selected
+ group is groupwise one and setup the relative uri and other properties into
+ e-source
+
+2004-05-10 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
+
+ Fixes bug #44196 addressbook table view uses ASCII sort
+
+ * addressbook/gui/widgets/e-addressbook-view.c (compare_subitems):
+ Uses g_utf8_collate for right UTF8 sort. Made faster using
+ g_utf8_collate_key.
+
+ Also fixes a bug in
+
+ * gui/component/select-names/e-select-names.c (select_entry_changed):
+ Changed g_utf8_collate for strcmp as we are already comparing keys
+ made from g_utf8_collate_key.
+
+2004-05-08 Enver ALTIN <enver.altin@frontsite.com.tr>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in:
+ Fix parts of #53466.
+
+2004-05-05 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (init_address_textview):
+ Implement.
+ (init_address_record): Init textview.
+ (fill_in_address_textview): Implement.
+ (fill_in_address_record): Fill in textview.
+ (extract_address_textview): Implement.
+ (extract_address_record): Extract from textview.
+
+ * gui/contact-editor/contact-editor.glade: Combine address-[12] fields
+ into one multiline text view, as per Anna's new design.
+
+2004-05-04 Larry Ewing <lewing@ximian.com>
+
+ * gui/component/addressbook-config.c (query_for_supported_bases):
+ fixup the dialog initialization.
+
+2004-05-04 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (phones_default): Use defaults
+ from Anna.
+ (im_service_default): Ditto.
+ (email_default): Ditto.
+ (im_location): Renamed to common_location, as it's used by both IM
+ and e-mail.
+ (init_email_record_location): im_location -> common_location
+ (init_im_record_location): Ditto.
+ (email_index_to_location): Ditto.
+ (im_index_to_location): Ditto.
+ (get_email_location): Ditto.
+ (get_im_location): Ditto.
+ (fill_in_email_record): Consult defaults.
+ (fill_in_im_record): Ditto.
+
+2004-05-04 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (set_entry_activate_signals):
+ Remove blog, add home page.
+ (set_entry_changed_signals): Ditto.
+ (setup_tab_order): Ditto.
+ (field_mapping): Ditto.
+ (widget_field_mappings): Ditto.
+
+ * gui/contact-editor/contact-editor.glade: Replace blog with home
+ page.
+
+2004-05-03 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/widgets/e-minicard.c (e_minicard_set_property): Do ref, unref
+ in right order, so the same contact can be set twice without ill
+ effects.
+ (e_minicard_finalize): NULL pointers after unreffing their objects.
+
+2004-05-03 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (phones_default): Establish
+ defaults for the phone number option menus.
+ (fill_in_phone_record): Fall back to defaults.
+
+2004-05-03 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (show_help_cb): Implement.
+ (e_contact_editor_init): Hook up the help button.
+
+ * gui/contact-editor/contact-editor.glade: Give the help button a
+ sensible name.
+
+2004-05-03 Larry Ewing <lewing@ximian.com>
+
+ * gui/component/ldap-config.glade: bump the maximum download limit
+ to 1000.
+
+ * gui/component/addressbook-config.c (add_folder_modify): set the
+ email entry sesitive only when anonymous isn't selected. Make the
+ details tab insensitive if the method is local.
+
+ * gui/component/ldap-config.glade: remove unused colorpicker.
+
+2004-05-03 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: set the
+ config item type
+
+2004-05-02 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook-config.c (dialog_to_source) : see if the selected
+ group is groupwise one and setup the relative uri and other properties into
+ e-source
+
+2004-05-01 Larry Ewing <lewing@ximian.com>
+
+ * gui/component/addressbook-config.c: sensitize the details dialog
+ where appropriate. Don't try to read from widgets that don't
+ exist.
+
+2004-04-30 Chris Toshok <toshok@ximian.com>
+
+ * util/e-destination.c (e_destination_set_contact): don't use
+ "email" twice for a variable name.. even though they don't really
+ conflict, it's ugly and confusing.
+
+2004-04-30 Enver ALTIN <enver.altin@frontsite.com.tr>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: Fixed a
+ type-o.
+
+2004-04-29 Hans Petter Jansson <hpj@ximian.com>
+
+ * printing/e-contact-print.c: Don't dereference the file_as pointer
+ if it turns out to be NULL.
+
+2004-04-28 Jeffrey Stedfast <fejj@ximian.com>
+
+ * gui/component/addressbook-migrate.c: We need a migration dialog
+ if the revision <= 10. Fixes bug #57770.
+
+2004-04-27 Larry Ewing <lewing@ximian.com>
+
+ * gui/component/addressbook-config.c: remove debug spew.
+
+2004-04-27 Jeffrey Stedfast <fejj@ximian.com>
+
+ * gui/component/addressbook-migrate.c (addressbook_migrate):
+ Migrate pilot data.
+ (migrate_pilot_data): Oops. Apparently the addressbook didn't
+ change the format of the changelog file from db3 to xml, so fix to
+ simply copy the file over.
+
+2004-04-27 Rodney Dawes <dobey@ximian.com>
+
+ * gui/contact-editor/e-contact-editor-fullname.c:
+ (e_contact_editor_fullname_init):
+ * gui/contact-editor/fullname.glade:
+ * gui/search/e-addressbook-search-dialog.c (eab_search_dialog_init):
+ Update dialog vbox and action area border widths to be HIG compliant
+ Update main child widget border widths to be HIG compliant
+
+2004-04-27 Larry Ewing <lewing@ximian.com>
+
+ * gui/component/addressbook-config.c (source_to_dialog_new): fix
+ warnings, remove unused code.
+
+ * gui/component/addressbook-config.c: start integrate the new
+ dialog.
+
+ * gui/component/ldap-config.glade: add the new dialog.
+
+2004-04-26 Rodney Dawes <dobey@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade:
+ * gui/contact-editor/e-contact-editor.c (e_contact_editor_init):
+ Set spacing around notebook widget and the dialog's action area and
+ vbox widgets to be compliant with the HIG dialog specs
+
+2004-04-25 Chris Toshok <toshok@ximian.com>
+
+ * importers/evolution-ldif-importer.c (ldif_fields): add "mobile"
+ mapping to E_CONTACT_PHONE_MOBILE, which is what thunderbird uses
+ (and really what we should have always been using.)
+
+2004-04-23 Jeffrey Stedfast <fejj@ximian.com>
+
+ * conduit/address-conduit.c (get_next_mail): The firt EMAIL item
+ is EMAIL_1, not EMAIL (assuming we want simple strings).
+ (local_record_from_ecard): Use e_contact_get() for getting the
+ EContactAddress. Loop from FIRST_ADDRESS_ID up to and *including*
+ LAST_ADDRESS_ID.
+ (ecard_from_remote_record): When searching for an address field,
+ loop from FIRST_ADDRESS_ID up to and *including* LAST_ADDRESS_ID.
+ (pre_sync): Use e_book_query_any_field_contains() rather than
+ e_book_query_from_string ("#t") which doesn't work anyway.
+
+2004-04-20 Jeffrey Stedfast <fejj@ximian.com>
+
+ * conduit/address-conduit.c (map_name): Updated to use
+ ~/.evolution as the evolution directory rather than ~/evolution.
+
+2004-04-23 Dan Winship <danw@ximian.com>
+
+ * gui/component/component-factory.c (factory): Fix the addressbook
+ control to not crash. (Temporary fix.)
+
+2004-04-23 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-gui-util.c (added_cb): this signal takes an
+ EContact* too.
+ (modified_cb): same.
+ (deleted_cb): same.
+ (eab_error_dialog): pad the table of status messages out with the
+ new status codes, and don't specify gui text for messages that
+ aren't generated by the backends. This fixes the "U" error
+ messages people were seeing.
+
+2004-04-22 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Correct the dialog's title.
+
+ * gui/contact-editor/e-contact-editor.c (init_email_record_location):
+ Connect to entry's activate signal.
+ (init_phone_record_type): Ditto.
+ (init_im_record_location): Ditto.
+ (init_address_field): Ditto.
+ (set_entry_changed_signal_field): Remove unnecessary checks.
+ (set_urlentry_changed_signal_field): Ditto.
+ (set_entry_changed_signals): Ditto.
+ (set_entry_activate_signal_field): Implement.
+ (set_urlentry_activate_signal_field): Implement.
+ (set_entry_activate_signals): Implement.
+ (e_contact_editor_init): Call set_entry_activate_signals ().
+
+2004-04-22 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (e_contact_editor_class_init):
+ Override the save_contact function.
+ (e_contact_editor_save_contact): Implement.
+ (e_contact_editor_init): Remove some unnecessary checks - if
+ something's the matter with the UI files, that needs to be warned
+ about and fixed, not silently worked around.
+
+2004-04-22 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Make the window be a
+ GtkDialog.
+
+2004-04-21 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (free_attr_list): Implement.
+ (extract_email): Preserve offscreen addresses.
+ (extract_phone): Preserve offscreen phone numbers.
+ (extract_im): Preserve offscreen IM accounts.
+
+2004-04-21 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c: Add defines for the slot
+ counts for email, phone, im, address.
+ (phones): Add E_CONTACT_PHONE_COMPANY back in, now that we can
+ differentiate it.
+ (init_email): Use EMAIL_SLOTS and a loop.
+ (init_im): Ditto for IM_SLOTS.
+ (init_phone): Ditto for PHONE_SLOTS.
+ (fill_in_address)
+ (extract_address)
+ (init_address): Ditto for ADDRESS_SLOTS.
+ (get_ui_slot_param): Implement.
+ (get_ui_slot): Implement.
+ (set_ui_slot): Implement.
+ (alloc_ui_slot): Implement.
+ (fill_in_email): Add code to preserve spatial organization.
+ (extract_email): Ditto.
+ (fill_in_phone): Ditto.
+ (extract_phone): Ditto.
+ (fill_in_im): Ditto.
+ (exctract_im): Ditto.
+
+2004-04-21 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (setup_progress_dialog):
+ store off the label as well as the folder name label, so we can
+ reuse the dialog and update the label. Also, no longer take the
+ string to display here.
+ (dialog_set_label): new function.
+ (migrate_contact_lists_for_local_folders): call
+ dialog_set_folder_name here so we can see the folder being
+ migrated.
+ (migrate_company_phone_for_local_folders): new function for
+ updating the way we store company phone numbers.
+ (addressbook_migrate): split out the logic for setting up/tearing
+ down the dialog from the individual migration points so we can
+ reuse the same dialog and not have get destroyed/recreated for
+ each stage. Also add a new migration point ( <= 1.5.8) for
+ migrating the company phone numbers.
+
+2004-04-21 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook.c (remove_parameters_from_uri) : added
+ a new function to striff off any parameters present after ';' in
+ the uri
+ (load_source_auth_cb) (addressbook_authenticate) : call above
+ function to remove anything after ';' before passing uri to
+ e-password calls
+
+2004-04-21 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.h (EContactEditor): Remove
+ unused fields.
+
+ * gui/contact-editor/e-contact-editor.c (emails): Remove.
+ (e_contact_editor_init): Don't init unused fields.
+ (e_contact_editor_dispose): Don't free/clear unused fields.
+ (enable_writable_fields): Don't use email_choice anymore. Enable
+ checkbutton-htmlmail only once.
+
+2004-04-21 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Make the phone type
+ selectors be option menus.
+
+ * gui/contact-editor/e-contact-editor.c (phones): Store the phone
+ param mappings locally.
+ (set_entry_changed_signals): Don't special-case phone entries here.
+ (enable_writable_fields): Don't mess with the phone widgets anymore.
+ (set_fields): Use fill_in_phone ().
+ (extract_info): Use extract_phone ().
+ (phone_index_to_type): Implement.
+ (get_phone_type): Implement.
+ (get_attributes_named): Implement.
+ (set_attributes_named): Implement.
+ (fill_in_phone_record): Implement.
+ (extract_phone_record): Implement.
+ (fill_in_phone): Implement.
+ (extract_phone): Implement.
+ (init_phone_record_type): Implement.
+ (init_phone): Implement.
+ (connect_arrow_button_signal): Remove.
+ (connect_arrow_button_signals): Remove.
+ (phone_entry_changed): Remove.
+ (set_entry_changed_signal_phone): Remove.
+ (_arrow_pressed): Remove.
+ (_phone_arrow_pressed): Remove.
+ (e_contact_editor_build_ui_info): Remove.
+ (e_contact_editor_build_phone_ui): Remove.
+ (set_phone_field): Remove.
+
+2004-04-21 Not Zed <NotZed@Ximian.com>
+
+ * gui/component/addressbook-view.c (addressbook_view_init): fix
+ for e_user_creatable_items handle api changes.
+
+2004-04-20 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-view.etspec: use cursor-mode="line" to
+ get rid of the annoying cell cursor.
+
+ * gui/widgets/eab-gui-util.c (eab_create_image_chooser_widget):
+ create the image chooser even if we aren't given an initial
+ filename.
+
+ * gui/contact-editor/e-contact-editor.c (new_target_cb):
+ addressbook_show_load_error_dialog -> eab_load_error_dialog.
+
+2004-04-19 Rodney Dawes <dobey@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Set the default image for
+ the contact photo to be the stock_person image in the icon theme
+
+2004-04-19 Michael Terry <mike@mterry.name>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in:
+ * gui/component/addressbook-component.c:
+ * gui/component/addressbook-view.c:
+ * gui/component/select-names/e-select-names-popup.c:
+ * gui/contact-editor/e-contact-editor-address.c:
+ * gui/contact-editor/e-contact-editor-fullname.c:
+ * gui/contact-editor/e-contact-editor-im.c:
+ * gui/contact-list-editor/contact-list-editor.glade:
+ * gui/contact-list-editor/e-contact-list-editor.c:
+ * gui/merging/eab-contact-commit-duplicate-detected.glade:
+ * gui/merging/eab-contact-duplicate-detected.glade:
+ * gui/widgets/e-minicard.c:
+ * gui/widgets/eab-contact-display.c:
+ * gui/widgets/eab-gui-util.c: Update the addressbook to use the icon
+ theme via the EIconFactory object in e-util
+
+2004-04-18 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (nonempty): new macro.
+ (extract_email): only create/add the attribute if the email
+ address is nonempty.
+ (extract_im): same, but for im accounts.
+ (extract_address_record): same, but for addresses.
+
+2004-04-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Add "wants HTML" checkbox.
+
+ * gui/contact-editor/contact-editor.c (email_location_to_index)
+ (email_entry_changed)
+ (set_entry_changed_signal_email)
+ (file_save_cb)
+ (file_close_cb)
+ (file_save_as_cb)
+ (file_send_as_cb)
+ (file_send_to_cb)
+ (contact_deleted_cb)
+ (delete_cb)
+ (print_cb)
+ (print_envelope_cb)
+ (tb_save_and_close_cb)
+ (verbs)
+ (pixmaps)
+ (create_ui): Remove unused funcs.
+ (command_state_changed): Remove bonobo calls.
+ (e_contact_editor_init): Remove bonobo stuff.
+ (fill_in_email)
+ (fill_in_im): Remove unused vars.
+
+2004-04-16 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-component.c (book_loaded_cb): new
+ function, use the async interface to load the book.
+ (impl_requestCreateItem): use
+ e_book_async_get_default_addressbook.
+
+2004-04-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Commit new contact editor
+ UI by Anna.
+
+ * gui/contact-editor/e-contact-editor.c: Comment out bonobo includes.
+ (_email_arrow_pressed)
+ (_address_arrow_pressed)
+ (set_im_fields)
+ (find_address_mailing)
+ (set_address_field)
+ (add_im_clicked)
+ (edit_im_clicked)
+ (remove_im_clicked)
+ (im_button_press_cb)
+ (im_selected_cb)
+ (im_treeview_drag_data_get_cb)
+ (im_treeview_drag_data_rcv_cb)
+ (setup_im_treeview)
+ (email_entry_changed)
+ (address_to_text)
+ (text_to_address)
+ (address_text_changed)
+ (address_mailing_changed)
+ (full_addr_clicked)
+ (e_contact_editor_build_email_ui)
+ (e_contact_editor_build_address_ui)
+ (_email_arrow_pressed)
+ (_address_arrow_pressed)
+ (find_address_mailing)
+ (add_im_field)
+ (set_im_fields)
+ (set_address_field): Removed.
+ (address_name)
+ (im_service)
+ (im_location): Add lookup structs.
+ (init_email_record_location)
+ (init_email)
+ (fill_in_email_record)
+ (extract_email_record)
+ (email_location_to_index)
+ (email_index_to_location)
+ (im_index_to_location)
+ (get_email_location)
+ (get_im_location)
+ (fill_in_email)
+ (extract_email)
+ (init_im_record_location)
+ (init_im_record_service)
+ (init_im)
+ (fill_in_im_record)
+ (fill_in_im)
+ (extract_im_record)
+ (extract_im)
+ (init_address_field)
+ (init_address_record)
+ (init_address)
+ (fill_in_address_field)
+ (fill_in_address_record)
+ (fill_in_address)
+ (extract_address_field)
+ (extract_address_record)
+ (extract_address)
+ (file_save_and_close_cb)
+ (file_cancel_cb)
+ (set_entry_text): Implemented.
+ (connect_arrow_button_signals): Updated some widget names.
+ (set_entry_changed_signals): Removed dead widgets, updated names for
+ others.
+ (print_cb)
+ (tb_save_and_close_cb)
+ (create_ui): Disabled Bonobo toolbar/menus.
+ (e_contact_editor_init): Disabled Bonobo toolbar/menus. Init new
+ UI elements. Remove init of old UI elements.
+ (command_state_changed): Disabled Bonobo toolbar/menus. Act on new
+ ok/cancel buttons.
+ (_phone_arrow_pressed): Updated widget names.
+ (set_phone_field): Use set_entry_text ().
+ (set_fields): Update widget names, remove old address code, call new
+ fill_in_* code.
+ (field_mapping): Remove dead widgets.
+ (widget_field_mapping): Ditto.
+ (enable_writable_fields): Remove calls for old email/address UI.
+ Update some names.
+ (fill_in_info): Don't find_address_mailing() or set_im_fields().
+ (extract_info): Call new extraction funcs.
+
+2004-04-14 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-view.c (book_open_cb): force the info
+ label to update its contents here if the load was successful.
+
+ * gui/component/addressbook-migrate.c (migration_context_new): use
+ e_book_get_addressbooks instead of getting source_list from the
+ component.
+ (migration_context_free): unref the source_list.
+
+ * gui/component/addressbook-config.c (dialog_to_source): sync the
+ dialog->source_list, since we have it.
+
+2004-04-14 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook.c: rip out tons of functions - they
+ all live in addressbook-view.c now. the only thing left in this
+ file is the addressbook_load* calls that do authentication.
+
+ * gui/component/addressbook.h: remove prototypes for
+ addressbook_new_control and addressbook_load_uri (it was #if 0'ed
+ anyway.)
+
+ * gui/component/addressbook-component.h: remove prototypes for
+ _peek_activity_handler and _peek_source_list.
+
+ * gui/component/addressbook-component.c: rip out tons of functions
+ - they all live in addressbook-view.c now.
+ (impl_createControls): simplify this immensely. we just create an
+ AddressbookView and get the various widgets/controls from it.
+ (impl_requestCreateItem): this function loses slightly - it needs
+ per-window info (the selected source) but there's no way to get
+ it. So we load the default book. Also, this uses a synchronous
+ e_book call to load the book, which is not good.
+ (addressbook_component_peek_source_list): nuke, not used by
+ anything anyway.
+ (addressbook_component_peek_activity_handler): nuked, not used by
+ anything - and it's per-window anyway.
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_SOURCES):
+ add addressbook-view.[ch].
+
+ * gui/component/addressbook-view.[ch]: rip out all of the per
+ window stuff from addressbook.[ch] and addressbook-component.[ch]
+ and put it here.
+
+2004-04-13 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-contact-display.c (accum_address): disable the
+ map link for 2.0.
+
+2004-04-13 Larry Ewing <lewing@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (create_table_view): add
+ GDK_ACTION_COPY to the supported drag types. Connect to the
+ table_drag_data_delete callback.
+ (table_drag_data_delete): remove the drag rows.
+
+2004-04-13 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook.c (addressbook_authenicate):
+ added a check for new auth type "plain/password"
+ for groupwise in addressbook_authenicate function
+
+2004-04-12 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-popup-control.c (email_menu_add_option): treat
+ "" the same as NULL (don't add it to the list).
+
+2004-04-12 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook.c (addressbook_load_default_book):
+ quiet valgrind uninitialized memory warning.
+
+2004-04-12 Chris Toshok <toshok@ximian.com>
+
+ [ should fix #56537 ]
+
+ * gui/widgets/eab-popup-control.c (EMPTY_ENTRY): use _(), not N_()
+ here.
+ (email_menu_add_options_from_contact): and g_strdup it here, so
+ that the g_list_foreach (... g_free ..) doesn't cause things to
+ blow up.
+ (email_menu_unset_options): nuke ifdefed function.
+
+ * gui/widgets/eab-popup-control.h: don't include gtk.h, include
+ just what we need.
+
+2004-04-10 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-gui-util.h: add prototypes for
+ eab_load_error_dialog and eab_search_result_dialog.
+
+ * gui/widgets/eab-gui-util.c (eab_load_error_dialog): the new
+ addressbook_show_load_error_dialog.
+ (eab_search_result_dialog): new function, the old contents of
+ addressbook.c:search_result.
+
+ * gui/component/addressbook.c
+ (addressbook_show_load_error_dialog): move this function to
+ eab-gui-utils.[ch]
+ (search_result): split out the body of this into
+ eab_search_result_dialog in eab-gui-utils.[ch].
+ (book_open_cb): call eab_load_error_dialog.
+
+ * gui/component/addressbook.h: remove prototype for
+ addressbook_show_load_error_dialog.
+
+2004-04-10 Chris Toshok <toshok@ximian.com>
+
+ * util/e-destination.h: remove the e_destination_get_book api,
+ since the function doesn't exist.
+
+2004-04-09 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (addressbook_migrate): bump
+ version required to 8 for the contact list migration foo.
+
+2004-04-09 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-component.c
+ (selector_tree_drag_motion): pass GDK_CURRENT_TIME instead of a
+ function pointer to "time" to gdk_drag_status. not sure if this
+ is right, but it's definitely more right than it was :)
+ (impl_createControls): create the info label and add it to the
+ sidebar control. it's not hooked up yet.
+
+2004-04-09 Chris Toshok <toshok@ximian.com>
+
+ * importers/evolution-ldif-importer.c (resolve_list_card): use the
+ new e_destination_export_to_vcard_attribute call to build up the
+ attributes.
+
+ * importers/evolution-vcard-importer.c (process_item_fn): if we're
+ importing a vcard that we wrote out previously containing xml in
+ the EMAIL attributes, DTRT and strip it out and use
+ e_destination_export_to_vcard_attribute to build up the proper
+ attribute.
+
+ * util/Makefile.am (libeabutil_la_SOURCES): remove
+ eab-destination.[ch] and add e-destination.[ch].
+
+ * printing/e-contact-print.c (e_contact_print_contact): we don't
+ have to worry about the "<?xml..." EMAIL fields anymore.
+
+ * gui/widgets/eab-gui-util.c (eab_send_contact_list): just use the
+ value as the address (since that's what it is) in the list case.
+
+ * gui/widgets/eab-contact-display.c (render_contact_list): remove
+ the EABDestination stuff from here.
+ (eab_contact_display_render_compact): same.
+
+ * gui/widgets/e-minicard.c (activiate_editor): fix warnings - use
+ EAB_EDITOR instead of G_OBJECT.
+ (add_field): we don't have to worry about the "<?xml..." EMAIL
+ fields anymore.
+ (remodel): same.
+
+ * gui/widgets/e-addressbook-treeview-adapter.c
+ (adapter_get_value): we don't have to worry about the "<?xml..."
+ EMAIL fields anymore.
+
+ * gui/widgets/e-addressbook-table-adapter.c
+ (addressbook_value_at): we don't have to worry about the
+ "<?xml..." EMAIL fields anymore.
+
+ * gui/contact-list-editor/e-contact-list-model.c
+ (contact_list_value_at): eab->e.
+ (contact_list_model_dispose): we're not a GtkObject, we're a
+ GObject. rename _destroy to _dispose, and chain up to the parent
+ class's ::dispose.
+ (e_contact_list_model_class_init): GtkObject -> GObject, and
+ destroy -> dispose.
+ (e_contact_list_model_init): GtkObject -> GObject, and EAB -> E.
+ (e_contact_list_model_add_destination): EAB -> E.
+ (e_contact_list_model_add_email): same.
+ (e_contact_list_model_add_contact): same.
+ (e_contact_list_model_get_destination): same.
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (table_drag_data_received_cb): add email num arg to
+ e_contact_list_model_add_contact.
+ (extract_info): fill in the vcard attributes instead of just
+ generating xml.
+ (fill_in_info): extract the values from the vcard attributes.
+
+ * gui/component/select-names/e-select-names-text-model.c
+ (e_select_names_text_model_insert_length): eab->e, and don't
+ sometimes copy, sometimes ::new. always ::new.
+ (e_select_names_text_model_delete): same.
+ (e_select_names_text_model_obj_count): same.
+ (nth_obj_index): same.
+
+ * gui/component/select-names/e-select-names-table-model.c
+ (fill_in_info): eab -> e.
+
+ * gui/component/select-names/e-select-names-popup.c
+ (make_contact_editor_cb): eab -> e.
+ (change_email_num_cb): same.
+ (toggle_html_mail_cb): same.
+ (populate_popup_contact): same, and remove code that checks for
+ <?xml, then imports the EDestination.
+ (quick_add_cb): eab -> e.
+ (populate_popup_nocontact): same.
+ (e_select_names_populate_popup): same.
+
+ * gui/component/select-names/e-select-names-model.h: eab -> e, and
+ remove prototypes for nuked functions.
+
+ * gui/component/select-names/e-select-names-model.c
+ (destination_changed_proxy, send_changed, connect_destination,
+ disconnect_destination): nuke.
+ (e_select_names_model_duplicate): EAB -> E.
+ (e_select_names_model_get_textification): same.
+ (e_select_names_model_get_address_text): same.
+ (e_select_names_model_get_destination): same.
+ (e_select_names_model_export_destinationv): same.
+ (send_changed): same.
+ (e_select_names_model_import_destinationv): same.
+ (e_select_names_model_get_contact): same.
+ (e_select_names_model_contains): same.
+ (e_select_names_model_insert): same, and remove call to
+ connect_destination.
+ (e_select_names_model_append): same.
+ (e_select_names_model_replace): same, and remove call to
+ disconnect/connect_destination.
+ (e_select_names_model_delete): same.
+ (delete_all_iter): nuke.
+ (e_select_names_model_delete_all): use g_object_unref for the
+ foreach call.
+ (e_select_names_model_merge): EAB -> E.
+ (e_select_names_model_name_pos): same.
+ (e_select_names_model_name_pos): same.
+ (e_select_names_model_load_all_contacts): nuke.
+ (e_select_names_model_cancel_all_contact_load): nuke.
+
+ * gui/component/select-names/e-select-names-manager.c
+ (clean_cb, focus_in_cb, focus_out_cb, completion_popup_cb): nuke.
+ (completion_handler): EAB -> E, and the signals are gone.
+
+ * gui/component/select-names/e-select-names-completion.c: in
+ general, s/eab_dest/e_dest and s/EABDest/EDest.
+ (e_select_names_completion_got_book_view_cb): move the
+ e_book_view_start to below the assignment of
+ sequence_complete_received, just to put my mind at ease.
+ (e_select_names_completion_stop_query): un-#if notyet the call to
+ e_book_cancel.
+ (e_select_names_completion_start_query): free the waiting_query
+ before assigning to it.
+
+ * gui/component/select-names/e-select-names-bonobo.c
+ (entry_set_property_fn): remove calls to
+ e_select_names_model_load_all_contacts, since that function is
+ dead.
+
+ * gui/component/addressbook-migrate.c (setup_progress_dialog):
+ take the label to display to the user as an arg.
+ (migrate_contact_lists_for_local_folders): loop over all contacts
+ in all local addressbooks looking for ones that have <?xml in
+ their EMAIL attributes. for the ones we find, call
+ e_destination_export_to_vcard_attribute to build up the proper
+ attribute.
+ (addressbook_migrate): add in a clause for all versions under
+ 1.5.7 to convert contact lists. also, move the unrefs of the
+ sources/groups to outside the if, as they're created outside it.
+
+ * gui/component/Makefile.am (INCLUDES): remove the
+ addressbook/backend/ dirs, since libebook isn't there anymore
+ (nothing is, actually). Add addressbook/util/.
+
+2004-04-09 Dan Winship <danw@ximian.com>
+
+ * gui/component/addressbook.c (addressbook_new_control): create an
+ EUserCreatableItemsHandler
+ (addressbook_view_clear): destroy it
+ (control_activate): Activate it
+
+ * gui/component/addressbook-component.c
+ (impl__get_userCreatableItems): Add object/folder flags to the
+ creatable items. Rename "Address Book" to "Contacts Group" per new
+ specs
+
+2004-04-07 Chris Toshok <toshok@ximian.com>
+
+ * util/e-destination.c (e_destination_copy): we don't have an
+ EBook* anymore.
+ (e_destination_clear): same.
+ (e_destination_set_contact): same.
+ (e_destination_set_book): same, just cache the source_uid.
+ (e_destination_set_book_uri): nuke.
+ (e_destination_set_contact_uid): we don't have an EBook*.
+ (e_destination_xml_decode): same.
+ (e_destination_export_to_vcard_attribute): new function, fill in
+ an EVCardAttribute with EDestination values.
+
+ * util/e-destination.h: add prototype for
+ e_destination_export_to_vcard_attribute.
+
+2004-04-07 Jeffrey Stedfast <fejj@ximian.com>
+
+ * gui/component/autocompletion-config.c
+ (source_selection_changed): Sync the changes here rather than
+ setting 'changed' on the config control (since that no longer
+ exists).
+ (autocompletion_config_control_new): Don't connect to an apply
+ signal, no such signal.
+
+2004-04-06 Chris Toshok <toshok@ximian.com>
+
+ * util/e-destination.[ch]: old name, new trimmed down
+ implementation. This will be replacing eab-destination.[ch].
+
+2004-04-06 Hao Sheng <hao.sheng@sun.com>
+
+ * gui/widgets/e-minicard.c:
+ (e_minicard_event) : implement keyboard navigation(TAB/shift+TAB)
+ (activaite_editor) : add a new function to activiate contact editor
+ for support "Enter" key
+
+ Fixes #55056
+
+2004-04-05 Chris Toshok <toshok@ximian.com>
+
+ * util/eab-destination.h: wrap this with the correct #ifdef.
+
+2004-04-05 Chris Toshok <toshok@ximian.com>
+
+ * gui/merging/eab-contact-merging.c (match_query_callback): use
+ the correct glade filename.
+
+2004-04-01 Hari Prasad Nadig <hp@ndeepak.info>
+
+ Fixes #53433.
+
+ * gui/component/addressbook-config.c (searching_tab_check): added
+ the tab check for search tab.
+ (dialog_to_source): added timeout to be saved.
+ (source_to_dialog): just a piece to retrieve timeout from source.
+ (addressbook_root_dse_query): few necessary changes.
+ (do_ldap_root_dse_query): again few changes that were required.
+
+ * gui/component/ldap-config.glade : set right the Hscale to
+ display the selected value.
+
+2004-03-30 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #34777 ]
+
+ * gui/contact-editor/e-contact-editor.c (file_as_entry_changed):
+ set the window title to File As if the file as entry has something
+ in it. "Contact Editor" otherwise.
+ (set_entry_changed_signals): hook up the file-as-entry's "changed"
+ signal.
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (list_name_changed_cb): analogous fix, but "List Name" and
+ "Contact List Editor".
+
+2004-03-30 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #53544 ]
+
+ * gui/component/addressbook-component.c
+ (impl__get_userCreatableItems): add "address_book" to the user
+ creatable items list. complete with incorrect accelerator and
+ shortcut!
+ (impl_requestCreateItem): handle "address_book" here, and plug a
+ memory leak.
+
+2004-03-30 Chris Toshok <toshok@ximian.com>
+
+ [ part of the fix for #51977, the other part is in e-d-s ]
+
+ * gui/widgets/e-addressbook-view.c (search_activated): the name of
+ the category list property has changed from "category" to
+ "category" list in 1.5. track the change here to get category
+ searching working again.
+
+2004-03-30 Chris Toshok <toshok@ximian.com>
+
+ [ part of the fix for #54528, the other part is in e-d-s ]
+
+ * importers/evolution-vcard-importer.c (process_item_fn): get and
+ set the PHOTO attribute before storing the contact in the book.
+ this has the affect of making EContact sniff the image format.
+ the apple addressbook doesn't give PHOTO's a TYPE.
+
+
+2004-03-30 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #53094 ]
+
+ * gui/component/ldap-config.glade: nuke
+ addressbook-sources-window.
+
+ * gui/component/addressbook-config.c (main): nuke, we don't need
+ this test case anymore, and it doesn't really work anyway anymore.
+
+2004-03-30 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #53634 ]
+
+ * gui/widgets/e-addressbook-view.c (eab_view_new): call
+ e_search_bar_set_menu to add the Advanced... menu item to the
+ search menu, and connect to "menu_activated".
+ (search_menu_activated): new function, pop up the advanced dialog
+ if id == ESB_ADVANCED.
+ (query_changed): use e_search_bar_get_item_id instead of
+ g_object_get.
+
+ * gui/component/addressbook.c (verbs): remove ToolSearch.
+ (pixmaps): remove the ToolSearch pixmap.
+
+2004-03-30 Chris Toshok <toshok@ximian.com>
+
+ [ gui part of the fix required for #48665 ]
+
+ * gui/widgets/e-addressbook-model.c (get_view): pass the source's
+ "limit" property (if it exists) to e_book_async_get_book_view.
+
+2004-03-29 Larry Ewing <lewing@ximian.com>
+
+ * gui/component/addressbook-component.c
+ (selector_tree_drag_data_received): call drag_finish properly.
+ (selector_tree_drag_motion): set the drag status properly.
+
+2004-03-25 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/eab-editor.c (eab_editor_prompt_to_save_changes) :
+ do eab_editor_is_valid check only when user wants to save.
+
+2004-03-24 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-component.c
+ (fill_popup_menu_callback): don't let the user delete their
+ Personal addressbook. This is just a nice UI thingy.. A similar
+ fix needs to be made to e-d-s. so that attempts that circumvent a
+ nice UI will also fail.
+
+2004-03-24 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-gui-util.c (eab_show_multiple_contacts): don't
+ know what I was thinking approving this change. the _() was only
+ used in the plural case (in fact where n > 5), so a singular case
+ was never necessary, and neither was the call to ngettext.
+
+2004-03-24 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (e_contact_list_editor_get_type): parent_type == EAB_TYPE_EDITOR.
+ (e_contact_list_editor_class_init): fill in editor_class virtual
+ functions, and remove all the signals.
+ (list_added_cb): call eab_editor_contact_* instead of emitting a
+ signal here. also call eab_editor_close
+ (list_modified_cb): same.
+ (e_contact_list_editor_is_valid): new function.
+ (e_contact_list_editor_is_changed): same.
+ (e_contact_list_editor_get_window): same.
+ (file_close_cb): call eab_editor_ functions.
+ (list_deleted_cb): call eab_editor_contact_* instead of emitting a
+ signal here. also call eab_editor_close
+ (delete_cb): call eab_editor_* functions.
+ (contact_list_editor_destroy_notify): call eab_editor_remove.
+ (e_contact_list_editor_new): call eab_editor_add, and remove the
+ g_object_ref/gtk_object_sink two-step.
+ (e_contact_list_editor_show): make static, and make arg EABEditor.
+ (e_contact_list_editor_raise): same.
+ (e_contact_list_editor_close): same.
+ (app_delete_event_cb): call eab_editor_ functions.
+ (command_state_changed): use eab_editor_is_valid instead of
+ is_named.
+ (e_contact_list_editor_request_close_all): nuke.
+
+ * gui/contact-list-editor/e-contact-list-editor.h: nuke a bunch of
+ prototypes for functions that are now either virtual functions
+ from EABEditor or eab_editor_* functions.
+ (struct _EContactListEditor): we subclass from EABEditor.
+ (struct _EContactListEditorClass): same, and nuke all the signals.
+
+ * gui/contact-editor/e-contact-editor.c
+ (e_contact_editor_get_type): parent_type == EAB_TYPE_EDITOR.
+ (e_contact_editor_class_init): fill in editor_class virtual
+ functions, and remove all the signals.
+ (contact_moved_cb): call eab_editor_contact_* instead of emitting
+ a signal here. also call eab_editor_close
+ (contact_added_cb): same.
+ (contact_modified_cb): same.
+ (e_contact_editor_close): rename from close_dialog.
+ (e_contact_editor_is_valid): new function.
+ (e_contact_editor_is_changed): new function.
+ (e_contact_editor_get_window): new function.
+ (file_close_cb): use eab_editor_ calls here.
+ (e_contact_editor_confirm_delete): nuke.
+ (contact_deleted_cb): call eab_editor_contact_* instead of
+ emitting a signal here. also call eab_editor_close
+ (delete_cb): use eab_editor_ functions.
+ (e_contact_editor_dispose): chain up to our parent's ::dispose.
+ (contact_editor_destroy_notify): use eab_editor_remove.
+ (e_contact_editor_new): use eab_editor_add, and remove the
+ g_object_ref/gtk_object_sink two-step.
+ (_popup_position): nuke dead function.
+ (set_fields): i is an index, not a field_id.
+ (e_contact_editor_raise): make this static, and it takes an
+ EABEditor arg now, not a EContactEditor.
+ (e_contact_editor_show): same.
+ (e_contact_editor_request_close_all): nuke.
+
+ * gui/contact-editor/e-contact-editor.h: nuke a bunch of
+ prototypes for functions that are now either virtual functions
+ from EABEditor or eab_editor_* functions.
+ (struct _EContactEditor): we subclass from EABEditor.
+ (struct _EContactEditorClass): same, and remove the signals.
+
+ * gui/widgets/e-addressbook-view.c (delete): call
+ eab_editor_confirm_delete.
+
+ * gui/widgets/eab-popup-control.c (contact_editor_cb): don't
+ bother calling e_contact_editor_raise since this is a new contact
+ editor anyway.
+
+ * gui/widgets/eab-gui-util.c (eab_show_contact_list_editor): use
+ EABEditor signals, and eab_editor_show.
+
+ * gui/widgets/e-minicard.h: "editor" is now of type EABEditor, not
+ GObject.
+
+ * gui/widgets/e-minicard.c (e_minicard_event): just use
+ eab_editor_raise instead of
+ e_contact_editor_raise/e_contact_list_editor_raise.
+
+ * gui/component/addressbook-component.c (impl_requestQuit):
+ implement this again, calling eab_editor_request_close_all.
+ (addressbook_component_class_init): fill in epv->requestQuit.
+
+2004-03-24 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/eab-editor.[ch]: superclass for both
+ EContactEditor and EContactListEditor. A start toward simplifying
+ the interface to both of them, and a place to abstract code.
+
+ * gui/contact-editor/Makefile.am (libecontacteditor_la_SOURCES):
+ add eab-editor.[ch]
+
+2004-03-24 Danilo Å egan <dsegan@gmx.net>
+
+ * gui/widgets/e-addressbook-model.c (update_folder_bar_message):
+ Use ngettext for handling plural forms (fixes bug #53464).
+ * gui/widgets/eab-gui-util.c (eab_show_multiple_contacts): Likewise.
+ * gui/widgets/eab-vcard-control.c (pstream_load): Likewise.
+
+
+2004-03-22 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #53653, and a couple other instances ]
+
+ * gui/widgets/eab-gui-util.c (file_exists): REJECT -> CANCEL, so
+ esc works (patch from Pratik V. Parikh <pratikvp@despammed.com>)
+ (save_it): REJECT -> CANCEL.
+ (eab_select_source): same.
+
+2004-03-17 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #53625.
+
+ * gui/widgets/eab-contact-display.c (render_contact): Show home and
+ mobile phone numbers too.
+
+2004-03-15 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/contact-editor/e-contact-editor.c (enable_writable_fields) :
+ loop only up to < G_N_ELEMENTS instead of <= G_N_ELEMENTS. Prevents
+ out of bound indexing of addresses array
+
+2004-03-15 Hao Sheng <hao.sheng@sun.com>
+
+ * gui/component/Makefile.am : build a11y/addressbook dir
+ * gui/widgets/e-addressbook-view.c :
+ (eab_view_class_init) : add the accessibility support for
+ EAddressbookView
+ * gui/widgets/e-minicard-view.c :
+ (e_minicard_view_class_init) : add the accessibility support for
+ EMinicardView
+ * gui/widgets/e-minicard.c :
+ (e_minicard_class_init) : add the accessibility support for EMinicard
+
+2004-03-10 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-contact-display.c (render_address): #if 0 this,
+ since nothing uses it anymore.
+ (accum_address): new function, build up a GString.
+ (accum_name_value): same.
+ (accum_attribute): same.
+ (render_contact): don't just blindly render the work/personal
+ blocks, since if they're empty it looks stupid. instead,
+ accumulate each block into a GString and only output the entire
+ block if the string is non-empty.
+
+2004-03-10 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (phone_entry_changed):
+ phone_choice is an index into the phones array.
+ (_phone_arrow_pressed): same.
+ (address_text_changed): address_choice is an index into the
+ addresses array.
+ (_address_arrow_pressed): same.
+ (set_address_field): same.
+ (_email_arrow_pressed): email_choice is an index into the emails
+ array.
+ (full_addr_clicked): same, and same with
+ s/addresses/address_editable.
+ (e_contact_editor_init): initialize the *_choice fields as indices
+ into their respective *es arrays.
+ (e_contact_editor_build_address_ui): initialize the labels from
+ the addresses array.
+ (set_fields): *_choice fields are indices into *es arrays.
+ (enable_writable_fields): same.
+
+2004-03-09 Rodney Dawes <dobey@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (_arrow_pressed): Don't try
+ to calculate the position of the popup menu for the dropdowns
+
+2004-03-09 Rodney Dawes <dobey@ximian.com>
+
+ * gui/contact-editor/e-contact-editor-im.c (e_contact_editor_im_edit):
+ Remove the dialog separator, and set appropriate border widths for the
+ button area box and the dialog's vbox
+ * gui/contact-editor/im.glade: Apply patch from Christian Neumair to
+ make the IM editor dialog HIG compliant
+
+2004-03-08 Sivaiah Nallagatla <snallagatla@novell.com>
+ * gui/contact-editor/e-contact-editor.c (enable_writable_fields):
+ fixed a typo, which is causing probelm in building up email ui
+
+2004-03-04 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook-config.c :
+ (addressbook_add_server_druid) : maintain a list of only those source groups which are added to menu
+ instead of all
+ (source_group_changed_cb) : use the new list to get the selected group
+ (addressbook_source_dialog_destroy) : free the new list
+
+2004-03-04 Not Zed <NotZed@Ximian.com>
+
+ ** See #54991.
+
+ * gui/component/select-names/e-select-names-completion.c
+ (e_select_names_completion_start_query): dont try to unref a null
+ query.
+ (name_style_query): use a GString to build the query, so we can
+ use e_sexp_encode_string to properly encode the sub terms.
+
+2004-03-03 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-component.c (delete_addressbook_cb):
+ Set error to NULL before using it.
+
+2004-03-03 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-component.c (delete_addressbook_cb):
+ Remove local data, with error reporting on failure.
+
+2004-03-02 Larry Ewing <lewing@ximian.com>
+
+ * gui/component/addressbook-component.c: add drop support for
+ text/x-vcard to the source list.
+
+2004-02-27 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-contact-display.c
+ (eab_contact_display_render_compact): ref the pixbuf before we
+ close/unref the loader so the pixbuf sticks around, and make the
+ scaling logic a bit more transparent.
+
+2004-02-27 Rodney Dawes <dobey@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Change the button relief
+ back to normal for the drop-down buttons and move the text labels
+ inside the buttons as well
+
+2004-02-27 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (eab_view_set_property): add
+ missing "break" to PROP_SOURCE's case.
+
+2004-02-27 Rodney Dawes <dobey@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: Get rid of some extraneous
+ event boxes that were not needed/used for anything really
+ Set the button relief for the pop-down buttons to NONE
+ Set the shadow type for the arrows in the pop-down buttons to NONE,
+ so that we look good with themes that actually handle shadow types on
+ arrows, since most things just ignore the shadow type anyway
+
+ Fixes #8516
+
+2004-02-26 Hans Petter Jansson <hpj@ximian.com>
+
+ * util/eab-destination.c (name_and_email_cb): Move unused variable
+ declaration inside notyet conditional.
+
+ * printing/e-contact-print.c: Include gal/util/e-util.h
+
+ * gui/merging/eab-contact-compare.c (eab_contact_locate_match): Cast
+ callback to an EBookCallback.
+ (eab_contact_locate_match_full): Ditto.
+
+ * gui/contact-editor/e-contact-quick-add.c (quick_add_set_name):
+ Remove unused variable and cast 3rd arg to e_contact_set () (perhaps
+ this should take a gconstpointer?).
+
+ * gui/contact-editor/e-contact-editor-im.c (setup_service_optmenu):
+ Remove unused variable.
+
+ * gui/component/select-names/e-select-names.c (e_select_names_init):
+ Cast the vbox to a GtkBox.
+
+ * gui/component/addressbook-config.c (dialog_to_source): Correctly cast
+ the spin button to a GtkSpinButton, not a GtkEntry.
+
+ * gui/component/addressbook-component.c (load_primary_selection):
+ Remove unused variable.
+
+2004-02-26 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-contact-display.c (render_contact): add the
+ Groupwise IM attributes to the list of those we render.
+
+2004-02-26 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (set_view_preview): call
+ eab_view_show_contact_preview here so we maintain the preview
+ state when switching folders. we don't (yet... won't ever?) have
+ per-addressbook preview settings.
+
+2004-02-26 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c
+ (eab_view_show_contact_preview): view->scrolled ->
+ view->contact_display. fixes crash.
+
+2004-02-26 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (edit_im_clicked): fix
+ checks for locations.
+
+2004-02-26 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/im.glade: set the location label/option menu
+ to visible.
+
+ * gui/contact-editor/e-contact-editor.c (add_im_clicked): build up
+ the vcard attributes manually so we can set the TYPE= parameter to
+ the location the user specifies.
+ (edit_im_clicked): same. Also, use COLUMN_IM_LOCATION_TYPE, which
+ is not localized to pass the location to the editor.
+ (remove_im_clicked): reindent.
+ (im_treeview_drag_data_get_cb): same.
+ (im_treeview_drag_data_rcv_cb): same.
+ (setup_im_treeview): add another column for the (non-localized)
+ location type, and reindent.
+ (add_im_field): use the new attribute api for EContact so we can
+ get the location of each account, and set things appropriately on
+ the store.
+
+ * gui/contact-editor/e-contact-editor-im.c
+ (e_contact_editor_im_class_init): reindent.
+ (e_contact_editor_im_new): same.
+ (fill_in_info): same.
+
+2004-02-25 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/contact-editor/e-contact-editor-im.c : added
+ groupwise im related label and icon image file name
+
+ * gui/contact-editor/e-contact-editor.c :
+ (im_treeview_drag_data_get_cb), (im_treeview_drag_data_rcv_cb) :
+ (set_im_fields) : added code to add Gw Im id to contact-editor
+
+
+2004-02-24 Hans petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-quick-add.c (quick_add_set_name):
+ Port to new way of setting name in contact.
+
+2004-02-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/addressbook-migrate.c (migration_context_new):
+ don't init the dialog here
+ (addressbook_migrate): init it here
+
+ Fixes #54214
+
+2004-02-20 Chris Toshok <toshok@ximian.com>
+ * gui/contact-editor/e-contact-editor.c (phone_entry_changed):
+ remove some spew.
+
+2004-02-19 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/component-factory.c: s/HAVE_NSS/ENABLE_SMIME.
+
+ * gui/component/addressbook-component.c: s/HAVE_NSS/ENABLE_SMIME.
+
+2004-02-19 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook.c (activate_source): split out the
+ majority of the set_prop code for PROPERTY_SOURCE_UID_IDX here, so
+ it can be used for both SOURCE_UID and FOLDER_URI.
+ (set_prop): add a setter for "folder_uri". we sorta fudge things
+ and use the uri for the uid (the uid is only used as a hash key to
+ look up the view associated with the uri/source, so we should be
+ good still.)
+ (get_prop): add getter for "folder_uri".
+ (addressbook_new_control): add the "folder_uri" property to our
+ property bag.
+
+2004-02-19 Hans Petter Jansson <hpj@ximian.com>
+
+ Fixes #45308 and duplicates.
+
+ * gui/widgets/e-addressbook-model.c (eab_model_set_property): Store
+ the IDs of book signals connected to, so we can disconnect from them
+ later.
+
+2004-02-18 Hao Sheng <hao.sheng@sun.com>
+
+ [ fixes bug #52765 ]
+
+ * gui/contact-editor/e-contact-editor.c
+ (e_contact_editor_confirm_delete): make delete dialog support
+ ESC press.
+
+2004-02-17 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.h (struct
+ _EContactListEditor): add image_set slot.
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (list_image_changed_cb): set image_set = TRUE.
+ (e_contact_list_editor_init): init image_set = FALSE
+ (extract_info): only set the LOGO attribute if image_set = TRUE.
+
+ * gui/contact-editor/e-contact-editor.h (struct _EContactEditor):
+ add image_set slot.
+
+ * gui/contact-editor/e-contact-editor.c (extract_info): only set
+ the PHOTO attribute if image_set == TRUE.
+ (image_chooser_changed): new function, set image_set = TRUE and
+ call widget_changed.
+ (e_contact_editor_init): init image_set to FALSE.
+ (_address_arrow_pressed): quiet compiler.
+
+2004-02-17 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #53620 ]
+
+ * gui/merging/eab-contact-compare.c (eab_contact_compare_name): ""
+ is a valid (and common) value for elements of EContactName now.
+ it's semantically equivalent to NULL in the old ECard foo.
+
+2004-02-12 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (migrate_contacts): free up
+ the list returned by e_book_get_contacts.
+
+2004-01-12 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/addressbook-component.c (delete_addressbook_cb):
+ Fix capitalization of Address Book usage in sentence form
+ * gui/component/ldap-config.glade: Use Address Book instead of
+ Addressbook in here (Patch from Aaron Weber <aaron@ximian.com>)
+
+2004-02-11 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/addressbook-component.c (delete_addressbook_cb):
+ (fill_popup_menu_callback):
+ * gui/widgets/e-addressbook-view.c (init_collection):
+ * gui/widgets/eab-gui-util.c (eab_error_dialog):
+ * gui/widgets/eab-popup-control.c (eab_popup_control_contstruct):
+ Address Book, not Addressbook
+
+ Fixes #54166 and #54120
+
+2004-02-10 JP Rosevear <jpr@ximian.com>
+
+ * Makefile.am: build importers dir
+
+2004-02-08 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/addressbook-migrate.c (create_groups): Initialize the
+ personal_source to NULL
+
+ Fixes #54015
+
+2004-02-08 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/widgets/e-addressbook-view.c (delete) : pass contact
+ as an argument instead of contact id to e_book_async_remove_contact
+
+2004-02-06 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (create_groups): don't
+ bother using a function-wide variable to store the personal
+ source. also, use g_build_filename properly (because fejj is a
+ whiner.)
+ (migrate_local_folders): same (wrt fejj whining).
+
+2004-02-06 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/addressbook.c (addressbook_new_control): Hide the
+ border on the notebook also
+ * gui/widgets/e-addressbook-view.c (eab_view_new): Don't pack another
+ scrolled window inside of a scrolled window, just pack the contact
+ display inside the paned, since it already has a scrolled window
+
+2004-02-06 Rodney Dawes <dobey@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c: Use "Address Book" instead of
+ "folder" or "Addressbook" for the "Address Book Sources..." and
+ copy/move contact menu items
+
+ Fixes #53654
+
+2004-02-06 Chris Toshok <toshok@ximian.com>
+
+ * importers/evolution-ldif-importer.c (getNextLDIFEntry): only set
+ the address if something in it's been filled in.
+ (resolve_list_card): build up a separate list representing the xml
+ formatted crud.
+ (process_item_fn): remove FIXME.
+ (factory_fn): use g_new0 since we test for NULL-ness later on.
+
+ * importers/evolution-vcard-importer.c (factory_fn): use g_new0
+ since we test for NULL-ness later on.
+
+2004-02-06 JP Rosevear <jpr@ximian.com>
+
+ * importers/evolution-ldif-importer.c (importer_destroy_cb):
+ implement
+
+2004-02-06 JP Rosevear <jpr@ximian.com>
+
+ * importers/evolution-vcard-importer.c (importer_destroy_cb):
+ implement
+ (load_file_fn): use g_file_get_contents to get a string we can
+ convert to a contact list with eab_contact_list_from_string
+
+2004-02-06 JP Rosevear <jpr@ximian.com>
+
+ * importers/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in:
+ shlib importer info
+
+ * importers/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in:
+ ditto
+
+ * importers/Makefile.am: build shlib addressbook importers
+
+ * importers/evolution-ldif-importer.c: First crack at resurrecting
+
+ * importers/evolution-vcard-importer.c: ditto
+
+2004-02-03 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-contact-display.c (on_url_requested): remove
+ some spew, and add an evo-icon: handler, for things in evolution's
+ imagedir.
+ (render_address): hack up the html.
+ (render_name_value): new function, just render a name/value/icon.
+ (render_attribute): split out most of this function into
+ render_name_value. this just checks to see if the EContact
+ attribute has something in it before passing it along.
+ (render_contact_list): split this out from
+ eab_contact_display_render_normal.
+ (start_block): new function, insert a row of height 20 with a
+ header.
+ (end_block): new function, insert a row of height 20.
+ (render_contact): split this out from
+ eab_contact_display_render_normal, and prettify the contact
+ display.
+ (eab_contact_display_render_normal): call render_contact and
+ render_contact_list.
+ (eab_contact_display_new): create a scrolled window and add the
+ GtkHTML to it so we actually have scrollbars.
+
+2004-02-03 Dan Winship <danw@ximian.com>
+
+ * gui/component/select-names/Makefile.am (INCLUDES): add
+ widgets/misc for e-activity-handler.h
+
+2004-02-03 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/component/addressbook-config.c (dialog_to_source)
+ (source_to_dialog) : use gtk_spin_button_* apis to get and set
+ values for download limit spin button instead of gtk_entry
+ Fixes #53432
+
+2004-02-02 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (eab_view_new): hook up
+ contact_changed/contact_removed signals.
+ (contact_changed): new function. if the changed contact is the
+ one we're displaying, re-render it.
+ (contact_removed): new function. if the removed contact is the
+ one we're displaying, clear the display.
+ (render_contact): set displayed_contact to the row.
+ (eab_view_init): init displayed_contact to -1.
+ (selection_changed): set displayed_contact to -1 when we clear the
+ display.
+
+ * gui/widgets/e-addressbook-view.h (struct _EABView): add
+ "displayed_contact" so we can update the contact preview when it
+ changes.
+
+2004-01-30 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c: enable d&d drop photos.
+
+ * gui/contact-editor/contact-editor.glade: use
+ eab_create_image_chooser_widget for the d&d'able image.
+
+ * gui/contact-list-editor/e-contact-list-editor.c: abstract out
+ all the d&d image support (it's now in
+ widgets/misc/e-image-chooser.[ch]).
+
+ * gui/contact-list-editor/contact-list-editor.glade: use
+ eab_create_image_chooser_widget for the d&d'able image.
+
+ * gui/widgets/eab-gui-util.c (eab_create_image_chooser_widget):
+ new function.
+
+ * gui/widgets/eab-gui-util.h: add prototype for
+ eab_create_image_chooser_widget.
+
+2004-01-29 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/widgets/eab-gui-util.c (source_selection_changed_cb): Implement.
+ (eab_select_source): Implement. Public function that prompts user to
+ select a source from a list.
+ (eab_transfer_contacts): Enable and use eab_select_source () and
+ ESource, instead of old shell folder/URI stuff.
+
+2004-01-29 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/ldap-config.glade: Changed "Finish" to "Apply" in
+ dialog finish page text.
+
+2004-01-29 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-config.c (dialog_to_source): Sync the
+ modified source list.
+
+ * gui/component/addressbook-component.c (delete_addressbook_cb): Sync
+ the modified source list.
+
+2004-01-29 Chris Toshok <toshok@m198-139.dsl.rawbw.com>
+
+ * gui/component/addressbook-migrate.c (setup_progress_dialog): use
+ the MigrationContext struct.
+ (dialog_close): same.
+ (dialog_set_folder_name): same.
+ (dialog_set_progress): same.
+ (migrate_contacts): same, and pass it along to other functions.
+ (migrate_contact_folder_to_source): same.
+ (migrate_contact_folder): same. also, add the old path/uid to the
+ folder_uid_map.
+ (migrate_local_folders): same.
+ (create_groups): use the MigrationContext struct.
+ (migrate_completion_folders): if it's a file uri, look up the old
+ path in our hash table for a uid to use. otherwise use the old
+ behavior.
+ (migration_context_new): new function, initialize the
+ MigrationContext.
+ (migration_context_free): free up everything.
+ (addressbook_migrate): create the context, pass it to everything,
+ destroy the context, shine toshok's shoes, etc.
+
+2004-01-29 Radek Doulik <rodo@ximian.com>
+
+ * gui/component/addressbook-config.c (dialog_to_temp_source): set
+ group to temporary source
+
+2004-01-28 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/select-names/e-select-names-table-model.c
+ (fill_in_info): Get file_as instead of full_name.
+
+ * gui/compoent/select-names/e-select-names.etspec: Show the file_as
+ column instead of full_name.
+
+2004-01-27 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor-fullname.c
+ (e_contact_editor_fullname_set_property): Handle NULL name. Fixes
+ #53071.
+
+2004-01-27 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-config.c (dialog_to_source): set the
+ relative_uri of a local source to be its uid.
+
+ * gui/component/addressbook-migrate.c
+ (migrate_contact_folder_to_source): remove the dest_group arg,
+ since we don't use it.
+ (migrate_contact_folder): set the relative uri of the source to be
+ its uid.
+ (PERSONAL_RELATIVE_URI): "Personal" -> "system".
+ (create_groups): don't actually make the directory hierarchy for
+ the personal folder here. let e-d-s do that. Also remove
+ OnThisComputer from the base uri.
+ (migrate_local_folders): track change to
+ migrate_contact_folder_to_source.
+
+2004-01-26 Chris Toshok <toshok@ximian.com>
+
+ [ Should fix #53361 and other migration problems/crashes ]
+ * gui/component/addressbook-migrate.c
+ (migrate_contact_folder_to_source): new function, takes most of
+ migrate_contact_folder's contents. Fix some of the refcounting
+ problems though, by not unreffing dest_group, and using
+ e_group_add_source instead of e_source_set_group.
+ (migrate_contact_folder): convert to calling
+ migrate_contact_folder_to_source.
+ (create_groups): add an out parameter for *personal_source.
+ (migrate_local_folders): add personal_source as an arg, so we can
+ get the source that create_groups created/found. Call
+ migrate_contact_folder_to_source for the personal_source.
+ (addressbook_migrate): pass personal_source to
+ migrate_local_folders.
+
+2004-01-26 Chris Toshok <toshok@ximian.com>
+
+ [ fixes #53238 ]
+ * util/eab-destination.c (nonempty): make this accept NULL's (and
+ return FALSE for them).
+ (eab_destination_is_empty): shorten some of the tests since
+ nonempty takes NULL now.
+ (eab_destination_get_address): only call
+ camel_internet_address_add if both name and email are non-empty.
+ otherwise call camel_address_decode and let camel try to deal with
+ it.
+ (eab_destination_xml_encode): call xmlEncodeEntitiesReentrant on
+ the strings before adding them to the xml, so people that enter
+ [<>&] won't end up with broken EABDestinations.
+
+2004-01-26 Radek Doulik <rodo@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (selection_received): make sure
+ we pass \0 terminated string to eab_contact_list_from_string
+ [it may fix #51743]
+
+2004-01-25 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #51171 ]
+ * gui/widgets/eab-gui-util.c (eab_send_contact_list): get this
+ working.
+
+2004-01-24 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/select-names/e-select-names.c (e_select_names_init):
+ Select Contacts from Address Book, not Contents
+
+ Fixes #53263
+
+2004-01-24 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (migrate_local_folders):
+ oops.
+ (migrate_contact_folder): fix the unreffing.
+
+2004-01-24 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (migrate_local_folders): use
+ _("Personal"), not "Personal".
+
+2004-01-24 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (migrate_local_folders):
+ don't create/add the source here. it's done in
+ migrate_contact_folder.
+
+2004-01-24 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (migrate_local_folders): use
+ e_folder_map_local_folders.
+ (find_addressbook_dirs): nuke.
+
+2004-01-24 JP Rosevear <jpr@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (init_collection): use
+ .evolution to store view info
+
+2004-01-23 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #52571 ]
+ * util/eab-book-util.c (escape): ugh. name fields that have \"
+ around the name break our queries, because it turns it into (for
+ instance): (contains "full_name" ""Toshok""). so we need to turn
+ that into: (contains "full_name" "\"Toshok\"").
+ (eab_name_and_email_query): escape both the name and email, and
+ use an EBookQuery instead of passing the string to
+ e_book_async_get_contacts. Looks like ross missed a couple of
+ spots.
+ (eab_nickname_query): same.
+
+ * gui/component/addressbook.c (free_load_source_data): new
+ function, free up the data and unref the source if there is one.
+ (load_source_auth_cb): call free_load_source_data instead of just
+ g_free'ing the struct.
+ (load_source_cb): same.
+ (default_book_cb): new function, we need this so we can fill in
+ the source for the default book. get the source, then call
+ load_source_cb to continue processing as normal.
+ (addressbook_load_default_book): use default_book_cb instead of
+ load_source_cb.
+
+2004-01-22 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #53184 ]
+ * gui/component/addressbook-migrate.c (migrate_contacts): handle
+ the fact that the xml 1.4 spits out contains unescaped ';'s in the
+ EMAIL attributes for mailing lists.
+
+2004-01-22 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #52944 ]
+ * gui/component/addressbook-migrate.c (migrate_contacts): do some
+ massaging of contacts as we import them, to fix up the differences
+ between 1.4 and 1.5 vcards.
+
+2004-01-21 Nat Friedman <nat@novell.com>
+
+ * gui/contact-editor/contact-editor.glade: Added missing
+ entry-blog widget.
+
+2004-01-21 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-config.c (create_source_dir): Remove.
+ (dialog_to_source): Don't create source dir, backend takes care of
+ that now.
+
+2004-01-21 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-component.c
+ (addressbook_component_peek_gconf_client): new function.
+
+ * gui/component/addressbook-component.h: add prototype for
+ addressbook_component_peek_gconf_client.
+
+ * gui/component/addressbook-migrate.c
+ (migrate_completion_folders): more gross hacking. migrate the
+ completion settings.
+ (get_source_by_uri): function to search for an ESource given the
+ entire uri. used for migrate_completion_folders.
+ (migrate_ldap_servers): get_string_value -> get_string_child.
+ same with get_integer_child.
+ (get_string_child): rename to make it apparent it's a child, not a
+ property.
+ (get_integer_child): same.
+ (addressbook_migrate): call migrate_completion_folders.
+
+2004-01-21 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (new_target_cb): call
+ widget_changed here too, since we're changing the destination.
+
+2004-01-20 Chris Toshok <toshok@ximian.com>
+
+ [ fixes bug #52955 ]
+ * gui/merging/eab-contact-compare.c (use_common_book_cb): handle
+ the case properly where there are no query parts (p == 0).
+ Instead of passing "" to e_book_query_from_string, just set the
+ query to NULL.
+
+ * util/eab-book-util.c (eab_contact_list_to_string): we need to
+ put a blank line here, so \r\n\r\n, not just \r\n.
+
+2004-01-20 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (create_groups): deal with
+ the groups/sources already being there. Essentially make this
+ function idempotent.
+ (addressbook_migrate): unconditionally call create_groups now.
+ move the version logic here from ipl_upgradeFromVersion, and
+ include more versions in the set of those we upgrade from.
+
+ * gui/component/addressbook-migrate.h: add major/minor/revision
+ args to addressbook_migrate.
+
+ * gui/component/addressbook-component.c (impl_upgradeFromVersion):
+ remove the version logic from here.
+
+2004-01-20 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * printing/e-contact-print.c (e_contact_print_response): do not
+ try to unref when query is NULL
+
+2004 -01-20 Sivaiah Nallagatla <snallagatla@novell.com>
+
+ * gui/contact-editor/e-contact-editor.c (edit_im_clicked) : do not call
+ gtk_tree_model_get when nothing in the list is selected
+
+2004-01-19 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/select-names/e-select-names.etspec: Get name from
+ correct model column.
+
+2004-01-19 Hans Petter Jansson <hpj@ximian.com>
+
+ * printing/e-contact-print.c (complete_sequence): Only unref if we
+ have a query.
+
+2004-01-19 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-component.c
+ (get_primary_source): Implement.
+ (load_primary_selection): Use get_primary_source ().
+ (impl_requestCreateItem): Use get_primary_source (), fixing a crash
+ when we're asked to create a new item and we don't have the controls.
+
+2004-01-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook.c (load_source_auth_cb): Don't run
+ callback if the action was cancelled.
+ (load_source_cb): Ditto.
+ (addressbook_load_source): Return an ID for the load attempt.
+ (addressbook_load_source_cancel): Implement, allows cancelling a
+ load attempt.
+
+ * gui/contact-editor/e-contact-editor.c (new_target_cb): Clear the
+ values for in-progress load operation. Only unref new_book if it's
+ non-NULL.
+ (cancel_load): Implement. Cancels the load operation if one is in
+ progress.
+ (source_selected): Cancel any running load operation before starting
+ a new one. Set up in-progress values.
+ (e_contact_editor_init): Clear the in-progress values.
+ (e_contact_editor_dispose): Cancel load operation.
+ (e_contact_editor_set_property): If a new target book is set, cancel
+ any conflicting load operation in progress.
+
+ * gui/widgets/e-addressbook-view.c (set_paned_position): Remove
+ debug output.
+ (get_paned_position): Ditto.
+
+2004-01-16 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/addressbook.c (set_prop): only set the menus and
+ command state if we actually are already displayed, otherwise wait
+ for activation
+
+2004-01-15 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (set_paned_position): Implement.
+ (get_paned_position): Implement.
+ (eab_view_new): Connect signal to get paned position changes.
+ Remove old hack.
+ (display_view): Set paned position properly.
+
+2004-01-12 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/addressbook-component.c (impl_upgradeFromVersion):
+ revert dumb upgrade change
+
+2004-01-12 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/addressbook-component.c (impl_upgradeFromVersion):
+ migrate from 1.5.0 and 1.5.1 properly
+
+2004-01-12 JP Rosevear <jpr@ximian.com>
+
+ * gui/contact-editor/contact-editor.glade: de-bold ui elements
+
+2004-01-09 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-component.c (add_popup_menu_item): Take a
+ sensitivity flag per menu item, and fall back to stock icons.
+ (delete_addressbook_cb): Implement.
+ (fill_popup_menu_callback): Reorder items, remove "remove" item, set
+ sensitivity.
+
+ * gui/component/ldap-config.glade: "Edit LDAP Server" ->
+ "Addressbook Properties".
+
+2004-01-11 Christian Hammond <chipx86@gnupdate.org>
+
+ * addressbook/gui/contact-editor/e-contact-editor-im.[ch],
+ addressbook/gui/contact-editor/im.glade: Added a dialog for
+ adding a new IM account.
+ * addressbook/gui/contact-editor/Makefile.am: Added the previously
+ mentioned files, and depend on camel for necessary MIME parsing.
+
+ * addressbook/gui/contact-editor/contact-editor.[ch],
+ addressbook/gui/contact-editor/contact-editor.glade: Add and implement
+
+2004-01-09 Ross Burton <ross@burtonini.com>
+
+ * gui/component/select-names/e-select-names-completion.c:
+ * gui/merging/eab-contact-compare.c:
+ * gui/widgets/e-addressbook-model.c:
+ * printing/e-contact-print.c:
+ Update for API changes to e-book-async.
+
+2004-01-08 Ross Burton <ross@burtonini.com>
+
+ * gui/contact-editor/contact-editor.glade:
+ * gui/contact-editor/e-contact-editor.c:
+ Add the video conferencing field.
+
+2004-01-07 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/select-names/e-select-names.c:
+ * gui/component/select-names/select-names.glade: Make the ESelectNames
+ object be a HIG-compliant dialog, change "Folder" to be "Address Book",
+ and fix a mnemonic conflict with "Category" and "Cancel"
+
+ Fixes #51966
+
+2004-01-07 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/addressbook-component.c: Move the smime_component_init
+ call to the instance init callback, rather than the class init, and
+ wrap it in #if HAVE_NSS, so the addressbook works without smime support
+
+2004-01-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/Makefile.am: link in printer stuff
+
+ Fixes #51172
+
+2004-01-06 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-migrate.c (check_for_conflict): remove
+ spew.
+ (migrate_contacts): same.
+ (migrate_contact_folder): same.
+ (migrate_local_folders): same, and plug a leak.
+
+2004-01-06 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_SOURCES):
+ add addressbook-migrate.[ch].
+
+ * gui/component/addressbook-component.c
+ (addressbook_component_init): remove the source creation from
+ here, it's in the migration code now.
+ (impl_upgradeFromVersion): new function, call the
+ addressbook-migration stuff.
+ (addressbook_component_class_init): fill in
+ epv->upgradeFromVersion, and call smime_component_init.
+ (addressbook_component_peek_base_directory): new function.
+ (addressbook_component_peek_source_list): same.
+
+ * gui/component/addressbook-component.h: add prototypes for
+ _peek_base_directory and _peek_source_list.
+
+ * gui/component/addressbook-migrate.[ch]: add migration code to
+ convert stuff from 1.x over to 1.5/2.0.
+
+2004-01-06 Rodney Dawes <dobey@ximian.com>
+
+ * gui/contact-editor/e-contact-editor-address.c: Apply
+ patch from Roozbeh Pournader to update countries list
+
+ Fixes #48151
+
+2004-01-06 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/select-names/e-select-names-popup.c
+ (popup_info_cleanup): disconnect from selection-done signal
+
+2004-01-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/addressbook.c
+ (addressbook_show_load_error_dialog): these line breaks in the
+ error messages should actually be spaces
+
+ Fixes #51732
+
+2003-12-19 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-component.c (find_first_source): Impl.
+ from calendar.
+ (save_primary_selection): Implement, similar to calendar.
+ (load_primary_selection): Implement, similar to calendar.
+ (primary_source_selection_changed_callback): Save selection.
+ (impl_createControls): Load selection.
+
+2003-12-18 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (widget_changed):
+ editable -> target_editable
+ (e_contact_editor_get_property): Same.
+ (_email_arrow_pressed): Same.
+ (enable_writable_fields): Same.
+ (set_editable): Same.
+ (contact_added_cb): Make sure source book is editable before trying
+ to remove contact from there.
+ (e_contact_editor_init): Set up source/target editability.
+ (command_state_changed): Allow save only if target editable. Allow
+ delete only if source editable.
+ (e_contact_editor_set_property): Set editability flags for
+ source/target.
+
+ * gui/contact-editor/e-contact-editor.h: Add source_editable,
+ target_editable flags in place of old editable flag.
+
+2003-12-17 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (eab_view_class_init): install
+ the "source" property.
+ (eab_view_init): init eav->source to NULL.
+ (eab_view_dispose): disconnect the ecml_changed_id and unref
+ source.
+ (eab_view_new): create the search bar here.
+ (view_preview): c&p the mailer's code mostly for this - this is
+ the toggle listener for the Preview Pane menuitem.
+ (setup_menus): add a listener for the ContactsViewPreview toggle.
+ (eab_view_set_property): sensitize the search bar based on whether
+ or not we have a book set. This makes it so you can't search
+ until the book is loaded. Also add handling for the "source"
+ attribute and print a warning when it's set multiple times
+ (something that's not supported at the moment.)
+ (eab_view_get_property): add "source" case.
+ (search_activated, query_changed, compare_subitems, make_subitems,
+ ecml_changed, get_master_list, connect_master_list_changed): move
+ this here from addressbook.c
+ (eab_view_show_contact_preview): implement - just show or hide the
+ scrolled window.
+ (eab_view_setup_menus): call e_search_bar_set_ui_component here,
+ kind of a hack.
+
+ * gui/widgets/e-addressbook-view.h: make this inherit from GtkVBox
+ instead of GtkEventBox since we'll be packing children. Add a
+ prototype for eab_view_show_contact_preview.
+
+ * gui/component/addressbook.c (get_current_view): return the
+ EABView associated with the active notebook page.
+ (save_contact_cb): use the current view.
+ (view_contact_cb): same.
+ (search_cb): same.
+ (delete_contact_cb): same.
+ (print_cb): same.
+ (print_preview_cb): same.
+ (stop_loading_cb): same.
+ (cut_contacts_cb): same.
+ (copy_contacts_cb): same.
+ (paste_contacts_cb): same.
+ (select_all_contacts_cb): same.
+ (send_contact_cb): same.
+ (send_contact_to_cb): same.
+ (copy_contact_to_cb): same.
+ (move_contact_to_cb): same.
+ (update_command_state): same.
+ (change_view_type): nuke, nothing uses this.
+ (control_activate): use the current view.
+ (control_activate_cb): same.
+ (source_list_changed_cb): new function, remove the notebook pages
+ (and destroy the EABView's) for sources that no longer exist.
+ (addressbook_view_clear): dispose of the uid_to_view hash.
+ (book_open_cb): store the ESource on the EABView too. this
+ function now takes a struct containing both EABView and ESource
+ since we can't store either in the AddressbookView.
+ (set_prop): if we have a view already for this uid, bring it up.
+ otherwise create a new one and start the book loading.
+ (addressbook_search_activated): nuked - this is being moved to
+ e-addressbook-view.
+ (addressbook_query_changed): same.
+ (compare_subitems, make_subitems, ecml_changed,
+ connect_master_list_changed): same.
+ (addressbook_new_control): simplify things a bunch. create a
+ notebook to store the views in. the search/vbox stuff is gone.
+ use e_source_list_new_for_gconf_default, and handle the source
+ list's "changed" signal.
+
+2003-12-17 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/autocompletion-config.c:
+ (autocompletion_config_control_new): Embed Tree in GtkScrolledWindow
+
+2003-12-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (contact_added_cb): Update
+ the contact's UID after normal add.
+
+2003-12-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook.c (addressbook_show_load_error_dialog):
+ Make a public function that shows an error dialog, which can be used
+ when a source fails to load.
+ (book_open_cb): Call addressbook_show_load_error_dialog () on error.
+ (set_prop): Don't reuse the book when loading a new source. This was
+ confusing the contact-editor, which gets the book passed in.
+
+ * gui/contact-editor/e-contact-editor.c (e_contact_editor_class_init):
+ Make "source_book" and "target_book" distinct properties.
+ (new_target_cb): Implement.
+ (source_selected): Implement.
+ (contact_moved_cb): Implement.
+ (contact_added_cb): Handle the case where source_book != target_book as
+ a move - if the add was successful, remove contact from source book.
+ (save_contact): Handle case where source_book != target_book.
+ (delete_cb): "book" renamed to "source_book".
+ (e_contact_editor_init): Set up source_selected signal.
+ (e_contact_editor_dispose): Dispose of both source and target books.
+ (e_contact_editor_new): "book" renamed to "source_book".
+ (e_contact_editor_set_property): If a source book is set, and we don't
+ have a target book, make target_book == source_book. Allow setting
+ target book, and base editability on that. If we're editing an existing
+ contact, treat book change as a change, and update command state.
+ (e_contact_editor_get_property): Allow getting target book.
+ (set_source_field): Indicate the selected book.
+
+2003-12-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (set_source_field): Implement.
+ Makes the source menu reflect the source for the current book.
+
+2003-12-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c
+ (e_contact_editor_create_source_option_menu): Implement. Creates
+ source selection option menu.
+
+ * gui/contact-editor/contact-editor.glade: Add source selection custom
+ widget.
+
+2003-12-16 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/widgets/e-addressbook-table-adapter.c
+ (addressbook_is_cell_editable): Disable cell editing.
+
+2003-12-15 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (address_to_text): Implement.
+ (text_to_address): Implement, using EAddressWestern.
+ (address_text_changed): Adapt to EContactAddress.
+ (full_addr_clicked): Ditto. Fix field IDs.
+ (e_contact_editor_init): Init address_choice.
+ (_email_arrow_pressed): Fix field IDs.
+ (_address_arrow_pressed): Adapt to EContactAddress and fix field IDs.
+ (find_address_mailing): Leave out for now. Addresses don't have flags
+ anymore...
+ (set_fields): Adapt to EContactAddress and fix field IDs. Make sure
+ changes to other widgets don't make us go back to the first listed
+ address.
+ (set_address_field): Adapt to EContactAddress and fix field IDs.
+ (enable_writable_fields): Ditto.
+ (fill_in_info): Disable find_address_mailing () for now.
+
+2003-12-10 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-editor/e-contact-editor-address.c
+ (e_contact_editor_address_class_init): Make "address" a boxed type.
+ (e_contact_editor_address_init): Set address to NULL.
+ (e_contact_editor_address_dispose): Free address.
+ (e_contact_editor_address_new): Take an EContactAddress.
+ (e_contact_editor_address_set_property): Re-implement setting the
+ address property.
+ (e_contact_editor_address_get_property): Ditto for getting.
+ (fill_in_info): Enable, use EContactAddress fields.
+ (extract_info): Ditto.
+
+ * gui/contact-editor/e-contact-editor-address.h:
+ Re-enable the address field, as EContactAddress.
+
+2003-12-09 JP Rosevear <jpr@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.c (fill_in_info):
+ free email list properly
+
+2003-12-09 JP Rosevear <jpr@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-editor.c (extract_info):
+ free the list, not unref it, and free the elements
+
+ Fixes #51976
+
+2003-12-06 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/select-names/e-select-names-manager.c
+ (open_book_cb): change prototype to fix warning, and change the
+ comment to read load_source instead of load_uri (which isn't what
+ we use anymore.)
+ (update_completion_books): just use our source list for this.
+ check the "completion" source property.
+ (source_list_changed): recreate the completion books.
+ (e_select_names_manager_init): connect to the source_list's
+ changed signal.
+ (e_select_names_manager_dispose): don't need to free the
+ completion_uids list anymore.
+
+ * gui/component/select-names/e-select-names-config.c
+ (e_select_names_config_get_completion_books,
+ e_select_names_config_set_completion_books,
+ e_select_names_config_add_notification_completion_books): remove.
+
+ * gui/component/select-names/e-select-names-config.h: remove the
+ completion books calls, since we can just use the source list.
+
+ * gui/component/component-factory.c (factory): create the
+ autocompletion control.
+
+ * gui/component/autocompletion-config.[ch]: new config control for
+ selecting completion folders. Uses e-source-selector. Could
+ probably be beautified a bit.
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_SOURCES):
+ add autocompletion-config.[ch]
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: remove
+ the ldap config control server, and add the autocompletion one.
+
+2003-12-06 JP Rosevear <jpr@ximian.com>
+
+ * */Makefile.am: Remove hard coded disable deprecated flags
+
+2003-12-05 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/select-names/select-names.glade: no more custom
+ widget for the selection of the search source
+
+ * gui/component/select-names/e-select-names.h: add member
+
+ * gui/component/select-names/e-select-names.etspec: update model
+ column
+
+ * gui/component/select-names/e-select-names.c (find_first_source):
+ find the first source in the list
+ (addressbook_model_set_source): we have the source to set directly
+ now
+ (source_selected): listen for the source item to change
+ (e_select_names_init): create a source option menu and hook it up
+ (e_select_names_dispose): destroy the source list
+ (e_select_names_new): do away with the config setup here
+
+ * gui/component/select-names/e-select-names-manager.h: update
+ members
+
+ * gui/component/select-names/e-select-names-manager.c
+ (update_completion_books): add books based on source uid
+ (config_completion_books_changed_cb): handle the completion list
+ changing
+ (config_min_query_length_changed_cb): handle minimum query length
+ changing
+ (e_select_names_manager_new): we don't do the settings stuff here
+ any more
+ (e_select_names_manager_init): do the initial set up here for the
+ book loaded and listen for changes
+ (e_select_names_manager_dispose): destroy the new stuff
+
+ * gui/component/select-names/e-select-names-config.[hc]: config
+ information
+
+ * gui/component/select-names/e-select-names-config-keys.h: the
+ config keys
+
+ * gui/component/select-names/e-select-names-bonobo.c
+ (impl_SelectNames_activate_dialog): do away with the shell client
+ stuff
+
+ * gui/component/select-names/Makefile.am: build new files
+
+2003-12-05 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-model.c (book_view_loaded): call
+ remove_book_view/free_data here as well, to guard against multiple
+ book_view's being loaded.
+
+2003-12-05 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/widgets/e-addressbook-view.etspec: Clean up and sync with
+ current model columns.
+
+2003-12-04 Christian Hammond <chipx86@gnupdate.org>
+
+ * addressbook/gui/contact-editor/e-contact-editor-im.[ch],
+ addressbook/gui/contact-editor/im.glade: Added a dialog for
+ adding a new IM account.
+ * addressbook/gui/contact-editor/Makefile.am: Added the previously
+ mentioned files, and depend on camel for necessary MIME parsing.
+
+ * addressbook/gui/contact-editor/contact-editor.[ch],
+ addressbook/gui/contact-editor/contact-editor.glade: Add and implement
+ the Instant Messaging tab.
+
+2003-12-03 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/addressbook.c
+ (retrieve_shell_view_interface_from_control): Remove.
+ (set_folder_bar_label): Remove.
+ (addressbook_new_control): Don't connect.
+
+2003-12-03 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/addressbook-config.c: Do not depend on
+ e-folder-list.
+
+ * gui/component/select-names/e-select-names.c: Remove dependency
+ on evolution-folder-selector-button.
+ (e_addressbook_create_folder_selector): Just return a FIXME label
+ for now.
+ (folder_selected): #if 0 out.
+ (e_select_names_init): Do not connect.
+
+ * gui/component/select-names/e-select-names-manager.c
+ (e_select_names_manager_activate_dialog): Don't get a shell_client
+ arg anymore.
+ (load_completion_books): Stub out.
+
+ * gui/component/select-names/e-select-names.c
+ (e_select_names_new): Don't get an EvolutionShellClient anymore.
+ Don't create the folder selector button for now.
+
+ * gui/component/select-names/e-select-names.h: Remove dependency
+ on evolution-shell-client.
+
+ * gui/component/select-names/e-select-names-bonobo.c: Remove
+ dependency on evolution-shell-client.
+ (impl_SelectNames_activate_dialog): Stub out.
+
+ * gui/widgets/eab-gui-util.c: Remove dependency on
+ evolution-shell-client.
+ (eab_transfer_contacts): Stub out.
+
+2003-12-02 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/Makefile.am: Version the schemas
+ * gui/component/apps_evolution_addressbook.schemas: Removed
+ * gui/component/apps_evolution_addressbook.schemas.in.in: Added
+
+2003-12-02 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/addressbook.c (set_status_message): Call
+ e_activity_handler_operation_finished() on the current activity ID
+ when done.
+
+2003-12-01 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/addressbook.c (struct AddressbookView): Replace
+ activity_client with activity_id.
+ (set_status_message): Use the EActivityHandler from the
+ AddressbookComponent.
+
+ * gui/component/addressbook-component.c (struct
+ _AddressbookComponentPrivate): New member activity_handler.
+ (addressbook_component_init): Init.
+ (impl_dispose): Unref.
+ (addressbook_component_peek_activity_handler): New.
+ (impl_createControls): Return an ETaskBar as the statusbar control
+ and attach it to the activity handler.
+
+2003-12-01 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/addressbook-component.c (impl_createControls):
+ Pass a label for the status bar control for now.
+
+2003-12-01 Larry Ewing <lewing@ximian.com>
+
+ * gui/component/Makefile.am (INCLUDES): remove
+ GTK_DISABLED_DEPRECATED so that we can build with gtk-2.3.
+
+2003-12-01 Rodney Dawes <dobey@ximian.com>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in:
+ * gui/component/addressbook-config.c:
+ * gui/component/addressbook.c:
+ * gui/component/component-factory.c:
+ * gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.server.in.in:
+ * gui/component/select-names/e-select-names-bonobo.c:
+ * gui/component/select-names/e-select-names-factory.c:
+ * gui/widgets/eab-gui-util.c:
+ * gui/widgets/eab-vcard-control.c: Use BASE_VERSION for repo_ids and
+ OAFIIDs
+
+2003-12-01 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/ldap-config.glade: Fix start page text.
+
+2003-12-01 JP Rosevear <jpr@ximian.com>
+
+ * conduit/Makefile.am: use privconduitdir
+
+ * conduit/e-address.conduit.in: subst right thing
+
+2003-12-01 JP Rosevear <jpr@ximian.com>
+
+ * conduit/e-address.conduit.in: specify privlibdir as the location
+
+ * conduit/Makefile.am: install the conduit to privlibdir
+
+2003-12-01 JP Rosvear <jpr@ximian.com>
+
+ * conduit/Makefile.am: version the .conduit file
+
+2003-12-01 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/new-addressbook.glade: Remove this too.
+
+ * gui/component/Makefile.am (glade_DATA): Remove new-addressbook.glade.
+
+2003-12-01 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_SOURCES):
+ Remove addressbook-storage.[ch] and new-addressbook.[ch].
+
+ * gui/component/addressbook-storage.[ch]: Removed from repository.
+
+ * gui/component/new-addressbook.[ch]: Removed from repository.
+
+ * gui/component/addressbook-component.c (load_uri_for_selection):
+ Set source_uid property on view control, not folder_uri.
+ (new_addressbook_cb): Call addressbook_config_create_new_source ().
+ (edit_addressbook_cb): Implement.
+ (fill_popup_menu_callback): Hook up edit_addressbook_cb ().
+ (addressbook_component_init): Create the LDAP source group.
+
+ * gui/component/addressbook-config.c (AddressbookSourceDialog):
+ Take out the NEW_ADVANCED_UI stuff and add ESource related vars.
+ (ldap_unparse_auth)
+ (ldap_parse_auth)
+ (ldap_unparse_scope)
+ (ldap_unparse_ssl)
+ (ldap_parse_ssl): Moved here from addressbook-storage.c.
+ (addressbook_dialog_get_source)
+ (addressbook_dialog_set_source)
+ (objectclasses_create_server_table)
+ (objectclasses_create_evolution_table)
+ (objectclasses_add_foreach)
+ (objectclasses_add)
+ (objectclasses_sever_double_click)
+ (objectclasses_remove_foreach)
+ (objectclasses_remove)
+ (objectclasses_evolution_double_click)
+ (objectclasses_restore_default)
+ (server_selection_model_changed)
+ (evolution_selection_model_changed)
+ (setup_objectclasses_tab): Nuke aging, unfinished NEW_ADVANCED_UI.
+ (add_source_clicked)
+ (edit_source_clicked)
+ (delete_server)
+ (delete_source_clicked)
+ (ldap_config_control_destroy_callback)
+ (ldap_config_control_apply_callback)
+ (sources_selection_changed)
+ (sources_table_row_activated)
+ (ldap_dialog_new)
+ (addressbook_dialog_create_sources_table)
+ (ldap_config_control_new)
+ (addressbook_config_control_new): Nuke config control.
+ (create_source_dir)
+ (dialog_to_source)
+ (dialog_to_temp_source)
+ (source_to_uri_parts)
+ (source_to_dialog)
+ (source_group_changed_cb)
+ (source_group_menu_add_groups)
+ (folder_page_forward)
+ (finish_page_back): Implement.
+ (addressbook_ldap_init): Take ESource instead of AddressbookSource.
+ (addressbook_ldap_auth): Don't take a source, not needed.
+ (addressbook_root_dse_query): Ditto.
+ (addressbook_source_dialog_destroy): Clean up destroy function.
+ (addressbook_add_server_druid_finish): Clean up, create ESource.
+ (general_tab_check): If it's not LDAP, these options don't matter.
+ (do_ldap_root_dse_query): Source no longer needed here.
+ (query_for_supported_bases): Use a temp source generated from
+ current dialog settings.
+ (display_name_page_prepare): Renamed to folder_page_prepare ().
+ (druid_display_name_page_modify_cb): Renamed to
+ druid_folder_page_modify_cb ().
+ (addressbook_add_server_druid): Set up source list, group selector.
+ Make LDAP pages optional, dependent on selected group. Use ESource.
+ (edit_dialog_store_change): Remove config control list stuff,
+ export settings to ESource.
+ (addressbook_edit_server_dialog): Renamed to
+ addressbook_config_edit_source (), which takes an ESource. Remove
+ config control list stuff, make LDAP pages show up only if we have
+ an LDAP source. Remove NEW_ADVANCED_UI cruft.
+ (addressbook_config_create_new_source): Just call
+ addressbook_add_server_druid ().
+
+ * gui/component/addressbook-config.h: Move LDAP enums here, from
+ addressbook-storage.h.
+
+ * gui/component/addressbook.c (control_activate_cb): uri -> source
+ (addressbook_view_clear): Unref source list.
+ (book_open_cb): Use ESource.
+ (load_uri_auth_cb): Renamed to load_source_auth_cb (), manipulate
+ ESource instead of URI.
+ (get_remember_password): Implement.
+ (set_remember_password): Implement.
+ (addressbook_authenticate): Use ESource properties.
+ (load_uri_cb): Renamed to load_source_cb (), ESource adaptation.
+ (addressbook_load_uri): Renamed to addressbook_load_source (), takes
+ ESource.
+ (addressbook_load_default_book): ESource adaptation.
+ (get_prop): folder_uri property -> source_uid property.
+ (set_prop): folder_uri property -> source_uid property. Find ESource
+ by UID.
+ (addressbook_new_control): Set up source_uid property and ESourceList.
+
+ * gui/component/component-factory.c (factory): Disable config control.
+
+ * gui/component/ldap-config.glade: Druid and notebook dialogs
+ generalized to deal with local sources as well as LDAP. This file
+ should probably be renamed...
+
+ * gui/component/select-names/e-select-names-manager.c
+ (load_completion_books): Use addressbook_load_source (). However, this
+ needs a bit more work to get source UIDs instead of URIs.
+
+ * gui/component/select-names/e-select-names.c
+ (addressbook_model_set_uri): Use addressbook_load_source (). However,
+ this needs a bit more work to get source UIDs instead of URIs.
+
+2003-11-26 JP Rosevear <jpr@ximian.com>
+
+ * gui/widgets/Makefile.am: turn on deprecated gtk and libgnomeui
+ stuff
+
+ * gui/component/select-names/Makefile.am: turn on deprecated gtk
+ stuff
+
+ * gui/contact-editor/Makefile.am: ditto
+
+2003-11-17 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/addressbook-component.c (impl_createControls): Store
+ a ref to the source selector.
+ (impl_requestCreateItem): Implement.
+ (impl_dispose): Unref the source selector.
+ (addressbook_component_init): Set up default sources.
+
+ * gui/widgets/e-addressbook-model.c (eab_model_set_property): If
+ the 'book' property is set, and editability changes, emit a signal
+ to that effect.
+
+2003-11-14 JP Rosevear <jpr@ximian.com>
+
+ * gui/component/new-addressbook.c: include e-source from e-d-s
+
+2003-11-13 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/contact-list-editor/e-contact-list-model.c
+ (contact_list_is_cell_editable): Return TRUE for all cells, for now.
+
+ * gui/widgets/e-addressbook-table-adapter.c (card_modified_cb):
+ Renamed to contact_modified_cb ().
+ (addressbook_set_value_at): Port to use EContact instead of ECard.
+ (addressbook_is_cell_editable): Ditto.
+ (addressbook_append_row): Ditto.
+
+ * gui/widgets/e-minicard-label.c (e_minicard_label_set_property):
+ Make not editable, ever, and add a comment to this effect.
+ (e_minicard_label_realize): Ditto.
+
+ * gui/widgets/e-minicard.c (e_minicard_set_property): Ditto.
+ (add_field): Ditto.
+
+2003-11-13 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/addressbook-component.c
+ (impl__get_userCreatableItems): New, implementation for the
+ userCreatableItems property.
+ (impl_requestCreateItem): New, implementation for the
+ requestCreateItem method.
+ (addressbook_component_class_init): Install.
+
+2003-11-12 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: Add
+ component_alias of "contacts".
+
+2003-11-08 Hans Petter Jansson <hpj@ximian.com>
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_SOURCES):
+ Add new-addressbook.[ch].
+ (glade_DATA): Add new-addressbook.glade.
+
+ * gui/component/addressbook-component.c (add_popup_menu_item):
+ Implement.
+ (new_addressbook_cb): Implement.
+ (delete_addressbook_cb): Implement (skeletal).
+ (fill_popup_menu_callback): Implement.
+ (impl_createControls): Hook up fill_popup_menu_callback().
+
+ * gui/component/new-addressbook.[ch]: New files.
+
+ * gui/component/new-addressbook.glade: New file.
+
+2003-11-07 Dan Winship <danw@ximian.com>
+
+ * util/Makefile.am (INCLUDES): Remove some includes of directories
+ that don't exist any more
+
+2003-11-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/contact-editor/Makefile.am: don't include the c marshaller
+ file twice
+
+ * gui/widgets/Makefile.am: ditto
+
+2003-11-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/widgets/Makefile.am: make sure the marshal header is in the
+ source list
+
+ * gui/component/select-names/Makefile.am: ditto
+
+ * gui/contact-editor/Makefile.am: ditto
+
+ * gui/contact-list-editor/Makefile.am: ditto
+
+2003-11-07 JP Rosevear <jpr@ximian.com>
+
+ * util/Makefile.am: dist the marshal list
+
+2003-11-07 JP Rosevear <jpr@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (change_view_type): don't
+ destroy the widget here - its dead when removed from the paned
+ container
+
+2003-11-07 JP Rosevear <jpr@ximian.com>
+
+ * In the gui this is a search and replace commit for moving the
+ addressbook to evolution-data-server; it also deletes the old
+ backend files
+
+2003-11-05 Larry Ewing <lewing@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (create_minicard_view): fix cast.
+
+2003-11-03 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/select-names/e-select-names-factory.c: Update
+ factory ID.
+
+ * gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.server.in.in:
+ Version the SelectNames server IDs by appending a "_2".
+
+2003-11-03 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: Change
+ "evolution:config_item" into "evolution2:config_item".
+
+2003-10-29 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: add the
+ S/MIME config control here.
+
+2003-10-29 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book-listener.c (e_book_listener_new): change
+ the poa hint to PER_REQUEST. fixes a couple of deadlocks.
+
+2003-10-29 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/component-factory.c (factory): ifdef the smime
+ code with HAVE_NSS.
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD):
+ conditionally include libevolution-smime.la.
+
+2003-10-24 Dan Winship <danw@ximian.com>
+
+ * backend/pas/Makefile.am (libpas_la_LIBADD): libpas should depend
+ on libebook, but NOT on libpasfile, etc, since it needs to be
+ linked into all backends, not just the wombat.
+ (libpasfile_la_LIBADD): depend on libpas.la and libedb3util.la
+ (libpasvcf_la_LIBADD): depend on libpas.la
+ (libpasldap_la_LIBADD): depend on libpas.la and $(LDAP_LIBS)
+
+2003-10-23 Dan Winship <danw@ximian.com>
+
+ * backend/ebook/e-contact.c (e_contact_date_equal): new util func
+
+ * backend/pas/pas-backend-ldap.c (anniversary_compare,
+ birthday_compare): Use it
+
+ * backend/pas/pas-backend-summary.c
+ (pas_backend_summary_check_contact): Check if an ID exists in the
+ summary.
+
+2003-10-23 Chris Toshok <toshok@ximian.com>
+
+ * tools/Makefile.am: convert 8 spaces to a tab.
+
+ * tools/.cvsignore: ignore evolution-addressbook-abuse and
+ evolution-addressbook-clean.
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD):
+ add libevolution-smime.la.
+
+ * gui/component/component-factory.c (factory): add the certificate
+ manager config control stuff here, at least for now.
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: same.
+
+2003-10-23 Rodrigo Moya <rodrigo@ximian.com>
+
+ * gui/component/addressbook-config.c
+ (addressbook_dialog_create_source_table): fixed typo in variable name.
+
+2003-10-22 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: Add an
+ "evolution:button_icon" attribute.
+
+2003-10-22 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: Add an
+ "evolution:button_sort_order" property.
+
+2003-10-22 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/addressbook-component.c (impl_createControls):
+ Make the the scrolled window have an "in" shadow.
+ * gui/component/addressbook-config.c
+ (addressbook_dialog_create_sources_table): Likewise.
+ * gui/widgets/e-addressbook-view.c (create_minicard_view): Likewise.
+ (create_treeview_view): Likewise.
+
+2003-10-22 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/addressbook-component.c (impl_createControls): Set
+ the GtkScrolledWindow scrollbar policy to "automatic" for both the
+ horizontal and the vertical scrollbar.
+
+2003-10-22 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: Add an
+ "evolution:button_label" property on the component for use in the
+ shell.
+
+2003-10-21 JP Rosevear <jpr@ximian.com>
+
+ * conduit/address-conduit.c: make it work with the new ebook api
+
+ * backend/pas/pas-book.c (pas_book_respond_get_changes): put the
+ vcard in for every change
+
+ * backend/pas/pas-backend.c (pas_backend_change_add_new): just use
+ the vcard field
+ (pas_backend_change_modify_new): ditto
+ (pas_backend_change_delete_new): ditto
+
+ * backend/pas/pas-backend-file.c
+ (pas_backend_file_changes_foreach_key): create a fake contact with
+ the uid
+ (pas_backend_file_get_changes): add the card to the changes
+
+ * backend/ebook/tests/ebook/test-changes.c (main): just print the
+ uid
+
+ * backend/ebook/e-book.c (e_book_free_change_list): unref the
+ contact
+
+ * backend/ebook/e-book-types.h: the change struct contains an
+ EContact now
+
+ * backend/ebook/e-book-listener.c
+ (impl_BookListener_respond_get_changes): create the contact from
+ the vcard string
+
+ * backend/idl/addressbook.idl: Book change item is no longer a
+ union, it always gives back a card
+
+2003-10-21 Chris Toshok <toshok@ximian.com>
+
+ * tools/evolution-addressbook-abuse.c: use the synchronous api for
+ this. simplifies it a bunch.
+
+2003-10-21 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-book.c
+ (impl_GNOME_Evolution_Addressbook_Book_remove): we can ill afford
+ bad debug spew.
+ (view_listener_died_cb): implement.
+ (impl_GNOME_Evolution_Addressbook_Book_getBookView): hook up an
+ ORBit_small connection listener on the view's listener.
+ (pas_book_respond_create): use e_contact_get_const instead of
+ e_contact_get here. fixes a leak.
+
+ * backend/pas/pas-book-view.c
+ (impl_GNOME_Evolution_Addressbook_BookView_stop): implement, call
+ pas_backend_stop_book_view.
+ (pas_book_view_get_listener): return the book view's listener.
+ (pas_book_view_class_init): fill in epv->stop.
+ (pas_book_view_init): use a #define for THRESHOLD_MAX instead of
+ the constant.
+
+ * backend/pas/pas-book-view.h: add prototype for
+ pas_book_view_get_listener.
+
+ * backend/pas/pas-backend.c (pas_backend_stop_book_view):
+ implement.
+ (pas_backend_remove_book_view): implement.
+
+ * backend/pas/pas-backend.h: add prototype for stop_book_view and
+ remove_book_view.
+
+ * backend/pas/pas-backend-vcf.c (load_file): pass in the fd and
+ use fdopen here.
+ (foreach_build_list): don't creat EContacts here, because we'll
+ just be converting them back to vcards anyway.
+ (save_file): use char*'s instead of EContacts, and split entries
+ with 2 blank lines. Also, hold the lock over the entire function.
+ (do_create): hold the lock around uid generation and touching the
+ hash table.
+ (pas_backend_vcf_process_remove_contacts): same.
+ (pas_backend_vcf_process_modify_contact): same.
+ (pas_backend_vcf_stop_book_view): new function, but leave
+ unimplemented for now.
+ (pas_backend_vcf_load_uri): the uri contains the directory name,
+ not the filename.
+ (pas_backend_vcf_dispose): grab the lock here just for sanity's
+ sake. Also reorder things a bit, and free the hashtable and
+ mutex.
+ (pas_backend_vcf_init): init the mutex.
+
+ * backend/pas/pas-backend-summary.c
+ (pas_backend_summary_add_contact): don't unref the contact here.
+
+ * backend/pas/pas-backend-ldap.c
+ (pas_backend_ldap_process_stop_book_view): new function, but leave
+ unimplemented for now.
+
+ * backend/pas/pas-backend-file.c (build_summary): use an EContact
+ for this call.
+ (do_summary_query): nuke, the contents of this has been moved to
+ start_book_view.
+ (pas_backend_file_search_timeout): same.
+ (pas_backend_file_search): same.
+ (pas_backend_file_start_book_view): glom everything into here
+ involving searching. This function could (and should) be renamed
+ and reused from both this function and _get_contact_list.
+ (pas_backend_file_stop_book_view): new function.
+ (pas_backend_file_class_init): fill in backend->stop_book_view.
+
+ * backend/pas/Makefile.am (LDAP_BACKEND): libpasldap.a ->
+ libpasldap.la
+ (noinst_LTLIBRARIES): *.a -> *.la.
+ (libpas_la_SOURCES): same.
+ (libpasfile_la_SOURCES): same.
+ (libpasvcf_la_SOURCES): same.
+ (libpasldap_la_SOURCES): same.
+
+ * backend/idl/addressbook.idl: add BookView::stop.
+
+ * backend/ebook/e-vcard.c (read_attribute_value): fix GString
+ related leaks.
+ (read_attribute_params): same.
+ (parse): don't leak the EVCardAttributes corresponding to
+ BEGIN/END:vCard.
+ (free_gstring): new function
+ (e_vcard_attribute_remove_values): free the decoded_values list,
+ using free_gstring.
+
+ * backend/ebook/e-book.c (e_book_response_get_book_view): ref the
+ listener here.
+
+ * backend/ebook/e-book-view.h: add prototype for e_book_view_stop.
+
+ * backend/ebook/e-book-view.c (e_book_view_stop): new function.
+
+ * backend/ebook/e-book-async.c (_get_book_view_response_dtor):
+ unref the book view.
+
+2003-10-20 Dan Winship <danw@ximian.com>
+
+ * backend/pas/pas-book-view.c: Queue up removes and modifies as
+ well as adds, and remove the calls that took a list of changes
+ rather than a single change, since no one was really using the
+ list versions. Keep a list of IDs currently in the view so we can
+ more easily figure out what changes count as adds, modifies, and
+ removes.
+ (send_pending_adds): Don't reset next_threshold if it's being
+ called from notify_add.
+ (send_pending_changes, send_pending_removes): New
+ (pas_book_view_notify_update): Simplified add/change interface.
+ Takes an EContact and figures out if it's new, modified, or
+ removed relative to this view.
+ (pas_book_view_notify_change, pas_book_view_notify_change_1,
+ pas_book_view_notify_add, pas_book_view_notify_add_1): Gone.
+ (pas_book_view_notify_remove): Now does what remove_1 used to do.
+ (pas_book_view_vcard_matches): Remove this; no longer used.
+
+ * backend/pas/pas-backend.c (pas_backend_notify_update): New.
+ Calls pas_book_view_notify_update() on each of the backend's views.
+ (pas_backend_notify_remove): Likewise for notify_remove().
+ (pas_backend_notify_complete): And notify_complete().
+
+ * backend/pas/pas-book.c (pas_book_respond_create): Take an
+ EContact instead of an id and a vcard. Use
+ pas_backend_notify_update.
+ (pas_book_respond_remove_contacts): Use pas_backend_notify_remove.
+ (pas_book_respond_modify): Take a single EContact instead of two
+ vcards. Use pas_backend_notify_update.
+
+ * backend/pas/pas-backend-sync.c
+ (pas_backend_sync_create_contact): Return an EContact rather than
+ an id.
+ (pas_backend_sync_modify_contact): Return an EContact rather than
+ the old_vcard.
+ (_pas_backend_create_contact, _pas_backend_modify_contact): Update
+
+ * backend/pas/pas-backend-file.c (do_summary_query): Use
+ pas_book_view_notify_update.
+ (pas_backend_file_search_timeout): Likewise
+ (pas_backend_file_create_contact): Update for API changes
+ (pas_backend_file_modify_contact): Likewise.
+
+ * backend/pas/pas-backend-ldap.c (create_contact_handler,
+ pas_backend_ldap_process_create_contact): Update for API changes
+ (modify_contact_modify_handler, modify_contact_search_handler,
+ pas_backend_ldap_process_modify_contact): Likewise
+ (ldap_search_handler): Use pas_book_view_notify_update
+
+ * backend/pas/pas-backend-vcf.c (foreach_search_compare): Use
+ pas_book_view_notify_update.
+ (pas_backend_vcf_process_create_contact): Update for API changes
+ (pas_backend_vcf_process_modify_contact): Likewise
+
+ * backend/pas/pas-backend-summary.c
+ (pas_backend_summary_add_contact): Take an EContact instead of a
+ const char *vcard.
+
+ * backend/ebook/e-contact.c (photo_getter): s/malloc/g_malloc/
+
+2003-10-20 JP Rosevear <jpr@ximian.com>
+
+ * backend/pas/pas-backend-vcf.c (pas_backend_vcf_search): compiler
+ with non-c99 compilers
+
+2003-10-17 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-contact.c (fn_getter): new function, just return
+ the full name value.
+ (fn_setter): rather distasteful hack. set the N attribute if it's
+ not already present.
+ (n_setter): set the X-EVOLUTION-FILE-AS attribute if it's not
+ already set.
+
+ * backend/pas/pas-backend-ldap.c (prop_info): add PROP_WRITE_ONLY
+ flag for properties (right now just 'sn') that we don't want to
+ use when building the EContact - we only use it when storing the
+ contact out to the ldap server.
+ (build_contact_from_entry): skip WRITE_ONLY properties.
+
+2003-10-17 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (init_collection): add the
+ minicard factory back in.
+ (display_view): add the minicard case back in.
+ (get_selection_model): same.
+ (minicard_right_click): resurrect.
+ (create_minicard_view): same.
+ (change_view_type): add the minicard case back in.
+ (eab_view_print): same.
+ (eab_view_print_preview): same.
+
+ * gui/widgets/e-addressbook-view.h (EABViewType): add MINICARD
+ back in.
+
+ * gui/widgets/e-addressbook-model.c (eab_model_new):
+ E_TYPE_AB_MODEL -> EAB_TYPE_MODEL.
+
+ * gui/widgets/e-addressbook-model.h: rename E_TYPE_AB_MODEL to
+ EAB_TYPE_MODEL.
+
+ * gui/widgets/Makefile.am (libeabwidgets_la_SOURCES): add the
+ minicard stuff back into the build.
+
+ * gui/widgets/e-addressbook-reflow-adapter.[ch],
+ gui/widgets/e-minicard-label.[ch],
+ gui/widgets/e-minicard-view-widget.[ch],
+ gui/widgets/e-minicard-view.[ch], gui/widgets/e-minicard.[ch],
+ gui/widgets/gal-view-factory-minicard.[ch], gal-view-minicard.h:
+ resurrect the minicard stuff, in a new uneditable,
+ EContact-friendly state. no in-place editing anymore.
+
+
+2003-10-10 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (fill_in_info): un-ifdef
+ the date handling code.
+ (extract_info): same.
+
+ * backend/pas/pas-backend-ldap.c (prop_info): add the address
+ labels and dates to the build.
+ (anniversary_populate): un-ifdef and get this working.
+ (anniversary_ber): same.
+ (anniversary_compare): same.
+ (birthday_populate): same.
+ (birthday_ber): same.
+ (birthday_compare): same.
+
+ * backend/ebook/tests/ebook/.cvsignore,
+ backend/ebook/tests/ebook/Makefile.am
+ backend/ebook/tests/ebook/test-date.c: add a test for EContactDate
+ getting/setting.
+
+ * backend/ebook/e-vcard.h: add EVC_BDAY.
+
+ * backend/ebook/e-contact.h: add prototypes for the
+ e_contact_date_* functions.
+
+ * backend/ebook/e-contact.c (field_info): add
+ BIRTH_DATE/ANNIVERSARY fields.
+ (date_getter): new
+ (date_setter): new
+ (e_contact_date_new): new
+ (e_contact_date_from_string): new
+ (e_contact_date_to_string): new
+ (e_contact_date_free): new
+
+2003-10-10 Not Zed <NotZed@Ximian.com>
+
+ *
+ gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.server.in.in:
+ Use the main factory on the .so file, so it can be found.
+
+2003-10-08 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/select-names/e-select-names.c (contact_key): add a
+ descriptive comment about this "#if notyet".
+
+ * gui/component/select-names/e-select-names-model.h
+ (e_select_names_model_thaw): add prorotype for
+ e_select_names_model_cancel_all_contact_load.
+
+ * gui/component/select-names/e-select-names-bonobo.c
+ (_EntryPropertyID): remove the SIMPLE_CARD_LIST property.
+ (entry_get_property_fn): same.
+ (impl_SelectNames_get_entry_for_section): same.
+
+ * backend/ebook/e-contact.h: add prototype for
+ e_contact_name_to_string.
+
+2003-10-07 Chris Toshok <toshok@ximian.com>
+
+ * util/eab-book-util.c: remove a bunch of ifdef'ed code (that's
+ going to be living in e-book.c)
+
+ * backend/pas/pas-backend-summary.c
+ (pas_backend_summary_add_contact): un-ifdef some code.
+ (pas_backend_summary_get_summary_vcard): same.
+
+ * backend/pas/pas-backend-ldap.c (prop_info): remove the
+ query_prop field since we can get it from e_contact_field_name.
+ also remove it from all the macros and their uses.
+ (homephone_populate): un-ifdef.
+ (homephone_ber): same.
+ (homephone_compare): same.
+ (business_populate): same.
+ (business_ber): same.
+ (business_compare): same.
+ (query_prop_to_ldap): use e_contact_field_name to get the query
+ prop for a given attribute.
+ (add_oc_attributes_to_supported_fields): same.
+
+ * backend/pas/pas-backend-card-sexp.c (compare_phone): use the new
+ EContactField constants to iterate over the phone list.
+
+ * backend/ebook/e-contact.h (EContactField): add some useful
+ constants for those pieces of code that iterate over
+ email/phones/addresses.
+
+2003-10-07 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-vcard-control.c (book_open_cb): un-ifdef this.
+ (eab_vcard_control_new): put the buttons above the vcard so they
+ don't move when it's expanded.
+
+ * gui/widgets/eab-popup-control.h: remove prototypes for
+ eab_popup_control_set_name and eab_popup_control_set_email.
+
+ * gui/widgets/eab-popup-control.c (email_table_ok_cb): remove the
+ stupid idle function and do the work here.
+ (eab_popup_control_set_name): make this static - noone uses it.
+ (eab_popup_control_set_email): same.
+
+ * gui/widgets/eab-gui-util.c (eab_show_contact_editor):
+ e_contact_editor_new is what we use for the time being.
+
+ * gui/widgets/eab-contact-display.c (render_string): abstract this
+ code out.
+ (render_url): same.
+ (eab_contact_display_render_normal): make use of render_string and
+ render_url.
+
+ * gui/widgets/e-addressbook-view.c (delete): un-ifdef this and get
+ it working.
+ (selection_received): same.
+
+ * gui/widgets/e-addressbook-model.c (get_view): nuke some code
+ that was moved to another function.
+ (eab_model_set_property): get the writable state when we set the
+ book - don't rely on the timing of signals.
+
+ * gui/contact/editor/contact-editor.glade: add the blog field
+ below the homepage url field.
+
+ * gui/contact/editor/e-contact-editor-address.[ch]: get this
+ building with the new stuff.
+
+ * gui/contact/editor/e-contact-editor-fullname.[ch]: get this
+ building with the new stuff.
+
+ * gui/contact-editor/e-contact-editor.[ch]: get this most of the
+ way there.
+
+ * gui/contact-editor/e-contact-quick-add.[ch]: get this building
+ with the new stuff.
+
+ * gui/contact-editor/Makefile.am (libecontacteditor_la_SOURCES):
+ remove e-contact-save-as.[ch]. They're in
+ addressbook/widgets/eab-gui-util.[ch] now.
+
+ * gui/merging/Makefile.am: track all the naming changes.
+
+ * gui/merging/*.glade: gratuitous renaming.
+
+ * gui/merging/eab-contact-compare.[ch]: gratuitous renaming, and
+ move this from the old ebook/
+
+ * gui/merging/eab-contact-merging.[ch]: gratuitous renaming.
+
+ * backend/ebook/e-contact.[ch]: lots of overly complicated changes
+ for an overly complicated piece of code.
+
+ * backend/ebook/e-book-view.c (e_book_view_do_added_event): remove
+ some ifdef'ed code.
+ (e_book_view_do_modified_event): same.
+
+ * backend/ebook/e-vcard.c (parse): plug a memory leak.
+ (escape_string): deal with @s being NULL.
+ (e_vcard_remove_attribute): new function.
+ (e_vcard_attribute_remove_params): same.
+ (e_vcard_attribute_param_free): same.
+ (e_vcard_attribute_param_remove_values): same.
+
+ * backend/ebook/e-vcard.h: add prototypes for
+ e_vcard_remove_attribute, e_vcard_attribute_remove_params, and
+ e_vcard_attribute_param_remove_values.
+
+ * backend/ebook/e-book.c (e_book_handle_response): cache the
+ writable state of the ebook before generating the signal.
+ (e_book_unload_uri): initialize cap to NULL and writable to FALSE.
+
+ * backend/ebook/e-book.h: add prototype for e_book_is_writable.
+
+ * backend/ebook/e-book-async.c (_get_fields_response_handler):
+ don't call the callback if it's NULL.
+ (_get_methods_response_handler): same.
+ (_auth_user_response_handler): same.
+ (_get_contact_response_handler): same.
+ (_remove_contacts_response_handler): same.
+ (_add_contact_response_handler): same.
+ (_commit_contact_response_handler): same.
+ (_get_book_view_response_handler): same.
+ (_get_contacts_response_handler): same.
+ (_remove_contacts_dtor): free the list.
+ (e_book_async_remove_contacts): duplicate the list.
+
+ * backend/pas/pas-backend.c (pas_backend_open): if we successfully
+ load the uri, report the writable status back.
+
+ * backend/pas/pas-backend-sync.c (_pas_backend_remove_contacts):
+ free the list of ids.
+
+ * backend/pas/pas-backend-file.c (do_create): return the contact
+ we create here.
+ (pas_backend_file_create_contact): format the newly created
+ contact as a string to add to the summary.
+ (pas_backend_file_remove_contacts): don't free the list of removed
+ cards here - it happens in pas-backend-sync.
+ (pas_backend_file_load_uri): pass NULL for @contact to do_create.
+
+2003-10-01 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-contact-display.c (render_address): move the :'s
+ inside the <b>'s. Thanks for pointing this out, guenther. :)
+ (eab_contact_display_render_normal): same.
+ (eab_contact_display_render_compact): same.
+
+ * gui/widgets/eab-vcard-control.c (save_in_addressbook): track
+ change to address_load_default_book.
+
+2003-10-01 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/Makefile.am: remove some commented out crap about
+ e-address-popup.[ch].
+
+ * gui/component/component-factory.c (factory): use
+ eab_popup_control_new for the AddressPopup iid.
+
+ * gui/widgets/Makefile.am (libeabwidgets_la_SOURCES): add
+ eab-popup-control.[ch].
+
+ * backend/ebook/e-book.c (e_book_get_default_addressbook): hack
+ this so it at least sorta works - hardcode the
+ ~/evolution/local/Contacts uri for now.
+
+ * gui/component/addressbook.[ch] (addressbook_load_default_book):
+ remove the EBook argument, and call
+ e_book_async_get_default_addressbook.
+
+ * gui/component/e-address-popup.[ch]: nuke.
+
+ * gui/widgets/eab-popup-control.c: rename
+ gui/component/e-address-popup.c to this.
+
+ * gui/widgets/eab-popup-control.h: rename
+ gui/component/e-address-popup.h to this.
+
+ * backend/ebook/e-book-async.h: add prototype for
+ e_book_async_get_default_addressbook.
+
+ * backend/ebook/e-book-async.c
+ (e_book_async_get_default_addressbook): new function.
+
+2003-10-01 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (eab_view_new): create the
+ scrolled window to embed the EABContactDisplay widget inside of.
+
+ * gui/widgets/e-addressbook-view.h (struct _EABView): add scrolled;
+
+ * gui/widgets/eab-contact-display.h: add
+ EABContactDisplayRenderMode enum, and add @render_mode arg to
+ eab_contact_display_render.
+
+ * gui/widgets/eab-contact-display.c
+ (eab_contact_display_render_compact): new function, render a
+ compact format suitable for inclusion in the mail display.
+ (eab_contact_display_render_normal): move the previouw contents of
+ eab_contact_display_render here.
+ (eab_contact_display_render): render in either compact or normal
+ mode depending on @mode.
+ (eab_contact_display_new): remove the scrolled window stuff from
+ here, as in the compact mode we don't want it present. push it up
+ into the e-addressbook-view.c code.
+
+ * gui/widgets/eab-vcard-control.[ch]: bonobo control that wraps up
+ the EABContactDisplay stuff and lets us display vcards in a pretty
+ format in mail messages.
+
+ * gui/component/component-factory.c (factory): replace the #if
+ notyet'ed minicard control code with the new vcard control.
+
+ * gui/component/Makefile.am (INCLUDES): remove gui/minicard.
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: remove
+ the MiniCard_Control iid, and replace it with VCard_Control.
+
+2003-10-01 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook-component.c
+ (destination_folder_handle_drop): use
+ eab_contact_list_from_string, and un-"#if notyet" this.
+
+ * gui/component/addressbook.c: remove #include
+ "e-contact-save-as.h"
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (file_save_as_cb): use eab_contact_save.
+ (file_send_as_cb): use eab_send_contact, un-"#if notyet" this.
+ (file_send_to_cb): same.
+ (table_drag_data_received_cb): use eab_contact_list_from_string.
+
+ * gui/widgets/e-addressbook-reflow-adapter.[ch]: nuke. last
+ vestiges of the minicard view.
+
+ * gui/widgets/e-addressbook-view.c (eab_view_init):
+ s/clipboard_cards/cliboard_contacts.
+ (eab_view_dispose): same.
+ (get_contact_list_1): s/card/contact
+ (get_contact_list): same.
+ (save_as): same, and use eab_contact_list_save.
+ (send_as): reenable this code, s/card/contact, and use
+ eab_send_contact_list.
+ (send_to): same.
+ (print): s/card/contact.
+ (delete): same.
+ (new_card): same, and un-"#if notyet" some code.
+ (selection_get): use eab_contact_list_to_string.
+ (selection_clear_event): s/card/contact
+ (selection_received): same.
+ (get_selected_contacts): same.
+ (eab_view_save_as): same, and use eab_contact_list_save.
+ (eab_view_view): same, and use eab_show_multiple_contacts.
+ (eab_view_send): reenable this code, s/card/contact, and use
+ eab_send_contact_list.
+ (eab_view_send_to): same.
+ (eab_view_copy): s/card/contact.
+ (view_transfer_contacts): same.
+ (eab_view_copy_to_folder): same.
+ (eab_view_move_to_folder): same.
+
+ * gui/widgets/e-addressbook-view.h (struct _EABView): rename
+ clipboard_cards to clipboard_contacts.
+
+ * gui/widgets/eab-gui-util.c (view_contacts): un-"#if notyet"
+ (file_exists): moved from e-contact-save-as.c
+ (save_it): same.
+ (close_it): same.
+ (destroy_it): same.
+ (make_safe_filename): same.
+ (eab_contact_save): same, and renamed from e_contact_save_as.
+ (eab_contact_list_save): same, and renamed from
+ e_contact_list_save_as.
+ (contact_deleted_cb): s/card/contact.
+ (do_delete): same, and use e_book_async.
+ (delete_contacts): s/card/contact.
+ (process_unref): same.
+ (contact_added_cb): same.
+ (do_copy): same, and use e_book_async.
+ (got_book_cb): same.
+ (eab_transfer_contacts): same, and use e_book_async.
+ (eab_send_contact_list): s/card/contact
+ (eab_send_contact): same.
+
+ * gui/widgets/eab-gui-util.h: some random s/card/contact work, and
+ move the contents of e-contact-save-as.h here.
+
+ * util/eab-book-util.c (eab_contact_list_from_string): rename
+ eab_load_contacts_from_string to this.
+ (eab_contact_list_to_string): new function.
+
+ * util/eab-book-util.h: add prototype for
+ eab_contact_list_to_string, and rename
+ eab_load_contacts_from_string to eab_contact_list_from_string.
+
+ * gui/contact-editor/e-contact-save-as.[ch]: nuke. the contents
+ of these files has been wrapped up in
+ gui/widgets/eab-gui-util.[ch].
+
+2003-09-30 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD):
+ add libecontactlisteditor.la back into the build.
+
+ * gui/component/addressbook-component.c (new_item_cb): enable the
+ contact list editor portion.
+
+ * util/eab-book-util.c (eab_load_contacts_from_string): new
+ function, return a GList of EContact*'s parsed from the string.
+
+ * util/eab-book-util.h: add prototype for
+ eab_load_contacts_from_string.
+
+ * gui/contact-list-editor/contact-list-editor.glade: set the id of
+ the list-image widget.
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (e_contact_list_editor_class_init): PROP_CARD -> PROP_CONTACT.
+ (e_contact_list_editor_init): initialize image_buf to null and
+ card -> contact. also, hook up the dnd signals on the list_image
+ widget so we can drop images.
+ (e_contact_list_editor_dispose): free the image_buf.
+ (list_added_cb): card -> contact.
+ (list_modified_cb): same.
+ (save_contact): same, and use the ebook-async api.
+ (prompt_to_save_changes): card -> contact.
+ (file_save_cb): same.
+ (file_save_as_cb): same.
+ (file_send_as_cb): #if notyet for now.
+ (file_send_to_cb): same.
+ (tb_save_and_close_cb): card -> contact.
+ (list_deleted_cb): same.
+ (delete_cb): same.
+ (delete_cb): same, and use ebook-async.
+ (e_contact_list_editor_new): card -> contact.
+ (e_contact_list_editor_set_property): same.
+ (table_drag_motion_cb): use GDK_POINTER_TO_ATOM instead of
+ casting.
+ (table_drag_data_received_cb): use eab_load_contacts_from_string,
+ and card -> contact.
+ (set_image_from_data): new function. create a pixbuf from the
+ image data and composite it in an image that's the same size as
+ the initial list_image widget.
+ (image_drag_motion_cb): new function.
+ (image_drag_drop_cb): new function.
+ (image_drag_data_received_cb): new function.
+ (extract_info): port to EContact, and add support for the image.
+ (fill_in_info): same.
+
+ * gui/contact-list-editor/e-contact-list-editor.h (struct
+ _EContactListEditor): add image stuff, and ECard -> EContact.
+
+ * gui/contact-list-editor/e-contact-list-model.c
+ (contact_list_value_at): e_destination -> eab_destination.
+ (e_contact_list_model_init): same.
+ (e_contact_list_model_add_destination): same.
+ (e_contact_list_model_add_email): same.
+ (e_contact_list_model_add_contact): same, and card -> contact.
+ (e_contact_list_model_remove_row): e_destination ->
+ eab_destination.
+ (e_contact_list_model_get_destination): same.
+
+ * gui/contact-list-editor/e-contact-list-model.h: card -> contact,
+ and e-destination -> eab-destination.
+
+ * gui/widgets/e-addressbook-view.etspec: fix a couple of
+ fields.. this needs a completely once-over at some point soon.
+
+ * gui/widgets/e-addressbook-view.c (table_double_click): reenable
+ all of this.
+
+ * gui/widgets/eab-contact-display.c (render_address): use
+ e_text_to_html to convert the \n's to <br>'s.
+ (on_url_requested): get PHOTO if there is one, otherwise LOGO.
+ (eab_contact_display_render): escape all the text we're sending to
+ gtkhtml with e_text_to_html. also, if it's a contact list, output
+ _("List Members") with the contents of _EMAIL.
+
+ * gui/widgets/eab-gui-util.h: rename eab_send_card{_list} to
+ eab_send_contact{_list}.
+
+2003-09-30 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/tests/ebook/Makefile.am (noinst_PROGRAMS): add
+ test-string.
+
+ * backend/ebook/tests/ebook/test-string.c: test setting/getting a
+ string attribute.
+
+ * backend/ebook/e-contact.c (photo_setter): do gnome-vfs mime type
+ sniffing before we set the attribute value.
+ (e_contact_set_property): implement setting of MULTI list
+ attributes (like MAIL).
+ (e_contact_get_property): rework the ATTR_TYPE attribute handling
+ so we aren't calling g_value_set_pointer on a value that holds a
+ string (and vice versa).
+
+ * backend/ebook/e-vcard.c (e_vcard_remove_attributes): implement.
+ (e_vcard_attribute_add_param): use g_ascii_strcasecmp.
+
+ * backend/ebook/e-vcard.h: rename e_vcard_remove_attribute to
+ e_vcard_remove_attributes, since it removes all matching
+ attributes.
+
+ * backend/ebook/e-book.c (e_book_response_add_contact): we need to
+ strdup the id here since the listener frees it.
+ (e_book_handle_response): implement the WritableStatusEvent part
+ of the switch.
+
+ * backend/ebook/e-book-listener.c
+ (impl_BookListener_report_writable): un-"#if notyet" this.
+
+ * backend/ebook/e-book-async.c (_add_contact_handler): fill in
+ response->id.
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * printing/e-contact-print-envelope.c: card -> contact.
+
+ * printing/e-contact-print-envelope.h: card -> contact.
+
+ * printing/e-contact-print.c: card -> contact.
+
+ * printing/e-contact-print.h: card -> contact.
+
+ * printing/Makefile.am (contact_print_test_LDADD): add
+ libeabutil.la and reorder things so it links.
+ (contact_print_style_editor_test_LDADD): same.
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/select-names/e-select-names-text-model.c:
+ e-addressbook-util.h -> eab-gui-util.h.
+
+ * gui/component/select-names/e-select-names-popup.c:
+ e-addressbook-util.h -> eab-gui-util.h.
+
+ * gui/component/e-address-popup.c: e-addressbook-util.h ->
+ eab-gui-util.h.
+
+ * gui/component/component-factory.c: #if notyet the minicard
+ control stuff, since it's been completely nuked from the tree.
+
+ * gui/component/addressbook.c: e-addressbook-util.h ->
+ eab-gui-util.h.
+
+ * gui/component/addressbook-component.c: e-addressbook-util.h ->
+ eab-gui-util.h.
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD):
+ rename libeminicard to libeabwidgets.
+
+ * Makefile.am (SUBDIRS): add util/ to the build.
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/e-addressbook-treeview-adapter.c:
+ e-addressbook-util.h -> eab-gui-util.h, and convert some
+ EDestination code to EABDestination.
+
+ * gui/widgets/e-addressbook-table-adapter.c: e-addressbook-util.h
+ -> eab-gui-util.h, and include util/eab-destination.h.
+ (addressbook_value_at): un-#if 0 some code.
+
+ * gui/widgets/e-addressbook-model.c: e-addressbook-util.h ->
+ eab-gui-util.h
+
+ * gui/widgets/e-addressbook-view.c: e-addressbook-util.h ->
+ eab-gui-util.h
+
+ * gui/widgets/e-minicard-control.c,
+ gui/widgets/e-minicard-control.h, gui/widgets/e-minicard-label.c,
+ gui/widgets/e-minicard-label.h,
+ gui/widgets/e-minicard-view-widget.c,
+ gui/widgets/e-minicard-view-widget.h,
+ gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h,
+ gui/widgets/e-minicard-widget-test.c,
+ gui/widgets/e-minicard-widget.c, gui/widgets/e-minicard-widget.h,
+ gui/widgets/e-minicard.c, gui/widgets/e-minicard.h,
+ test-minicard-label.c, test-minicard-view.c, test-minicard.c: nuke
+ all of the old minicard stuff.
+
+ * gui/widgets/eab-gui-util.[ch]: rename e-addressbook-util.[ch] to
+ this and nuke e-addressbook-util.[ch].
+
+ * gui/widgets/Makefile.am (INCLUDES): change G_LOG_DOMAIN to
+ eab-widgets, and add -I$(top_srcdir)/addressbook.
+ (noinst_LTLIBRARIES): rename to libeabwidgets.la
+ (libeabwidgets_la_SOURCES): rename e-addressbook-util.[ch] to
+ eab-gui-util.[ch].
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/eab-contact-display.c (eab_contact_display_new):
+ track change from E_TYPE_AB_CONTACT_DISPLAY to
+ EAB_TYPE_CONTACT_DISPLAY.
+
+ * gui/widgets/eab-contact-display.h: change from E_* type foo to
+ EAB_* type foo.
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * gui/search/e-addressbook-search-dialog.[ch]: convert everything
+ from e_addressbook_search_dialog to eab_search_dialog, and
+ EAddressbookSearchDialog to EABSearchDialog.
+
+ * gui/component/addressbook.c (search_cb):
+ e_addressbook_search_dialog -> eab_search_dialog.
+ (addressbook_search_activated): same.
+ (addressbook_query_changed): same.
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-book.c (pas_book_respond_get_supported_fields):
+ don't free the fields here - the backends hold onto them.
+ (pas_book_respond_get_supported_auth_methods): don't free the
+ auth_methods here - the backends hold onto them.
+
+ * backend/pas/pas-backend-file.c
+ (pas_backend_file_get_supported_fields): fields go from 1 to
+ E_CONTACT_FIELD_LAST, not 0.
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/addressbook.c: e-book-util.h -> eab-book-util.h
+
+ * gui/component/addressbook-component.c: e-book-util.h ->
+ eab-book-util.h.
+ (new_item_cb): enable the contact editor portion of this.
+ (user_create_new_item_cb): convert to async_load_uri api, and
+ ifdef the _use_default_book crap.
+ (ensure_completion_uris_exist): e_book_get_config_database ->
+ eab_get_config_database.
+
+ * gui/component/e-address-widget.h: e-book-util.h ->
+ eab-book-util.h.
+
+ * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD):
+ add selectnames back in, and add util/libeabutil.la.
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-contact.c: my head explodes from so many
+ changes.
+
+ * backend/ebook/e-contact.h: reorder fields such that all the
+ string fields are first in the enum (and add a
+ E_CONTACT_LAST_SIMPLE_STRING value, ala the old e-card-simple
+ stuff.) Also, add E_CONTACT_LOGO, WANTS_HTML, IS_LIST, and
+ LIST_SHOW_ADDRESSES. remove E_CONTACT_PHOTO_URI.
+
+ * backend/ebook/e-vcard.c (e_vcard_remove_attribute): rename from
+ e_card_remove_attribute, and add a g_assert_not_reached.
+ (_evc_base64_encode_simple): make this not static (we need it for
+ a test.)
+ (_evc_base64_decode_simple): same.
+
+ * backend/ebook/e-vcard.h: add LOGO, X-MOZILLA-HTML,
+ X-EVOLUTION-LIST, and X-EVOLUTION-LIST-SHOW_ADDRESSES #defines.
+
+ * backend/ebook/e-book.c (EBookLoadState): change from
+ UriNotLoaded to E_BOOK_URI_NOT_LOADED, etc.
+ (e_book_add_contact): track _URI_ change.
+ (e_book_get_supported_fields): same.
+ (e_book_get_supported_auth_methods): same.
+ (e_book_authenticate_user): same.
+ (e_book_get_contact): same.
+ (e_book_response_get_contact): remove the ifdefed call to
+ e_contact_set_book.
+ (e_book_remove_contacts): track _URI_ change.
+ (e_book_get_book_view): same.
+ (e_book_get_contacts): same.
+ (e_book_get_changes): same.
+ (e_book_remove): same.
+ (e_book_unload_uri): same.
+ (e_book_load_uri): same.
+ (e_book_load_uri): same.
+ (e_book_get_self): start the implementation of this.
+ (e_book_get_default_addressbook): ifdef out a possible
+ implementation of this (it's broken.)
+ (e_book_init): track _URI_ change.
+ (e_book_dispose): same.
+
+ * backend/ebook/e-book.h: move get_default_addressbook out of the
+ ifdef, and change get_default_addressbook/get_addressbooks to be
+ more like the rest of the api.
+
+ * backend/ebook/e-book-util.[ch]: nuke.
+
+ * backend/ebook/e-card-compare.[ch]: nuke.
+
+ * backend/ebook/e-destination.[ch]: nuke.
+
+ * backend/ebook/e-book-query.c (func_and): fix valgrind error.
+ (func_or): same.
+
+ * backend/ebook/e-book-listener.h: drop #include of e-list.h
+
+ * backend/ebook/e-book-async.c (_get_contacts_response_handler)
+ (_get_contacts_response_dtor, _get_contacts_handler)
+ (_get_contacts_dtor, e_book_async_get_contacts): new functions,
+ implementing e_book_async_get_contacts.
+
+ * backend/ebook/e-book-async.h: add e_book_async_get_contacts.
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * util/eab-marshal.list: new file.
+
+ * util/eab-destination.[ch]: rename
+ backend/ebook/e-destination.[ch] to this, and change all the entry
+ point names too.
+
+ * util/eab-book-util.[ch]: rename backend/ebook/e-book-util.[ch]
+ to this, and change all the entry point names too.
+
+ * util/Makefile.am: new file, build libeabutil.la
+
+2003-09-29 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/select-names/e-select-names.c
+ (addressbook_model_set_uri): e_addressbook_model -> eab_model.
+ (contact_key): e-contactify this, and remove the call to
+ e_contact_get_book since we don't have it.
+ (sync_one_model): card -> contact.
+ (real_add_address_cb): track various name changes.
+ (esn_get_key_fn): same.
+ (e_addressbook_create_ebook_table): same.
+ (folder_selected): same.
+ (select_entry_changed): same.
+ (e_select_names_new): same.
+
+ * gui/component/select-names/e-select-names-text-model.c
+ (dump_model): s/card/contact.
+ (e_select_names_text_model_insert_length): e-destination ->
+ eab-destination.
+ (e_select_names_text_model_delete): same.
+ (e_select_names_text_model_obj_count): same.
+ (nth_obj_index): same.
+ (e_select_names_text_model_activate_obj): ifdef this out since we
+ don't have e_contact_get_book in the new api.
+
+ * gui/component/select-names/e-select-names-table-model.c
+ (fill_in_info): convert to e_contact/eab_destination.
+
+ * gui/component/select-names/e-select-names-popup.c
+ (change_email_num_cb): e_destination -> eab_destination.
+ (populate_popup_contact): same, and ECard -> EContact. Also, the
+ email attribute is a GList, not an EList. lastly, rename from
+ populate_popup_card.
+ (populate_popup_nocontact): same, and rename from
+ populate_popup_nocard.
+ (e_select_names_populate_popup): same.
+
+ * gui/component/select-names/e-select-names-model.h: track changes
+ to e_destination, and rename the cardify methods to something mode
+ descriptive.
+
+ * gui/component/select-names/e-select-names-model.c
+ (e_select_names_model_duplicate): e_destination ->
+ eab_destination.
+ (e_select_names_model_get_textification): same.
+ (e_select_names_model_get_address_text): same.
+ (e_select_names_model_get_destination): same.
+ (e_select_names_model_export_destinationv): same.
+ (send_changed): same.
+ (e_select_names_model_import_destinationv): same.
+ (e_select_names_model_get_contact): same, and rename from
+ _get_card
+ (e_select_names_model_get_string): same.
+ (connect_destination): same.
+ (disconnect_destination): same.
+ (e_select_names_model_contains): same.
+ (e_select_names_model_insert): same.
+ (e_select_names_model_append): same.
+ (e_select_names_model_replace): same.
+ (e_select_names_model_delete): same.
+ (e_select_names_model_clean): same.
+ (delete_all_iter): same.
+ (e_select_names_model_overwrite_copy): same.
+ (e_select_names_model_merge): same.
+ (e_select_names_model_name_pos): same.
+ (e_select_names_model_text_pos): same.
+ (e_select_names_model_cardify): nuke.
+ (e_select_names_model_uncardify): nuke.
+ (e_select_names_model_cancel_cardify): nuke.
+ (e_select_names_model_load_all_contacts): rename _cardify_all to
+ this.
+ (e_select_names_model_cancel_all_contact_load): rename
+ _cancel_cardify to this.
+
+ * gui/component/select-names/e-select-names-manager.c
+ (focus_in_cb): cancel_cardify_all -> cancel_all_contact_load
+ (focus_out_cb): cardify_all -> load_all_contacts.
+ (completion_popup_cb): same.
+ (load_completion_books): no e_book_expand_uri anymore.
+ (e_select_names_manager_new): e_book_get_config_database ->
+ eab_get_config_database.
+ (e_select_names_manager_dispose): same.
+
+ * gui/component/select-names/e-select-names-completion.h: e-book.h
+ -> e-book-async.h
+
+ * gui/component/select-names/e-select-names-completion.c:
+ EContactify this.
+
+ * gui/component/select-names/e-select-names-bonobo.c
+ (entry_get_property_fn): ifdef out the SIMPLE_CARD_LIST getter,
+ and cardify_all -> load_all_contacts.
+
+ * gui/component/select-names/Evolution-Addressbook-SelectNames.idl:
+ nuke all the SimpleCard stuff. It's a horribly inefficient way to
+ deal with vcards, and since ebook is platform level now, we can
+ (and should) promote just linking to ebook to do this.
+
+2003-09-19 Gilbert Fang <gilbert.fang@sun.com>
+
+ * addressbook/gui/component/addressbook-component.c (xfer_folder):
+ remove the "addressbook.db.summary" correctly. #48538
+
+2003-09-11 Dan Winship <danw@ximian.com>
+
+ * backend/ebook/Makefile.am (privlib_LTLIBRARIES): Remove
+ libebook-static.la
+
+ * conduit/Makefile.am (libeaddress_conduit_la_LIBADD): Use
+ non-static versions of libraries: the static ones were only needed
+ for libtool 1.3.
+
+2003-09-07 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-contact.c (e_contact_get_property): implement
+ getters for the address labels. they aren't really synthetic, but
+ we can't handle them as normal strings because they switch off the
+ TYPE parameter, not the attribute name (go go vcard.) Also add
+ getters for the structured address fields (ADR). Also fix a spot
+ where we were using strcmp instead of strcasecmp.
+ (e_contact_address_free): new function.
+
+ * backend/ebook/e-contact.h: Add EContactAddress structure, which
+ will probably go away once i merge in my cool spiffy address
+ editor. Add LABEL fields for the address labels, and add
+ prototype for e_contact_address_free.
+
+ * backend/ebook/e-vcard.h: add EVC_LABEL and EVC_X_BLOG_URL.
+
+ * backend/ebook/e-vcard.c (read_attribute_value): step to the next
+ character after unescaping \-escaped characters. keeps commas
+ from multiplying.
+
+ * gui/widgets/eab-contact-display.c (render_address): new function
+ (eab_contact_display_render): display email, delivery addresses,
+ and the blog url.
+
+2003-09-06 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-contact.c (e_contact_set_property): implement
+ E_CONTACT_EMAIL_*.
+
+ * backend/pas/pas-backend-ldap.c (email_ber): EContact-ify and
+ re-enable this code.
+ (email_compare): same.
+ (email_populate): same.
+
+ * backend/pas/pas-backend-vcf.c (pas_backend_vcf_load_uri): use
+ XIMIAN_VCARD.
+
+ * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): use
+ XIMIAN_VCARD, and don't fail if the directory already exists.
+ just try to create the db anyway.
+
+ * backend/pas/Makefile.am (libpas_a_SOURCES): add ximian-vcard.h
+
+ * backend/pas/ximian-vcard.h (XIMIAN_VCARD): put the initial vcard
+ here, so we can share 1 #define between file/vcf backends. Also,
+ add a jpeg photo.
+
+2003-09-06 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/Makefile.am (libeminicard_la_SOURCES): add
+ eab-contact-display.[ch]
+
+ * gui/widgets/e-addressbook-view.c (eab_view_init): just init
+ everything to NULL.
+ (eab_view_new): move a bunch of stuff that was in eab_view_init
+ here. create a vpaned to hold the contact display, and create the
+ contact display.
+ (render_contact): render the selected contact to the
+ contact_display.
+ (selection_changed): add logic to display the currently selected
+ contact in the preview pane.
+ (create_table_view): add the table to the paned.
+ (create_treeview_view): add the scrolled to the paned.
+ (change_view_type): remove view->widget from the paned.
+
+ * gui/widgets/e-addressbook-view.h: switch from using a GtkTable
+ to a GtkEventBox - we don't need the table logic anymore.
+
+ * gui/widgets/e-addressbook-model.c (create_contact): indent
+ (eab_model_get_contact): same.
+
+ * gui/widgets/eab-contact-display.[ch]: new files - this
+ implements the preview pane.
+
+2003-09-06 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-ldap.c (BINARY_PROP): new type of
+ property, for specifying data coming back from the ldap server
+ with both data/length (like photos).
+ (photo_populate): set the contact's photo.
+ (build_contact_from_entry): add PROP_TYPE_BINARY handling.
+
+ * backend/ebook/e-vcard.c (EVCardEncoding): new enum for use with
+ the ENCODING attribute parameter. Right now, just "raw",
+ "base64", and "quoted-printable".
+ (struct _EVCardAttribute): add a "decoded_values" list of
+ GString*'s, as well as fields to hold encoding/encoding_set.
+ (e_vcard_class_init): call _evc_base64_init.
+ (e_vcard_attribute_add_value_decoded): based on what encoding the
+ attribute uses, add the value properly.
+ (e_vcard_attribute_add_param): if the parameter is ENCODING, work
+ our magic.
+ (e_vcard_attribute_get_values_decoded): spit out properly decoded
+ values depending on the decoding type.
+ (_evc_base64*): copy the camel base64 routines here.
+
+ * backend/ebook/e-vcard.h: add prototypes for
+ e_vcard_attribute_add_value_decoded and
+ e_vcard_attribute_get_values_decoded.
+
+ * backend/ebook/e-contact.c (e_contact_get_first_attr): move this
+ to above _set_property so we can make use of it there.
+ (e_contact_set_property): fix up the generic STRING field handler,
+ and implement E_CONTACT_PHOTO setting.
+ (e_contact_get_property): add handling for
+ E_CONTACT_PHOTO/E_CONTACT_PHOTO_URI.
+ (e_contact_photo_free): new function.
+
+ * backend/ebook/e-contact.h: add EContactPhoto struct, a prototype
+ for e_contact_photo_free, and two new EContactField elements (PHOTO and
+ PHOTO_URI).
+
+ * backend/ebook/tests/ebook/.cvsignore: ignore test-photo
+
+ * backend/ebook/tests/ebook/Makefile.am (noinst_PROGRAMS): add test-photo
+
+ * backend/ebook/tests/ebook/test-photo.c: test for the photo
+ set/get routines (which do base64 encoding/decoding).
+
+2003-09-02 Chris Toshok <toshok@ximian.com>
+
+ * gui/component/Makefile.am: comment out a buncha stuff just to
+ get this building.
+
+ * gui/component/select-names/e-select-names.c: #include
+ e-book-async.h
+ (search_result): EAddressbookModel -> EABModel.
+ (addressbook_model_set_uri): same, and don't use
+ e_book_expand_uri, as it's dead.
+ (esn_get_key_fn): EAddressbookModel -> EABModel.
+ (e_addressbook_create_ebook_table): same.
+ (status_message): same.
+
+ * gui/component/select-names/e-select-names.h (struct
+ _ESelectNames): EAddressbookModel -> EABModel.
+
+ * gui/component/addressbook-component.c (new_item_cb): ifdef out
+ for now.
+ (dnd_drop_book_open_cb): s/card/contact.
+ (destination_folder_handle_drop): ifdef out.
+ (request_quit): same.
+
+ * gui/component/addressbook.c: track api changes - e_addressbook_
+ -> eab_, and e_book_* becomes e_book_async_*.
+
+ * gui/component/addressbook.h: #include e-book-async.h
+
+ * gui/component/e-address-widget.c (query_results_cb):
+ e/EBookSimpleQueryStatus/EBookStatus
+
+ * gui/component/e-address-widget.h: s/ECard/EContact.
+
+ * gui/component/e-cardlist-model.[ch]: nuke.
+
+ * gui/component/e-address-popup.c: s/e-book.h/e-book-async.h
+
+ * gui/component/e-address-popup.h: s/ECard/EContact
+
+2003-09-02 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/Makefile.am (libebook_la_SOURCES): remove
+ e-card.c,e-card.simple.c
+
+ * backend/ebook/tests/ebook/test-ebook.c: remove #include of
+ e-card-simple.h
+
+ * backend/ebook/tests/ebook/test-changes.c: remove #include of
+ e-card-simple.h
+
+ * backend/ebook/e-card.[ch], backend/ebook/e-card-simple.[ch]:
+ nuke.
+
+ * backend/ebook/e-book-util.h: s/card/contact.
+
+ * backend/ebook/e-book-util.c: ifdef out an #include.
+
+ * backend/ebook/e-book-async.[ch]: stop doing the stupid #define
+ renaming trick, and just rename all the prototypes from e_book_*
+ to e_book_async_*. Also, get rid of the *_vcard variants.
+
+2003-09-02 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-card-sexp.[ch]
+ (pas_backend_card_sexp_match_contact): rename
+ pas_backend_card_sexp_match_card, and it takes an EContact now.
+ Also, port this file to use EContact instead of ECard, and ifdef
+ out lots of stuff.
+
+ * backend/pas/pas-backend-ldap.c: convert this to use EContact
+ instead of ECard, and ifdef great swaths of code to make it
+ compile.
+
+ * backend/pas/pas-book.c (pas_book_respond_modify): convert this
+ from ECard to EContact.
+
+2003-09-02 Chris Toshok <toshok@ximian.com>
+
+ * gui/widgets/Makefile.am (libeminicard_la_SOURCES): remove all
+ the reflow/minicard stuff from the build.
+ (e-addressbook-marshal.[ch]): change the prefix on the marshallers to
+ eab_marshal.
+
+ * gui/widgets/e-addressbook-view.etspec: bring this more in line
+ with the field ids for EContact, and comment out a ton of them
+ that aren't there yet.
+
+ * gui/widgets/e-addressbook-view.[ch]: big renaming - rename
+ e_addressbook_view to eab_view, and EAddressbookView to EABView.
+
+ * gui/widgets/e-addressbook-util.c (eab_error_dialog): rename, and
+ change a few of the error strings s/Card/Contact.
+ (added_cb): E_BOOK_STATUS_SUCCESS => E_BOOK_ERROR_OK.
+ (modified_cb): same.
+ (e_addressbook_show_contact_editor): this takes an EContact now,
+ and track the change to the contact editor signal names.
+ (e_addressbook_show_contact_list_editor): this takes an EContact
+ now.
+ (view_contacts): rename view_cards to this, and ifdef the body.
+ (e_addressbook_show_multiple_contacts): rename
+ e_addressbook_show_multiple_cards to this, and s/card/contact.
+
+ * gui/widgets/e-addressbook-util.h: ifdef some things out, and
+ rename e_addressbook_error_dialog to eab_error_dialog.
+
+ * gui/widgets/e-addressbook-table-adapter.[ch]: big renaming -
+ rename e_addressbook_table_adapter to eab_table_adapter, and
+ EAddressbookTableAdapter to EABTableAdapter. Also, remove the
+ simple mapping - we can do ECardSimple-like operations directly on
+ the EContacts from the EABModel.
+
+ * gui/widgets/e-addressbook-model.[ch]: big renaming - rename
+ e_addressbook_model to eab_model, and EAddressbookModel to
+ EABModel. Also, convert everything from ECard to EContact.
+
+2003-09-01 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-vcard.c (e_vcard_new_from_string): omg i'm dumb.
+ don't call e_vcard_new here since it just turns around and calls
+ e_vcard_new_from_string again.
+
+2003-09-01 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-book-view.c (pas_book_view_notify_change): guard
+ pending adds foo.
+ (pas_book_view_notify_remove): same.
+ (pas_book_view_notify_add): same.
+ (pas_book_view_notify_complete): same.
+ (pas_book_view_construct): init mutex
+ (pas_book_view_dispose): free mutex
+
+ * backend/pas/pas-backend-ldap.c (func_exists): new function.
+ (send_pending_adds): remove
+ (ldap_search_handler): let the BookView stuff handle the pending
+ adds for us.
+ (ldap_search_dtor): remove pending adds stuff.
+ (pas_backend_ldap_search): same
+
+ * backend/pas/pas-backend-card-sexp.c (func_exists): new function.
+
+ * backend/ebook/tests/ebook/test-ebook.c (print_all_emails): use
+ an exists query.
+
+2003-08-31 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book-query.c (func_and, func_or, func_not)
+ (func_contains, func_is, func_beginswith, func_endswith)
+ (e_book_query_from_string): adapt the pas ldap backend sexp
+ parsing code to this, build up an EBookQuery that represents the
+ sexp.
+
+ * backend/ebook/e-contact.h (e_contact_field_id): add prototype.
+
+ * backend/ebook/e-contact.c (e_contact_field_id): new function.
+
+ * backend/ebook/Makefile.am (libebook_la_SOURCES): add
+ e-book-util.c back into the build, if only for the config_database
+ thingy.
+
+2003-08-31 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-contact.c (e_contact_duplicate): new function.
+
+ * backend/ebook/e-contact.h: add prototype for
+ e_contact_duplicate.
+
+ * backend/ebook/e-book-util.[ch]: massive ifdeffing. most of this
+ is either gone or will be unnecessary soon.
+
+ * backend/ebook/e-book-query.c (e_book_query_from_string): hack
+ this so it'll at least generate a query.
+
+ * backend/ebook/e-book-listener.c
+ (impl_BookListener_respond_get_view): add some debug spew and
+ remove a c&p'ed comment.
+
+ * backend/ebook/e-book-async.h: add prototype for
+ e_book_async_unload_uri.
+
+ * backend/ebook/e-book-async.c (e_book_async_unload_uri): new
+ function.
+
+ * backend/pas/pas-book-view.c (pas_book_view_construct): switch to
+ CORBA_Object_duplicate, ala pas_book.
+
+ * backend/pas/pas-backend-sync.c (pas_backend_sync_class_init):
+ fix typo and the build.
+
+2003-08-29 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-ldap.c (ldap_error_to_response):
+ s/card/contact.
+ (pas_backend_ldap_process_create_contact): same.
+ (remove_contact_handler): same.
+ (remove_contact_dtor): same.
+ (pas_backend_ldap_process_remove_contacts): same.
+ (modify_contact_modify_handler): same.
+ (modify_contact_dtor): same.
+ (pas_backend_ldap_process_modify_contact): same.
+ (get_contact_handler): same.
+ (get_contact_dtor): same.
+ (pas_backend_ldap_process_get_contact): same.
+ (pas_backend_ldap_class_init): same.
+
+ * backend/pas/pas-backend-summary.c
+ (pas_backend_summary_add_contact): s/card/contact, and mostly
+ switch from ECard{Simple} to EContact.
+ (pas_backend_summary_get_summary_vcard): same.
+ (pas_backend_summary_remove_contact): s/card/contact
+
+ * backend/pas/pas-backend-summary.h: s/card/contact.
+
+ * backend/pas/pas-backend-file.c (build_summary): fix g_warning,
+ and return immediately if the db->cursor call fails.
+ (pas_backend_file_create_contact): s/card/contact
+ (pas_backend_file_remove_contacts): same.
+ (pas_backend_file_modify_contact): same.
+ (pas_backend_file_get_contact): same.
+ (pas_backend_file_get_contact_list): same.
+ (pas_backend_file_class_init): same.
+
+ * backend/pas/pas-backend-vcf.c
+ (pas_backend_vcf_process_create_contact): s/card/contact.
+ (pas_backend_vcf_process_remove_contacts): same.
+ (pas_backend_vcf_process_modify_contact): same.
+ (pas_backend_vcf_process_get_contact): same.
+ (pas_backend_vcf_process_get_contact_list): same.
+ (pas_backend_vcf_class_init): same.
+
+ * backend/pas/pas-backend-sync.c (pas_backend_sync_create_contact): s/card/contact.
+ (pas_backend_sync_remove_contacts): same.
+ (pas_backend_sync_modify_contact): same.
+ (pas_backend_sync_get_contact): same.
+ (pas_backend_sync_get_contact_list): same.
+ (_pas_backend_create_contact): same.
+ (_pas_backend_remove_contacts): same.
+ (_pas_backend_modify_contact): same.
+ (_pas_backend_get_contact): same.
+ (_pas_backend_get_contact_list): same.
+ (pas_backend_sync_class_init): same.
+
+ * backend/pas/pas-backend-sync.h: s/card/contact.
+
+ * backend/pas/pas-backend.c (pas_backend_create_contact): s/card/contact.
+ (pas_backend_remove_contacts): same.
+ (pas_backend_modify_contact): same.
+ (pas_backend_get_contact): same.
+ (pas_backend_get_contact_list): same.
+ (pas_backend_change_add_new): same.
+ (pas_backend_change_modify_new): same.
+ (pas_backend_change_delete_new): same.
+
+ * backend/pas/pas-backend.h: s/card/contact.
+
+ * backend/pas/pas-book-view.c (send_pending_adds): s/card/contact
+ (pas_book_view_notify_change): same.
+ (pas_book_view_notify_remove): same.
+
+ * backend/pas/pas-book.c
+ (impl_GNOME_Evolution_Addressbook_Book_getContact): s/card/contact
+ (impl_GNOME_Evolution_Addressbook_Book_getContactList): same.
+ (impl_GNOME_Evolution_Addressbook_Book_addContact): same.
+ (impl_GNOME_Evolution_Addressbook_Book_removeContacts): same.
+ (impl_GNOME_Evolution_Addressbook_Book_modifyContact): same.
+ (pas_book_respond_create): same.
+ (pas_book_respond_remove_contacts): same.
+ (pas_book_respond_modify): same.
+ (pas_book_respond_get_contact): same.
+ (pas_book_respond_get_contact_list): same.
+ (pas_book_respond_get_changes): same.
+ (pas_book_class_init): same.
+
+ * backend/pas/pas-book.h: s/card/contact
+
+ * backend/ebook/tests/vcard/dump-vcard.c: #include
+ "ebook/e-vcard.h"
+
+ * backend/ebook/tests/vcard/Makefile.am (TEST_LIBS): use
+ top_builddir.
+ (CFLAGS): same.
+
+ * backend/ebook/tests/ebook/Makefile.am (TEST_LIBS): use
+ top_builddir.
+ (CFLAGS): use srcdir
+
+ * backend/ebook/test-card.c, backend/ebook/test-client-list.c,
+ backend/ebook/test-client.c, backend/ebook/test-ebook.c: remove.
+
+ * backend/ebook/e-card-cursor.[ch]: remove.
+
+ * backend/ebook/e-card-pairs.h: remove.
+
+ * backend/ebook/e-book.c (e_book_add_contact): s/Card/Contact.
+ (e_book_commit_contact): same
+ (e_book_get_contact): same.
+ (e_book_remove_contacts): same.
+ (e_book_get_contacts): same.
+ (e_book_handle_response): same.
+
+ * backend/ebook/e-book-view.c (e_book_view_do_added_event):
+ s/card/contact
+ (e_book_view_do_modified_event): same.
+ (e_book_view_do_removed_event): same.
+ (e_book_view_handle_response): same.
+ (e_book_view_class_init): same.
+
+ * backend/ebook/e-book-view.h: s/card/contact and pad the class
+ struct.
+
+ * backend/ebook/e-book-view-listener.c
+ (e_book_view_listener_queue_response): s/Card/Contact.
+ (e_book_view_listener_queue_status_event): no need to assign
+ things to NULL, we g_new0.
+ (e_book_view_listener_queue_idlist_event): s/Card/Contact, and no
+ need to assign things to NULL, we g_new0.
+ (e_book_view_listener_queue_sequence_event): same.
+ (e_book_view_listener_queue_message_event): same.
+ (impl_BookViewListener_notify_contacts_added): s/Card/Contact.
+ (impl_BookViewListener_notify_contacts_removed): same.
+ (impl_BookViewListener_notify_contacts_changed): same.
+ (e_book_view_listener_class_init): same.
+
+ * backend/ebook/e-book-view-listener.h: s/Card/Contact
+
+ * backend/ebook/e-book-types.h: s/CARD/CONTACT
+
+ * backend/ebook/e-book-listener.c
+ (e_book_listener_convert_status): s/Card/Contact
+ (impl_BookListener_respond_create_contact): same.
+ (impl_BookListener_respond_remove_contacts): same.
+ (impl_BookListener_respond_modify_contact): same.
+ (impl_BookListener_respond_get_contact): same.
+ (impl_BookListener_respond_get_contact_list): same.
+ (impl_BookListener_respond_get_changes): same.
+ (e_book_listener_class_init): same.
+
+ * backend/ebook/e-book-listener.h: pad the class struct, and
+ s/Card/Contact.
+
+ * backend/ebook/e-book-async.c (_load_uri_handler): GError
+ changes.
+ (_get_fields_handler): same.
+ (_get_methods_handler): same.
+ (_auth_user_handler): same.
+ (_get_card_handler): same.
+ (_remove_cards_handler): same.
+ (_add_vcard_handler): same.
+ (_commit_vcard_handler): same.
+ (_get_book_view_handler): same.
+ (e_book_async_get_book_view): use an EBookQuery instead of a char*.
+
+ * backend/ebook/Makefile.am: remove the test handling.
+ (SUBDIRS): set to ". tests"
+ (libebook_la_SOURCES): add e-book-async.c
+
+ * backend/idl/addressbook.idl: possibly gratuitous renaming, but i
+ was sick of seeing "Card" being used everywhere. "Contact" is the
+ new "Card".
+
+2003-08-28 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book.c (e_book_op_free): rename from
+ e_book_free_op.
+ (e_book_op_remove): rename from e_book_remove_op.
+ (e_book_clear_op): new function, remove the op, unlock its mutex,
+ and free it.
+ (e_book_add_contact): use e_book_clear_op.
+ (e_book_commit_contact): same.
+ (e_book_get_supported_fields): same.
+ (e_book_get_supported_auth_methods): same.
+ (e_book_authenticate_user): same.
+ (e_book_get_contact): same.
+ (e_book_remove_contacts): same.
+ (e_book_get_book_view): same.
+ (e_book_get_contacts): same.
+ (e_book_get_changes): same.
+ (e_book_load_uri): same.
+ (e_book_remove): new function.
+ (e_book_response_remove): new function.
+ (e_book_handle_response): add handling for RemoveBookResponse.
+ (e_book_load_local_addressbook): pass TRUE for e_book_load_uri
+ @only_if_exists.
+
+ * backend/ebook/e-book.h: add @only_if_exists arg to
+ e_book_load_uri so we can support folder creation at load_uri
+ time, and add prototype for e_book_remove.
+
+ * backend/ebook/e-book-types.h: add an "id" slot in EBookChange.
+
+ * backend/ebook/e-book-listener.c
+ (impl_BookListener_respond_get_changes): handle union in idl.
+ (impl_BookListener_respond_open_book): remove unnecessary
+ exception check.
+ (impl_BookListener_respond_remove_book): new function.
+ (impl_BookListener_respond_get_supported_fields): rename this from
+ _response_.
+ (impl_BookListener_respond_get_supported_auth_methods): same.
+ (e_book_listener_class_init): add _remove_book and track change to
+ get_supported_fields/get_supported_auth_methods names.
+
+ * backend/ebook/e-book-listener.h: add RemoveBookResponse to
+ EBookListenerOperation enum.
+
+ * backend/idl/addressbook.idl: make BookChangeItem a union that
+ switches over BookChangeType.
+
+ * backend/pas/pas-backend.c (pas_backend_change_add_new): new
+ function, create a BookChangeItem representing the addition of a
+ contact.
+ (pas_backend_change_modify_new): same, but for modifications.
+ (pas_backend_change_delete_new): same, but for deletions.
+
+ * backend/pas/pas-backend.h: add prototypes for
+ pas_backend_change_{add,modify,delete}_new
+
+ * backend/pas/pas-backend-file.c (pas_backend_file_changes): nuke.
+ (do_create): fix memory corruption.
+ (pas_backend_file_get_changes): copy the body of
+ pas_backend_file_changes here, and rework so that it's synchronous
+ and return a list instead of the book view hack.
+ (pas_backend_file_load_uri): mkdir the directory (we need a mkdir
+ -p here).
+ (select_changes): new function, scandir helper.
+ (pas_backend_file_remove): NULL out bf->priv->summary to quiet
+ valgrind, and call scandir to accumulate the .changes.db files
+ then unlink them.
+
+ * backend/pas/pas-book.c (pas_book_respond_remove): new function.
+ (pas_book_respond_get_supported_fields): unifdef this, and make it
+ use a glist.
+ (pas_book_respond_get_supported_auth_methods): same.
+ (pas_book_respond_get_changes): this code is kinda gross... lots
+ of copying going on, there's got to be a better way. but it
+ works.
+
+2003-08-26 Chris Toshok <toshok@ximian.com>
+
+ * backend/idl/addressbook.idl: add oneway void Book::remove() and
+ oneway void notifyBookRemoved()
+
+2003-08-26 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend.c (pas_backend_remove): new function.
+ (pas_backend_add_book_view): new function.
+ (pas_backend_add_client): move the "real_add_client" code here.
+ (pas_backend_remove_client): move the "real_remove_client" code
+ here.
+ (pas_backend_class_init): remove assignments of add_client and
+ remove_client vtable entries.
+ (pas_backend_is_removed): new function.
+ (pas_backend_set_is_removed): new function.
+ (pas_backend_init): init clients_mutex and views_mutex.
+
+ * backend/pas/pas-backend.h: remove the vtable entries for
+ add/remove_client, since these are fully handled in PASBackend.
+ Add prototypes for
+ pas_backend_is_removed/pas_backend_add_book_view/pas_backend_set_is_removed.
+
+ * backend/pas/pas-book.c
+ (impl_GNOME_Evolution_Addressbook_Book_remove): new function.
+ (impl_GNOME_Evolution_Addressbook_Book_getBookView): clean things
+ up a bit, and don't use pas_backend_get_book_views as it can't
+ lock the list of views.
+ (pas_book_respond_get_supported_auth_methods): remove the extra
+ unnecessary arg from the corba call.
+ (pas_book_respond_get_changes): same.
+ (pas_book_class_init): fill in epv "remove" slot.
+
+ * backend/pas/pas-book.h: rename pas_book_respond_remove to
+ pas_book_respond_remove_cards, and add a new
+ pas_book_respond_remove for use with removing books.
+
+ * backend/pas/pas-backend-sync.c (pas_backend_sync_remove): new
+ function.
+ (_pas_backend_remove): new function.
+ (pas_backend_sync_class_init): fill in the "remove" vtable entry.
+ (_pas_backend_remove_cards): track change to
+ pas_book_respond_remove_cards (pas_book_respond_remove is used for
+ removing the book, not the cards.)
+
+ * backend/pas/pas-backend-sync.h: add pas_backend_sync_remove
+ prototype and add remove_sync virtual function.
+
+2003-08-26 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-file.c (pas_backend_file_create_card,
+ pas_backend_file_remove_cards, pas_backend_file_modify_card,
+ pas_backend_file_get_vcard, pas_backend_file_get_card_list,
+ pas_backend_file_start_book_view, pas_backend_file_get_changes,
+ pas_backend_file_authenticate_user,
+ pas_backend_file_get_supported_fields): rename from
+ pas_backend_file_process_*
+ (pas_backend_file_load_uri): save off the dirname/summary
+ filename.
+ (pas_backend_file_remove): new function, unlink all the files we
+ know about.
+ (pas_backend_file_class_init): track changes to functions, and add
+ pas_backend_file_remove.
+
+2003-08-26 JP Rosevear <jpr@ximian.com>
+
+ * conduit/address-conduit.c (ecard_from_remote_record): duplicate
+ the extra address lines
+
+2003-08-22 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-book.[ch]: switch from using the PASRequest
+ union and a central PASBackend dispatch function. just call the
+ pas_backend methods directly and expand the args out.
+
+ * backend/pas/pas-backend.[ch]: same.
+
+ * backend/pas/pas-backend-sync.[ch]: same.
+
+ * backend/pas/pas-backend-vcf.c, backend/pas/pas-backend-file.c,
+ backend/pas/pas-backend-ldap.c: same, and get these all compiling
+ against the rest of the current pas/ebook code.
+
+2003-08-21 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/test-ebook.c: track GError case.
+
+ * backend/ebook/e-book.[ch]: GError-ify the api, and clean up some
+ cases where we weren't removing the current op.
+
+ * backend/ebook/e-book-view-listener.c
+ (e_book_view_listener_convert_status): track change from
+ E_BOOK_VIEW_STATUS_* to E_BOOK_VIEW_ERROR_*.
+
+ * backend/ebook/e-book-types.h: track change from E_BOOK_STATUS_*
+ to E_BOOK_ERROR_*, and some E_BOOK_VIEW_STATUS_* to
+ E_BOOK_VIEW_ERROR_*.
+
+ * backend/ebook/e-book-listener.c
+ (e_book_listener_convert_status): track change from
+ E_BOOK_STATUS_* to E_BOOK_ERROR_*.
+
+ * backend/ebook/e-book-query.c (e_book_query_any_field_contains):
+ new function.
+ (e_book_query_unref): handle the any_field_contains case.
+ (e_book_query_to_string): same.
+
+ * backend/ebook/e-book-query.h: add prototype for
+ e_book_query_any_field_contains.
+
+ * backend/ebook/e-card.c (e_card_load_uri): ifdef this out for
+ now.
+
+ * backend/ebook/e-contact.[ch] (e_contact_get_const): new
+ function/prototype.
+
+2003-08-20 Gilbert Fang <gilbert.fang@sun.com>
+
+ * gui/widgets/e-addressbook-util.c
+ (e_addressbook_send_card_list): use memcpy to assign
+ CORBA_char_sequence instead of strcpy. (#46706)
+
+2003-08-18 Ettore Perazzoli <ettore@ximian.com>
+
+ * gui/component/component-factory.c: Update OAFIIDs.
+
+ * gui/widgets/e-addressbook-util.c (e_addressbook_transfer_cards):
+ Removed extern declaration for global_shell_client [yuck].
+ (e_addressbook_transfer_cards): #if 0 the invocation for
+ evolution_shell_client_user_select_folder(), we need to
+ reimplement this component-side now.
+
+ * gui/component/component-factory.c (factory): Call
+ addressbook_component_peek() here instead of
+ addressbook_component_init() [since the latter is no more].
+
+ * gui/component/addressbook.c (set_status_message): Don't create
+ the activity client for now.
+
+ * gui/component/addressbook-config.c: Removed member shell from
+ struct AddressbookDialog.
+ (ldap_dialog_new): Do not take a shell arg anymore.
+ (ldap_config_control_new): Likewise.
+ (addressbook_config_control_new): No need to get the global shell
+ pointer here anymore.
+
+ * gui/component/addressbook-component.c: Rewritten to support the
+ new ::Component interface.
+ * gui/component/addressbook-component.h: Likewise.
+
+ * gui/component/GNOME_Evolution_Addressbook.server.in.in: Version
+ factory's OAFIID. Remove ShellComponent server, add Component
+ server.
+
+2003-08-12 Rodrigo Moya <rodrigo@ximian.com>
+
+ * backend/ebook/e-book.c (e_book_dispose): unref the
+ EComponentListener before unloading the CORBA object.
+
+2003-08-12 Hans Petter Jansson <hpj@ximian.com>
+
+ * backend/ebook/e-destination.c (e_destination_dispose): Chain.
+
+ * gui/component/e-address-widget.c (e_address_widget_destroy): Chain.
+ Prevent double frees. Prevent double GSource removal.
+
+ * gui/component/e-cardlist-model.c (e_cardlist_model_class_init):
+ Store parent class.
+ (e_cardlist_model_dispose): Chain. Prevent double frees and unrefs.
+
+ * gui/contact-editor/e-contact-editor-address.c
+ (e_contact_editor_address_dispose): Chain.
+
+ * gui/contact-editor/e-contact-editor-fullname.c
+ (e_contact_editor_fullname_dispose): Chain.
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (e_contact_list_editor_dispose): Chain.
+
+ * gui/contact-list-editor/e-contact-list-model.c
+ (contact_list_model_destroy): Chain. Prevent double frees and unrefs.
+
+ * gui/widgets/e-addressbook-reflow-adapter.c (addressbook_dispose):
+ Chain.
+ (addressbook_finalize): Chain.
+
+ * gui/widgets/e-addressbook-table-adapter.c (addressbook_dispose):
+ Chain.
+
+ * gui/widgets/e-addressbook-treeview-adapter.c (addressbook_destroy):
+ Chain. Prevent double free.
+
+ * gui/widgets/gal-view-minicard.c (gal_view_minicard_dispose):
+ Chain. Prevent double free and detach.
+
+ * gui/widgts/gal-view-treeview.c (gal_view_treeview_dispose):
+ Chain. Prevent double free and detach.
+
+ * printins/e-contact-print-style-editor.c
+ (e_contact_print_stule_editor_destroy): Chain. Prevent double unref.
+
+2003-08-07 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-vcard.c (e_vcard_to_string_vcard_21): new,
+ unimplemented, function.
+ (e_vcard_to_string_vcard_30): move the 3.0 vcard export code here.
+ (e_vcard_to_string): call e_vcard_to_string_vcard_21 or
+ e_vcard_to_string_vcard_30 based on @format.
+ (e_vcard_attribute_remove_values): new function.
+
+ * backend/ebook/e-vcard.h: add @format to e_vcard_to_string, and
+ add prototype for e_vcard_attribute_remove_values. also, add
+ prototype for e_vcard_decode_b_encoding.
+
+2003-08-07 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book-listener.c
+ (impl_BookListener_respond_open_book): remove the book arg.
+
+ * backend/ebook/e-book-listener.h (struct _EBookListenerResponse):
+ remove the corba book.
+
+ * backend/ebook/e-book-async.c (_get_book_view_dtor): free the
+ query string.
+ (e_book_async_get_book_view): dup the query string.
+
+ * backend/ebook/e-book.h: change e_book_get_book_view and
+ e_book_get_contacts to take a const char * query string instead of
+ an EBookQuery.
+
+ * backend/ebook/e-book.c (e_book_add_contact): pass
+ EVC_FORMAT_VCARD_30 to e_vcard_to_string.
+ (e_book_commit_contact): same.
+ (e_book_get_book_view): take a const char* query string instead of
+ an EBookQuery.
+ (e_book_get_contacts): same.
+ (e_book_response_open): track change - the Book is no longer
+ communicated back here.
+ (listener_cb): nuke.
+ (e_book_handle_response): track change to e_book_response_open.
+ (e_book_load_uri): rework this from using BookFactory::openBook to
+ BookFactory::getBook + Book::open.
+ (e_book_get_uri): new function, reimplement from old api.
+ (e_book_get_static_capabilities): same.
+ (e_book_check_static_capability): same.
+ (startup_mainloop): new function, run bonobo_main.
+ (e_book_activate): start up a thread with startup_mainloop as the
+ start func.
+ (e_book_new): call e_book_activate.
+
+ * backend/idl/addressbook.idl: Add Book::open, remove the Book
+ from notifyBookOpened's args, and change BookFactory::openBook to
+ BookFactory::getBook.
+
+ * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): add
+ only_if_exists - stop using the "create-initial" special file.
+
+ * backend/pas/pas-backend-vcf.c (pas_backend_vcf_load_uri): add
+ only_if_exists - stop using the "create-initial" special file.
+
+ * backend/pas/pas-backend.c (pas_backend_load_uri): add
+ @only_if_exists, and pass it along to the virtual method.
+ (pas_backend_open): new function, lock the mutex so only one
+ PASBook can actually call load_uri. call load_uri with
+ pas_book_get_uri, and req->only_if_exists.
+ (pas_backend_handle_request): rename process_client_request to
+ this, and expose it publicly. Also add a case statement for
+ "Open".
+ (real_add_client): gut this function, we don't need to create the
+ book anymore, just add the client to the list and do the weak
+ ref/ORBit small stuff.
+ (pas_backend_add_client): track change to signature - BookListener
+ -> PASBook.
+ (pas_backend_init): init open_mutex.
+ (pas_backend_dispose): free open_mutex.
+
+ * backend/pas/pas-backend.h (PASBackendClass): add @only_if_exists
+ to the load_uri virtual method, and change the add_client virtual
+ method to take a PASBook instead of a BookListener. add the same
+ args to _load_uri and add_client. Also, add prototypes for
+ pas_backend_handle_request and pas_backend_open.
+
+ * backend/pas/pas-book-factory.c
+ (_pas_book_factory_send_open_book_response): nuke.
+ (pas_book_factory_launch_backend): just return NULL, don't call
+ _pas_book_factory_send_open_book_response, in the error case.
+ (start_backend): nuke
+ (impl_GNOME_Evolution_Addressbook_BookFactory_getBook): rename
+ _openBook to this. clean up the code a bit. Create the PASBook
+ here, and always track change to pas_backend_add_client's type (we
+ pass the book now, not the listener).
+ (pas_book_factory_class_init): openBook -> getBook.
+
+ * backend/pas/pas-book.c
+ (impl_GNOME_Evolution_Addressbook_Book_open): new function, call
+ pas_backend_open.
+ (impl_GNOME_Evolution_Addressbook_Book_getVCard): get rid of the
+ signal crap, just call pas_backend_handle_request.
+ (impl_GNOME_Evolution_Addressbook_Book_getCardList): same.
+ (impl_GNOME_Evolution_Addressbook_Book_authenticateUser): same.
+ (impl_GNOME_Evolution_Addressbook_Book_addCard): same.
+ (impl_GNOME_Evolution_Addressbook_Book_removeCards): same.
+ (impl_GNOME_Evolution_Addressbook_Book_modifyCard): same.
+ (impl_GNOME_Evolution_Addressbook_Book_getChanges): same.
+ (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): same.
+ (impl_GNOME_Evolution_Addressbook_Book_getSupportedAuthMethods):
+ same.
+ (impl_GNOME_Evolution_Addressbook_Book_cancelOperation): same.
+ (pas_book_get_backend): aggregate some g_return_if_fail's.
+ (pas_book_get_listener): new function.
+ (pas_book_get_uri): new function.
+ (pas_book_respond_open): just call BookListener::notifyBookOpened.
+ (pas_book_construct): add @uri, and g_strdup it.
+ (pas_book_new): add @uri, and pass it to pas_book_construct.
+ (pas_book_class_init): remove the "request" signal stuff, and fill
+ in epv->open.
+
+ * backend/pas/pas-book.h: add PASOpenRequest struct/enum entry.
+ Also, add @uri to the pas_book_new args, and add a prototype for
+ pas_book_get_uri. Also, remove the "request" signal.
+
+2003-08-07 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-book-factory.c
+ (pas_book_factory_get_n_backends): lock map_mutex around hash
+ table work.
+ (pas_book_factory_dump_active_backends): same.
+ (backend_last_client_gone_cb): same.
+ (_pas_book_factory_send_open_book_response): track CallStatus idl
+ change.
+ (start_backend): simplify this greatly, since the factory is
+ tagged with HINT_PER_THREAD.
+ (impl_GNOME_Evolution_Addressbook_BookFactory_openBook): lock
+ around hash table.
+ (pas_book_factory_init): initialize map_mutex.
+ (pas_book_factory_dispose): free map_mutex.
+
+2003-08-06 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-file.c
+ (pas_backend_file_book_view_copy): nuke.
+ (pas_backend_file_book_view_free): same.
+ (view_destroy): same.
+ (pas_backend_file_changes): #if notyet
+ (do_create): e-card -> e-contact.
+ (pas_backend_file_process_create_card): remove view handling from
+ here.
+ (pas_backend_file_process_remove_cards): same.
+ (pas_backend_file_process_modify_card): convert to e-contact, and
+ remove view handling.
+ (pas_backend_file_get_book_view): nuke.
+ (pas_backend_file_process_get_supported_fields): e-card-simple ->
+ e-contact.
+ (pas_backend_file_upgrade_db): e-card -> e-contact.
+ (pas_backend_file_cancel_operation): implement, just return
+ CouldNotCancel.
+ (pas_backend_file_class_init): assign cancel_operation, and remove
+ get_book_view assignment.
+ (pas_backend_file_init): remove book_views assignment.
+
+2003-08-06 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-vcf.c (pas_backend_vcf_book_view_copy):
+ nuke.
+ (pas_backend_vcf_book_view_free): same.
+ (view_destroy): same.
+ (insert_contact): new function, insert the contact into our hash
+ table.
+ (load_file): reimplement without the e_card stuff.
+ (foreach_build_list): e_card -> e_contact.
+ (save_file): mostly reimplement in terms of e-contact. more error
+ case work needs doing.
+ (do_create): e-card -> e-contact.
+ (pas_backend_vcf_process_create_card): remove the view handling
+ from here.
+ (pas_backend_vcf_process_remove_cards): implement this, just
+ remove it from the hash table and set ourselves to dirty.
+ (pas_backend_vcf_process_modify_card): remove the view handling
+ from here.
+ (pas_backend_vcf_process_get_book_view): nuke.
+ (pas_backend_vcf_process_get_supported_fields): reimplement in
+ terms of e-contact.
+ (INITIAL_VCARD): add in a FN attribute, and remove the quoted
+ printable encoding.
+ (pas_backend_vcf_cancel_operation): implement, just always return
+ CouldNotCancel.
+ (pas_backend_vcf_class_init): fill in cancel_operation, and remove
+ get_book_view_sync.
+ (pas_backend_vcf_init): remove book_views handling.
+
+ * backend/pas/pas-backend-vcf.h: update copyright.
+
+2003-08-06 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-sync.c (pas_backend_sync_remove_cards):
+ add out param @ids, so we can call pas_book_respond_remove
+ properly.
+ (_pas_backend_remove_cards): the other half of the change - pass
+ the ids on to pas_book_response_remove.
+ (pas_backend_sync_modify_card): add out param @old_vcard so we can
+ call pas_book_respond_modify properly.
+ (_pas_backend_modify_card): the other half of the change, pass the
+ old_vcard on to pas_book_respond_modify.
+ (pas_backend_sync_get_book_view): nuke.
+ (pas_backend_sync_get_changes): track change (book view -> GList)
+ (_pas_backend_is_threaded): nuke.
+ (_pas_backend_create_card): indent.
+ (_pas_backend_remove_cards): same.
+ (_pas_backend_modify_card): same.
+ (_pas_backend_get_card_list): same.
+ (_pas_backend_get_changes): same.
+ (_pas_backend_authenticate_user): same.
+ (_pas_backend_get_supported_fields): same.
+ (_pas_backend_get_supported_auth_methods): same.
+ (_pas_backend_get_book_view): nuke.
+ (pas_backend_sync_class_init): remove assignment to is_threaded
+ and get_book_view.
+
+ * backend/pas/pas-backend-sync.h: add out-params @ids to
+ remove_cards_sync, @old_vcard to modify_card_sync.
+ get_changes_sync's out-param is a GList instead of a book view,
+ and remove get_book_view_sync.
+
+ * backend/pas/pas-backend.c (pas_backend_get_book_view): nuke.
+ (pas_backend_is_threaded): nuke.
+ (pas_backend_start_threaded): nuke.
+ (pas_backend_init): initialize priv->views.
+ (pas_backend_dispose): free priv->views.
+ (pas_backend_get_book_views): new function, return priv->views.
+
+ * backend/pas/pas-backend.h: remove the get_book_view virtual
+ method, and the pas_backend_get_book_view prototype. Also, track
+ the CallStatus change, and add a cancel_operation virtual method
+ and prototype, and add pas_backend_get_book_views function, so the
+ PASBook's can get ahold of the list.
+
+ * backend/pas/pas-book-view.h: track collapsing of
+ Addressbook::BookListenerCallStatus and
+ Addressbook::BookView::CallStatus enums into
+ Addressbook::CallStatus.
+
+ * backend/pas/pas-book-view.c: same.
+
+ * backend/pas/pas-card-cursor.[ch]: nuke
+
+ * backend/pas/pas-book.c: track collapsing of
+ Addressbook::BookListenerCallStatus and
+ Addressbook::BookView::CallStatus enums into
+ Addressbook::CallStatus.
+ (impl_GNOME_Evolution_Addressbook_Book_getBookView): implement
+ this all here, instead of farming it out to the backends.
+ (impl_GNOME_Evolution_Addressbook_Book_getChanges): track change
+ to signature. this is no longer a book view, it'll return an
+ actual list.
+ (impl_GNOME_Evolution_Addressbook_Book_cancelOperation): new
+ function, implement.
+ (pas_book_respond_create): iterate over the views, notifying them
+ if the new card matches their query.
+ (pas_book_respond_remove): iterate over the views, telling them to
+ delete the card matching the id.
+ (pas_book_respond_modify): iterate over the views, notifying them
+ if they need to change/add/remove that card.
+ (view_destroy): move this here from the backends.
+ (pas_book_respond_get_book_view): weak-ref the book view.
+ (pas_book_new): remove the is_threaded switch on POA hints, and
+ always use PER_REQUEST.
+ (pas_book_class_init): fill in cancelOperation.
+
+ * backend/pas/pas-book.h: track collapsing of
+ Addressbook::BookListenerCallStatus and
+ Addressbook::BookView::CallStatus enums into
+ Addressbook::CallStatus.
+
+2003-08-01 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book-async.c: mostly finished.
+
+2003-08-01 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book-async.[ch]: new files, create async methods
+ similar to the old ebook api that use GThread/GAsyncQueue to
+ simulate the old async behavior.
+
+2003-07-29 Chris Toshok <toshok@ximian.com>
+
+ * backend/idl/addressbook.idl: collapse
+ Addressbook::BookListenerCallStatus and
+ Addressbook::BookView::CallStatus enums into
+ Addressbook::CallStatus.
+
+2003-07-29 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book-types.h: add EBookChangeType/EBookChange.
+
+2003-07-29 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book-view-listener.c: track collapsing of
+ Addressbook::BookListenerCallStatus and
+ Addressbook::BookView::CallStatus enums into
+ Addressbook::CallStatus.
+
+ * backend/ebook/e-book-listener.c track collapsing of
+ Addressbook::BookListenerCallStatus and
+ Addressbook::BookView::CallStatus enums into
+ Addressbook::CallStatus.
+ (response_free): nuked
+ (e_book_listener_check_queue): nuked
+ (e_book_listener_queue_response): nuked
+ (e_book_listener_queue_progress): nuked
+ (e_book_listener_queue_get_view_response): nuked
+ (e_book_listener_queue_get_changes_response): nuked
+ (e_book_listener_queue_writable_status): nuked
+ (e_book_listener_queue_authentication_response): nuked
+ (e_book_listener_queue_get_supported_fields_response): nuked
+ (e_book_listener_queue_get_supported_auth_methods_response): nuked
+ (e_book_listener_dispose): nuked
+
+ * backend/ebook/e-book-listener.h: remove prototypes for
+ check_pending and pop_response.
+
+ * backend/ebook/e-book.c (e_book_get_changes): new function.
+ implement this as more of a getCardList type function, instead of
+ getBookView.
+ (e_book_response_get_changes): new function.
+ (e_book_free_change_list): new function.
+
+ * backend/ebook/e-book.h: add prototype for
+ e_book_free_change_list.
+
+2003-07-23 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book.c (e_book_get_book_view): new function,
+ implement this.
+ (e_book_response_get_book_view): same.
+ (e_book_get_contacts): remove the op so we don't see BUSY after
+ this request.
+ (e_book_handle_response): unifdef a few things.
+ (e_book_unload_uri): fix the assertion about URI_NOT_LOADED, and
+ unifdef some code.
+ (e_book_dispose): fix a typo.
+
+ * backend/ebook/e-book-view.c (e_book_view_handle_response):
+ rename _check_listener_queue to this. we don't need to pop the
+ response either, it's passed as an arg.
+ (e_book_view_construct): "response_queued" -> "response"
+ (e_book_view_start): new function, call BookView.start.
+ (e_book_view_dispose): track the signal id change.
+
+ * backend/ebook/e-book-view.h: add prototype for
+ e_book_view_start.
+
+ * backend/ebook/e-book-view-listener.c
+ (e_book_view_listener_check_queue): remove.
+ (e_book_view_listener_queue_response): just emit the signal.
+ (impl_BookViewListener_notify_card_added): spew.
+ (impl_BookViewListener_notify_card_changed): spew.
+ (impl_BookViewListener_notify_sequence_complete): spew.
+ (impl_BookViewListener_notify_progress): spew.
+ (e_book_view_listener_check_pending): remove
+ (e_book_view_listener_check_pop_response): remove
+ (e_book_view_listener_new): use the ALL_AT_IDLE poa policy.
+ (e_book_view_listener_init): remove the queue/timeout stuff.
+ (e_book_view_listener_dispose): remove the queue/timeout stuff.
+
+ * backend/ebook/e-book-view-listener.h: remove _check_pending and
+ _pop_response.
+
+2003-07-23 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-backend-file.c (do_summary_query): remove the
+ completion_search argument, and remove the aggregating stuff.
+ just call pas_book_view_notify_add_1.
+ (pas_backend_file_book_view_copy): remove card_sexp crap.
+ (pas_backend_file_book_view_free): same.
+ (get_length): remove
+ (get_nth): remove
+ (cursor_destroy): remove
+ (vcard_matches_search): remove
+ (ecard_matches_search): remove
+ (pas_backend_file_search_timeout): remove the aggregating stuff.
+ just call pas_book_view_notify_add_1.
+ (pas_backend_file_search): simplify this a bunch.
+ (do_create): use pas_book_view_vcard_matches.
+ (pas_backend_file_process_get_card_list): add some more error
+ checks.
+ (pas_backend_file_process_get_book_view): unifdef this, and
+ implement it.
+ (pas_backend_file_start_book_view): kick off the search.
+ (pas_backend_file_get_uri): remove.
+ (pas_backend_file_class_init): remove get_uri, add
+ start_book_view.
+
+ * backend/pas/pas-backend-ldap.c (view_destroy): don't need to
+ unref the card_sexp, as the PASBookView owns it now.
+ (create_card_handler): use pas_book_view_vcard_matches.
+ (modify_card_modify_handler): same.
+ (ldap_get_view): initialize the view properly.
+ (pas_backend_ldap_get_uri): remove.
+ (pas_backend_ldap_class_init): remove the get_uri assignment.
+
+ * backend/pas/pas-backend-sync.c (_pas_backend_get_card_list):
+ don't free this, it's freed in the pas_book code.
+
+ * backend/pas/pas-backend-sync.h: make use of pas-types.h and
+ remove some typedefs.
+
+ * backend/pas/pas-backend-summary.h: same.
+
+ * backend/pas/pas-backend-card-sexp.h: same.
+
+2003-07-23 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-book.c
+ (impl_GNOME_Evolution_Addressbook_Book_getBookView): spew.
+ (pas_book_respond_create): unifdef this.
+ (pas_book_respond_remove): same.
+ (pas_book_respond_modify): same.
+ (pas_book_respond_authenticate_user): same.
+ (pas_book_respond_get_supported_fields): unref the iterator.
+ (pas_book_respond_get_book_view): unifdef, and add spew.
+
+ * backend/pas/pas-book.h: make use of pas-types.h and remove some
+ typedefs.
+
+2003-07-23 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-types.h: new file, all the typedefs shared
+ between files here.
+
+2003-07-23 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/pas-book-view.c (send_pending_adds): abstract all
+ the aggregating code to the book view. backends just call
+ notify_card_added and the superclass does all the aggregating.
+ (pas_book_view_notify_change): if there are pending adds, send
+ them before we send the change.
+ (pas_book_view_notify_remove): same.
+ (pas_book_view_notify_add): the other part of the aggregating
+ code.
+ (pas_book_view_notify_complete): send pending adds if there are
+ any.
+ (impl_GNOME_Evolution_Addressbook_BookView_start): new function,
+ call pas_backend_start_book_view.
+ (pas_book_view_get_card_query): new function.
+ (pas_book_view_get_card_sexp): new function.
+ (pas_book_view_get_backend): new function.
+
+ * backend/pas/pas-book-view.h: add a PASBackend arg to the
+ constructor, as well as the char* query and PASBackendCardSExp
+ form. also add accessors for card_query, card_sexp, and backend.
+
+ * backend/idl/addressbook.idl
+ (GNOME::Evolution::Addressbook::BookView): add start() method.
+ (GNOME::Evolution::Addressbook::BookListener): remove the oneway
+ tag from notifyBookOpened, notifyViewRequested, and
+ notifyChangesRequested so the call doesn't return until the remote
+ object has gotten the method call.
+
+ * backend/pas/pas-backend.c (pas_backend_load_uri): fill in the
+ uri slot if the load was successful.
+ (pas_backend_get_uri): return the uri, remove the virtual method
+ call.
+ (pas_backend_start_book_view): new function.
+ (process_client_request): ifdef out the threaded foo, since i'm
+ not certain it's at all necessary.
+ (real_add_client): remove the bonobo_object_unref of the book,
+ since it's immortal.
+ (pas_backend_dispose): free the uri.
+
+ * backend/pas/pas-backend.h: remove the get_uri virtual method,
+ and add the start_book_view virtual method and
+ pas_backend_start_book_view prototype.
+
+2003-07-23 Chris Toshok <toshok@ximian.com>
+
+ * backend/pas/Makefile.am (libpasvcf_a_SOURCES): new.
+ (noinst_LIBRARIES): add libpasvcf.a
+
+ * backend/pas/pas-backend-vcf.[ch]: new files, implement a vcard
+ file backend. the backend api still needs a little work, but it's
+ getting easier to write backends.
+
+2003-07-23 Chris Toshok <toshok@ximian.com>
+
+ * printing/e-contact-print.c (e_contact_print_response): deal with
+ "uses_list". Fixes #30839.
+ (e_contact_print_dialog_new): use GINT_TO_POINTER instead of
+ casting to void*, and set "uses_list" to FALSE.
+ (e_contact_print_card_dialog_new): same.
+ (e_contact_print_card_list_dialog_new): same, but set "uses_list"
+ to TRUE.
+
+2003-07-23 Chris Toshok <toshok@ximian.com>
+
+ * backend/ebook/e-book.c (e_book_dispose): fix a typo.
+
+2003-07-22 Akira TAGOH <tagoh@redhat.com>
+
+ * printing/e-contact-print-envelope.c (ecpe_print): Use 'Sans'
+ instead of 'Helvetica' for the font name.
+ * printing/e-contact-print.c (e_contact_build_style): Likewise.
+
+2003-07-23 Dan Winship <danw@ximian.com>
+
+ * backend/ebook/Makefile.am: use EVO_MARSHAL_RULE
+ * backend/pas/Makefile.am: Likewise
+ * gui/component/select-names/Makefile.am: Likewise
+ * gui/contact-editor/Makefile.am: Likewise
+ * gui/contact-list-editor/Makefile.am: Likewise
+ * gui/widgets/Makefile.am: Likewise
+
+ * gui/contact-editor/e-contact-editor.c
+ (e_contact_editor_class_init):
+ s/ece_marshal/e_contact_editor_marshal/
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (e_contact_list_editor_class_init): Likewise for ecle_marshal
+
+ * gui/search/e-addressbook-search-dialog.c
+ (e_addressbook_search_dialog_init): Remove gtk_window_set_policy
+ call since that function is deprecated and it was just setting
+ everything to the default values anyway.
+
+ * gui/widgets/e-addressbook-util.c: #include gal/util/e-util.h for
+ e_free_object_list.
+
+2003-07-22 Dan Winship <danw@ximian.com>
+
+ * backend/ebook/e-card.c: (e_card_new,
+ e_card_new_with_default_charset): Make the "vcard" arg const.
+ ...: add lots and lots of other consts as a side effect
+
+2003-06-30 Dan Winship <danw@ximian.com>
+
+ * gui/widgets/e-addressbook-view.c (e_addressbook_view_dispose):
+ disconnect from model signals to prevent a race condition at
+ shutdown where the view gets destroyed and then the model notices
+ the backend dying before being destroyed itself.
+
+ * gui/widgets/e-addressbook-reflow-adapter.c
+ (addressbook_finalize): add, to free priv.
+ (e_addressbook_reflow_adapter_class_init): set it up
+
+ * gui/component/e-address-popup.c (e_address_popup_set_free_form):
+ Don't leak strings
+
+ * gui/component/addressbook-storage.c (load_source_data): don't
+ leak xml data.
+
+ * gui/component/addressbook-component.c (new_item_cb): don't leak
+ the new card.
+
+2003-06-25 Gilbert Fang <gilbert.fang@sun.com>
+
+ * gui/widgets/e-minicard-view-widget.c
+ (e_minicard_view_widget_real_focus_in_event): new function,
+ override the event handler for focus_in_event, set the first item
+ be focused if no focused item at all. Fixes bug 41826.
+
+2003-06-18 Chris Toshok <toshok@ximian.com>
+
+ * gui/contact-editor/e-contact-editor.c (fill_in_field): in the
+ EUrlEntry case just reassign widget. it'll be handled by the
+ GtkEditable code below. Fixes #43841.
+
+2003-06-14 Larry Ewing <lewing@ximian.com>
+
+ * gui/backend/ebook/e-card-simple.c:
+ * gui/backend/ebook/e-card.c:
+ * gui/backend/ebook/evolution-ldif-importer.c:
+ * gui/backend/ebook/load-pine-addressbook.c:
+ * gui/backend/ebook/test-card.c:
+ * gui/backend/pas/pas-backend-card-sexp.c:
+ * gui/backend/pas/pas-backend-ldap.c: Fix lots of leaks, update
+ for correct use of g_object_get. Some cleanups.
+
+2003-06-13 Larry Ewing <lewing@ximian.com>
+
+ * gui/component/addressbook.c:
+ * gui/component/e-cardlist-model.c:
+ * gui/component/select-names/e-select-names-text-model.c:
+ * gui/contact-editor/e-contact-editor.c:
+ * gui/contact-editor/e-contact-save-as.c:
+ * gui/contact-list-editor/e-contact-list-editor.c:
+ * gui/widgets/e-addressbook-table-adapter.c:
+ * gui/widgets/e-addressbook-util.c:
+ * gui/widgets/e-addressbook-view.c:
+ * gui/widgets/e-minicard-view.c:
+ * gui/widgets/e-minicard.c: Fix lots of leaks, update for correct
+ use of g_object_get. Some misc cleanups.
+
+ * printing/e-contact-print.c: update for correct use of
+ g_object_get.
+
+2003-06-05 Not Zed <NotZed@Ximian.com>
+
+ ** For #42691.
+
+ * gui/component/select-names/Makefile.am (%.server.in): implicit
+ rule for .in file.
+ (BUILT_SOURCES): added server_DATA.
+
+ * gui/component/Makefile.am (%.server.in): use implicit rule for
+ .in file.
+ (BUILT_SOURCES): added, just server_DATA.
+ (CLEANFILES): added
+
+ * backend/ebook/Makefile.am (BUILT_SOURCES): add server_DATA.
+
+2003-06-04 Rodrigo Moya <rodrigo@ximian.com>
+
+ * backend/ebook/ebook.c (e_book_do_response_open): adapted to
+ changes in EComponentListener API.
+
+** See ChangeLog.pre-1-4 for older changes
+