diff options
author | JP Rosevear <jpr@src.gnome.org> | 2004-09-13 21:29:16 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2004-09-13 21:29:16 +0800 |
commit | b871c53dd21f7ae62383bb824cc55f794e20ad73 (patch) | |
tree | 52b94336a98db87607485118b5b13accff91eb12 | |
parent | c1b039e8ce16a8c4a9c6e6dcfdce15edfec50dfc (diff) | |
download | gsoc2013-evolution-b871c53dd21f7ae62383bb824cc55f794e20ad73.tar gsoc2013-evolution-b871c53dd21f7ae62383bb824cc55f794e20ad73.tar.gz gsoc2013-evolution-b871c53dd21f7ae62383bb824cc55f794e20ad73.tar.bz2 gsoc2013-evolution-b871c53dd21f7ae62383bb824cc55f794e20ad73.tar.lz gsoc2013-evolution-b871c53dd21f7ae62383bb824cc55f794e20ad73.tar.xz gsoc2013-evolution-b871c53dd21f7ae62383bb824cc55f794e20ad73.tar.zst gsoc2013-evolution-b871c53dd21f7ae62383bb824cc55f794e20ad73.zip |
Fix empty log.
svn path=/trunk/; revision=27241
-rw-r--r-- | addressbook/ChangeLog | 6553 |
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 + |