diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2003-06-10 01:31:26 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2003-06-10 01:31:26 +0800 |
commit | fd2f3a6d7adb1fbc154c9a8493bfb44b979da1cb (patch) | |
tree | d92902feb3bc61a35fe4b600dc42465e8bcacb90 /addressbook/ChangeLog.pre-1-4 | |
parent | 1c5f741b4bc521c6d7a83907fd3dca5be32a7f79 (diff) | |
download | gsoc2013-evolution-fd2f3a6d7adb1fbc154c9a8493bfb44b979da1cb.tar.gz gsoc2013-evolution-fd2f3a6d7adb1fbc154c9a8493bfb44b979da1cb.tar.zst gsoc2013-evolution-fd2f3a6d7adb1fbc154c9a8493bfb44b979da1cb.zip |
Roll over ChangeLogs.
svn path=/trunk/; revision=21387
Diffstat (limited to 'addressbook/ChangeLog.pre-1-4')
-rw-r--r-- | addressbook/ChangeLog.pre-1-4 | 16758 |
1 files changed, 16758 insertions, 0 deletions
diff --git a/addressbook/ChangeLog.pre-1-4 b/addressbook/ChangeLog.pre-1-4 new file mode 100644 index 0000000000..b1c12cb82f --- /dev/null +++ b/addressbook/ChangeLog.pre-1-4 @@ -0,0 +1,16758 @@ +2003-05-19 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (func_beginswith): use the more + convoluted (but more correct) query if evolutionPerson is + supported. Fixes #42825. + +2003-05-19 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-destination.c (use_default_book_cb): handle the + case where @book == NULL, which can happen if there was a problem + opening the default book. Should fix #43005. + +2003-05-19 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c + (ensure_completion_uris_exist): fix the initial run case. the + config upgrade code creates all elements so we can't just check + for NULL - we have to check if the string is empty. Fixes #43213. + +2003-05-19 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-label.c (set_colors): if we've got focus, + set the background of the rect to bg[NORMAL], and the fill color + of the text and label to text[NORMAL]. This will make the + background a different color than the canvas, but won't make it + use the selected background. fixes #42472 + +2003-05-19 Chris Toshok <toshok@ximian.com> + + * gui/merging/e-card-merging.c (e_card_merging_book_commit_card): + add a g_object_ref(card), to match the one in + e_card_merging_book_add_card. Fixes #43175. + +2003-05-19 Anna Marie Dirks <anna@ximian.com> + + * gui/contact-editor/e-contact-quick-add.c: Added HIG-appropriate + HIG-appropriate spacing, padding, accelerators. Fixes bug #41210 + + * gui/component/ldap-config.glade: HIG-ified the various dialogs + (including the settings pages, the config druid, and the edit dialog) + in this glade file. This fixes bugs #41140, #41137, #41130 + + * gui/merging/e-card-merging-book-commit-duplicate-detected.glade: + Changed button order, and added HIG-appropriate spacing/padding. + Fixes bug #41232. + + * gui/merging/e-card-duplicate-detected.glade: Changed button + order, and added HIG-appropriate spacing/padding. Fixes bug + #41229 and #41231. + +2003-05-19 Sean Gao <sean.gao@sun.com> + + * gui/component/addressbook-component.c (xfer_folder): remove the + summary if @remove_source is TRUE. Fixes 38084. + +2003-05-16 Anna Marie Dirks <anna@ximian.com> + + * gui/contact-list-editor/contact-list-editor.glade: Added + HIG-appropriate spacing, padding, capitalization and accelerators. + Fixes bug #41254 + +2003-05-16 Anna Marie Dirks <anna@ximian.com> + + * gui/contact-editor/fulladdr.glade: Added HIG-appropriate + spacing, padding, capitalization and accelerators. Fixes bug #41251 +2003-05-14 Anna Marie Dirks <anna@ximian.com> + + * gui/contact-editor/fullname.glade: Added HIG-appropriate + spacing, padding, caps, title and accelerators. Fixes bug #41249, + and also bug #41250.. + +2003-05-16 Anna Marie Dirks <anna@ximian.com> + + * gui/contact-editor/contact-editor.glade: Added HIG-appropriate + spacing, padding, capitalization and accelerators. Fixes bug #41248. + + +2003-05-16 Rodney Dawes <dobey@ximian.com> + + * addressbook/backend/ebook/Makefile.am: Move the tools to a + more appropriate directory, privlibexecdir + +2003-05-15 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (book_open_cb): backing out a tiny + porting of jpr's fix - we need to set the book on the + EAddressbookView, or else it won't do queries, and it won't show + any cards. Fixes #43023, #43090. + +2003-05-15 Chris Toshok <toshok@ximian.com> + + * gui/merging/e-card-merging.c (free_lookup): new function, split + out the duplicated teardown code from final_cb and final_id_cb. + also, unref the card. + (final_id_cb): call free_lookup. + (final_cb): same. + (e_card_merging_book_add_card): ref the card. fixes bug #43016. + +2003-05-14 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c (full_addr_clicked): + replace the text_buffer_delete/text_buffer_insert with + set_buffer_set_text. call widget_changed if they clicked OK, so + we actually mark the dialog changed. + (fill_in_field): make this handle GtkTextViews, because for some + reason that escapes rational thought GtkTextView's don't implement + GtkEditable. fixes #42606. + (extract_field): same. + +2003-05-14 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-label.c (e_minicard_label_reflow): set + the clip_height on reflow so the name of the field is as high as + the field's value. makes it possible to click anywhere to the + left of a tall field (like an address) and have it select the + field. Fixes #42625. + +2003-05-14 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c (address_mailing_changed): + handle the case where we haven't filled in the address yet. fixes + #42620. + +2003-05-14 JP Rosevear <jpr@ximian.com> + + * gui/component/addressbook.c (addressbook_view_unref): clear the + view + (book_open_cb): track the book in the view, don't unref the book + (set_prop): set the book + (retrieve_shell_view_interface_from_control): get the shell view + every time + (set_folder_bar_label): release and unref the shell view + + * gui/component/addressbook-storage.h: add proto + + * gui/component/addressbook-storage.c + (addressbook_storage_cleanup): unref the storage + + * gui/component/addressbook-component.c (owner_unset_cb): clean up + storage + + * backend/ebook/e-book.c (e_book_load_uri): track the listener + signal + (e_book_dispose): unref the listener and disconnect the signal + +2003-05-13 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_set_separator): strlen -> + g_utf8_strlen. + (e_select_names_text_model_insert): same. + (e_select_names_text_model_insert_length): big change, make this + work with multibyte utf8. + (e_select_names_text_model_delete): same. this could possibly use + a tighter loop + a memmove, but this works. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_get_textification): make sure our truncation + to MAX_LENGTH characters uses utf8 characters, not bytes. + (e_select_names_model_name_pos): track e-text-model change. + pos/length are now in utf8 character terms, so use g_utf8_strlen + instead of strlen. + (e_select_names_model_text_pos): same. + +2003-05-13 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-table-adapter.c (addressbook_dispose): + rename addressbook_destroy to this, and guard against multiple + calls. + (e_addressbook_table_adapter_class_init): GtkObject -> GObject, + and destroy -> dispose. + (e_addressbook_table_adapter_init): GtkObject -> GObject. + +2003-05-12 Sean Gao <sean.gao@sun.com> + + * gui/contact-list-editor/e-contact-list-editor.c + (e_contact_list_editor_init): terminate g_build_filename with + NULL. + +2003-05-11 Chris Toshok <toshok@ximian.com> + + [ fixes bug #42048 ] + * gui/widgets/e-addressbook-view.c (e_contact_print_button): + button => response. + (e_addressbook_view_print): connect to "response", not "clicked". + +2003-05-11 Chris Toshok <toshok@ximian.com> + + [ fixes bug #41245 ] + * gui/component/select-names/select-names.glade: fix + spacing/border widths as per HIG. + + * gui/component/select-names/e-select-names.c + (e_select_names_init): set the border width/spacing on widgets we + create here. + +2003-05-09 Jeremy Katz <katzj@redhat.com> + + * printing/e-contact-print.c (e_contact_print_response): Use glib + macro to case from pointer to int. + + * printing/e-contact-print-envelope.c: Add missing #include. + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_start_query): Use + E_SELECT_NAMES_COMPLETION to avoid warning + +2003-05-06 Chris Toshok <toshok@ximian.com> + + [ really commit this, fixes bug #41910 ] + * gui/contact-list-editor/e-contact-list-model.c + (e_contact_list_model_remove_row): change from model_changed to + row_deleted here. model_changed causes the table to free its + ETableSelection, which is what we iterate over when deleting + contacts. + (e_contact_list_model_add_destination): no need to be calling + model_changed here either. + +2003-04-29 Chris Toshok <toshok@ximian.com> + + [ fixes bug #41255 ] + * gui/contact-list-editor/contact-list-editor.glade: use stock + buttons for Add/Remove. + +2003-04-29 Chris Toshok <toshok@ximian.com> + + [ fixes bug #41144 ] + * gui/component/ldap-config.glade: use stock buttons for the + Add/Delete buttons. Switch from "Delete" to "Remove", though, as + "Remove" fits much better with the one for "Add". Also, add our + stock-edit-24.png icon for "Edit". + +2003-04-29 Chris Toshok <toshok@ximian.com> + + [ fixes bug #41211 ] + * gui/component/e-address-popup.c (e_address_popup_no_matches): + call e_button_new_with_stock_icon to create our button and give it + the right icon. + +2003-04-29 Gilbert Fang <gilbert.fang@sun.com> + + * tools/evolution-addressbook-export-list-cards.c + (set_pre_defined_field): remove duplicate HOME_COUNTRY field add. + +2003-04-28 Chris Toshok <toshok@ximian.com> + + [ fixes bug #41843] + * tools/evolution-addressbook-export-list-cards.c + (e_card_simple_csv_get_name): use e_card_simple_get_ecard_field + instead of e_card_simple_get_name, so the return value won't be + localized. + +2003-04-28 Chris Toshok <toshok@ximian.com> + + [ fixes bug #41779 ] + * gui/component/e-address-popup.c (mini_wizard_container_add): we + don't need to call gtk_widget_destroy on the old child, since + gtk_container_remove will unref it for us. + +2003-04-23 Chris Toshok <toshok@ximian.com> + + [ fixes bug #37351 ] + * gui/widgets/e-addressbook-view.c (table_drag_data_get): the row + the signal is called with is already the model row, not the view + row, so don't call e_table_view_to_model_row on it. + +2003-04-23 Chris Toshok <toshok@ximian.com> + + [ either mostly or entirely fixes #33708 ] + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_done): new function, factor it out of + _seq_complete_cb because we need to run the same code in a couple + of places. + (e_select_names_completion_got_book_view_cb): treat an error from + a book as getting a "sequence_complete", and decrement the count + of pending complete signals. + (e_select_names_completion_got_book_view_cb): remove the increment + of pending_completion_seq from here. + (e_select_names_completion_seq_complete_cb): factor out the body + of e_select_names_completion_done from here, and call it. + (e_select_names_completion_start_query): increment + pending_completion_seq here. remove the async variable, as we can + now use pending_completion_seq for that purpose (it's > 0 iff + async would have been TRUE). + +2003-04-19 Chris Toshok <toshok@ximian.com> + + [ fixes bug #40954 ] + * backend/pas/pas-backend-file.c (pas_backend_file_dispose): guard + against NULL bf->priv->summary (happens if the initial load_uri + failed). + (pas_backend_file_load_uri): always set bf->priv->uri, since it's + used in _get_uri, which is called when the backend goes away. + This only happened before if you tried to load a folder that + didn't exist. + +2003-04-19 Chris Toshok <toshok@ximian.com> + + [ fixes #40694 ] + * gui/component/select-names/e-select-names-bonobo.c + (control_activate_cb): just grab focus if @activate == TRUE. + we'll do all merging/unmerging in the focus handler. + (widget_focus_cb): handle the merging here. + (e_bonobo_control_automerge_ui): store off the widget (so we can + grab focus on it) and connect to "activate". + +2003-04-18 Rodney Dawes <dobey@ximian.com> + + * gui/component/select-names/Makefile.am: Add missing -DPREFIX + +2003-04-18 Rodney Dawes <dobey@ximian.com> + + [ fixes #21499 ] + * gui/component/Makefile.am: + * gui/component/addressbook.c: + * gui/component/select-names/e-select-names-bonobo.c: + * gui/contact-editor/Makefile.am: + * gui/contact-editor/e-contact-editor.c: + * gui/contact-list-editor/Makefile.am: + * gui/contact-list-editor/e-contact-list-editor.c: + Use PREFIX instead of EVOLUTION_DATADIR for bonobo_ui_util_set_ui () + +2003-04-15 Chris Toshok <toshok@ximian.com> + + [ fixes #41252 ] + * gui/contact-editor/fulladdr.glade: change title from "Check + Address" to "Full Address". + +2003-04-09 Chris Toshok <toshok@ximian.com> + + [ fixes #40727 ] + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_start_query): if the query text is + either shorter than the cached query_text or they don't match, + don't just set can_reuse_cached_cards to FALSE. we also need to + invalidate the cache. + +2003-04-08 Ettore Perazzoli <ettore@ximian.com> + + * backend/ebook/e-destination.c (d): Remove all debugging + messages. + +2003-04-08 Dan Winship <danw@ximian.com> + + * gui/component/ldap-config.glade: Remove color specifications + from the druid so it will use theme colors. + + * gui/component/addressbook-config.c + (addressbook_add_server_druid): Use g_signal_connect_after for + "prepare" signal (to work around b.g.o 81869) + +2003-04-07 Chris Toshok <toshok@ximian.com> + + [ fixes #7103 ] + * gui/widgets/e-minicard-label.c (e_minicard_label_class_init): + init style_set. and add the signal. + (e_minicard_label_realize): include e_minicard_label_construct's + code here, and call set_colors after we create the sub-items. + (e_minicard_label_unrealize): indent, and remove dead code. + (e_minicard_label_event): indent, and call set_colors instead of + setting the colors manually. + (set_colors): new function, set our colors based on the current + style. + (e_minicard_label_style_set): new function, just call set_colors. + (e_minicard_label_new): e_minicard_label_construct doesn't exist + anymore. + + * gui/widgets/e-minicard-label.h (struct _EMinicardLabelClass): + add style_set signal. + + * gui/widgets/e-minicard.c (set_selected): little tweaks in the + coloring. + (e_minicard_unrealize): reindent, and remove some unused code. + + * gui/widgets/e-minicard-view-widget.h (struct + _EMinicardViewWidget): add background. + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_class_init): init + widget_class->style_class. + (e_minicard_view_widget_style_set): new function, just set the + background's fill_color_gdk to base[GTK_STATE_NORMAL]. + (e_minicard_view_widget_realize): store off the background canvas + item so we can set the color later. + +2003-04-07 Chris Toshok <toshok@ximian.com> + + [ fixes bug #40901 ] + * gui/component/ldap-config.glade: HIG-ify the ldap server edit + dialog's button layout. + +2003-04-07 Chris Toshok <toshok@ximian.com> + + [ fixes bug #39763 ] + * gui/component/select-names/e-select-names-bonobo.c (copy_cb): + verb callback for EditCopy + (cut_cb): verb callback for EditCut. + (paste_cb): verb callback for EditPaste. + (select_all_cb): verb callback for SelectAll. + (free_closure): new function + (merge_menu_items): same + (unmerge_menu_items): same + (control_set_frame_cb): same + (control_activate_cb): same + (widget_focus_cb): same + (e_bonobo_control_automerge_ui): new function, sets up focus + signals on the widget passed in to merge/unmerge the passed in + ui/verbs. + (impl_SelectNames_get_entry_for_section): call + e_bonobo_control_automerge_ui for this entry. + +2003-04-07 Chris Toshok <toshok@ximian.com> + + * gui/component/e-address-popup.c (mini_wizard_new): change the + ok/cancel button layout to be higified. + +2003-04-07 Chris Toshok <toshok@ximian.com> + + [ last portion of #40046 fix ] + * gui/component/select-names/e-select-names-popup.c + (remove_recipient_cb): ifdef this out to quiet the compiler. + (remove_all_recipients_cb): same. + (toggle_html_mail_cb): same. + (populate_popup_card): change the #if 0 to #if + TOO_MANY_MENU_ITEMS. + (popup_menu_list): nuke, as it's handled by populate_popup_card. + (populate_popup_nocard): rename popup_menu_nocard to this, and + implement it as in populate_popup_card. + (e_select_names_populate_popup): we don't need the card, since we + don't check if it's a list here anymore. also, remove the #if 0 + surrounding the nocard case. + +2003-04-07 Not Zed <NotZed@Ximian.com> + + Fixes #40252. + + * conduit/address-conduit.c: Change the LOG macro to a + single arg macro which copies its arg. Fix all callers. Change + WARN and INFO to simply g_warning/g_message. Init G_LOG_DOMAIN + before including anything. + +2003-04-07 Chris Toshok <toshok@ximian.com> + + * Makefile.am (SUBDIRS): add tools. + +2003-04-07 Gilbert Fang <gilbert.fang@sun.com> + + [ fixes bug #23036 ] + * tools/evolution-addressbook-export.c, + tools/evolution-addressbook-export-list-cards.c, + tools/evolution-addressbook-export-list-folders.c: : new and + improved export utility. + +2003-04-07 Dan Winship <danw@ximian.com> + + * gui/component/GNOME_Evolution_Addressbook.server.in.in: Clean up + server names. + + * gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.server.in.in: + Likewise + + * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in: + Likewise. Also mark the evolution:menu_name for i18n. + + * backend/ebook/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in: + Likewise + +2003-04-03 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-label.c (e_minicard_label_event): set + "handle_popup" on the field to be TRUE if it's got focus, FALSE if + not. + +2003-04-03 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-label.c (e_minicard_label_construct): + doh, set the im_context on the field name too so we get the Input + Method submenu in the contxt menu. + +2003-04-03 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-label.c (e_minicard_label_construct): set + the im_context on the field's EText. + (e_minicard_label_event): remove a huge swath of #if 0'd code. + +2003-04-03 Chris Toshok <toshok@ximian.com> + + [ fixes bug #40715 ] + * gui/merging/e-card-merging.c (final_id_cb): add this callback, + to unref the book/free the closure after calling the user's + callback. + (final_cb): same. + (doit): use final{_id}_cb + (cancelit): same. + (response): don't free the lookup struct here. + (match_query_callback): same. + (e_card_merging_book_add_card): ref the book. + (e_card_merging_book_commit_card): same. + + * gui/component/e-address-popup.c (card_picker_init): make sure to + set the "text" attribute on the cell renderer so the text actually + shows up. also, g_object_connect -> g_signal_connect *sigh*. + Lastly, get rid of the scrolled window and just make the window + size to show the text. + + * gui/widgets/e-minicard.c (e_minicard_style_set): only call + set_selected if we're realized (we create all the canvas objects + that set_selected manipulates in our realize method.) + +2003-04-03 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/Makefile.am (INCLUDES): add + EVOLUTION_IMAGESDIR + +2003-04-02 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-popup.c: change all + this around so that we populate the existing popup. This means we + get the select names popup stuff on top of the normal EEntry popup + foo. + + * gui/component/select-names/e-select-names-popup.h + (e_select_names_populate_popup): rename e_select_names_popup to + this. + + * gui/component/select-names/e-select-names-manager.c + (populate_popup_cb): rename popup_cb here, and + e_select_names_popup -> e_select_names_populate_popup. + (e_select_names_manager_entry_new): popup -> populate_popup. + +2003-04-02 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-marshal.list: add NONE:OBJECT + + * gui/widgets/e-minicard.c (e_minicard_class_init): add style_set + signal. + (e_minicard_style_set): just call set_selected with the currently + selected flag, so we recolor properly. + + * gui/widgets/e-minicard.h (struct _EMinicardClass): add style_set + signal. + +2003-04-01 Rodrigo Moya <rodrigo@ximian.com> + + * backend/ebook/evolution-ldif-importer.c (load_file_fn): + * backend/ebook/evolution-vcard-importer.c (load_file_fn): added + "folder_type" parameter to EvolutionImporterLoadFileFn. + +2003-03-31 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book-util.c (get_local_book_uri): new function, + just return the local uri. + (set_default_book_uri_local): use get_local_book_uri. + (e_book_default_book_open): only try and reload the default book + if it's not already the local book. + +2003-03-31 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (card_removed): it emits a list now + +2003-03-31 Dan Winship <danw@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_init): Remove folder-selector button + initialization. + (e_select_names_new): Initialize folder-selector button here, + using the passed-in EvolutionShellClient rather than depending on + a global variable. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_activate_dialog): take an + EvolutionShellClient and pass it to e_select_names_new(). + + * gui/component/select-names/e-select-names-bonobo.c + (impl_SelectNames_activate_dialog): get a pointer to the shell + from bonobo-activation, create a shell_client, and pass it to + e_select_names_manager_activate_dialog. + + * backend/ebook/e-book-util.c (e_book_get_default_book_uri): + constify return value + +2003-03-30 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-vcard.[ch]: braindead, and *extremely* forgiving + vcard parser. not for public consumption yet. + +2003-03-30 Chris Toshok <toshok@ximian.com> + + [ fixes bug #39381 (again) ] + * gui/component/e-address-popup.c (edit_contact_info_cb): add + "GtkWidget *button" first arg, so we don't crash. + +2003-03-28 Chris Toshok <toshok@ximian.com> + + [ fixes bug #40403 ] + * backend/ebook/e-card.c (e_card_get_vobject): revert the fix for + 28945, as was done on the 1.2 branch. this is because the "fix" + actually breaks internal use of contact lists. We need to make + the exporting of contacts DTRT, instead of fixing it here. + +2003-03-28 Chris Toshok <toshok@ximian.com> + + [ fix the contact editor so that the only time the address is + parsed is when the user types in the address GtkTextView. ] + * gui/contact-editor/e-contact-editor.c (address_mailing_changed): + make this use delivery addresses instead of labels. + (full_addr_clicked): same. + (find_address_mailing): same. + + * backend/ebook/e-card-simple.c + (e_card_simple_set_delivery_address): make this operate similar to + e_card_simple_set_address: it sets both the delivery address and + the label for the address. + +2003-03-26 Chris Toshok <toshok@ximian.com> + + [ fixes bug #19178 ] + * backend/ebook/evolution-ldif-importer.c (ebook_open): use + e_book_load_address_book_by_uri on the passed in uri. + (load_file_fn): pass the uri. + + * backend/ebook/evolution-vcard-importer.c (ebook_open): use + e_book_load_address_book_by_uri on the passed in uri. + (load_file_fn): pass the uri. + +2003-03-26 Chris Toshok <toshok@ximian.com> + + [ fixes bug #34651 ] + * gui/component/select-names/e-select-names.c + (select_entry_changed): strcmp -> g_utf8_collate. + (update_query): encode the string we pass for the query. + +2003-03-26 Chris Toshok <toshok@ximian.com> + + [ fixes bug #34085 ] + * gui/contact-list-editor/e-contact-list-editor.c + (table_drag_data_received_cb): only successfully complete the drag + if they dropped a valid vcard (or vcard list). Call + gtk_drag_finish. + +2003-03-26 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/Makefile.am (INCLUDES): $evolution_uidir + -> $evolutionuidir + +2003-03-26 Philip Zhao <philip.zhao@sun.com> + + [ fixes bug #39170 ] + * backend/pas/pas-backend.c (pas_backend_create_card): remove + 'return'. + (pas_backend_remove_cards): same. + (pas_backend_modify_card): same. + (pas_backend_check_connection): same. + (pas_backend_get_vcard): same. + (pas_backend_get_cursor): same. + (pas_backend_get_book_view): same. + (pas_backend_get_completion_view): same. + (pas_backend_get_changes): same. + (pas_backend_authenticate_user): same. + (pas_backend_get_supported_fields): same. + (pas_backend_get_supported_auth_methods): same. + +2003-03-26 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (local_record_from_ecard): append the + second line to the address if necessary + (ecard_from_remote_record): split the address line in two if + necessary + +2003-03-23 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/contact-list-editor.glade: set the + dialog to "Visible: No" so it doesn't flash when we bring it up. + +2003-03-23 Chris Toshok <toshok@ximian.com> + + [ fixes bug #40026 ] + * gui/contact-editor/e-contact-editor.c (set_field): add + EContactEditor arg, and block/unblock signals around the + gtk_entry_set_text, since that generates a "changed" signal which + causes problems. + (set_phone_field): take and pass along an EContactEditor arg. + (set_fields): pass editor to set_field. + +2003-03-23 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/arrow.png: nuke. + + * gui/contact-editor/Makefile.am (EXTRA_DIST): remove images_DATA + (images_DATA): nuke, don't need it anymore. + + * gui/contact-editor/e-contact-editor.c + (connect_arrow_button_signal): rename _replace_button to this. we + no longer create an image, as it's a GtkArrow in the .glade file + now. + (connect_arrow_button_signals): rename _replace_buttons to this. + no longer pass the arrow.png's to _replace_button. + (e_contact_editor_init): _replace_buttons -> + connect_arrow_button_signals. + (_arrow_pressed): remove some dead code, and some args that aren't + used. + (_phone_arrow_pressed): track change to _arrow_pressed. + (_email_arrow_pressed): same. + (_address_arrow_pressed): same. + +2003-03-23 Chris Toshok <toshok@ximian.com> + + [ fixes bug #31786 ] + * gui/component/addressbook-config.c + (addressbook_source_dialog_set_source): fix some gtk warnings. + (set_advanced_button_state): the advanced dialog isn't present in + the glade file anymore, so ifdef everything dealing with it. + (addressbook_edit_server_dialog): same. + + * gui/component/ldap-config.glade: remove all the unused Advanced + UI stuff to lessen the amount of strings needing translation. + +2003-03-23 Chris Toshok <toshok@ximian.com> + + [ fixes bug #32113 ] + * backend/ebook/e-destination.h: add include_email arg to + e_destination_get_textrep. + + * backend/ebook/e-destination.c (e_destination_get_textrep): add + include_email arg. if it's TRUE, and if there's an email address to + add + + * gui/contact-list-editor/e-contact-list-model.c + (contact_list_value_at): use e_destination_get_textrep so we don't + display QP text, and pass TRUE for include_email. + + * gui/widgets/e-minicard.c (add_field): same. + (remodel): same. + + * gui/widgets/e-addressbook-treeview-adapter.c (adapter_get_value): same. + + * gui/widgets/e-addressbook-table-adapter.c (addressbook_value_at): same. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_insert_length): pass FALSE for + include_email. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_get_textification): pass FALSE for + include_email. + (e_select_names_model_get_string): same. + (e_select_names_model_replace): same. + (e_select_names_model_name_pos): same. + (e_select_names_model_text_pos): same. + +2003-03-19 Ettore Perazzoli <ettore@ximian.com> + + * backend/ebook/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in: + Replace "evolution:menu-name" prop with "evolution:menu_name". [#39692] + * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in: Likewise. + +2003-03-18 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-table-model.c + (e_select_names_table_model_col_count): up the column count by one + for the underline. + (e_select_names_table_model_value_at): add handling for underline. + +2003-03-18 Chris Toshok <toshok@ximian.com> + + * gui/component/e-address-popup.c (email_menu_add_option): fix use + of deprecated gtk_menu_append. + (card_picker_selection_changed): change this to be used with the + "changed" signal on GtkTreeSelection. + (free_str): yeah, gross. i know. + (card_picker_init): this needed some fixing, so the strings don't + go away after we insert them into the model. also, connect to the + "changed" GtkTreeSelection signal instead of using the nonexistant + gtk_tree_selection_set_func. + (e_address_popup_construct): gtk_style_unref -> g_object_unref. + (popup_size_allocate_cb): nuke. + (e_address_popup_ambiguous_email_add): use gtk_window_set_position + and let the window manager place the window instead of doing it + ourself. + +2003-03-18 Chris Toshok <toshok@ximian.com> + + [ Fixes addressbook bug #39730 ] + * gui/component/ldap-config.glade: add response ids to the search + base dialog. + + * gui/component/addressbook-config.c + (addressbook_source_dialog_destroy): use g_object_unref, not + gtk_widget_destroy, on the GladeXML. + (addressbook_add_server_druid): call gtk_window_set_type_hint + GDK_WINDOW_TYPE_HINT_DIALOG so this window looks like a dialog. + (editor_modify_cb): no more apply button. + (edit_dialog_apply_clicked): nuked. + (edit_dialog_close_clicked): rename to _cancal_clicked. + (edit_dialog_ok_clicked): call gtk_widget_destroy here instead of + calling _cancel_clicked. + (addressbook_edit_server_dialog): no more apply button, and + close_button -> cancel_button. Also, set the hint to + GDK_WINDOW_TYPE_HINT_DIALOG. + (ldap_dialog_new): fix compiler warning. + (addressbook_dialog_create_sources_table): same. + +2003-03-18 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-section.etspec: use + alternating-row-colors="false" + + * gui/component/select-names/e-select-names.h: nuke prototypes for + e_select_names_get_source/section. + + * gui/component/select-names/e-select-names.c (set_book): remove + the signal disconnect from here. + (addressbook_model_set_uri): same. + (e_select_names_init): connect to the search_result signal on the + addressbook model. + (e_select_names_child_free): disconnect the changed_id signal. + (e_select_names_add_section): set the underline column so the + recipient tables look like they did when they were EEntry. + (e_select_names_add_section): store off the changed_id. + (e_select_names_get_section): nuke. + (e_select_names_get_source): nuke. + +2003-03-18 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (addrconduit_load_configuration): kill + warning by sinking objects + +2003-03-18 Not Zed <NotZed@Ximian.com> + + * gui/component/select-names/e-select-names.c (set_book, + addressbook_model_set_uri): disconnect/keep track of search result + signal id. + (e_select_names_init): Keep track of various signals, particularly + status signal. + (e_select_names_dispose): disconnect from any signals that are + still active. Fixes crash for #38202. + +2003-03-13 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c + (set_entry_changed_signals): use set_entry_changed_signal_email + for the email entry so the email gets saved out. + (set_entry_changed_signal_email): new function, analogous to + set_entry_changed_signal_phone, but for email. + +2003-03-12 Chris Toshok <toshok@ximian.com> + + [ fixes bug #20210 ] + * gui/component/select-names/e-select-names-popup.c + (popup_menu_card): change "Edit Contact Info" to "View Contact + Info", as you can't always edit the contact (if the book is read + only). + (popup_menu_list): same, but for a contact list. + +2003-03-11 Chris Toshok <toshok@ximian.com> + + [ fixes bug #39507 ] + * gui/component/select-names/e-select-names.c (search_result): new + function, sync the models after we do a search. + (addressbook_model_set_uri): connect to search_result. + +2003-03-11 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_init): fix compiler warnings about deprecated + functions. + (e_select_names_child_free): unref the table model. + (remove_address): re-enable. + (section_right_click_cb): this is an ETable callback now. + (e_select_names_add_section): remove a gross gross awful hack, and + make the recipient tables ETables instead EEntry's. We lose the + nice underlining, but we can add that back in as another ETable + style (like strikeout and bold), and we also fix the longstanding + scrolling problems (like bug #25148) and can finally remove + addresses by double clicking on them (which is also a bug + someplace I think.. dunno the # offhand.) + + * gui/component/select-names/e-select-names-table-model.c + (clear_info): always set the count to -1, regardless of what + model->data is. + + * gui/component/select-names/e-select-names-model.c: remove some + unused enums. + + * gui/component/select-names/Makefile.am (etspec_DATA): add + e-select-names-section.etspec + + * gui/component/select-names/e-select-names-section.etspec: new + file, spec for the To:/Cc:/Bcc: etable's in the select-names + dialog. + +2003-03-11 Not Zed <NotZed@Ximian.com> + + * backend/pas/pas-backend-file.c (INITIAL_VCARD): Updated phone + number. Bug #37204. + + * gui/widgets/e-addressbook-util.c (e_addressbook_send_card_list): + re-enable in build, include e-destination.h. For #39256. + +2003-03-06 Ettore Perazzoli <ettore@ximian.com> + + * backend/ebook/load-pine-addressbook.c (ebook_create): Likewise. + * backend/ebook/load-gnomecard-addressbook.c (ebook_create): Likewise. + * backend/ebook/evolution-vcard-importer.c (ebook_create): Likewise. + * backend/ebook/evolution-ldif-importer.c (ebook_create): Likewise. + * backend/ebook/test-client.c (get_cursor_cb): Likewise. + (ebook_create): Likewise. + * gui/widgets/e-minicard.c (e_minicard_set_property): Likewise. + (card_modified_cb): Likewise. + (e_minicard_event): Likewise. + * gui/widgets/gal-view-minicard.c (column_width_changed): Likewise. + * gui/widgets/test-minicard-view.c (ebook_create): Likewise. + * gui/widgets/gal-view-treeview.c (column_width_changed): Likewise. + +2003-03-05 Not Zed <NotZed@Ximian.com> + + * gui/component/addressbook-component.c (bonobo_main_quit_cb): + removed. + (owner_unset_cb): Basically a noop, the shell does the quit, we + just note we have no owner anymore. + +2003-03-04 JP Rosevear <jpr@ximian.com> + + Fixes #37881 + + * gui/component/select-names/e-simple-card-bonobo.c + (impl_SimpleCard_get): if we get a null value, send back the empty + string + +2003-03-04 JP Rosevear <jpr@ximian.com> + + * gui/component/select-names/e-select-names.etspec: reflect prior column addition + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): set the arg properly + + * gui/component/select-names/Evolution-Addressbook-SelectNames.idl: + add Icscalendar to field list + + * backend/pas/pas-backend-ldap.c: add icscalendar to prop list + + * backend/ebook/e-card.h: add icscalendar data member + + * backend/ebook/e-card.c: add icscalendar to list and its parse + routine + (e_card_get_vobject): add icscalendar prop value + (parse_icscalendar): parse routine + (e_card_class_init): add icscalendar arg + (e_card_destroy): destroy icscalendar member + (e_card_set_arg): set icscalendar + (e_card_init): init icscalendar + (e_card_get_arg): return icscalendar + + * backend/ebook/e-card-simple.c (field_data): add icscalendar + + * backend/ebook/e-card-simple.h: ditto + +2003-03-03 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_new): Don't set the "modal" property through + g_object_new(). + (e_select_names_init): Explictly make the dialog modal here. + +2003-03-03 Ettore Perazzoli <ettore@ximian.com> + + * gui/widgets/e-addressbook-view.c (create_minicard_view): No need + to do any reparenting here; the widget is created with no parent. + +2003-03-03 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_init): Instead of using gtk_widget_unparent(), + remove the widget from the container using gtk_container_remove(). + This fixes a bunch of crashers in all the places using the + ESelectNames widget/control. + +2003-02-28 Dan Winship <danw@ximian.com> + + * gui/contact-editor/Makefile.am: Build libecontacteditor as an + uninstalled shared library. + + * gui/contact-list-editor/Makefile.am: Likewise for + libecontactlisteditor + + * gui/merging/Makefile.am: and libecardmerging + + * gui/search/Makefile.am: and libeaddressbooksearch + + * gui/widgets/Makefile.am: and libeminicard + + * printing/Makefile.am: and libecontactprint + + * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD): + Update for new library names (and get rid of libtool portability + warnings). + +2003-02-28 Dan Winship <danw@ximian.com> + + * backend/ebook/e-card.c (e_card_list_send, e_card_send): Remove + these from here; talking to the mailer doesn't really belong at + the libebook level anyway. + + * backend/ebook/Makefile.am: Remove Evolution-Composer CORBA + stuff, which fixes some linking problems on OS X. + + * gui/widgets/e-addressbook-util.c (e_addressbook_send_card_list, + e_addressbook_send_card): Move from e-card.c and rename. + + * gui/widgets/Makefile.am: move Evolution-Composer CORBA stuff + here + + * gui/widgets/e-addressbook-view.c (send_as, send_to, + e_addressbook_view_send, e_addressbook_view_send_to): Update for + new function names. + + * gui/contact-list-editor/e-contact-list-editor.c (file_send_as_cb, + file_send_to_cb): Likewise + + * gui/contact-editor/e-contact-editor.c (file_send_as_cb, + file_send_to_cb): Likewise + +2003-02-27 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (book_open_cb): use g_signal_connect + here, not swapped... although since we pass the widget as the + closure it really doesn't matter. + (load_uri_auth_cb): use a GtkDialog here. + (search_result): same. + + * gui/component/select-names/e-simple-card-bonobo.h: add prototype + for e_simple_card_bonobo_construct to fix warning. + + * gui/widgets/e-addressbook-view.c (create_alphabet): remove call + to gtk_widget_set_usize. + + * gui/contact-editor/e-contact-editor-address.c + (e_contact_editor_address_init): gtk_window_set_policy => + gtk_window_set_resizable. + + * gui/contact-editor/e-contact-editor-fullname.c + (e_contact_editor_fullname_init): same. + +2003-02-27 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: link to libversit libtool object + +2003-02-27 Rodney Dawes <dobey@ximian.com> + + * backend/ebook/Makefile.am: Fix for server files from Antonio Xu + +2003-02-26 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book.c (e_book_load_uri): if we fail to activate + factories for a given protocol, return. + + * gui/component/ldap-config.glade: remove the two unused custom + widgets to cut down on gtk warning spam. + +2003-02-21 Dan Winship <danw@ximian.com> + + * backend/ebook/Makefile.am (libebook_la_LIBADD): depend on + libversit.la, libcamel.la, libename.la, and libeutil.la. + (test_client_LDADD, test_client_list_LDADD, test_card_LDADD, + evolution_vcard_importer_LDADD, evolution_ldif_importer_LDADD, + load_pine_addressbook_LDADD, load_gnomecard_addressbook_LDADD): + Remove those dependencies from here, since they're pulled in by + libebook. + + * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD): + Remove libebook's dependencies + + * gui/component/select-names/Makefile.am + (libeselectnames_la_LIBADD): add this + + * gui/widgets/Makefile.am (various disabled *_test_LDADD): cleanup + + * printing/Makefile.am (contact_print_test_LDADD, + contact_print_style_editor_test_LDADD): cleanup + +2003-02-20 Dan Winship <danw@ximian.com> + + * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD): + s/libemiscwidgets.a/libemiscwidgets.la/ + + * gui/widgets/Makefile.am: Likewise (in a bunch of commented-out + test programs) + +2003-02-19 Dan Winship <danw@ximian.com> + + * gui/widgets/e-addressbook-model.c: Make parent_class static. + + * gui/widgets/e-addressbook-reflow-adapter.c: Likewise + + * gui/widgets/e-addressbook-table-adapter.c: Likewise + +2003-02-19 Chris Toshok <toshok@ximian.com> + + [ fix #38074 ] + * gui/component/e-address-popup.c (add_contacts_cb): first arg is + a GtkWidget. duh. + +2003-02-19 Ettore Perazzoli <ettore@ximian.com> + + * gui/contact-editor/Makefile.am (INCLUDES): Use $(evolutionuidir) + instead of $(evolution_uidir). [Pointed out by Grzegorz Goawski.] + +2003-02-17 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_start_query): if we can complete solely + from our cached cards, call e_completion_end_search from here when + we're done. + +2003-02-17 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c + (ensure_completion_uris_exist): plug memory leak (always free + val). + +2003-02-16 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_search_timeout): move the bulk of the + non-summary searching stuff here. we aggregate up to our + threshold, then send them to the front end and register a timeout + to do another batch. This keeps us from totally spamming the UI, + making things a bit more responsive. + (pas_backend_file_search): set up the closure and call the timeout + in an idle func. + +2003-02-16 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_entry_new): indent properly. + +2003-02-16 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c (unlink_model): + disconnect search_started and search_result. + (addressbook_compare): if we're loading, just compare model + positions (so we just append while loading). + (remove_card): use e_reflow_model_item_removed. + (search_started): new function, set loading = TRUE. + (search_result): new function, set loading = FALSE and emit + "comparison_changed". + (e_addressbook_reflow_adapter_init): init loading and the new + signal ids. + (e_addressbook_reflow_adapter_construct): connect "search_started" + and "search_result". + + * gui/widgets/e-addressbook-model.h (struct + _EAddressbookModelClass): add search_started signal. + + * gui/widgets/e-addressbook-model.c + (e_addressbook_model_class_init): new signal "search_started". + (book_view_loaded): emit "search_started" after "model_changed". + (remove_card): simplify this, and use CARD_REMOVED all the time, + instead of just in the single card case. + +2003-02-10 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_search_timeout): split out the bulk of the + non-summary searching logic to here. we do 1 "card_threshold" + sized lump per timeout. + (pas_backend_file_search): use pas_backend_file_search_timeout. + +2003-02-10 Chris Toshok <toshok@ximian.com> + + [ fixes bug #33066 ] + * gui/contact-editor/e-contact-editor.c + (set_urlentry_changed_signal_field): new function + (set_entry_changed_signals): call + set_urlentry_changed_signal_field for entry-web, entry-caluri, and + entry-fburl. + (fill_in_field): add handling for EUrlEntry's. + (extract_field): same. + (enable_widget): same. + (e_contact_editor_create_date): show the widget. + (e_contact_editor_create_web): same, create a url entry. + (set_urlentry_changed_signal_field): new function + + * gui/contact-editor/contact-editor.glade: entry-web, + entry-caluri, and entry-fburl are all custom widgets now. + +2003-02-10 Ettore Perazzoli <ettore@ximian.com> + + * backend/ebook/Makefile.am: Install load-pine-addressbook and + load-gnomecard-addressbook into ${privdatadir}/tools. Install + evolution-vcard-importer and evolution-ldif-importer into + ${privlibexecdir}. + + * backend/ebook/GNOME_Evolution_Addressbook_VCard_Importer.server.in: + Removed. + + * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.server.in: + Removed. + + * backend/ebook/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in: + New. Specify an absolute path for the executable, using + @LIBEXECDIR@. + * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in: + Likewise. + +2003-02-09 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (sexp_initials): gone. + (match_initials): gone. + (book_query_sexp): remove the primary handling. + (book_query_score): same. + + * backend/ebook/e-card.c (e_card_set_property): + g_value_get_pointer => g_value_get_object for "category_list". + + * backend/ebook/e-book.c (struct _EBookPrivate): add a comment. + + * backend/pas/pas-backend-ldap.c (func_beginswith): performance at + the cost of a tiny bit of correctness. If the ldap server doesn't + support evolutionPerson don't query on fileAs, use sn (since + that's effectively what gets used in the display when fileAs isn't + supported.) + +2003-02-09 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-completion.c: lots of + changes here. should be a big performance gain. god i hope this + is finally right. + +2003-02-08 Chris Toshok <toshok@ximian.com> + + [ huge change, all for 1 little performance problem :) fixes #18207 ] + * gui/widgets/e-addressbook-model.c (get_view): use + e_book_check_static_capability here to make things a little + prettier. + (remove_card): complain about my life, and add code to use one + "model_changed" signal if we get back a list of cards instead of + multiple "card_removed" signals. + + * gui/widgets/e-addressbook-model.h: little clean up. + + * gui/widgets/e-addressbook-view.c (delete): write a bulk-remove + case for this. if the backend supports it, send all the ids at + once. otherwise loop over the ids. + (e_addressbook_view_delete_selection): fake a CardAndBook + structure and call delete, instead of duplicating the code in 2 + places. + + * gui/component/addressbook.c (delete_contact_cb): don't call + e_contact_editor_confirm_delete here, it's handled by the + EAddressbookView. + + * backend/pas/pas-card-cursor.c (pas_card_cursor_construct): fix a + compiler warning about a stupid crash. + + * backend/pas/pas-book.h (PASOperation): RemoveCard -> + RemoveCards. + (PASRemoveCardsReques): char *id -> GList *ids. + (PASRequest): PASRemoveCardRequest -> PASRemoveCardsRequest. + + * backend/pas/pas-book.c (pas_book_queue_remove_cards): build up a + GList from the id sequence. + (pas_book_respond_remove): notifyCardRemoved -> + notifyCardsRemoved. + (impl_GNOME_Evolution_Addressbook_Book_removeCards): rename. + (pas_book_free_request): free the idlist for RemoveCards. + (pas_book_class_init): removeCard -> removeCards. + + * backend/pas/pas-book-view.h: change prototype for + pas_book_view_notify_remove, and add prototype for + pas_book_view_notify_remove_1. + + * backend/pas/pas-book-view.c (pas_book_view_notify_remove_1): + build up a list and call pas_book_view_notify_remove. + (pas_book_view_notify_remove): build up the corba id sequence and + call BookViewListener::notifyCardsRemoved. + + * backend/pas/pas-backend.h: remove_card -> remove_cards. + + * backend/pas/pas-backend.c (pas_backend_remove_cards): rename + from _remove_card. + (process_client_requests): RemoveCard -> RemoveCards and + _remove_card -> _remove_cards. + + * backend/pas/pas-backend-ldap.c (check_schema_support): + g_strcasecmp -> g_ascii_strcasecmp. + (remove_card_handler): _remove => _remove_1. + (modify_card_modify_handler): same. + (pas_backend_ldap_process_remove_cards): rename from _remove_card. + (pas_backend_ldap_class_init): _remove_card -> _remove_cards. + + * backend/pas/pas-backend-file.c (pas_backend_file_class_init): + remove_card -> remove_cards. + (pas_backend_file_get_static_capabilities): add "bulk-removes". + (pas_backend_file_process_remove_cards): rewrite this function + largely, so that it handles lists of ids. first we loop through + and for every successful deletion we build a list of deleted + ECards. Then for each view we build a list (a subset of the + deleted ECard list) and pass back that list to the view. + (pas_backend_file_process_modify_card): use _remove_1 instead of + _remove. + (ecard_matches_search): new function. + + * backend/pas/pas-backend-card-sexp.c + (pas_backend_card_sexp_match_vcard): rewrite in terms of + _match_ecard. + (pas_backend_card_sexp_match_ecard): new function, the guts from + _match_vcard. + + * backend/pas/pas-backend-card-sexp.h: add prototype for + pas_backend_card_sexp_match_ecard. + + * backend/idl/addressbook.idl: the card removal stuff now takes + CardIdList. + + * backend/ebook/e-book.c (e_book_get_static_capabilities): cache + successful capability queries (since they're static). + (e_book_check_static_capability): new, convenience function to + check if a particular capability is supported. + (e_book_remove_card_by_id): build a single element GList and call + e_book_remove_cards. + (e_book_remove_cards): build up a CORBA sequence from the GList + and call Book::removeCards. + (e_book_dispose): free the cached capabilities string. + + * backend/ebook/e-book.h: add new prototypes for + e_book_check_static_capability and e_book_remove_cards. + + * backend/ebook/e-book-view.h (struct _EBookViewClass): rename + "card_removed" signal to "cards_removed". + + * backend/ebook/e-book-view.c (e_book_view_do_removed_event): id + -> ids, and free the id list. + (e_book_view_check_listener_queue): CardRemovedEvent -> + CardsRemovedEvent. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_queue_response): free the id list. + (e_book_view_listener_queue_idlist_event): new function, used for + cards_removed. + (e_book_view_listener_queue_status_event): id -> ids. + (e_book_view_listener_queue_sequence_event): same. + (e_book_view_listener_queue_message_event): same. + (impl_BookViewListener_notify_cards_removed): call + queue_idlist_event. + (e_book_view_listener_dispose): free the id list. + (e_book_view_listener_class_init): track change to idl call. + + * backend/ebook/e-book-view-listener.h + (EBookViewListenerOperation): CardRemovedEvent -> + CardsRemovedEvent. + (EBookViewListenerResponse): char *id -> GList *ids. + + * backend/ebook/e-book-listener.c + (impl_BookListener_respond_remove_cards): rename from remove_card. + +2003-02-06 Chris Toshok <toshok@ximian.com> + + * gui/component/e-address-popup.c (email_table_save_card_cb): + check the status, not the book, and unref the book here. + (contact_editor_cb): same. + (start_query): unref the book in the failure case. + (add_card_idle_cb): addressbook_load_default_book returns void + now. + (edit_contact_info_cb): same. + (e_address_popup_query): same. + + * gui/component/addressbook.c (control_activate_cb): track change + to addressbook_load_uri return type. + (set_prop): same. + (addressbook_load_uri): return type is void now. + (addressbook_load_default_book): same. + + * gui/component/addressbook.h: + addressbook_load_uri/addressbook_load_default_book return void + now. + + * conduit/address-conduit.c (start_addressbook_server): + e_book_load_default_book returns void now. + + * backend/ebook/e-book-util.h: track changes to return types. + + * backend/ebook/e-book-util.c (e_book_load_address_book_by_uri): + fallout from change to e_book_load_uri. return type for this + function is void now too. + (e_book_use_address_book_by_uri): same. + (e_book_use_default_book): same. + (e_book_load_default_book): same. + (got_uri_book_cb): if unsuccessful and book is non-NULL, unref it + here. + (got_default_book_cb): same. + + * backend/ebook/e-book.c (e_book_load_uri): no longer return a + gboolean. any error is communicated to the callback. + + * backend/ebook/e-book.h: e_book_load_uri no longer returns a + gboolean (it's void.) + + * backend/ebook/evolution-ldif-importer.c (ebook_create): track + change to the e_book_load_uri family of functions. + + * backend/ebook/test-client-list.c (ebook_create): same. + + * backend/ebook/test-client.c (ebook_create): same. + + * backend/ebook/load-pine-addressbook.c (ebook_create): same. + + * backend/ebook/evolution-vcard-importer.c (ebook_create): same. + +2003-02-06 Ettore Perazzoli <ettore@ximian.com> + + * backend/ebook/Makefile.am (e-book-marshal.c, e-book-marshal.h): + Use different tmp file names so these rules can be executed in + parallel without interfering with each otehr. + + * backend/pas/Makefile.am: Make the ORBit compilation work + properly with parallel makes (i.e. make sure it does not spawn + multiple orbit-idl processes on the same IDL file at the same + time). + * gui/component/select-names/Makefile.am: Likewise. + * backend/ebook/Makefile.am: Likewise. + +2003-02-06 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-config.c (main): + s/PACKAGE/GETTEXT_PACKAGE/ in gettext setup. + +2003-02-05 Dan Winship <danw@ximian.com> + + * backend/ebook/Makefile.am (INCLUDES): Remove cruft. + (libebookincludedir): Use privincludedir. + + * backend/ebook/e-book-util.c: #include <string.h> + * backend/ebook/e-card-compare.c: Likewise + * backend/ebook/load-pine-addressbook.c: Likewise + * backend/ebook/test-client.c: Likewise + + * backend/ebook/evolution-vcard-importer.c: #include + <e-book-util.h> + (factory_fn): Fix this to actually return the importer. + + * backend/ebook/evolution-ldif-importer.c (parseLine): #include + <e-book-util.h> and <bonobo/bonobo-main.h>. Use g_ascii_strcmp. + + * backend/ebook/e-card.c (e_card_email_match_single_string): + (e_card_email_find_number): s/g_str/g_ascii_str/ + * backend/ebook/e-destination.c (e_destination_equal): Likewise. + Also, add an "else return FALSE;" + + + * backend/pas/Makefile.am (INCLUDES): Remove cruft + (ldapschemadir): Use privdatadir + (pasincludedir): Use privincludedir. + + * backend/pas/pas-book-factory.c (pas_book_factory_activate): + Remove unused variable. + * backend/pas/pas-book-view.c (pas_book_view_new): Likewise + + + * printing/Makefile.am (ecpsdir): Define in terms of privdatadir. + (gladedir): Defined in configure.in now. + + * printing/e-contact-print.c: #include <string.h> + + * printing/test-print.c: #include <bonobo/bonobo-main.h> + * printing/test-contact-print-style-editor.c: Likewise + + + * gui/contact-editor/Makefile.am (INCLUDES): Remove some cruft. + rename ICONSDIR to IMAGESDIR. + (images_DATA): Install arrow.png in imagesdir instead of + privdatadir. + + * gui/contact-editor/e-contact-quick-add.c: #include <string.h> + + * gui/contact-editor/e-contact-editor.c: #include <string.h> + (e_contact_editor_init): s/EVOLUTION_ICONSDIR/EVOLUTION_IMAGESDIR/ + (e_contact_editor_new): s/gtk_object_ref/g_object_ref/ + (_replace_button): Look in imagesdir, not privdatadir + (_phone_arrow_pressed): Remove call to deprecated + gtk_check_menu_item_set_show_toggle. + (_email_arrow_pressed): Likewise + (_address_arrow_pressed): Likewise + (set_address_field): Remove unused variable + (enable_widget): + s/gtk_entry_set_editable/gtk_editable_set_editable/ + + * gui/contact-editor/e-contact-editor-address.c + (e_contact_editor_address_init): + s/EVOLUTION_ICONSDIR/EVOLUTION_IMAGESDIR + (e_contact_editor_address_set_property): + s/gtk_entry_set_editable/gtk_editable_set_editable/ + + * gui/contact-editor/e-contact-editor-fullname.c + (e_contact_editor_fullname_init): + s/EVOLUTION_ICONSDIR/EVOLUTION_IMAGESDIR + (e_contact_editor_fullname_set_property): Likewise. + + + * gui/contact-list-editor/Makefile.am (INCLUDES): Remove cruft, + s/ICONSDIR/IMAGESDIR/ + (gladedir, etspecdir): Remove definitions. + + * gui/contact-list-editor/e-contact-list-editor.c: #include + <string.h> + (e_contact_list_editor_init): s/ICONSDIR/IMAGESDIR/ + (e_contact_list_editor_new): s/gtk_object_ref/g_object_ref/ + + * gui/contact-list-editor/e-contact-list-model.c: #include <string.h> + + + * gui/merging/Makefile.am (INCLUDES): Remove cruft. + * gui/search/Makefile.am (ruledir): Define in terms of privdatadir + + + * gui/widgets/Makefile.am (INCLUDES): Remove cruft. + (gladedir, etspecdir): Remove definitions. + (glade_DATA): Empty, so remove it. + + * gui/widgets/e-addressbook-reflow-adapter.c: #include <string.h> + (addressbook_get_property): Remove unused variable + + * gui/widgets/e-addressbook-view.c: #include <string.h> + (get_selection_model): Add a g_return_val_if_reached. + + * gui/widgets/e-minicard.c: #include string.h, gtkmain.h, + gnome-canvas-pixbuf.h + (field_changed): s/gtk_object_unref/g_object_unref/ + (get_left_width): Remove unused variable + + * gui/widgets/e-minicard-control.c: #include <string.h> + (pstream_load, pstream_save): Use g_ascii_strcasecmp + + * gui/widgets/e-minicard-view.c: #include <string.h> + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_new): s/gtk_type_new/g_object_new/ + + + * gui/component/select-names/Makefile.am (INCLUDES): Remove cruft. + (serverdir, gladedir, etspecdir): Remove definitions + + * gui/component/select-names/e-select-names.c: #include <string.h> + + * gui/component/select-names/e-select-names-popup.c + (init_html_mail): Remove deprecated + gtk_check_menu_item_set_show_toggle call. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_entry_free): + s/gtk_timeout_remove/g_source_remove/ + + + * gui/component/Makefile.am (INCLUDES): Remove cruft, rename + ICONSDIR to IMAGESDIR. + (serverdir, gladedir): Remove defintions. + + * gui/component/addressbook-component.c (IS_CONTACT_TYPE): use + g_ascii_strcasecmp + (add_creatable_item): s/ICONSDIR/IMAGESDIR/ + + * gui/component/component-factory.c: #include <string.h> + + * gui/component/e-address-widget.c: Likewise. + (e_address_widget_destroy): s/gtk_idle_remove/g_source_remove/ + (e_address_widget_schedule_query): s/gtk_idle_add/g_idle_add/ + + + * conduit/Makefile.am (INCLUDES): Remove cruft + +2003-02-05 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-config.c (main): Replace deprecated + glade_gnome_init() with glade_init(). + + * gui/contact-editor/test-editor.c (main): Likewise. + + * printing/test-contact-print-style-editor.c (main): Likewise. + + * printing/test-print.c (main): Likewise. + +2003-02-03 Chris Toshok <toshok@ximian.com> + + [ pull forward Jack Jia's fix for #34900 ] + * gui/contact-editor/e-contact-save-as.c (e_contact_save_as): use + a weak ref for the file selector. + (e_contact_list_save_as): same. + (destroy_it): rewrite this as a weak ref notify function. + (close_it): remove frees of the info (it's freed in the weak ref + function). + (save_it): same. + +2003-02-03 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c (remove_folder): pull + forward Jack Jia's fix for #33672, but convert it to use unlink + instead of the gnome-vfs stuff. + +2003-01-27 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/contact-editor.glade: add a scrolled window + (SHADOW_IN) around the address textview. + +2003-01-26 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/contact-editor.glade: rename the category + entry to entry-categories. + + * gui/contact-editor/e-contact-editor.c + (set_entry_changed_signals): use the specialized "changed" signal + handlers for entry-company and entry-fullname. + +2003-01-26 Chris Toshok <toshok@ximian.com> + + * gui/component/Makefile.am: i need to sleep more. + +2003-01-26 Chris Toshok <toshok@ximian.com> + + * gui/component/Makefile.am (componentdir): need to assign this + here or else the lib doesn't get built. + +2003-01-26 Chris Toshok <toshok@ximian.com> + + * printing/e-contact-print.c (e_contact_start_new_page): begin the + new page after showing the last one. + (complete_sequence): beginpage before we start printing. + (e_contact_print_response): GtkDialog-ify this. + (e_contact_print_dialog_new): "clicked" -> "response". + (e_contact_print_card_dialog_new): same. + (e_contact_print_card_list_dialog_new): same. + +2003-01-26 Chris Toshok <toshok@ximian.com> + + * Makefile.am (CONDUIT_SUBDIR): enable this, as building the + conduit works if you have gnome-pilot2. + +2003-01-25 Chris Toshok <toshok@ximian.com> + + * conduit/address-conduit.c: GObjectify the stuff in here that + refers to addressbook objects. the gnome-pilot stuff is still + GtkObject for the moment. + +2003-01-24 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/Makefile.am (iconsdir): Remove definition; this is + now in configure.in. + * gui/contact-editor/Makefile.am (iconsdir): Likewise. + * gui/contact-list-editor/Makefile.am (iconsdir): Likewise. + +2003-01-23 Sean Gao <Sean.Gao@Sun.COM> + + [ fixes bug #34898 ] + * gui/widgets/e-minicard.c (field_changed): handle modifications + to email addresses in contact lists. + +2003-01-23 Sean Gao <Sean.Gao@Sun.COM> + + [ fixes bug #36375 ] + * backend/pas/pas-backend-ldap.c: use PHONE_OTHER_FAX instead of + PHONE_OTHER for "other_fax". + +2003-01-23 Chris Toshok <toshok@ximian.com> + + [ fixes bug #31014, roll this in from the 1.2 branch ] + * backend/pas/pas-backend-ldap.c: use "categories" instead of + "category" for the ECard field so the UI/get_supported_fields stuff + actually thinks its usable in the contact editor.. + +2003-01-23 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_connect): fix + for bug 34883 broke ssl transactions (at least those where we were + connecting to port 636). Move it to after the SSL stanza. + +2003-01-23 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/select-names/Makefile.am (componentdir): Remove + definition; no need to set it here since it's now defined in + configure.in + * gui/component/Makefile.am (componentdir): Likewise. + +2003-01-22 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/select-names/Makefile.am (gladedir): Version using + $(BASE_VERSION). + (etspecdir): Likewise. + (iconsdir): Likewise. + + * gui/contact-list-editor/Makefile.am (iconsdir): Version using + $(BASE_VERSION). + (gladedir): Likewise. + + * gui/merging/Makefile.am (gladedir): Version using $(BASE_VERSION). + + * gui/search/Makefile.am (ruledir): Version using $(BASE_VERSION). + + * gui/component/Makefile.am (INCLUDES): Update EVOLUTION_IMAGESDIR + to be versioned through $(BASE_VERSION). + + * gui/widgets/e-addressbook-view.c (init_collection): Use + EVOLUTION_GALVIEWSDIR. + + * gui/widgets/Makefile.am (INCLUDES): Define EVOLUTION_GALVIEWSDIR + and update EVOLUTION_IMAGESDIR. + +2003-01-21 Radek Doulik <rodo@ximian.com> + + * printing/e-contact-print.c (e_contact_print_button): don't use + gnome_print_multipage_new_from_sizes and add warning + +2003-01-14 Ettore Perazzoli <ettore@ximian.com> + + * gui/widgets/e-addressbook-util.c + (e_addressbook_prompt_save_dialog): Change dialog from + Yes/No/Cancel to Discard/Cancel/Save to match the HIG. + + * gui/search/e-addressbook-search-dialog.c + (e_addressbook_search_dialog_init): Change dialog from OK/Cancel + to Cancel/OK to match the HIG. + + * gui/contact-editor/e-contact-save-as.c (file_exists): Change + dialog from Overwrite/Cancel to Cancel/Overwrite to match the HIG. + + * gui/contact-editor/e-contact-quick-add.c + (build_quick_add_dialog): Fix typo s/reponse/response/. Also + change the dialog to be Edit/Cancel/OK instead of OK/Edit/Cancel + to match the HIG. + + * gui/contact-editor/e-contact-editor.c + (e_contact_editor_confirm_delete): Make alert cancel/delete + instead of delete/cancel to match the HIG. + + * gui/contact-editor/e-contact-editor-fullname.c + (e_contact_editor_fullname_init): Make dialog Cancel/OK instead of + OK/Cancel to match the HIG. + + * gui/contact-editor/e-contact-editor-address.c + (e_contact_editor_address_init): Make dialog Cancel/OK instead of + OK/Cancel to match the HIG. + + * gui/component/select-names/e-select-names.c + (e_select_names_init): Make dialog Cancel/OK instead of OK/Cancel + to match the HIG. + +2003-01-14 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/Makefile.am (EXTRA_DIST): Add $(schema_DATA). + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (control_activate_cb): try to load + the uri again if it failed previously. + (book_open_cb): set failed_to_load based on the response. + (set_prop): initialize failed_to_load to FALSE before we kick off + the first load. + + * backend/pas/pas-book-factory.c + (pas_book_factory_process_request): if the load_uri fails, remove + it from the hashtable and free it, so we'll try to load it again + from scratch the next time it's requested instead of serving up a + backend that doesn't function. + + * backend/pas/pas-backend.c (pas_backend_get_uri): we need to be + able to get the uri from backends that aren't loaded (so we can + remove them from the hashtable.) + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (query_ldap_root_dse): doh, fix + build error. + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-popup.c: #include + gtklabel.h, fixes an unresolved symbol. + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (query_ldap_root_dse): build up + the list of supported auth_methods. + (pas_backend_ldap_process_get_supported_auth_methods): respond + with the list of auth methods we've built up. + (pas_backend_ldap_dispose): unref the auth_method list. + (pas_backend_ldap_class_init): hook up + pas_backend_ldap_process_get_supported_auth_methods. + + * backend/pas/pas-backend.c + (pas_backend_get_supported_auth_methods): new function. + (process_client_requests): add clause for GetSupportedAuthMethods. + + * backend/pas/pas-backend.h: add prototype for + pas_backend_get_supported_auth_methods, and add it to the class + vtable. + + * backend/pas/pas-book.h: add GetSupportedAuthMethods enum member + and PASGetSupportedAuthMethodsRequest. and add prototype for + pas_book_respond_get_supported_auth_methods. + + * backend/pas/pas-book.c + (pas_book_queue_get_supported_auth_methods): new function. + (impl_GNOME_Evolution_Addressbook_Book_getSupportedAuthMethods): + new function. + (pas_book_respond_get_supported_auth_methods): new function. + (pas_book_free_request): add clause for GetSupportedAuthMethods. + (pas_book_class_init): hook up getSupportedAuthMethods. + + * backend/ebook/e-book-listener.c + (e_book_listener_queue_get_supported_fields_response): fields -> + list. + (e_book_listener_queue_get_supported_auth_methods_response): new + function. + (impl_BookListener_response_get_supported_auth_methods): new + function. + (e_book_listener_class_init): hook up + epv->notifySupportedAuthMethods. + + * backend/ebook/e-book-listener.h: add + GetSupportedAuthMethodsResponse enum member, and change the field + name from "fields" to list (and use it for both GetSupportedFields + and GetSupportedAuthMethods) + + * backend/ebook/e-book.c (e_book_get_supported_auth_methods): new + function. + (e_book_do_response_get_supported_auth_methods): new function. + + * backend/ebook/e-book.h: add prototype for + e_book_get_supported_auth_methods. + + * backend/idl/addressbook.idl: add getSupportedAuthMethods IDL + call. + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-book-factory.c (backend_last_client_gone_cb): + deal with backends that might not have loaded successfully + (they'll have a NULL uri). + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (e_select_names_bonobo_new): call e_select_names_bonobo_construct + on the newly created object. + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * gui/component/Makefile.am: addressbook-config.etspec is gone. + + * gui/component/addressbook-config.c: make the sources table be a + gtktreeview instead of an etable. + + * gui/component/ldap-config.glade: remove all references to + gnome-hint.png + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * gui/widgets/gal-view-minicard.c (column_width_changed): fix + parameter types here (this signal isn't generated from an ETable.) + + * gui/widgets/gal-view-factory-minicard.c: include e-util.h + + * gui/widgets/e-minicard.h: include gnome-canvas.h here. + + * gui/widgets/e-addressbook-table-adapter.c: #include + e-destination.h here. + + * gui/widgets/e-minicard.c: same. + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.[ch]: remove the select + names stuff (the Related Contacts button/entry.) + + * gui/contact-editor/contact-editor.glade: same. + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.server.in.in: + comment out the factory oaf_server, and change the location of the + SelectNames controls to be + OAFIID:GNOME_Evolution_Addressbook_Factory so the normal + addressbook.so will create them. + + * gui/component/select-names/Makefile.am + (libeselectnames_la_SOURCES): remove the + e-select-names-factory.[ch] stuff for the time being. + + * gui/component/component-factory.c (factory): we're now (for the + time being) the factory for the select names control. + +2003-01-08 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-view.c: oops, don't include + e-treeview-selection-model.h unless we're building the treeview. + +2003-01-08 Jeffrey Stedfast <fejj@ximian.com> + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_authenticate_user): Fix to build. + +2003-01-08 Chris Toshok <toshok@ximian.com> + + * gui/component/apps_evolution_addressbook.schemas: add in the + schema entry for minimum_query_length. + +2003-01-08 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-view.h: add + E_ADDRESSBOOK_VIEW_TREEVIEW to the enum, ifdef'ed out. + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_class_init): add ifdefed treeview code. + (init_collection): same. + (display_view): same. + (get_selection_model): same. + (treeview_row_activated): same. + (create_treeview_view): same. + (change_view_type): same.xo + (e_addressbook_view_print): same. + (e_addressbook_view_print_preview): same. + + * gui/widgets/Makefile.am: add in the treeview sources (commented + out). + +2003-01-08 Chris Toshok <toshok@ximian.com> + + * gui/widgets/gal-view-minicard.c (gal_view_minicard_edit): add + parent arg. + + * gui/widgets/e-addressbook-treeview-adapter.[ch]: new files, for + a GtkTreeView view of contacts. + + * gui/widgets/gal-view-treeview.[ch]: same + + * gui/widgets/gal-view-favroty-treeview.[ch]: same + +2003-01-08 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/Makefile.am: $(datadir)/evolution/images instead + of $(datadir)/images/evolution. + * gui/contact-editor/Makefile.am: Likewise. + * gui/contact-list-editor/Makefile.am (iconsdir): Likewise. + * gui/widgets/Makefile.am: Likewise. + +2002-01-08 Dan Winship <danw@ximian.com> + + Move PASBook request handling into PASBackend itself since all + existing backends do it exactly the same way. (Part of 32866). + + * backend/pas/pas-backend.h (PASBackendClass): add new methods for + the various pas book requests. + + * backend/pas/pas-backend.c: Add a clients list to + PASBackendPrivate. + (pas_backend_create_card, etc): Add these to invoke the new + methods. + (process_client_requests, book_destroy_cb): Moved here and + slightly rewritten from pas-backend-file. + (last_client_gone): Now static. + (add_client, remove_client): Default implementations, based on + pas-backend-file, that add the client to/remove it from the + backend's clients list and connect to its requests_queued signal. + (pas_backend_init, pas_backend_dispose): Deal with the clients + list. + + * backend/pas/pas-backend-file.c (struct _PASBackendFilePrivate): + Remove GList *clients. + (pas_backend_file_process_client_requests, + pas_backend_file_book_destroy_db, pas_backend_file_add_client, + pas_backend_file_remove_client): Gone. + (pas_backend_file_class_init): Remove add_client/remove_client + method initializations, add initializations for processing the + various book requests. + + * backend/pas/pas-backend-ldap.c (struct _PASBackendLDAPPrivate): + Remove GList *clients. + (pas_backend_ldap_process_create_card, etc): Make these take the + specific PAS*Request types rather than a generic PASRequest. + (pas_backend_ldap_process_client_requests, + pas_backend_ldap_book_destroy_db, pas_backend_ldap_add_client, + pas_backend_ldap_remove_client): Gone. + (pas_backend_ldap_class_init): Remove add_client/remove_client + method initializations, add initializations for processing the + various book requests. + +2003-01-07 Chris Toshok <toshok@ximian.com> + + * backend/pas/evolutionperson.schema: fix the SYNTAX for the + telephone attributes, and make the fax attributes more closely + mirror those from core.schema. Fixes the schema for openldap-2.1. + +2003-01-06 Dan Winship <danw@ximian.com> + + * backend/idl/Makefile.am: remove idldir def (defined by + configure.in now) + + * gui/component/select-names/Makefile.am: Likewise + +2003-01-01 Chris Toshok <toshok@ximian.com> + + [ fixes the non-ui portion of #36183 ] + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_start_query): use the entry's + minimum_query_length instead of a constant here. + (e_select_names_completion_set_minimum_query_length): new + function, set the entry's minimum_query_length. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_entry_new): set the minimum_query length + after setting the completion books. + (read_completion_settings_from_db): rename + read_completion_books_from_db to this, and read the + minimum_query_length too. + (db_listener): rename uris_listener to this, and listen for + changes on both the uris and minimum_query_length settings. + + * gui/component/select-names/e-select-names-completion.h: add + prototype for e_select_names_completion_set_minimum_query_length. + + * gui/component/select-names/e-select-names-manager.h: add + minimum_query_length to struct _ESelectNamesManager. + +2002-12-19 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-config.c + (addressbook_config_control_new): Made it return an + EvolutionConfigControl instead of a BonoboControl (and removed a + bogus EvolutionConfigControl -> BonoboControl cast). + +2002-12-17 Chris Toshok <toshok@ximian.com> + + [ fixes bug #34897 ] + * gui/widgets/e-addressbook-table-adapter.c + (addressbook_value_at): don't free the return of + e_card_simple_get_const, as this causes a double free later on. + +2002-12-18 Chris Toshok <toshok@ximian.com> + + * gui/component/e-address-popup.c: convert the clist in here to a + GtkTreeView. your guess is as good as mine if it works (i can't + test it at present) but it compiles. + +2002-12-18 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-view.c (jump_to_letters): + g_string_sprintfa -> g_string_append_printf. + (create_alphabet): same. + (create_minicard_view): remove gtk_widget_{push,pop}_visual. + + * gui/widgets/Makefile.am (INCLUDES): add -D*_DISABLE_DEPRECATED. + +2002-12-18 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard.c (e_minicard_realize): drop use of + "font" arg. + (get_left_width): use pango to calculate this instead of a GdkFont. + + * gui/widgets/e-minicard-view.c: drop include of e-unicode.h. + + * gui/widgets/e-minicard-label.c (e_minicard_label_construct): + don't need to create the font anymore. + + * gui/search/Makefile.am (INCLUDES): add -D*_DISABLE_DEPRECATED. + + * gui/search/e-addressbook-search-dialog.c + (e_addressbook_search_dialog_new): use g_object_new instead of + gtk_type_new. + + * gui/merging/Makefile.am (INCLUDES): add -D*_DISABLE_DEPRECATED. + + * gui/contact-list-editor/Makefile.am (INCLUDES): add + -D*_DISABLE_DEPRECATED. + + * gui/contact-list-editor/e-contact-list-editor.c (is_named): + strdup (or not, if we don't need to save the value) instead of + using the e_utf8 functions. + (fill_in_info): same. + + * gui/contact-editor/Makefile.am (INCLUDES): add + -D*_DISABLE_DEPRECATED. + + * gui/contact-editor/e-contact-save-as.c (e_contact_save_as): + strdup (or not, if we don't need to save the value) instead of + using the e_utf8 functions. + (e_contact_list_save_as): same. + + * gui/contact-editor/e-contact-quick-add.c (clicked_cb): strdup + (or not, if we don't need to save the value) instead of using the + e_utf8 functions. + (build_quick_add_dialog): same. + + * gui/contact-editor/e-contact-editor.c (phone_entry_changed): + strdup (or not, if we don't need to save the value) instead of + using the e_utf8 functions. + (file_as_set_style): same. + (name_entry_changed): same. + (full_name_clicked): same. + (categories_clicked): same. + (set_field): same. + (fill_in_field): same. + (fill_in_single_field): same. + (extract_field): same. + (extract_single_field): same. + + * gui/contact-editor/e-contact-editor-fullname.c (extract_field): + just strdup, it's already utf8. + + * gui/contact-editor/e-contact-editor-address.c (extract_field): + they're all entries, use GTK_ENTRY foo here. + + * gui/component/select-names/Makefile.am (INCLUDES): add + -D*_DISABLE_DEPRECATED. + + * gui/component/select-names/e-select-names.c + (e_select_names_add_section): remove the extra + utf8_from_locale_string stuff. + + * gui/component/select-names/e-select-names-popup.c + (set_uiinfo_label): gtk_container_children -> + gtk_container_get_children, and remove the extra utf8 stuff. + + * gui/component/Makefile.am (INCLUDES): add + -D*_DISABLE_DEPRECATED. + + * gui/component/addressbook-storage.c + (addressbook_storage_init_source_uri): g_string_sprintfa -> + g_string_append_printf. + + * gui/component/addressbook-config.c (focus_help): + gtk_notebook_set_page -> gtk_notebook_set_current_page. + (addressbook_source_dialog_set_source): same. + (auth_optionmenu_activated): gtk_container_children -> + gtk_container_get_children. + (ssl_optionmenu_activated): same. + (ssl_optionmenu_selected): same, and gtk_notebook_set_page -> + gtk_notebook_set_current_page. + (scope_optionmenu_activated): same. + (set_advanced_button_state): same. + (addressbook_ldap_init): hook "response" to gtk_widget_destroy to + make the dialog go away when clicked. + (addressbook_ldap_auth): same. + (addressbook_root_dse_query): same. + (do_ldap_root_dse_query): same. + (addressbook_config_control_new): fix return type and cast. + (main): remove call to gtk_widget_push_visual. + + * gui/component/addressbook-config.h: + addressbook_config_control_new returns a BonoboObject, not a + BonoboControl. + + * gui/component/addressbook.c: remove e-unicode.h include. + + * backend/pas/Makefile.am (INCLUDES): Add + -DLIBGNOME_DISABLE_DEPRECATED. + + * backend/ebook/Makefile.am (INCLUDES): Add + -DLIBGNOME_DISABLE_DEPRECATED. + + * backend/ebook/e-card.c (e_card_get_property): remove misleading + comment. + +2002-12-17 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (build_card_from_entry): + g_strcasecmp -> g_ascii_strcasecmp. + (FIND_INSERT): same. + + * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): + g_dirname -> g_path_get_dirname. + + * backend/pas/Makefile.am (INCLUDES): add + -DG_DISABLE_DEPRECATED. + + * backend/ebook/Makefile.am (INCLUDES): add + -DG_DISABLE_DEPRECATED. + +2002-12-17 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (uris_listener): oops, use strcmp, not !strcmp here. + +2002-12-17 Chris Toshok <toshok@ximian.com> + + [ Fixes bug #35135 ] + * backend/ebook/e-book-util.c (set_default_book_uri_local): don't + free the default_book_uri here, it's done in set_default_book_uri. + (set_default_book_uri): break some stuff out from + set_default_book_uri_from_bonobo_conf to here so it can be used + both from that function and the bonobo listener. + (default_folder_listener): set the new default book uri. + (set_default_book_uri_from_bonobo_conf): install the bonobo conf + listener so we'll get updates. + +2002-12-16 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-config.c + (addressbook_config_control_new): Use + evolution_shell_client_corba_objref() instead of BONOBO_OBJREF() + to get the Shell CORBA object. + +2002-12-16 Jeffrey Stedfast <fejj@ximian.com> + + * gui/component/addressbook-config.c: Don't #include + <e-util/e-html-utils.h> + +2002-12-09 Chris Toshok <toshok@ximian.com> + + * gui/search/e-addressbook-search-dialog.[ch]: GObject-ize this. + +2002-12-09 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (load_uri_auth_cb): pass + "Addressbook" to e_passwords*. + (addressbook_authenticate): same. + +2002-12-09 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (search_cb): remove + PENDING_PORT_WORK. + (addressbook_search_activated): same. + (addressbook_query_changed): same. + + * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD): + add libfilter.la back in. + +2002-12-09 Ettore Perazzoli <ettore@ximian.com> + + * gui/widgets/e-minicard-control.c: #define MINICARD_CONTROL_ID. + +2002-12-08 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): + connect ::response to gtk_widget_destroy so the dialog goes away. + + * gui/widgets/e-minicard-label.c (e_minicard_label_construct): + don't use font_gdk anymore on EText. it doesn't exist. + +2002-12-08 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c (text_height): this + uses pango now. + (addressbook_height): same. + +2002-12-06 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book.c (e_book_commit_card): use e_card_set_book + instead of basically duplicating its code here. + (e_book_add_card): same. + +2002-12-06 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/e-cardlist-model.c: #include <string.h>. + + * gui/component/addressbook-storage.c: #include <string.h>, + <ctype.h>, <unistd.h>. + + * gui/component/addressbook-factory.c: Removed. + + * gui/component/addressbook-component.c: #include + <bonobo/bonobo-main.h>, <unistd.h> and <string.h>. + (create_view): addressbook_new_control() instead of + addressbook_factory_new_control(). + + * gui/component/select-names/e-select-names.c + (e_addressbook_create_ebook_table): Removed unused variable. + (e_select_names_add_section): Removed unused variable. + + * gui/component/select-names/e-select-names-manager.c + (focus_in_cb): Use g_source_remove() here instead of + gtk_timeout_remove(). + + * gui/component/component-factory.c: New. + + * gui/widgets/e-minicard-control.c + (e_minicard_control_factory_init): Removed. + (e_minicard_control_control_factory): Removed. + (e_minicard_control_new): New. + + * gui/component/e-address-widget.c + (e_address_widget_factory_init): Removed. + (e_address_widget_new_control): Renamed from + e_address_widget_factory_new_control(), made public. + (e_address_widget_factory): Removed. + + * gui/component/e-address-popup.c (e_address_popup_new_control): + New. + (e_address_popup_factory_new_control): Removed. + (e_address_popup_factory): Removed. + (e_address_popup_factory_init): Removed. + + * gui/component/addressbook-config.c + (addressbook_config_register_factory): Removed. + (addressbook_config_create_control): New. + + * gui/component/addressbook-component.c + (addressbook_component_factory_init): Removed. + (addressbook_component_get_object): New. + (owner_set_cb): Do not call addressbok_config_register_factory(). + + * gui/component/addressbook.c (addressbook_factory_init): Removed. + (addressbook_new_control): Renamed from + addressbook_factory_new_control(). + +2002-12-05 Jeffrey Stedfast <fejj@ximian.com> + + * gui/component/select-names/e-select-names.etspec: Use collate + for sorting rather than the normal string sort. This fixes bug + #26335 without causing bug #33933 :-) + +2002-11-30 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_connect): only + enable the LDAPv3 stuff if TLS is being used. Also, deal with + naming errors returned from query_ldap_root_dse, as some servers + (older openldap servers among others i'm sure) don't have a root + dse at all. + +2002-12-02 Not Zed <NotZed@Ximian.com> + + * gui/widgets/e-addressbook-view.c (e_contact_print_button): + gnomedialog -> gtkdialog stuff. print dialog is a gtkdialog now. + + * gui/contact-editor/e-contact-editor.c: include gtkstock.h + + +2002-11-27 Not Zed <NotZed@Ximian.com> + + * gui/contact-editor/e-contact-editor-address.c: #include gtkstock.h + +2002-11-29 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-view-widget.c (column_width_changed): the + detail is supposed to go after the signal id, not at the end of + the parameter list. + +2002-11-28 Chris Toshok <toshok@ximian.com> + [ roll forward from 1.2 branch, partial fix for #31763 ] + * gui/component/select-names/select-names.glade: add the Find + button back in. + +2002-11-28 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-view.c (create_minicard_view): remove + the button_press_event handler (that did nothing). this makes it + so button presses actually get to the canvas (and therefore we can + now drag the lines in the reflow widget). + +2002-11-26 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-quick-add.c: add include for + gtkstock.h. + + * gui/contact-list-editor/e-contact-list-model.c + (e_contact_list_model_add_destination): add pre_change call. + (e_contact_list_model_remove_row): same. + (e_contact_list_model_remove_all): same. + + * gui/contact-list-editor/e-contact-list-editor.c + (e_contact_list_editor_new): ref/sink the contact list editor so + we don't get the floating unref warning from gtk. + + * gui/contact-editor/e-contact-editor.c (e_contact_editor_new): + ref/sink the contact editor so we don't get the floating unref + warning from gtk. + (e_contact_editor_init): use g_build_filename instead of + g_concat_dir_and_file. + + * gui/widgets/e-minicard-label.c + (e_minicard_label_resize_children): use MAX (value, 0) to make + sure we aren't passing negative values for clip-widths. + + * gui/widgets/e-minicard.c (e_minicard_realize): use MAX (value, + 0) to make sure we aren't passing negative values for widths. + + * gui/contact-editor/e-contact-editor.c (e_contact_editor_init): + use g_build_filename. + +2002-11-26 Chris Toshok <toshok@ximian.com> + + [ roll forward from 1.2 branch ] + * backend/pas/pas-backend-file.c + (pas_backend_file_process_get_vcard): never pass NULL as the vcard + to the corba call, it causes a crash. This particular bug bit us + when we opened a card that contained an unresolvable related + contact. + +2002-11-26 Chris Toshok <toshok@ximian.com> + + [ roll forward from 1.2 branch, Fixes addressbook bug #28945 ] + * backend/ebook/e-card.c (e_card_get_vobject): if the email + property is xml, get the real address from the e-destination. + Fixes saving contact lists. + +2002-11-26 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard.c (e_minicard_reflow): remove redundant + setting of y2. + + * gui/contact-list-editor/e-contact-list-editor.c + (e_contact_list_editor_init): show the table. + + * gui/component/select-names/e-select-names-completion.c: remove + an unnecessary #include. + + * gui/component/addressbook-storage.c (addressbook_storage_setup): + use g_build_filename. + + * gui/component/addressbook-component.c (remove_folder): use + g_build_filename. + (add_creatable_item): same. + (ensure_completion_uris_exist): same, and use the right gconf + paths for completion uris. + +2002-11-26 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (read_completion_books_from_db): use new schema for + completion/uris. + (uris_listener): same. + + * gui/component/select-names/e-select-names.h: Convert to + GtkDialog from GnomeDialog. + + * gui/component/select-names/e-select-names.c: Convert to + GtkDialog from GnomeDialog. + (folder_selected): use new schema for last_used_uri. + (e_select_names_init): same. + (e_select_names_set_default): use pango markup to set + bold/not-bold. + (e_select_names_add_section): don't bother creating an EEntry, we + can use pango and a normal label. This also keeps us from + wrapping "contacts ->" at the '-'. + + * gui/component/apps_evolution_addressbook.schemas: new file. + + * gui/component/Makefile.am: add the schema stuff. + +2002-11-24 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c (query_for_supported_bases): + show the etable. + (addressbook_add_server_druid): show_all before returning the + dialog, so the druid shows up. + +2002-11-23 Chris Toshok <toshok@ximian.com> + + [ roll forward from the 1.2 branch. fixes #25540, part of #29630, + as well as other selection issues in the contact editor and ACL + issues in the ldap backend ] + * backend/pas/pas-backend-ldap.c (check_schema_support): reset the + schema check state to FALSE if the read returned nothing (and the + user had not authenticated). we'll requery if/when they auth. + (query_ldap_root_dse): free the schema dn before assigning over + it. + (pas_backend_ldap_connect): added a diagnostic warning about the + root dse query failing in anonymous mode (if it in fact did fail.) + (pas_backend_ldap_process_authenticate_user): if we successfully + authed, requery the root dse to pick up any attributes that might + be protected, and retry the schema query if that failed before. + + * gui/contact-editor/e-contact-editor.c (full_name_clicked): set + the dialog's editable state based on the new field + "fullname_editable", and only do the Ok button handling if this + flag is TRUE. + (full_addr_clicked): set the dialog's editable state based on the + editable state for the particular address (from + editor->address_editable[]). also, only do the Ok button handling + if this flag is TRUE. + (_address_arrow_pressed): use the address_editable array to + determine whether the address text and the mailing address + checkbutton are sensitive. + (enable_writable_fields): figure out if fullname_editable is + TRUE/FALSE, also, init the address_editable flags based on the + field list, and handle the address checkbutton. + + * gui/contact-editor/fulladdr.glade: change the label names to + label-<name> to match {entry,combo}-<name>. + + * gui/contact-editor/fullname.glade: same. + + * gui/contact-editor/e-contact-editor-fullname.c + (e_contact_editor_fullname_class_init): rename ARG_IS_READ_ONLY to + ARG_EDITABLE, to reflect the correct sense of the flag. + (e_contact_editor_fullname_set_arg): same, and make the labels + sensitive/insensitive depending on the editable state of the + dialog. + + * gui/contact-editor/e-contact-editor-address.c + (e_contact_editor_address_class_init): rename ARG_IS_READ_ONLY to + ARG_EDITABLE, to reflect the correct sense of the flag. + (e_contact_editor_address_set_arg): same, and make the labels + sensitive/insensitive depending on the editable state of the + dialog. + +2002-11-22 Chris Toshok <toshok@ximian.com> + + [ roll forward Sean.Gao@sun.com's fix for #16870 from the 1.2 + branch ] + * backend/ebook/evolution-ldif-importer.c (getNextLDIFEntry): + check for both LR and CRLF as empty line markers. + +2002-11-22 Chris Toshok <toshok@ximian.com> + + [ rolling forward fix for #34254 from 1.2 branch ] + * backend/ebook/evolution-vcard-importer.c (check_file_is_vcard): + use g-ascii_strncasecmp instead of strncmp. + (support_format_fn): use g_ascii_strcasecmp instead of strcmp. + +2002-11-20 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-storage.h: roll forward the scope fix. + +2002-11-20 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c: roll forward the fix for + the contact editor. + +2002-11-21 Not Zed <NotZed@Ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (entry_changed): Pass type to bonobo_ctonrol_set_property, and + also NULL terminate the valist. + + * gui/component/select-names/e-select-names-text-model.c + (changed_cb): Fix signature for signal. + +2002-11-19 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.server.in.in, + * gui/component/select-names/Makefile.am: Same changes as below + for the SelectNames component. + +2002-11-18 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_init): show the custom table. + +2002-11-18 Chris Toshok <toshok@ximian.com> + + * gui/widgets/gal-view-minicard.c (gal_view_minicard_attach): + remove the cast to (int) - column_width is a double. + + * gui/widgets/e-minicard.c (e_minicard_class_init): the height + property is only readable, not readwrite. + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_class_init): make column_width a double + property. + (e_minicard_view_widget_set_property): don't cast to (int). + column_width is double in the e-minicard-view. + (e_minicard_view_widget_realize): same. + (e_minicard_view_widget_get_property): use g_value_set_double for + column_width. + +2002-11-17 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/Makefile.am (servers_DATA): oops, + missed some "oaf"'s. + +2002-11-16 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c + (e_contact_editor_build_phone_ui): sink the popup. + (e_contact_editor_build_email_ui): same. + (e_contact_editor_build_address_ui): same. + + * gui/component/addressbook-config.c (ldap_dialog_new): show + everything from dialog->page down, so custom widgets show up. + +2002-11-15 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/Makefile.am: Added rule to generate + GNOME_Evolution_Addressbook.server.in from + GNOME_Evolution_Addressbook.server.in.in, substituting + @LIBEXECDIR@. + + * GNOME_Evolution_Addressbook.server.in.in: Renamed from + GNOME_Evolution_Addressbook.server.in. Added @LIBEXECDIR@ before + the location of the executable. + + * gui/component/select-names/select-names.glade: Ported to Glade + 2. + + * gui/component/select-names/recipient.glade: Ported to Glade 2. + +2002-11-15 Rodney Dawes <dobey@ximian.com> + + * gui/component/addressbook-component.c: Use bonobo_main_quit. + +2002-11-14 Chris Toshok <toshok@ximian.com> + + * gui/widgets/gal-view-factory-minicard.c: clean this up a tad. + + * gui/widgets/e-addressbook-view.c (init_collection): re-enable + this. + (setup_menus): same. + + * gui/widgets/gal-view-minicard.[ch]: more GObject work. + +2002-11-12 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c (_popup_position): push_in + = FALSE, no clue why... :) + (_arrow_pressed): call g_signal_stop_emission here, seems to fix + things. + + * gui/component/select-names/e-select-names.c + (e_select_names_init): fix warnings. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_activate_dialog): fix warning. + + * gui/component/addressbook.c (forget_passwords_cb): remove the + PENDING_PORT ifdef. + (load_uri_auth_cb): same. + (addressbook_authenticate): same. + + * gui/component/addressbook-factory.c (main): same. + + * gui/component/addressbook-storage.c (load_source_data): be + silent about text nodes if they contain nothing but whitespace. + +2002-11-11 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-card-cursor.c (pas_card_cursor_dispose): guard + against multiple invocations. + + * backend/pas/pas-backend-ldap.c (view_destroy): change signature + to that of a weak ref notify function. + (cursor_destroy): same. + (pas_backend_ldap_book_destroy_cb): same. + (get_cursor_handler): ::destroy -> weak_ref. + (pas_backend_ldap_process_get_book_view): same. + (pas_backend_ldap_add_client): same. + + * backend/pas/pas-backend-file.c (cursor_destroy): change + signature to that of a weak ref notify function. + (view_destroy): same. + (pas_backend_file_book_destroy_cb): same. + (pas_backend_file_process_get_cursor): ::destroy -> weak_ref. + (pas_backend_file_process_get_book_view): same. + (pas_backend_file_process_get_completion_view): same. + (pas_backend_file_process_get_changes): same. + (pas_backend_file_add_client): same. + + * backend/ebook/test-client.c (get_cursor_cb): unref the book and + exit here. + (get_card_cb): pass a query string to get_cursor. + + * backend/ebook/e-book-view.c (e_book_view_class_init): correct + marshaller for "card_added". + +2002-11-11 Chris Toshok <toshok@ximian.com> + + * gui/widgets/test-reflow.c (destroy_callback): change signature + to that of a weak ref notify function. + (main): ::destroy -> weak_ref. + + * gui/widgets/test-minicard.c (destroy_callback): change signature + to that of a weak ref notify function. + (main): ::destroy -> weak_ref. + + * gui/widgets/test-minicard-view.c (destroy_callback): change + signature to that of a weak ref notify function. + (main): ::destroy -> weak_ref. + + * gui/widgets/test-minicard-label.c (destroy_callback): change + signature to that of a weak ref notify function. + (main): ::destroy -> weak_ref. + + * gui/widgets/e-minicard-widget.c (e_minicard_widget_init): ifdef + out the call to gnome_canvas_set_scroll_region. It doesn't seem + necessary judging from the rest of the code, and it also crashes + the addressbook if it's in. + + * gui/widgets/e-minicard-widget-test.c (destroy_callback): change + signature to that of a weak ref notify function. + (main): ::destroy -> weak_ref. + + * gui/widgets/e-minicard-control.c (free_struct): change signature + to that of a weak ref notify function. + (e_minicard_control_factory): ::destroy -> weak_ref. + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_init): + ::destroy -> weak_ref. + (e_addressbook_view_print): same. + (free_closure): change signature to that of a weak ref notify + function. + (e_contact_print_destroy): same. + (invisible_destroyed): same. + + * gui/widgets/e-addressbook-util.c + (e_addressbook_prompt_save_dialog): convert from GnomeDialog to + GtkDialog. + (e_addressbook_show_multiple_cards): same. + + * gui/contact-list-editor/e-contact-list-editor.c + (prompt_to_save_changes): change response ids to use + GTK_RESPONSE_. + + * gui/component/select-names/e-select-names-manager.c + (clear_widget): new function. + (e_select_names_manager_activate_dialog): ::destroy -> weak_ref. + + * gui/component/select-names/e-select-names.c (clear_widget): + change signature to that of a weak ref notify function. + (e_select_names_init): ::destroy -> weak_ref. + + * gui/component/e-address-popup.c (mini_wizard_destroy_cb): change + signature to that of a weak ref notify function. + (mini_wizard_new): ::destroy -> weak_ref. + + * gui/component/addressbook-config.c + (addressbook_source_dialog_destroy): change signature to that of a + weak ref notify function. + (ldap_config_control_destroy_callback): same. + (addressbook_add_server_druid): ::destroy -> weak_ref. + (addressbook_edit_server_dialog): same. + (ldap_config_control_new): same. + + * gui/component/addressbook.c (destroy_callback): change signature + to that of a a weak ref notify function. + (addressbook_factory_new_control): ::destroy -> weak_ref. + + * gui/merging/e-card-merging.c (response): rename clicked to this, + and destroy the dialog here. + (match_query_callback): ::clicked -> ::response + + * gui/merging/e-card-merging-book-commit-duplicate-detected.glade: + convert. + + * gui/merging/e-card-duplicate-detected.glade: same. + +2002-11-11 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c (_arrow_pressed): change + around a little, still ifdefed though. + + * gui/contact-editor/e-contact-save-as.c (file_exists): same. + (save_it): deal with the GtkDialog response ids. + + * gui/contact-editor/e-contact-editor.c + (e_contact_editor_confirm_delete): just build the dialog here + (using gtk_message_dialog*). + + * gui/contact-editor/Makefile.am (glade_DATA): remove + file-exists.glade and e-contact-editor-confirm-delete.glade. + +2002-11-11 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-card-cursor.c (pas_card_cursor_dispose): guard + against multiple invocations. + + * backend/pas/pas-backend-ldap.c (view_destroy): change signature + to that of weak ref's notify function - also, don't use the type + check macros on the freed GObject. + (cursor_destroy): same. + (pas_backend_ldap_book_destroy_cb): same. + (pas_backend_ldap_add_client): use weak_ref insteead of ::destroy. + (get_cursor_handler): same. + (pas_backend_ldap_process_get_book_view): same. + + * backend/pas/pas-backend-file.c (cursor_destroy): change + signature to that of weak ref's notify function - also, don't use + the type check macros on the freed GObject. + (pas_backend_file_book_destroy_cb): same. + (view_destroy): same. + (pas_backend_file_process_get_cursor): use weak_ref instead of + ::destroy. + (pas_backend_file_process_get_book_view): same. + (pas_backend_file_process_get_completion_view): same. + (pas_backend_file_process_get_changes): same. + (pas_backend_file_add_client): same. + +2002-11-10 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-card-sexp.c + (pas_backend_card_sexp_dispose): guard against multiple + invocations. + + * backend/pas/pas-card-cursor.c (pas_card_cursor_dispose): same. + + * backend/pas/pas-book.c (pas_book_dispose): same. + + * backend/pas/pas-book-view.c (pas_book_view_dispose): same. + + * backend/pas/pas-book-factory.c (pas_book_factory_dispose): same. + + * backend/pas/pas-backend-summary.c (pas_backend_summary_dispose): same. + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_dispose): same. + + * backend/pas/pas-backend-file.c (pas_backend_file_dispose): same. + + * backend/ebook/e-book-listener.c (e_book_listener_dispose): guard + against multiple invocations. + + * backend/ebook/e-card.c (e_card_dispose): same. + + * backend/ebook/e-card-simple.c (e_card_simple_dispose): same. + + * backend/ebook/e-card-cursor.c (e_card_cursor_dispose): same. + + * backend/ebook/e-book.c (e_book_dispose): same. + + * backend/ebook/e-book-view-listener.c (e_book_view_listener_dispose): same. + +2002-11-08 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-model.c (free_data): guard against + multiple invocations. + (remove_book_view): same. + (addressbook_dispose): same. + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_dispose): + same. + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_dispose): same. + + * gui/widgets/e-minicard-view.c (e_minicard_view_dispose): same. + + * gui/widgets/e-minicard-widget.c (e_minicard_widget_dispose): + same. + +2002-11-08 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c + (addressbook_get_property): oops, missed these casts. + + * gui/component/addressbook.c (get_master_list): remove the + PENDING_PORT_WORK ifdef, just ported ECategoriesMasterList. + (make_suboptions): same. + + * gui/contact-editor/e-contact-editor.c (categories_clicked): + same. + +2002-11-08 Chris Toshok <toshok@ximian.com> + + * gui/widgets/test-reflow.c: port work. + + * gui/widgets/test-minicard-view.c: port work. + + * gui/widgets/e-minicard.[ch]: port work. + + * gui/widgets/e-minicard-widget.c: port work. + + * gui/widgets/e-minicard-view.c: port work. + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_size_allocate): gtk_->g_ change i missed. + (e_minicard_view_widget_reflow): same. + + * gui/widgets/e-minicard-label.c: port work. + + * gui/widgets/e-minicard-control.c (get_prop): gtk_->g_ change i + missed. + + * gui/widgets/e-addressbook-view.c (setup_menus): ifdef this + PENDING_PORT_WORK for now. + (has_email_address_1): gtk_->g_ change i missed. + (print): remove the PENDING_PORT_WORK from here, as the print_* + symbols now resolve. + (delete): gtk_->g_ changes. + (new_card): same. + (new_list): same. + (sources): same. + (create_minicard_view): same. + (table_double_click): same. + (create_table_view): same. + (e_contact_print_destroy): same. + (e_contact_print_button): same. + (e_addressbook_view_print): same, and remove the PENDING_PORT_WORK + ifdef. + (e_addressbook_view_print_preview): same. + (do_remove): gtk_->g_ changes. + (e_addressbook_view_save_state): same. + (view_transfer_cards): same. + + * gui/widgets/e-addressbook-view.h (struct _EAddressbookView): + GtkObject -> GObject. + + * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): + GnomeDialog -> GtkDialog. + + * gui/widgets/e-addressbook-table-adapter.c + (addressbook_set_value_at): a gtk_->g_ change i missed. + (e_addressbook_table_adapter_class_init): gtk_type_class -> + g_type_class_peek_parent. + + * gui/widgets/e-addressbook-reflow-adapter.c + (addressbook_get_property): use g_object_get_property for + aggregated properties. + (e_addressbook_reflow_adapter_class_init): gtk_type_class -> + g_type_class_peek_parent. + + * gui/merging/e-card-merging.c (match_query_callback): some misc + gtk_->g_ changes i missed. + +2002-11-08 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-model.h: parent class + is GObjectClass. + + * gui/component/select-names/e-simple-card-bonobo.c + (impl_dispose): guard against multiple invocations, and chain + dispose. + + * gui/component/select-names/e-select-names.c + (e_select_names_dispose): guard against multiple invocations. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_dispose): guard against multiple + invocations. + (e_select_names_text_model_set_source): fix casts. + + * gui/component/select-names/e-select-names-table-model.c + (e_select_names_table_model_add_source): remove the GTK_OBJECT + cast, fixes a warning. + (clear_info): guard against multiple invocations from ::dispose. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_dispose): same. + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_dispose): same. + + * gui/component/select-names/e-select-names-bonobo.c + (impl_dispose): guard against multiple invocations. + +2002-11-08 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/contact-list-editor.glade: convert to glade-2 + + * gui/contact-list-editor/e-contact-list-editor.c: port work. + + * gui/contact-list-editor/e-contact-list-model.[ch]: port work. + +2002-11-08 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor-address.[ch]: port work. + + * gui/contact-editor/e-contact-editor-fullname.[ch]: port work. + + * gui/contact-editor/e-contact-editor.[ch]: port work. + + * gui/contact-editor/e-contact-quick-add.c: port work. + + * gui/contact-editor/e-contact-save-as.c: port work. + +2002-11-08 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book-util.c + (set_default_book_uri_from_config_db): prepend /apps/Evolution to + config db paths. + + * gui/component/select-names/e-select-names-manager.c (read_completion_books_from_db): same. + (uris_listener): same. + +2002-11-08 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c: more porting work. + + * e-contact-editor-fullname.[ch]: more porting work. + + * e-contact-editor.c: more porting work. + + * e-contact-quick-add.c: more porting work. + + * e-contact-save-as.c: more porting work. + + * test-editor.c: more porting work. + + * e-contact-editor-confirm-delete.glade, file-exists.glade, + fulladdr.glade, fullname.glade: run these through + libglade-convert. + +2002-11-07 Chris Toshok <toshok@ximian.com> + + * gui/component/Makefile.am (evolution_addressbook_LDADD): add + lots of libs back in since they're building now. + + * gui/component/addressbook-config.c: more porting work. + + * gui/component/addressbook.c: more porting work. + + * gui/component/e-address-popup.[ch]: more porting work. + + * gui/component/e-address-widget.[ch]: more porting work. + + * gui/component/e-cardlist-model.[ch]: more porting work. + +2002-11-07 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.[ch]: more + porting work. + + * gui/component/select-names/e-select-names-completion.[ch]: more + porting work. + + * gui/component/select-names/e-select-names-manager.[ch]: more + porting work. + + * gui/component/select-names/e-select-names-model.[ch]: more + porting work. + + * gui/component/select-names/e-select-names-popup.c: more + porting work. + + * gui/component/select-names/e-select-names-table-model.[ch]: more + porting work. + + * gui/component/select-names/e-select-names-text-model.[ch]: more + porting work. + + * gui/component/select-names/e-select-names.[ch]: more + porting work. + +2002-11-07 Chris Toshok <toshok@ximian.com> + + * backend/ebook/Makefile.am: tests are linking now, and link in + libcamel.la. + + * backend/ebook/e-destination.c (e_destination_get_name): un-ifdef + since camel is compiling. + (e_destination_get_email): same. + (e_destination_get_address): same. + (e_destination_get_textrep): same. + + * backend/ebook/e-card-compare.c (name_fragment_match): use e_utf8_casefold_*. + (name_fragment_match_with_synonyms): same. + (e_card_compare_name_to_string_full): same. + (e_card_compare_name): same. + +2002-11-07 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book-util.h: add prototypes for e_utf8_casefold_collate{_len} + + * backend/ebook/e-book-util.c (e_utf8_casefold_collate_len): move + utf8_casefold_collate_len here. + (e_utf8_casefold_collate): move utf8_casefold_collate here. + +2002-11-06 Chris Toshok <toshok@ximian.com> + + * printing/e-contact-print-envelope.c: port this to + gnome2/gnomeprint2. + + * printing/e-contact-print-style-editor.c: same. + + * printing/e-contact-print.c: same. + + * printing/test-contact-print-style-editor.c: same. + + * printing/test-print.c: same. + + * printing/e-contact-print.glade: libglade-convert to libglade-2. + + * printing/Makefile.am (contact_print_test_LDADD) + (contact_print_style_editor_test_LDADD): remove libcamel.la from + these for the time being to get things linking. + +2002-11-06 Chris Toshok <toshok@ximian.com> + + * gui/widgets/gal-view-minicard.[ch]: gobjectify this. + + * gui/widgets/e-minicard.[ch]: gobjectify this. + (e_minicard_class_init): change the + min/max values of the width/height paramspecs so that they can + actually be set to something other than 0.0. + + * gui/widgets/e-minicard-widget.[ch]: gobjectify this. + + * gui/widgets/e-minicard-view.[ch]: gobjectify this. + (set_empty_message): don't need e_utf8_from_locale_string anymore. + + * gui/widgets/e-minicard-view-widget.[ch]: gobjectify this. + + * gui/widgets/e-minicard-label.[ch]: gobjectify this. + + * gui/widgets/e-addressbook-view.[ch]: gobjectify this. + + * gui/widgets/e-addressbook-table-adapter.[ch]: gobjectify this. + + * gui/widgets/e-addressbook-reflow-adapter.[ch]: gobjectify this. + + * gui/widgets/e-addressbook-model.[ch]: gobjectify this. + + * gui/widgets/e-minicard-control.c (e_minicard_control_factory): + fix bonobo_persist_stream_new api change. + + * gui/contact-list-editor/e-contact-list-model.c + (e_contact_list_model_add_destination): get rid of the + gtk_object_sink here. + + * gui/component/ldap-config.glade: glade-2 version of this file. + + * gui/component/e-address-popup.c (e_address_popup_refresh_names): + don't need e_utf8_to_gtk_string anymore. + + * gui/component/addressbook.c (make_suboptions): don't need + e_utf8_to_locale_string anymore. + + * gui/component/addressbook-config.c + (addressbook_dialog_get_source): get rid of the e_utf8 gtk_entry + functions. + (addressbook_source_dialog_set_source): same. + (general_tab_check): same. + (port_changed_func): same. + (connecting_tab_check): same. + (query_for_supported_bases): same. + (display_name_check): same. + (display_name_page_prepare): same. + (edit_source_clicked): same. + (addressbook_config_create_new_source): same. + +2002-11-06 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-card-sexp.c + (pas_backend_card_sexp_class_init): use g_type_class_peek_parent. + + * backend/pas/pas-card-cursor.c (pas_card_cursor_class_init): same. + + * backend/pas/pas-book-view.c (pas_book_view_class_init): same. + + * backend/pas/pas-book-factory.c (pas_book_factory_class_init): same. + + * backend/pas/pas-backend-summary.c (pas_backend_summary_class_init): same. + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_class_init): same. + + * backend/pas/pas-backend-file.c (pas_backend_file_class_init): same. + + * backend/ebook/e-book-marshal.list: ENUM -> INT. + + * backend/ebook/e-book-view.c (e_book_view_dispose): guard against + this being called multiple times. + (e_book_view_class_init): ENUM -> INT in the sequence_complete + signal. + + * backend/ebook/e-book.c (e_book_do_response_open): un-ifdef the + component_died signal stuff. + +2002-11-06 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book-util.c (e_book_expand_uri): call + g_build_filename, not g_build_path. + +2002-11-06 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-destination.[ch]: fix the gnome-xml headers. + +2002-11-06 Chris Toshok <toshok@ximian.com> + + * gui/widgets/gal-view-minicard.c: fix the gnome-xml headers. + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_class_init): convert from gtk signals and args + to GSignal and GObject properties. + (e_addressbook_view_dispose): rename _destroy to this. + (e_addressbook_view_set_property): rework _set_arg to this. + (e_addressbook_view_get_property): rework _get_arg to this. + (display_view): if we're here we need to choose a view, regardless + of whether or not the GAL_IS_VIEW_* macros tell us which type it + is. + + * gui/widgets/e-addressbook-table-adapter.c: fix the gnome-xml + headers. + + * gui/widgets/e-addressbook-model.c + (e_addressbook_model_class_init): use INT, not ENUM in the signal here. + + * gui/component/addressbook-config.c: another big gtk_* -> g_* + renaming. + + * gui/component/addressbook.c: same. + + * gui/component/e-address-popup.c: same. + + * gui/component/e-address-widget.c: same. + + * gui/component/e-cardlist-model.c: fix the gnome-xml headers, and + more gtk_* -> g_* renaming. + + * gui/component/addressbook-component.c (owner_set_cb): use + evolution_shell_client_corba_objref as per ettore's change to + EvolutionShellClient.. + (create_view): fix the call to bonobo_control_set_property. + (create_component): gtk_signal_connect -> g_signal_connect. + + * gui/component/addressbook-storage.c: fix the gnome-xml + headers. + (addressbook_storage_setup): use + evolution_shell_client_corba_objref as per ettore's change to + EvolutionShellClient.. + (addressbook_get_other_contact_storage): gtk_signal_connect -> + g_signal_connect. + (load_source_data): root->childs -> root->childrens. + +2002-11-06 Chris Toshok <toshok@ximian.com> + + * gui/search/e-addressbook-search-dialog.c: fix some #include's. + +2002-11-06 Chris Toshok <toshok@ximian.com> + + * Makefile.am (SUBDIRS): only build the backend and gui dirs for + now. printing and conduits are no-man's land at present. + + * addressbook/gui/merging/e-card-merging.[ch]: Port to + GObject/gnome2. + +2002-11-05 Chris Toshok <toshok@ximian.com> + + * gui/component/.cvsignore: ignore the new .server file. + + * gui/component/Makefile.am: typical port stuff. switch the .oaf + to .server, and leave out a lot of libs so we can actually get + things linking. + + * gui/component/GNOME_Evolution_Addressbook.server.in: rename + .oaf.in here. + + * gui/component/addressbook-component.c: Port to GObject/gnome2. + + * gui/component/addressbook-config.c: Port to GObject/gnome2. + + * gui/component/addressbook-factory.c: Port to GObject/gnome2. + + * gui/component/addressbook-storage.c: Port to GObject/gnome2. + + * gui/component/addressbook.[ch]: Port to GObject/gnome2. + + * gui/component/e-address-popup.[ch]: Port to GObject/gnome2. + + * gui/component/e-address-widget.[ch]: Port to GObject/gnome2. + + * gui/component/e-cardlist-model.h: Port to GObject/gnome2. + +2002-11-05 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/.cvsignore: ignore the marshal generated + stuff. + + * gui/contact-list-editor/Makefile.am: typical port stuff. add + marshaller generation foo, dist it... + + * gui/contact-list-editor/e-contact-list-editor.[ch]: Port to + GObject/gnome2. + + * gui/contact-list-editor/e-contact-list-model.[ch]: Port to + GObject/gnome2. + +2002-11-05 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/.cvsignore: ignore the marshal generated + stuff. + + * gui/contact-editor/Makefile.am: typical port stuff. add + marshaller generation foo, dist it... + + * gui/contact-editor/e-contact-editor-address.[ch]: Port to GObject/gnome2. + + * gui/contact-editor/e-contact-editor-fullname.c: Port to GObject/gnome2. + + * gui/contact-editor/e-contact-editor.c: Port to GObject/gnome2. + + * gui/contact-editor/e-contact-quick-add.c: Port to GObject/gnome2. + + * gui/contact-editor/e-contact-save-as.[ch]: Port to GObject/gnome2. + + * gui/contact-editor/test-editor.c: Port to GObject/gnome2. + +2002-11-05 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-model.[ch]: Port to GObject/gnome2. + + * gui/widgets/e-addressbook-reflow-adapter.c: Port to + GObject/gnome2. + + * gui/widgets/e-addressbook-table-adapter.c: Port to + GObject/gnome2. + + * gui/widgets/e-addressbook-util.c: Port to GObject/gnome2. + + * gui/widgets/e-addressbook-view.[ch]: Port to GObject/gnome2. + + * gui/widgets/e-minicard-control.c: Port to GObject/gnome2. + + * gui/widgets/e-minicard-label.[ch]: Port to GObject/gnome2. + + * gui/widgets/e-minicard-view-widget.[ch]: Port to GObject/gnome2. + + * gui/widgets/e-minicard-view.[ch]: Port to GObject/gnome2. + + * gui/widgets/e-minicard-widget-test.c: Port to GObject/gnome2. + + * gui/widgets/e-minicard-widget.c: Port to GObject/gnome2. + + * gui/widgets/e-minicard.[ch]: Port to GObject/gnome2. + + * gui/widgets/gal-view-factory-minicard.c: Port to GObject/gnome2. + + * gui/widgets/gal-view-minicard.c: Port to GObject/gnome2. + + * gui/widgets/test-minicard-label.c: Port to GObject/gnome2. + + * gui/widgets/test-minicard-view.c: Port to GObject/gnome2. + + * gui/widgets/test-minicard.c: Port to GObject/gnome2. + + * gui/widgets/test-reflow.c: Port to GObject/gnome2. + + * gui/widgets/Makefile.am: typical port stuff. add marshaller + generation foo, dist it... + + * gui/widgets/.cvsignore: ignore the marshaller stuff. + +2002-11-05 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-simple-card-bonobo.[ch]: Port to + GObject/gnome2. + + * gui/component/select-names/e-select-names.[ch]: Port to + GObject/gnome2. + + * gui/component/select-names/e-select-names-text-model.c: Port to + GObject/gnome2. + + * gui/component/select-names/e-select-names-table-model.c: Port to + GObject/gnome2. + + * gui/component/select-names/e-select-names-popup.[ch]: Port to + GObject/gnome2. + + * gui/component/select-names/e-select-names-model.c: Port to + GObject/gnome2. + + * gui/component/select-names/e-select-names-manager.[ch]: Port to + GObject/gnome2. + + * gui/component/select-names/e-select-names-factory.c: Port to + GObject/gnome2. + + * gui/component/select-names/e-select-names-completion.[ch]: Port + to GObject/gnome2. + + * gui/component/select-names/e-select-names-bonobo.[ch]: Port to + GObject/gnome2. + + * gui/component/select-names/Makefile.am: typical port stuff. add + marshaller generation foo, dist it, and switch the .oaf to .server + + * gui/component/select-names/.cvsignore: ignore the marshaller + stuff. + +2002-11-05 Chris Toshok <toshok@ximian.com> + + * backend/ebook/.cvsignore: ignore the generated marshaller files. + + * backend/ebook/e-destination.c (e_destination_dispose): rename + e_destination_destroy. + (e_destination_equal): ifdef this out for now, PENDING_PORT_WORK. + (e_destination_get_name): same. + (e_destination_get_email): same. + (e_destination_get_address): same. + (e_destination_get_textrep): same. + + * backend/ebook/Makefile.am: don't build the executables + (importers and loaders) for now. Also, s/oaf/server, and use + INTLTOOL_SERVER_RULE. + + * backend/ebook/e-book-util.c (e_book_get_config_database): + un-#ifdef this. + (e_book_default_book_open): un-#ifdef ths code in here that relies + on the e_config_listener. + +2002-11-05 Dan Winship <danw@ximian.com> + + * backend/pas/pas-backend-ldap.c (send_pending_adds): copy a + memleak fix from pas-backend-ad. + +2002-11-05 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-card.c: g_date_* => g_date_get_*, fixes + G_DISABLE_DEPRECATED build. + + * backend/ebook/e-book-listener.[ch]: remove the servant crap i'd + c&p'ed and put in here. + + * backend/ebook/e-book-view-listener.[ch]: remove the servant crap + i'd c&p'ed and put in here. + + * backend/pas/pas-book-factory.[ch]: subclass from BonoboObject, + and remove the servant crap from here too. whee. + + * backend/pas/pas-card-cursor.[ch]: remove the servant crap i'd + c&p'ed and put in here. + + * backend/pas/pas-book.[ch]: remove the servant crap i'd c&p'ed + and put in here. + + * backend/pas/pas-book-view.[ch]: remove the servant crap i'd + c&p'ed and put in here. + +2002-11-05 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-card-sexp.[ch]: port to gnome 2. + + * backend/pas/pas-backend-file.[ch]: same. + + * backend/pas/pas-backend-file.[ch]: same. + + * backend/pas/pas-backend-ldap.[ch]: same. + + * backend/pas/pas-backend-summary.[ch]: same. + + * backend/pas/pas-backend.[ch]: same. + + * backend/pas/pas-book-factory.[ch]: same. + + * backend/pas/pas-book-view.[ch]: same. + + * backend/pas/pas-book.[ch]: same. + + * backend/pas/pas-card-cursor.[ch]: same. + + * backend/pas/pas-marshal.list: list of marshallers. + + * backend/pas/Makefile.am (libpas_a_SOURCES): add pas-marshal.c + also add the marshal building foo. + + * backend/pas/.cvsignore: ignore pas-marshal.[ch] + +2002-11-05 Chris Toshok <toshok@ximian.com> + + * backend/ebook/test-client-list.c (main): don't call + bonobo_activation_init directly. + + * backend/ebook/test-client.c (get_card_cb): don't unref the card + here since we never reffed it. + (main): no need to call bonobo_activation_init, as + gnome_program_init did it for us. + + * backend/ebook/e-card-simple.c (e_card_simple_get_property): + s/g_value_{set,get}_pointer/g_value_{set,get}_object + + * backend/ebook/e-book-util.c (set_default_book_uri_local): make + sure to terminate args with NULL for g_build_filename. + + * backend/ebook/e-book-listener.c: nuke e_book_listener_get_type + and use the BONOBO_TYPE_FUNC_FULL macro. + + * backend/ebook/e-book-listener.h: add the epv to + EBookListenerClass so BONOBO_TYPE_FUNC_FULL works. + + * backend/ebook/e-book-view-listener.c: nuke + e_book_view_listener_get_type and use the BONOBO_TYPE_FUNC_FULL + macro. + + * backend/ebook/e-book-view-listener.h: add the epv to + EBookViewListenerClass so BONOBO_TYPE_FUNC_FULL works. + +2002-11-02 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book-types.h: just include glib.h instead of the + gtk stuff. + + * backend/ebook/e-book-listener.[ch]: convert to + GObject/bonobo-activation/etc/etc. + * e-book-util.[ch]: same. + * e-book-view-listener.[ch]: same. + * e-book-view.[ch]: same. + * e-book.[ch]: same. + * e-card-compare.[ch]: same. + * e-card-cursor.[ch]: same. + * e-card-simple.[ch]: same. + * e-card.[ch]: same. + * e-destination.[ch]: same. + * evolution-ldif-importer.c: same. + * evolution-vcard-importer.c: same. + * load-gnomecard-addressbook.c: same. + * load-pine-addressbok.c: same. + * test-card.c: same. + * test-client-list.c: same. + * test-client.c: same. + + * backend/ebook/Makefile.am: add e-book-marshal.c to SOURCES, add + e-book-marshal.[ch] to CLEANFILES, and add e-book-marshal.list to + EXTRA_DIST. Also, remove the camel libs from the test LDADD's, + and leave e-destination.[ch] out of the build. + + * backend/ebook/.cvsignore: ignore e-book-marshal.[ch] + + * backend/ebook/e-book-marshal.list: marshallers for e-book. + +2002-10-28 Larry Ewing <lewing@ximian.com> + + * backend/ebook/e-card.c (addPropValueUTF8): never set the charset + on an item without also encoding it. Mime messages don't like + parts with multiple charsets. + +2002-10-25 Dan Winship <danw@ximian.com> + + * gui/widgets/e-addressbook-model.c (addressbook_destroy): + Disconnect from the book's backend_died signal. + +2002-10-24 Chris Toshok <toshok@ximian.com> + + * backend/pas/Makefile.am: install evolutionperson.schema to + $(datadir)/evolution. + +2002-10-24 Chris Toshok <toshok@ximian.com> + + [ fixes #29144 ] + * gui/component/addressbook-config.c (edit_dialog_store_change): + use e_table_memory_storage_change instead of remove/insert, so the + selection is maintained. + +2002-10-22 Dan Winship <danw@ximian.com> + + * gui/component/select-names/e-select-names.c + (folder_selected): Set /Addressbook/select_names_uri in the + configdb to the selected folder. + (e_select_names_init): Look for /Addressbook/select_names_uri + before /DefaultFolders/contacts_uri for the initial folder. So the + select names dialog now starts up using the same folder you used + last time, which is useful when you have an LDAP company directory + (which can't be your default contacts folder because it's + read-only). + +2002-10-21 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-component.c (IS_CONTACT_TYPE): fix the + sense of a strcmp + +2002-10-20 Chris Toshok <toshok@ximian.com> + + [ fix for #23764 ] + * gui/widgets/e-addressbook-view.c (jump_to_letters): handle + multiple letters associated with a single button. + (button_toggled): closure->letter -> closure->letters. + (free_closure): free closure->letters. + (create_alphabet): init closure->letters. + +2002-10-20 Chris Toshok <toshok@ximian.com> + + [ fixes #29067 ] + * backend/pas/pas-backend-file.c (pas_backend_file_search): we + need to create a card_sexp even when doing summary queries since + it's used to check modifications of cards in the view. + +2002-10-20 Chris Toshok <toshok@ximian.com> + + [ fixes #32144 ] + * gui/contact-editor/e-contact-save-as.c (e_contact_save_as): + convert the name to the gtk locale before saving. + (e_contact_list_save_as): same. + +2002-10-19 Chris Toshok <toshok@ximian.com> + + [ probable fix for #25477, and memory leak fix ] + * gui/contact-editor/e-contact-editor.c (supported_fields_cb): if + the dialog isn't in the list of all dialogs it's been destroyed so + just return here. + + * backend/ebook/e-book.c + (e_book_do_response_get_supported_fields): plug leak of + resp->fields. + +2002-10-15 Dan Winship <danw@ximian.com> + + * backend/ebook/e-card.c (e_card_email_match_string): Return right + away rather than crashing if card->email is NULL. + (e_card_email_find_number): Likewise. + +2002-10-10 Kjartan Maraas <kmaraas@gnome.org> + + [ Fix #7094, #7064, #7095, #31944, #31945 ] + * gui/component/Makefile.am: Hook up new etspec file. + * gui/component/addressbook-config.c: Remove ETable spec. + * gui/component/addressbook-config.etspec: New file. + * gui/component/ldap-config.glade: Fix typo. + * gui/component/select-names/e-select-names.c: Remove inline spec. + * gui/component/select-names/e-select-names.etspec: New file. + * gui/contact-list-editor/Makefile.am: Hook up etspec. + * gui/contact-list-editor/e-contact-list-editor.c: Remove inline spec. + * gui/contact-list-editor/e-contact-list-editor.etspec: New file. + * gui/widgets/Makefile.am: Hook up new spec. + * gui/widgets/e-addressbook-view.c: Remove inline spec. + * gui/widgets/e-addressbook-view.etspec: New file. + +2002-10-02 Chris Toshok <toshok@ximian.com> + + [ Fix #28392 ] + * gui/widgets/e-addressbook-view.c (do_popup_menu): #if 0 out the + gal_view submenu, since it's not spec'ed to be there anyway (as + per bug #16250). + +2002-09-30 Chris Toshok <toshok@ximian.com> + + [ Fixes #31321 ] + * backend/ebook/e-card.c (e_card_get_vobject): add VERSION:2.1 to + exported vCards. + +2002-09-30 Chris Toshok <toshok@ximian.com> + + [ Fixes #31434 ] + * backend/pas/pas-backend-file.c (do_summary_query): always + retrieve the card from the db. use the summary strictly for + matching, not for storing all information. This fixes completion + of contact lists, since only 3 addresses were being stored and + contact lists can have more. + +2002-09-30 Aaron Weber <aaron@ximian.com> + + * gui/widgets/e-addressbook-util.c (e_addressbook_show_multiple_cards): rephrase string on l. 213 + +2002-09-30 Dan Winship <danw@ximian.com> + + * backend/ebook/e-card.c (e_card_list_send): update for + Composer_setHeaders change. + +2002-09-27 Chris Toshok <toshok@ximian.com> + + [ fixes #27521 ] + * gui/contact-editor/e-contact-quick-add.c (editor_closed_cb): + always unref the contact editor when we get the editor_closed + signal. + +2002-09-27 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (check_schema_support): set the + timeout to 30 seconds. + (query_ldap_root_dse): same, and also return the ldap_error since + this function is the one that actually causes openldap to + connect() to the ldap host. + (pas_backend_ldap_connect): check the return value of + query_ldap_root_dse, and error out if it's not SUCCESS. + +2002-09-26 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-storage.c (load_source_data): Change + folder type to "contacts/ldap". + (addressbook_storage_add_source): Likewise. + (create_ldap_folder): Check for type being "contacts" not + ldap contacts, since the ldap-specific type doesn't appear in the + menu. + +2002-09-25 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-component.c (folder_types): Rename + "ldap-contacts" to "contacts/ldap" and add "contacts/public". + (IS_CONTACT_TYPE): update for new types. + + * gui/component/select-names/e-select-names.c + (e_select_names_init): Use "contacts/*" for selector_types. + + * gui/widgets/e-addressbook-util.c (e_addressbook_transfer_cards): + Likewise. + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: add + "evolution:config_item:type" = "contacts/ldap" to the LDAP sources + control so it comes up by default when you open Preferences in an + LDAP folder. + +2002-09-23 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-table-adapter.c (addressbook_destroy): + free adapter->priv. + + * gui/widgets/e-addressbook-model.c (addressbook_destroy): free + model->query. + + * gui/component/select-names/e-select-names-manager.c + (load_completion_books): use e_book_expand_uri here, and free the + expanded uri after calling addressbook_load_uri, plugging a leak. + + * gui/component/select-names/e-select-names.c (set_book): unref + esn->model before we unref esn. fixes an edge case memory + corruption bug. + (clear_widget): utility function to set a widget's ref to NULL + when it's destroyed. + (e_select_names_init): hook the status_message, categories option + menu, and select_entry to clear_widget. + (addressbook_model_set_uri): use e_book_expand_uri. + +2002-09-23 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: add libeutil to the link and link with + libcamel instead of libcamel-static.la + +2002-09-22 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-manager.h: oops, add + cached_folder_list to struct _ESelectNamesManager. + +2002-09-22 Chris Toshok <toshok@ximian.com> + + [ Fixes #30481 ] + * gui/component/select-names/e-select-names.c + (e_select_names_init): initialize the select names dialog with the + default contacts folder. + +2002-09-22 Chris Toshok <toshok@ximian.com> + + [ Fixes #28165, 29171 ] + * gui/component/select-names/e-select-names-manager.c + (uris_listener): check to see if the value has really changed. + the way the preferences dialog works is such that we'll get called + when any of the Folder Options are changed (default folders, + offline stuff, etc.) we really only want to tear down and build + back up the completion books if the autocomplete folder setting + changed. + (read_completion_books_from_db): cache the folder list, and call + load_completion_books. + (load_completion_books): new function, loads from the + cached_folder_list. + (e_select_names_manager_init): init cached_folder_list to NULL. + (e_select_names_manager_destroy): g_free (cached_folder_list). + +2002-09-20 Chris Toshok <toshok@ximian.com> + + [ Fixes #30483 ] + * gui/component/select-names/e-select-names-completion.c + (name_style_query): argh, contains => beginswith. + +2002-09-17 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c (add_creatable_item): + don't add the user creatable item for ldap-contact folders atm, + since it results in their being duplicate New Contact and New + Contact List menu items. + +2002-09-17 Kjartan Maraas <kmaraas@gnome.org> + + * gui/component/ldap-config.glade: Fix a typo. + +2002-09-13 Chris Toshok <toshok@ximian.com> + + [ Fixes bug #30250 ] + * backend/ebook/e-destination.c (e_destination_get_name): handle + "Unnamed Lists" here by setting their name to _("Unnamed List'). + + * backend/ebook/e-card-simple.c (e_card_simple_get): same. + + * gui/contact-list-editor/e-contact-list-editor.c (is_named): new + function, return TRUE if the name field is filled in. + (prompt_to_save_changes): return TRUE if the list isn't named + (meaning it's not saveable.) + (command_state_changed): saving requires a name. + (add_email_cb): always call command_state_changed. + (remove_entry_cb): same. + (list_name_changed_cb): same. + (visible_addrs_toggled_cb): same. + (table_drag_data_received_cb): same. + +2002-09-12 Dan Winship <danw@ximian.com> + + * backend/ebook/e-card-simple.c (e_card_simple_get): return + g_strdup("true"), not "true". + +2002-09-11 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_start_query): institute an arbitrary + minimum limit on the number of characters before we actually try + to autocomplete. It's 3, btw. + +2002-09-11 Chris Toshok <toshok@ximian.com> + + [ fixes the other half of #17336 ] + * gui/contact-editor/e-contact-quick-add.c (quick_add_set_name): + parse the name when we're asked to set it, so the full name + doesn't get stored as (potentially) "Last, First" in the card. + +2002-09-11 Chris Toshok <toshok@ximian.com> + + [ fixes part of #17336 ] + * gui/contact-editor/e-contact-editor-fullname.c + (e_contact_editor_fullname_init): get the window title from the + .glade file, and supply a suitable wm icon. + + * gui/contact-editor/e-contact-editor-address.c + (e_contact_editor_address_init): same. + +2002-09-11 Chris Toshok <toshok@ximian.com> + + [ fixes #30208 ] + * gui/component/addressbook.c (load_uri_auth_cb): if the user + clicked cancel in the password dialog, let them off the hook and + bind anonymously. Otherwise (if they failed to auth), prompt them + for the password again. + (addressbook_authenticate): new function, split out 99% of the + auth machinery here so it can be called multiple times. Also, + call the callback with E_BOOK_STATUS_CANCELLED if the user clicked + the cancel button in the dialog. + (load_uri_cb): call addressbook_authenticate if the book has auth + enabled. + (addressbook_load_uri): use g_new0. + +2002-09-05 Anna Dirks <anna@ximian.com> + * gui/component/GNOME_Evolution_Addressbook.oaf.in : Changed the + description of the Directory Servers page of the settings dialog + to be a little less wordy {This page can be used to configure blah--> + Configure blah.} + + +2002-09-04 Chris Toshok <toshok@ximian.com> + + [ Fixes #29904 ] + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_activate_obj): we need to activate + either a contact list editor or contact editor depending on if + it's a list (this screams for a utility function.) + +2002-09-04 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-storage.c + (addressbook_get_other_contact_storage): Pass FALSE to + evolution_storage_new: the Other Contacts storage doesn't support + shared folders. + +2002-09-04 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (create_component): Pass + NULL as @unpopulate_folder_context_menu_fn to + evolution_shell_component_new(). + +2002-09-03 Mike Kestner <mkestner@ximian.com> + + * gui/component/select-names/e-select-names.c (e_select_names_destroy): + unref the "without", adapter, and model, then chain up the GnomeDialog + destroy function. + +2002-09-03 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: Use + ldap-settings.png instead of evolution-contacts.png. + +2002-09-03 Chris Toshok <toshok@ximian.com> + + [ fixes #29699 ] + * gui/component/addressbook-config.c + (addressbook_add_server_druid): call _set_source with a NULL + source to fill in dialog settings that are set from the option + menus (like the SSL setting). + +2002-09-03 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c (delete_contact_cb): Fix typo + [`view>view' instead of `view->view']. Also, cast to + GTK_WINDOW instead of GTK_WIDGET as it should be. + +2002-08-30 Dan Winship <danw@ximian.com> + + * backend/idl/addressbook.idl (CallStatus): add QueryRefused, for + when the backend refuses to perform a query. (part of #25782) + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_convert_status): translate + GNOME_Evolution_Addressbook_BookViewListener_QueryRefused. + + * gui/component/addressbook.c (search_result): Handle + E_BOOK_VIEW_STATUS_QUERY_REFUSED. + +2002-08-30 Chris Toshok <toshok@ximian.com> + + [ fixes #27923] + * backend/pas/pas-backend-summary.c: up the version to 4_0 (4000). + (pas_backend_summary_load_item): handle wants_html{_set}, list, + and list_show_addresses. + (pas_backend_summary_save_item): same. + (pas_backend_summary_add_card): same. + (pas_backend_summary_get_summary_vcard): same. + +2002-08-29 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c (add_creatable_item): call + evolution_shell_component_add_user_creatable_item twice here, once + for the "contacts" folder type, and once for "ldap-contacts". + +2002-08-29 Chris Toshok <toshok@ximian.com> + + [ fixes #20347 ] + * gui/widgets/e-addressbook-view.c (e_addressbook_view_init): hook + up the backend_died signal. + (backend_died): new function, pop up an error dialog saying the + backend died. + + * gui/widgets/e-addressbook-model.c (backend_died): new function, + emit the backend_died signal. + (e_addressbook_model_class_init): create the backend_died signal. + (e_addressbook_model_init): init backend_died_id + (e_addressbook_model_set_arg): disconnect the backend_died signal + from the old book and hook it up to the new book. + + * gui/widgets/e-addressbook-model.h: add the backend_died signal. + + * backend/ebook/e-book.c (backend_died_cb): new function, emit the + backend_died signal. + (e_book_do_response_open): create the component listener and hook + up the backend_died signal. + (e_book_destroy): disconnect the component listener and unref it. + + * backend/ebook/e-book.h: add backend_died signal. + +2002-08-29 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-card-sexp.c (is_helper): use strcasecmp + here, since all the other helpers use case insensitive + comparisons. + + * backend/pas/pas-backend-summary.c (is_helper): same. + +2002-08-29 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (category_ber): return NULL if + the list is empty. + (pas_backend_ldap_connect): always try to use ldapv3, not just + when we want to use tls. + +2002-08-29 Chris Toshok <toshok@ximian.com> + + [ fixes #25038 ] + * gui/contact-editor/Makefile.am (INCLUDES): need to have + EVOLUTION_ICONSDIR defined. + + * gui/contact-list-editor/Makefile.am (INCLUDES): same. + + * gui/contact-editor/e-contact-editor.c (e_contact_editor_init): + set the window icon to the contact mini icon. + + * gui/contact-list-editor/e-contact-list-editor.c + (e_contact_list_editor_init): set the window icon to the new + contact list icon. + + * gui/widgets/e-minicard.c (LIST_ICON_FILENAME): change to (the + prettier, imo) "contact-list-16.png" + +2002-08-28 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_search): spew + the filter we're using for the search. + +2002-08-28 Mike Kestner <mkestner@ximian.com> + + * gui/component/select-names/e-select-names-completion.c : stop the + EBookViews before unreffing. + +2002-08-28 Dan Winship <danw@ximian.com> + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: Add an + evolution:shell_component_launch_order and rename + evolution:shell_component_icon. + +2002-08-28 Chris Toshok <toshok@ximian.com> + + [ oops, merged the .h and .glade file back to the HEAD from the + 1-0 branch, but missed the .c file. ] + * gui/component/select-names/e-select-names.c (status_message): set + the status label's text. + (e_select_names_init): get the status message widget from the + glade ui. + +2002-08-28 Chris Toshok <toshok@ximian.com> + + [ fixes #19286 ] + * gui/component/addressbook.c (delete_contact_cb): confirm + deletion of contacts when using the menubar or toolbar. + +2002-08-28 Chris Toshok <toshok@ximian.com> + + [ fixes #28897 ] + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_clear_book_data): set book_data to NULL + after clearing/freeing the list. fixes a crash. + +2002-08-28 Chris Toshok <toshok@ximian.com> + + [ fixes #20348 ] + * backend/pas/evolutionperson.schema: deprecate "categories" in + favor of "category". evolution no longer uses "categories". + + * backend/pas/pas-backend-ldap.c (category_populate): new + function, "category" is the new name, and it's multivalued so we + need the complex-prop stuff.. + (category_ber): new function, same. + (category_compare): new function, same. + + * gui/component/addressbook.c (addressbook_search_activated): the + text is "Category is" so we should use "is" instead of "contains" + for the query. + +2002-08-27 Chris Toshok <toshok@ximian.com> + + [ Fixes #14835 ] + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_search): + notify_complete with InvalidQuery if the parse fails. + +2002-08-27 Chris Toshok <toshok@ximian.com> + + [ fixes #26907 ] + * gui/component/addressbook.c (addressbook_search_activated): use + beginswith for email. + +2002-08-26 Chris Toshok <toshok@ximian.com> + + * printing/e-contact-print.c (complete_sequence): change prototype + for complete_sequence to match sequence_complete. + (e_contact_print_button): same. + +2002-08-26 Chris Toshok <toshok@ximian.com> + + [ fixes #29446 ] + * gui/component/addressbook-config.c (scope_optionmenu_activated): + searching_modify_func can be NULL (since we don't require changes + to enable the "Next" button on this page when you create a + directory server.) + +2002-08-26 Chris Toshok <toshok@ximian.com> + + [ Fixes (almost certainly) #24649, #25494, #27351, and other LDAP search crashes ] + * backend/pas/pas-backend-ldap.c (view_destroy): use an EList + instead of a GList to store the book_view's so we don't have weird + issues with modifying the list while it's being traversed. + (find_book_view): same. + (create_card_handler): same. + (remove_card_handler): same. + (modify_card_modify_handler): same. + (poll_ldap): same, and also ref the book_view before calling + ldap_search_op_timeout (and therefore send_pending_adds). + (ldap_search_handler): same. + (ldap_op_add): warn about conflicting ldap msgid's (shouldn't ever + happen..) + (homephone_populate): make this a bit more robust (if values[0] == + NULL, values[1] won't be valid). + (business_populate): same. + (build_card_from_entry): break out of the prop_info loop when we + get a match, and only set the simple field if the value != NULL. + (ldap_search_dtor): free all the pending adds stuff. + (pas_backend_ldap_process_get_book_view): g_list_prepend => + e_list_append. + (pas_backend_ldap_remove_client): simplify the removing of the + book (use g_list_remove instead of searching and then using + g_list_remove_link.) + (pas_backend_ldap_destroy): unref the book_views list. + (pas_backend_ldap_init): initialize the EList for book_views. + +2002-08-25 Mike Kestner <mkestner@ximian.com> + + * gui/widgets/e-addressbook-view.c (remove_book_view): stop the + view before unref, in case the listener has pending events. + +2002-08-20 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (book_open_cb): not sure what i was + thinking here... the EBook isn't valid if we couldn't open it, so + we can't turn around and query it for its capabilities. + +2002-08-19 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-manager.h: add the + listener_id slot. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_new): store off the listener_id. + (e_select_names_manager_destroy): remove the bonobo listener - + fixes a crash when modifying the completion folders after you + bring up a compose window. + (e_select_names_manager_entry_new): another random timeout change + - make the completion at 100ms. + +2002-08-19 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-book-view.c (pas_book_view_notify_complete): + take and pass the CallStatus to our listener. + + * backend/pas/pas-book-view.h: change the prototype for + notify_complete to include the CallStatus. + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_seq_complete_cb): add the status arg. + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_class_init): init the search_result signal. + (e_addressbook_view_init): connect to the model's search_result + signal. + (emit_search_result): emit our search_result signal. + (search_result): call emit_search_result. + + * gui/widgets/e-addressbook-view.h (struct + _EAddressbookViewClass): add the search_result signal. + + * gui/widgets/e-addressbook-model.c (sequence_complete): emit both + a "search_result" as well as the "stop_state_changed" signal. + (e_addressbook_model_class_init): init the search_result signal. + + * gui/widgets/e-addressbook-model.h: add search_result signal. + + * gui/component/addressbook.c (search_result): pop up a dialog + telling the user why the search failed or was truncated. + (addressbook_factory_new_control): connect to the "search_result" + signal on the view. + + * conduit/address-conduit.c (sequence_complete): add the status + parameter to sequence_complete. + + * backend/idl/addressbook.idl: add BookViewListener_CallStatus, + and change notifySequenceComplete to take a CallStatus. + + * backend/pas/pas-backend-ldap.c (create_card_handler): pass + status back in the notify_complete call. + (remove_card_handler): same. + (modify_card_modify_handler): same + (ldap_search_handler): same, and parse out the ldap return code so + we can report limits being properly. + + * backend/pas/pas-backend-file.c (do_summary_query): pass status + back in the notify_complete call. + (pas_backend_file_search): same, and get rid of the + status_message, as the status is passed back properly. + (pas_backend_file_search): pass status + back in the notify_complete call. + (pas_backend_file_changes): same. + (pas_backend_file_process_create_card): same. + (pas_backend_file_process_remove_card): same. + (pas_backend_file_process_modify_card): same. + + * backend/ebook/e-book-util.c (simple_query_sequence_complete_cb): + add status parameter. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_queue_status_event): change name from + _queue_empty_event, and take a status arg. + (e_book_view_listener_queue_id_event): init resp->status (to + SUCCESS). + (e_book_view_listener_queue_sequence_event): same. + (e_book_view_listener_queue_message_event): same. + (impl_BookViewListener_notify_sequence_complete): call + queue_status_event, and convert the corba status to + EBookViewStatus. + (e_book_view_listener_convert_status): new function, conver the + corba status to EBookViewStatus. + + * backend/ebook/e-book-view-listener.h: add a "status" slot to + EBookViewListenerResponse. + + * backend/ebook/e-book-view.h: change prototype for + sequence_complete signal. + + * backend/ebook/e-book-view.c (e_book_view_do_complete_event): + sequence_complete takes a parameter now (EBookViewStatus). + (e_book_view_class_init): add the enum arg to the signal. + + * backend/ebook/e-book-types.h: add EBookViewStatus enum. + +2002-08-19 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_get_static_capabilities): add + "cache-completions" here, since file completion results are + blanket cached (as they're generated from a summary). + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_get_cursor): there should be no search + limit on the get_cursor_request, as it's meant to match every card + it can. + (ldap_search_handler): parse the ldap result in the + RES_SEARCH_RESULT case. we'll want more here soon, so we can + notify the front end if the result was truncated due to either the + size or time limit being exceeded. + (pas_backend_ldap_process_get_book_view): in the case of a + completion view, we hardcode (yeah yeah, i know, but really) the + search limit to MIN (100, user-specified-limit). + (pas_backend_ldap_search): each view has its own limit now, + defaulting from the user specified one for normal searches but + possibly different for completion views. use the view's limit + here. + +2002-08-19 Dan Winship <danw@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): add an "addresses" property, to get the + "Dan Winship <danw@ximian.com>" form, as opposed to "text", which + gets you what's displayed, which might be just "Dan Winship". + (entry_set_property_fn): When setting, just reuse the "text" code, + since it should properly cardify everything for us anyway. + (impl_SelectNames_get_entry_for_section): Add the property. + +2002-08-16 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c + (addressbook_source_dialog_set_source): fix c&p error that was + losing the ssl setting. + +2002-08-16 Iain <iain@ximian.com> + + * backends/e-book/evolution-ldif-importer.c (ebook_create): Use the + default EBook instead of the local one. + + * backends/e-book/evolution-vcard-importer.c (ebook_create): Ditto. + +2002-08-16 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (book_view_notify_status): new + function to save a little typing. + (find_book_view): same. + (pas_backend_ldap_connect): reorder things a bit - set the version + to VERSION3 *before* doing TLS, as tls requires v3, and if we're + doing ldaps://, do tls a little differently (not sure if this is + strictly necessary, but the openldap source did it.. *shrug*). + also, guard the schema check as this function can be called + multiple times for the same server (if the server goes down or + times us out.) + (pas_backend_ldap_reconnect): new function, reconnect and if + necessary reauth the user. + (pas_backend_ldap_process_create_card): use + find_book_view/book_view_notify_status/pas_backend_ldap_reconnect. + (pas_backend_ldap_process_remove_card): same. + (pas_backend_ldap_process_modify_card): same. + (pas_backend_ldap_process_get_vcard): same. + (pas_backend_ldap_process_get_cursor): same. + (pas_backend_ldap_search): same. + (poll_ldap): reconnect if ldap_result returns -1. + (pas_backend_ldap_process_authenticate_user): ick ick ick save off + the dn/passwd we auth with so we can use them to reauthenticate. + +2002-08-16 Chris Toshok <toshok@ximian.com> + + [ fix 27333 ] + * gui/widgets/e-addressbook-model.c (get_view): "local" -> + "do-initial-query". + + * backend/pas/pas-backend-file.c + (pas_backend_file_get_static_capabilities): "local" -> + "local,do-initial-query". + + * gui/widgets/e-addressbook-model.c (get_view): "local" -> + "do-initial-query". + + * gui/component/addressbook.c (book_open_cb): Only assume the + addressbook is local if "local" appears in its static + capabilities. We still use the ldap special case, but be nicer to + other networked backends. + +2002-08-12 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-component.c (user_create_new_item_cb): + If invoked from a non-contact folder, add the contact to the + default contact folder, not the local one. If invoked from a + contact folder, don't append "addressbook.db" to the URI, let + ebook do the right thing. Fixes #28327 and #28325. + + * backend/idl/addressbook.idl (CallStatus): Add NoSuchBook. + (Initially intended as part of a fix for #28327, but the other + changes make it so the error code never ends up getting used any + more, but it's still good to have.) + + * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): + Handle NO_SUCH_BOOK. + + * backend/ebook/e-book-types.h (EBookStatus): Add + E_BOOK_STATUS_NO_SUCH_BOOK. + + * backend/ebook/e-book-listener.c + (e_book_listener_convert_status): add case for NoSuchBook. + + * backend/ebook/e-book-util.c (e_book_load_local_address_book): + Kill this. Nothing should ever explicitly load the local + addressbook. + (e_book_use_default_book): Replaces e_book_use_local_address_book, + using the default book instead. + (e_book_default_book_open): Fall back to local contact folder on + E_BOOK_STATUS_NO_SUCH_BOOK too. + (e_book_query_address_default): Use default book, not local. + + * gui/component/e-address-widget.c (query_idle_fn): Use the + default book, not the local book. + + * gui/component/select-names/e-select-names-popup.c + (edit_contact_info_cb): Use the default book, not the local book. + + * backend/ebook/e-destination.c (e_destination_cardify): Use the + default book, not the local book. + (e_destination_touch): Query the default book, not the local book. + + * backend/ebook/e-card-compare.c (e_card_locate_match, + e_card_locate_match_full): Use the default book, not the local + book. + +2002-08-08 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-summary.c (pas_backend_summary_init): + initialize summary->upgraded to quiet valgrind. + +2002-08-06 Dan Winship <danw@ximian.com> + + * backend/ebook/test-client.c (TEST_VCARD): Use "\r" rather than + including literal CRs in the string, which confuses gcc on OS X. + + * backend/ebook/test-card.c (TEST_VCARD): Likewise. + +2002-08-01 Chris Toshok <toshok@ximian.com> + + [ fixes bug #25958 ] + * gui/component/addressbook.c (alphabet_state_changed): use + FULL_NAME in the case where we're untoggling a letter, and... well + use FULL_NAME in the other case too - we should never pop up the + advanced dialog. + +2002-08-01 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names.h (struct + _ESelectNames): no more search_entry. + + * gui/component/select-names/e-select-names.c (update_query): no + more search_entry, search_entry => select_entry, and add file_as + to the query since some entries don't have names (like the Ximian, + Inc. default card.) + (e_select_names_init): no more search_entry, and add an "activate" + handler on select_entry that updates the query. + +2002-08-01 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names.h (struct + _ESelectNames): remove folders and folders_by_uri, and the 2 + listeners. + + * gui/component/select-names/e-select-names.c + (e_select_names_destroy): remove the hash_table_destroys of + folders and folders_by_uri, since they no longer exist. same for + other_contacts_listener and local_listener. + +2002-08-01 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (create_component): Use + "contact-list-16.png" for the "New Contact List" item. + +2002-07-31 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (create_component): Change + the order so that "New Contact" is first and "New Contact List" is + next. + +2002-07-31 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (add_creatable_item): Pass + "contacts" as the @folder_type to + evolution_shell_component_add_user_creatable_item(). + +2002-07-31 Chris Toshok <toshok@ximian.com> + + [ roll in the following change from the 1.0 branch.] + * backend/pas/pas-backend-ldap.c: + (prop_info): change the CALURI and FBURL ecard attributes to map to the + RFC 2739 specified attributes. + (check_schema_support): check to see if calEntry is supported. + (add_objectclass_mod): insert calEntry if it's supported. + * backend/pas/evolutionperson.schema: deprecate freeBusyURI + and calendarURI. + +2002-07-31 Ettore Perazzoli <ettore@ximian.com> + + [Patch by Jacob Berkman <jacob@ximian.com>, fixes #25968] + + * backend/ebook/e-book.c (activate_factories_for_uri): Don't + double free protocol and query. + +2002-07-27 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-summary.c (save_string): don't save + empty strings. + (pas_backend_summary_save): print out the errno when we fail. + +2002-07-26 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c: Don't set up the ContactNew and + ContactNewList verbs. + (update_command_state): Don't set the sensitivity of + /commands/ContactNew and /commands/ContactNewList anymore. + (new_contact_cb): Removed. + (new_contact_list_cb): Removed. + +2002-07-24 Peter Williams <peterw@ximian.com> + + * conduit/Makefile.am (libeaddress_conduit_la_LIBADD): Change + libversit.la -> libversit.a for danw's changes. + +2002-07-24 Dan Winship <danw@ximian.com> + + * conduit/Makefile.am (libeaddress_conduit_la_LIBADD): + s/libversit_lt/libversit/ + +2002-07-22 Dan Winship <danw@ximian.com> + + * backend/pas/Makefile.am: Split pas-backend-file and + pas-backend-ldap out of libpas and build them as separate (noinst) + libraries libpasfile.a and libpasldap.a. This gets the db3 and + LDAP dependencies out of libpas, and people trying to create an + addressbook backend shouldn't be calling functions from the + existing backends anyway so there's no reason to install them. + +2002-07-16 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/select-names.glade: remove the option + menu and browse button, and add a custom widget placeholder for + the folder-selector. + + * gui/component/select-names/e-select-names.c + (addressbook_model_set_uri): move the "append /addressbook.db" + stuff here. + (e_addressbook_create_ebook_table): remove the code setting + initial uri from here. + (e_select_names_folder_free): gone. + (e_select_names_option_activated): gone. + (add_menu_item): gone. + (update_option_menu): gone. + (new_folder): gone. + (removed_folder): gone. + (folder_browse): gone. + (hookup_listner): gone. + (add_additional_select_names_uris): gone. + (e_select_names_hookup_listners): gone. + (e_addressbook_create_folder_selector): new function, create the + folder selector button. + (folder_selected): new function, callback for the folder selector. + just calls addresbook_model_set_uri. + (e_select_names_init): get the folder selector and initialize it + to show /local/Contacts. also, set the model's uri here to the + same folder. nuke the code involving the old option menu and + browse button. + +2002-07-08 Peter Williams <peterw@ximian.com> + + * backend/ebook/Makefile.am: Install libebook-static.la. + Also change --all-static to -all-static, which is the right flag. + + * backend/pas/Makefile.am: Install the PAS headers in + $(includedir)/evolution/pas. Install libpas.a + +2002-07-08 Peter Williams <peterw@ximian.com> + + * gui/component/select-names/Makefile.am (idl_DATA): Install the + SelectNames IDL and ancillary changes. + +2002-07-12 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-summary.c (free_summary_item): free the + full_name (as well as given_name. oops.) + (pas_backend_summary_new): new summaries are version 3.0 now. + (pas_backend_summary_load_item): all loaded summaries should be + 3.0+, as we fail to load versions lower than that. + (pas_backend_summary_load_header): if the summary isn't version + 3.0 fail out, as we need to rebuild the entire file to cache the + full_name fields. + (pas_backend_summary_save_item): save out the full_name. + (pas_backend_summary_add_card): put the item's full_name in the + card. + +2002-07-12 Dan Winship <danw@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): Make the + ENTRY_PROPERTY_ID_SIMPLE_CARD_LIST case not crash, although + there's still something wrong. + +2002-07-10 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_start_query): e_book_get_book_view => + e_book_get_completion_view, so the backends have the option of + using a pregenerated summary. + +2002-07-10 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-summary.c (clear_items): actually remove + the items from the pointer array too, so an error while loading + doesn't leave the memory summary corrupted. + (pas_backend_summary_load_header): bleah, load the num_items and + summary_mtime in the right order :) Also, set upgraded to TRUE if + we loaded a v1.0 summary. + (pas_backend_summary_open): make this return a gboolean, return + TRUE if the summary is already open (priv->fp != NULL). return + FALSE in error conditions. + (pas_backend_summary_load): if summary_open returns FALSE, return + FALSE, also set the dirty flag to FALSE after we load, and if the + summary was upgraded write it out. + (pas_backend_summary_save): update the in memory mtime to that of + the file when we save. + (summary_flush_func): if we're not dirty, do nothing and return. + (pas_backend_summary_is_up_to_date): make sure we've opened the + summary. + (pas_backend_summary_get_summary_vcard): fix compiler warning. + +2002-07-10 Peter Williams <peterw@ximian.com> + + * backend/ebook/e-book-view-listener.h: Oops, missed this one. + + * backend/ebook/Makefile.am (libebookinclude_HEADERS): Also + put addressbook.h here because several headers reference it. + +2002-07-08 Peter Williams <peterw@ximian.com> + + * backend/ebook/e-book.h: Normalize includes to <ebook/foo.h>, so + that the installed headers will work sanely. + + * backend/ebook/e-card-cursor.h: + * backend/ebook/e-book-view.h: + * backend/ebook/e-card-simple.h: + * backend/ebook/e-card.h: + * backend/ebook/e-destination.h: Same. + + * printing/Makefile.am (INCLUDES): add -Iaddressbook/backend + to access the ebook headers. Also the builddir version to get + the generated addressbook.h + + * conduit/Makefile.am (INCLUDES): Same. + + * gui/widgets/Makefile.am (INCLUDES): Same builddir fix. + + * gui/merging/e-card-merging.c: Fix an ebook #include. + + * gui/merging/Makefile.am (INCLUDES): Same idea. + + * gui/contact-list-editor/Makefile.am (INCLUDES): Same. + + * gui/contact-editor/Makefile.am (INCLUDES): Same builddir + change. + +2002-07-10 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-storage.c (load_source_data): Pass + zero as the @sorting_priority to evolution_storage_new_folder(). + (addressbook_storage_add_source): Likewise. + +2002-07-10 Chris Toshok <toshok@ximian.com> + + * backend/idl/addressbook.idl: add Book.getCompletionView. + + * backend/ebook/e-book.c (e_book_get_completion_view): new + function, basically c&p of e_book_get_book_view, but call + getCompletionView. + + * backend/ebook/e-book.h: add prototype for + e_book_get_completion_view. + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_client_requests): add a + GetCompletionView case here that just calls the same code as + GetBookView (since we don't build summaries for the ldap backend.) + + * backend/pas/pas-backend-file.c (do_summary_query): add + @completion_search. If it's TRUE, just create the vcards from the + summary using pas_backend_summary_get_summary_vcard instead of + looking them up from the db. + (pas_backend_file_search): add @completion_search and pass it on + to do_summary_query. + (pas_backend_file_process_get_book_view): pass FALSE to + pas_backend_file_search. + (pas_backend_file_process_get_completion_view): new function, + basically c&p pas_backend_file_process_get_book_view, but pass + TRUE to pas_backend_file_search. + (pas_backend_file_process_client_requests): add a case for + GetCompletionView. + (pas_backend_file_load_uri): track the change to the summary api - + create the summary filename + + * backend/pas/pas-book.c (pas_book_queue_get_completion_view): new + function, queue a GetCompletionView request to our queue. + (impl_GNOME_Evolution_Addressbook_Book_getCompletionView): new + function, call pas_book_queue_get_completion_view. + (pas_book_respond_get_completion_view): new function, just call + notifyViewRequested. + (pas_book_free_request): add a case for GetCompletionView. + (pas_book_get_epv): fill in epv->getCompletionView. + + * backend/pas/pas-book.h: add a GetCompletionView PASOperation, + and a new structure (PASGetCompletionViewRequest). Also, add + get_completion_view to PASRequest. + + * backend/pas/pas-backend-summary.c (clear_items): remove the + items from the hash table. + (pas_backend_summary_new): db_path -> summary_path. + (pas_backend_summary_destroy): db_.path -> summary_path, and + destroy the hash table. + (pas_backend_summary_init): db_path = summary_path, and initialize + the id_to_item hashtable. + (pas_backend_summary_load_header): handle the upgrading from + version 1.0 to version 2.0 (the addition of an mtime field in the + header) + (pas_backend_summary_load_item): version 1.0 and 2.0 have the same + format for items. + (pas_backend_summary_open): new function. open the summary so we + can load the header (and get the mtime). + (pas_backend_summary_load): rework this a bit since the header has + already been loaded, and also add the items to the hashtable. + (pas_backend_summary_add_card): add the new item to the hashtable. + (pas_backend_summary_remove_card): remove the item from the hash + table. + (pas_backend_summary_is_up_to_date): new function, chekc @t + against the summary's mtime. + (pas_backend_summary_get_summary_vcard): create a vcard from the + fields we have in the summary. + + * backend/pas/pas-backend-summary.h: add prorotypes for + pas_backend_summary_is_up_to_date and + pas_backend_summary_get_summary_vcard. + +2002-07-09 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-storage.c (load_source_data): Pass + NULL @custom_icon_name to evolution_storage_new_folder(). + (addressbook_storage_add_source): Likewise. [Note we could be + passing a nice custom here. ;-)] + +2002-07-02 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (add_creatable_item): New + arg @tooltip; pass it to + evolution_shell_component_add_user_creatable_item() [which now has + a @tooltip arg]. + +2002-06-29 Chris Toshok <toshok@ximian.com> + + * backend/pas/Makefile.am (libpas_a_SOURCES): add + pas-backend-summary.[ch]. + + * backend/pas/pas-backend-file.c (string_to_dbt): move this to the + top of the file so it can be used in.. + (build_summary): loop over the db, adding cards ot the summary. + (do_summary_query): call pas_backend_summary_search and loop over + the returned id's looking them up in the db. + (pas_backend_file_search): call + pas_backend_summary_is_summary_query, and either call + do_summary_query if it's a query over just the set of attributes + in the summary or use the old, slow method if not. + (pas_backend_file_process_create_card): call + pas_backend_summary_add_card. + (pas_backend_file_process_remove_card): call + pas_backend_summary_remove_card. + (pas_backend_file_process_modify_card): call remove_card/add_card. + (pas_backend_file_load_uri): try to load the summary file, and if + it doesn't exist create it. + (pas_backend_file_destroy): unref the summary. + + * backend/pas/pas-backend-summary.[ch]: new files, reading and + writing (and querying) summaries. + +2002-06-27 Sean Atkinson <sean@cantab.net> + + * gui/component/addressbook-config.c (query_for_supported_bases): + don't unref selection_model (otherwise 3 clicks of + "Show Supported Bases" crashes if LDAP server isn't running). + +2002-06-25 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c (create_component): + reorder the adding of creatable items so the default is a new + contact, not a new contact list. + +2002-06-21 Sean Atkinson <sean@cantab.net> + + * gui/component/addressbook-config.c (addressbook_edit_server_dialog): + remove source argument (get it from the dialog). + (edit_source_clicked): same. + (sources_table_double_click): added to edit server by double-clicking. + (ldap_dialog_new): use sources_table_double_click. + +2002-06-17 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_save_as): + pass NULL to e_contact_list_save_as. modality sucks. fixes + broken build. + (save_as): same. + +2002-06-15 Chris Toshok <toshok@ximian.com> + + [ fixes bug #26130 ] + * gui/contact-editor/e-contact-editor.c (file_save_as_cb): pass + ce->app as parent_window. + + * gui/contact-list-editor/e-contact-list-editor.c + (file_save_as_cb): same . + + * gui/contact-editor/e-contact-save-as.c (e_contact_list_save_as): + if a parent_window is specified, the file selector should be + modal/transient for that window. + (e_contact_save_as): same. + + * gui/contact-editor/e-contact-save-as.h: track prototype changes + (addition of GtkWindow *parent_window to both calls.) + +2002-06-15 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_connect): use + ldap_unbind_ext. + (create_card_handler): don't leak the new vcard. + (pas_backend_ldap_process_authenticate_user): don't leak the dn. + +2002-06-14 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_search): up the + max threshold to 3000 cards from 1000 cards.. seems to improve + performance a bit. also remove the g_list_reverse since it + doesn't matter what order the cards arrive to the gui. + (pas_backend_file_changes): plug memory leaks. + +2002-06-14 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-compare.c (compare_email_addresses): Made + "" compare as not equal to "" for addresses. + (use_common_book_cb): Don't bother checking for nickname here + since we don't use it as a match later. Don't add "" as an + address to the list of query parts. + +2002-06-13 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/e-contact-editor.c (enable_writable_fields): + Don't enable fields if the editor isn't editable and the + widget_field_mappings lists this field as being desensitize for + read only. + +2002-06-11 Chris Toshok <toshok@ximian.com> + + [ fixes bug #17332 ] + * backend/ebook/e-book.c (e_book_get_static_capabilities): we + shouldn't ever return NULL here. in error cases we need to return + g_strdup(""); + +2002-06-11 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard-view.c (e_minicard_view_event): Made + double clicking on read only folders not do anything. + +2002-06-10 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book-util.c (e_book_expand_uri): Made expand_uri + a bit more robust and readable. + (e_book_get_default_book_uri): Made e_book_get_default_book_uri + use e_book_expand_uri if using the bonobo_config value. + + * gui/component/e-address-popup.c (start_query): Handle the + failure state here by acting as if there are no matches. + +2002-06-05 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard.c (e_minicard_event): Call + e_minicard_selected in the GDK_BUTTON_RELEASE case here. + (e_minicard_drag_begin): Set E_REFLOW (parent)->maybe_in_drag = + FALSE if it's an EReflow. + +2002-06-04 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_book_ready): Commented out this unused + function. + + * gui/component/select-names/e-select-names-manager.c + (open_book_cb): Ref if we're keeping the book. Don't unref if + we're not keeping the book. + (clean_cb): Commented out this unused function. + +2002-06-04 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c (init_collection): Set the + title of our GalVIewCollection. + +2002-05-29 Anna Marie Dirks <anna@ximian.com> + + * gui/component/select-names/select-names.glade: Changed some spacing + and expanding behavior to make this dialog behave more like I intended + to. + +2002-05-24 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c (CONFIG_CONTROL_FACTORY_ID): + put this back in, accidentally got snipped with the hacking going + on in here. + +2002-05-24 Chris Toshok <toshok@ximian.com> + + [ part of #25047 ] + * gui/component/addressbook-config.c: remove the autocompletion + config control from here, as it lives in the shell now. + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: same. + +2002-05-24 Chris Toshok <toshok@ximian.com> + + [ #24189 ] + * gui/component/select-names/e-select-names-manager.c + (focus_out_cb): ifdef out the body of this because it only works + with a single completion book. not sure what to do here, but it + doesn't impact most usage scenarios. + (completion_popup_cb): same. + (e_select_names_manager_entry_new): add the books that have been + loaded successfully by the time this entry is created. + (open_book_cb): add the opened book to the entries that have + already been created, and store it in our list so that entries + that are created in the future can catch up. + (read_completion_books_from_db): slurp in the folder list from the + config db and load all the uris. + (uris_listener): listener function - when there's a change it + calls _clear_books on all the created entries, and clears our + list. It then re-reads the books from the db. + (e_select_names_manager_new): create our bonobo listener and call + read_completion_books_from_db. + (e_select_names_manager_init): init completion_books. + (e_select_names_manager_destroy): free our list of + completion_books. + + * gui/component/select-names/e-select-names-manager.h: switch from + a single EBook to a GList of completion_books here. + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_add_book): deal with the case where + there's an active query (by effectively restarting it.) This is + quite a contrived edge case. + (e_select_names_completion_clear_books): stop the current query + and clear our list of books. + (e_select_names_completion_new): track change to prototype, and + axe the majority of this method since an EBook* isn't passed + anymore. + (e_select_names_completion_clear_book_data): split this code out + from the destroy method so it can be called from _clear_books. + + * gui/component/select-names/e-select-names-completion.h: the + constructor no longer takes an EBook -- pass in as many as you + want using _add_book. Also, add prototype for _clear_books. + + * gui/component/addressbook.c (load_uri_cb): when + storing/retrieving passwords, use the cleaned (without params) + version of the uri, so changing things like download limit don't + cause the user to be prompted for a password again. + + * gui/component/addressbook-component.c + (ensure_completion_uris_exist): new function - probably doesn't + belong in this file. Make sure the basic local Contacts folder + exists in the completion uris. + (addressbook_component_factory_init): call + ensure_completion_uris_exist. + + * backend/ebook/e-book-util.h: add prototype for + e_book_get_default_book_uri. + + * backend/ebook/e-book-util.c (e_book_get_default_book_uri): new + function, just return the default contacts uri. + (e_book_load_default_book): change + to use e_book_get_default_book_uri. + +2002-05-23 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c (addressbook_root_dse_query): + fix parameter/local variable overloading. + +2002-05-21 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c (load_uri_cb): Don't try to invoke + e_book_get_uri() on NULL. Fixes #25069. + +2002-05-17 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): + make sure we map status -> string correctly (add missing strings). + + * backend/ebook/e-book-types.h (EBookStatus): add the missing + AUTHENTICATION_REQUIRED status code, to map to the idl response. + + * backend/ebook/e-book-listener.c + (e_book_listener_convert_status): make sure we map all idl status + codes to EBookStatus statuses. + +2002-05-20 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-storage.c (load_source_data): Pass + FALSE for @sync_offline to evolution_storage_new_folder(). + (addressbook_storage_add_source): Pass FALSE for @sync_offline to + evolution_storage_new_folder(). + +2002-05-16 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (request_quit): New, quit + handler for the EvolutionShellComponent. + (add_creatable_item): Set it up. + + * gui/contact-editor/e-contact-list-editor.c + (e_contact_list_editor_request_close_all): New. + (e_contact_list_editor_new): Put the contact editor in a static + list and gtk_object_weakref() it. + (contact_list_editor_destroy_notify): New, GtkDestroyNotify + function for the contact editors. + + * gui/contact-editor/e-contact-editor.c + (e_contact_editor_request_close_all): New. + (e_contact_editor_new): Put the contact editor in a static list + and gtk_object_weakref() it. + (contact_editor_destroy_notify): New, GtkDestroyNotify function + for the contact editors. + +2002-05-15 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (create_component): Pass + NULL as @request_quit_fn. + +2002-05-13 Christopher James Lahey <clahey@ximian.com> + + * backend/idl/addressbook.idl: Removed an incorrect comment here. + +2002-05-13 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/e-contact-editor.c (enable_writable_fields): + Enable the dropdown widgets even if the contact is not editable so + that you can view any email address, phone number, or postal + address on read only contacts. + +2002-05-10 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/Evolution-Addressbook-SelectNames.idl: + Added SimpleCard interface. + + * gui/component/select-names/Makefile.am: Added + e-simple-card-bonobo.c and e-simple-card-bonobo.h. + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): Added SIMPLE_CARD_LIST arg. + + * gui/component/select-names/e-simple-card-bonobo.c, + gui/component/select-names/e-simple-card-bonobo.h: New class to + represent an ECardSimple across Bonobo. + +2002-05-09 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): Added "first_email" property. + +2002-05-09 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-storage.c + (addressbook_get_other_contact_storage): Pass %FALSE as + @has_shared_folders to evolution_storage_new(). + +2002-05-08 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: link against the libtool version of + libversit + +2002-05-07 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c + (addressbook_config_control_new): oops, add the NULL back at the + end of possible_types. + +2002-05-07 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c (addressbook_ldap_init): + bleah, need to pass the GtkWindow here so we can pop up the a + modal parented dialog (gtk modal dialogs suck?). + (addressbook_ldap_auth): same. + (addressbook_root_dse_query): same. + (do_ldap_root_dse_query): same. + (addressbook_config_control_new): add "ldap-contacts" to the list + of possible types. + +2002-05-07 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-storage.c (create_ldap_folder): + s/ldap_config/addressbook_config/ + +2002-05-03 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book.c (activate_factories_for_uri): finally + remove the #if 0's and use the oaf query stuff to get backends + that handle specific protocols. + +2002-05-03 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook-config.c + (addressbook_folder_list_changed_callback): Call + evolution_config_control_changed when the EFolderList changes. + +2002-05-03 Christopher James Lahey <clahey@ximian.com> + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: Updated this + to have the ConfigControlFactory have an addressbookwide generic + name and added OAFIID:GNOME_Evolution_Addressbook_ConfigControl. + + * gui/component/Makefile.am (evolution_addressbook_SOURCES), + gui/component/addressbook-component.c, + gui/component/addressbook-storage.c, gui/component/addressbook.c: + Replaced ldap-config.c and ldap-config.h with addressbook-config.c + andaddressbook-config.h. + + * gui/component/addressbook-config.c, + gui/component/addressbook-config.h: Based on ldap-config.c and + ldap-config.h. Added a folder list control. Made this a multi + factory. + + * gui/component/ldap-config.c, gui/component/ldap-config.h: + Replaced these with addressbook-config.c and addressbook-config.h. + +2002-05-02 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c (selection_change): + Desensitize the to, cc, and bcc buttons if there's no selection + here. Fixes Ximian bug #21482. + +2002-05-01 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-list-editor/e-contact-list-editor.c (verbs): Changed + some of these to bind to the ContactListEditor verbs since they're + marked as that in the ui file. Fixes Ximian bug #13034. + +2002-04-30 JP Rosevear <jpr@ximian.com> + + * gui/component/Makefile.am (EXTRA_DIST): fix + +2002-04-30 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-model.c, + gui/widgets/e-addressbook-model.h + (e_addressbook_model_peek_card): Added this function so that there + would be less duplication of cards during run time when + duplication is unnecessary. + + * gui/widgets/e-addressbook-view.c: Cleaned up get_card_list and a + number of associated functions to be much more uniform and + simpler. + (get_has_email_address): Don't show the "Send Message to Contact" + menu item if there are no email addresses in the listed contacts. + Fixes bug #1298. + +2002-04-30 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card.c (e_card_list_send): Changed this to set a + subject when sending a contact. This makes the signature be set + properly also. + +2002-04-26 Jeffrey Stedfast <fejj@ximian.com> + + * printing/Makefile.am: Don't link to libibex anymore. + + * conduit/Makefile.am: Same. + + * backend/ebook/Makefile.am: Again here. + + * gui/component/Makefile.am: And finally here. + +2002-04-26 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_child_free): Unref the text_model here instead of + the model, since the model never gets set. Removed the model + field since it's no longer used. + +2002-04-24 Christopher James Lahey <clahey@ximian.com> + + * gui/component/ldap-config.c: Updated this for the new + e_table_memory_store_insert function prototype. + +2002-04-24 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h, + gui/component/select-names/select-names.glade (folder_browse): + Added a "Browse..." button to switch to a different addressbook + folder. + + * gui/widgets/e-addressbook-util.c (e_addressbook_transfer_cards): + Moved extern EvolutionShellClient out of this function so that + it'd be more readable. + +2002-04-23 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h: Coded handling of the + select_entry to search within the displayed contacts. + + * gui/component/select-names/select-names.glade: Updated this + dialog to have an entry-select instead of an entry-find. + +2002-04-23 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/select-names.glade: Updated this + dialog to match the redesign. + +2002-04-23 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c (do_popup_menu): Make unused + menu items disappear instead of graying out. + +2002-04-23 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c, + gui/widgets/e-addressbook-reflow-adapter.h: Removed + e_addressbook_reflow_adapter_right_click and + e_addressbook_reflow_adapter_base_right_click. + + * gui/widgets/e-addressbook-view.c: Handle right click menu for + both types of view. Merged right click on white space with right + click on main area. General clean up. + + * gui/widgets/e-minicard-view-widget.c, + gui/widgets/e-minicard-view-widget.h: Removed a couple unnecessary + functions. Added e_minicard_view_widget_get_view. Added + right_click signal. + + * gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h: + Added the right_click signal and the e_minicard_view_get_card_list + function. + +2002-04-22 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.h: Removed an unused + variable here. + + * gui/widgets/e-addressbook-view.c (table_right_click, + table_white_space_event): Added a current view submenu to the + popup menu here. + +2002-04-22 Jeffrey Stedfast <fejj@ximian.com> + + * gui/widgets/e-minicard-view.c (e_minicard_view_drag_begin): + Allow GDK_ACTION_COPY also, since the composer for example does + not accept MOVE's. Completes bug #8448. + +2002-04-18 Chris Toshok <toshok@ximian.com> + + * gui/component/ldap-config.glade: change order of scope option + menu to match how it's stored. + +2002-04-18 Chris Toshok <toshok@ximian.com> + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: change ldap + config control text so it fits in the config dialog. + + * gui/component/ldap-config.c: #ifdef lots of stuff HAVE_LDAP so + it'll build/run in either case. + (addressbook_source_dialog_destroy): rename + addressbook_add_server_druid_destroy to this, and free lots more + stuff. + (addressbook_add_server_druid): + addressbook_add_server_druid_destroy -> + addressbook_source_dialog_destroy. + (do_schema_query): add 3 second timeout to schema query. + (addressbook_edit_server_dialog): hook up destroy signal. + (config_control_new): if HAVE_LDAP isn't defined, put up a label + saying so. + +2002-04-18 Chris Toshok <toshok@ximian.com> + + * gui/component/Makefile.am (INCLUDES): add LDAP_CFLAGS to INCLUDES + +2002-04-18 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (book_open_cb): no more + source->type. + +2002-04-18 Chris Toshok <toshok@ximian.com> + + * gui/component/ldap-config.c (addressbook_dialog_get_source): + fill in source->ssl. + (addressbook_source_dialog_set_source): set up auth/scope/ssl + option menus properly. + + * gui/component/addressbook-storage.c + (addressbook_storage_init_source_uri): always include the + limit/ssl in the uri so we don't need to rely on defaults + everywhere. + (ldap_source_foreach): store the ssl option. + + * gui/component/addressbook-storage.h: reorder SSLType to match + the UI. + + * backend/pas/pas-backend-ldap.c: (struct _PASBackendLDAPPrivate) + add field for ldap_timeout. + (pas_backend_ldap_connect): reorder things a bit - we need to + start tls before the root dse query, if we can. + (pas_backend_ldap_load_uri): track the way ssl parameters are + given in the uri, and parse out the timeout. + + * gui/component/ldap-config.c (port_changed_func): use the + symbolic SSL name instead of an integer constant. + +2002-04-18 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (get_ldap_library_info): fix + memory leaks. + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: remove the + Addressbook_ConfigControl stuff to LDAP_ConfigControl. + + * gui/component/Makefile.am (evolution_addressbook_SOURCES): + remove addressbook-config.* and add ldap-config.* + (glade_DATA): same. + (evolution_addressbook_LDADD): add LDAP_LIBS. + + * gui/component/addressbook-component.c (owner_set_cb): + addressbook_config_register_factory => + ldap_config_register_factory. + + * gui/component/addressbook.c (book_open_cb): remove source->type + check - they're always LDAP. + (load_uri_cb): same. + + * gui/component/addressbook-storage.c (ldap_unparse_ssl): new + function. + (ldap_parse_ssl): new function. + (addressbook_storage_init_source_uri): use a more flexible scheme + to build up the uri's, and add in the ssl parameter. + (load_source_data): fill in source->ssl, and remove source->type + assignment. + (addressbook_source_copy): copy source->ssl, and remove + source->type copy. + (create_ldap_folder): addressbook_create_new_source => + ldap_config_create_new_source. + + * gui/component/addressbook-storage.h: remove + AddressbookSourceType (it was always LDAP), and add + AddressbookLDAPSSLType. + +2002-04-18 Dan Winship <danw@ximian.com> + + * backend/ebook/e-book-util.c (e_book_load_default_book): Append + /addressbook.db to the end of the default URI if it starts with + file: + + * backend/ebook/e-book.c (e_book_load_uri_step): Fix this to not + loop forever if you have more than one backend. + +2002-04-17 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_create_categories): Changed this to use + ECategoriesMasterListOptionMenu. + + * gui/component/select-names/e-select-names.c + (section_right_click_cb), + gui/widgets/e-addressbook-reflow-adapter.c, + gui/widgets/e-addressbook-view.c: Updated these to match the new + EPopupMenu. + +2002-04-11 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook-component.c: Include + addressbook-config.h here as this file uses it. + + * gui/component/select-names/e-select-names.c (SPEC, SPEC2): Made + this dialog searchable by typing in the ETable. + + * gui/widgets/e-addressbook-model.c: Include e-addressbook-util.h + here. + + * gui/widgets/e-addressbook-reflow-adapter.c + (e_addressbook_reflow_adapter_right_click), + gui/widgets/e-addressbook-view.c (table_right_click): Fixed a + memory leak here by using "selection-done" signal. + + * gui/widgets/e-addressbook-reflow-adapter.c, + gui/widgets/e-addressbook-reflow-adapter.h, + gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-view.c: + Added a right click menu for areas that aren't cards. + +2002-04-09 Dan Winship <danw@ximian.com> + + * backend/ebook/e-book-util.c (e_book_load_default_book): Update + for new-and-improved consistent default folder uri. + + * gui/component/addressbook.c (addressbook_load_default_book): Use + e_book_load_default_book rather than duplicating most of its logic + here. + (load_uri_cb): Modify to work as a callback for + addressbook_load_default_book as well as addressbook_load_uri. + +2002-04-08 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-component.c (create_view): Add + view_info arg, but don't do anything with it. + +2002-04-06 JP Rosevear <jpr@ximian.com> + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: add + config_item:type + +2002-04-04 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: link to the static libversit + +2002-04-04 Dan Winship <danw@ximian.com> + + * gui/widgets/e-addressbook-util.c (e_addressbook_transfer_cards): + Update for evolution_shell_client_user_select_folder API change. + +2002-04-04 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c: Remove AddressbookConfig, + ContactNew, ContactNewList EPixmap entries. + + * gui/component/addressbook-factory.c (main): Print out a + debugging message just before the main loop starts, for debugging + purposes. + +2002-04-02 Dan Winship <danw@ximian.com> + + * backend/ebook/e-card-simple.h: Fix spelling of + E_CARD_SIMPLE_PHONE_ID_TTYTDD and E_CARD_SIMPLE_FIELD_PHONE_TTYTDD + (they previously ended with "TTD" instead of "TDD") + + * backend/ebook/e-card-simple.c: Update for spelling fix. + + * backend/pas/pas-backend-ldap.c: Likewise + +2002-04-01 Dan Winship <danw@ximian.com> + + * gui/component/select-names/e-select-names-text-model.c: + parent_class should be static. (From Max Horn <max@quendi.de>) + +2002-03-29 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: Add priority + for the config page. Renamed to "Directory Servers". + +2002-03-27 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_create_card): don't free req->vcard. + it's freed in pas_book_free_request. + (pas_backend_file_process_remove_card): don't free req->id for the + same reason. + (pas_backend_file_process_modify_card): don't free req->vcard for + the same reason. + (pas_backend_file_process_get_changes): don't free req->change_id + or release_unref the listener for the same reason. + +2002-03-27 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (check_schema_support): make sure + to call ldap_value_free (values);, and ldap_msgfree (resp). + (get_ldap_library_info): don't ask me why, but it appears we have + to free each extension char*. + (query_ldap_root_dse): make sure to free values in the + subschemaSubentry code before overwriting it, and call + ldap_msgfree(resp) when we're all done. + (build_card_from_entry): don't leak the DN, ldap attributes, or + the berval the ldap_*_attribute calls use to step through the + attributes. the docs say this berval is freed when + ldap_next_attribute returns NULL, but if we don't free it it leaks + a substantial amount of memory. + (pas_backend_ldap_search): make sure to only allocate *op once, + and fix the g_warning since op isn't valid in its scope anymore. + +2002-03-19 Dan Winship <danw@ximian.com> + + * backend/ebook/Makefile.am: Update for libversit change: Use .a + rather than .la now. + + * printing/Makefile.am: Likewise + + * gui/component/Makefile.am: Likewise + +2002-03-18 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c (addressbook_menu_activated): + Removed. + (addressbook_factory_new_control): Don't connect anymore, as this + signal has been removed from the ESearchBar. + (addressbook_factory_new_control): No more custom menu items here. + +2002-03-15 Jeffrey Stedfast <fejj@ximian.com> + + * gui/widgets/e-addressbook-view.c (table_right_click): Update to + use new EPopupMenu API. + + * gui/widgets/e-addressbook-reflow-adapter.c + (e_addressbook_reflow_adapter_right_click): Update to use new + EPopupMenu API. + + * gui/component/select-names/e-select-names.c + (section_right_click_cb): Update to match new EPopupMenu api. + +2002-03-15 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c: Remove the + `addressbook_search_menu_items'. + (addressbook_menu_activated): Removed. + (addressbook_factory_new_control): Don't connect. No menu items. + +2002-03-15 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c (control_activate): Call + `e_search_bar_set_ui_component()' to set the BonoboUIComponent for + the search bar. + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: Add an icon + for the LDAP sources configuration control. + +2002-03-12 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c: Remove verb "AddressbookConfig". + (config_cb): Removed. + + * gui/component/addressbook-config.c: Remove `dialog' member from + `AddresbookDialog'. Instead, add a `config_control' member. + (config_control_new): New. + (addressbook_config): Removed. + (addressbook_config_register_factory): New. + (config_control_factory_fn): New, factory function for the + ConfigControl page. + (addressbook_source_edit_changed): Don't change the sensitivity of + the dialog. Rather, invoke ::changed on the ConfigPage. + (auth_checkbutton_changed): No need to manually change the + sensitiviness of the buttons here either. + (add_source_clicked): Likewise, just invoke + evolution_config_control_changed(). + (edit_source_clicked): Likewise. + (addressbook_dialog_close): Removed. + (config_control_destroy_callback): New, callback for when the + config control gets destroyed. + (addressbook_dialog_apply): Removed. + (config_control_apply_callback): New callback for + EvolutionConfigControl::apply. + (addressbook_dialog_ok): Removed. + (addressbook_config_control_new): Set up ->config_control and + connect the signals. + + * gui/component/addressbook-config.glade: Call the main hbox in + the addressbook_sources dialog `addressbook_sources_main_hbox'. + + * gui/component/addressbook-component.c (owner_set_cb): Call + `addresbook_config_register_factory'. + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: Add items for + OAFIID:GNOME_Evolution_Addresbook_ConfigControl and + OAFIID:GNOME_Evolution_Addressbook_ConfigControlFactory. + +2002-03-11 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names.c (update_query): + change contains x-evolution-any-field to beginswith on email, + full_name, and nickname. faster, and more applicable to this + dialog. + +2002-03-09 Chris Toshok <toshok@ximian.com> + + * backend/idl/addressbook.idl: add TLSNotAvailable to + BookLister_CallStatus. + + * backend/ebook/e-book-types.h: add TLS_NOT_AVAILABLE to the EBookStatus enum. + + * backend/ebook/e-book-listener.c + (e_book_listener_convert_status): add TLS_NOT_AVAILABLE to the + switch. + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_get_static_capabilities): fix name. + (pas_backend_ldap_class_init): fix name. + (pas_backend_ldap_connect): change return type to CallStatus so we + can return different errors from here. Also, do STARTTLS if the + user has asked for it and the connection supports it, returning + TLSNotAvailable (and close the connection) if they chose to + require it. + (pas_backend_ldap_load_uri): return pas_backend_ldap_connect. + (func_beginswith): pull in change from evolution-1-0-branch to + make full_name beginswith search both cn and sn. + +2002-03-09 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-view.c (jump_to_letter): since I've + gone ahead and made the file backend (by way of + pas-backend-card-sexp.c) use case insensitive searches for + beginswith, there's no need to list upper and lower case here. + + * gui/component/addressbook.c (addressbook_search_option_items): + reorder things to put "Any field contains" at the end, since it's + the least efficient search. Also reorder the enum to the same + ordering. Change "Name contains" to "Name begins with" and change + "Email contains" to "Email is". + (addressbook_search_activated): change FULL_NAME to beginswith, + and change EMAIL to is to match the labels. + + * backend/pas/pas-backend-card-sexp.c (compare_name): new + function, so we can compare both full and family names (so + beginswith can operate on them both.) + (endswith_helper): use e_utf8_strstrcase here, since all the + backends backends use case insensitive searching. + (func_endswith): same. + +2002-03-06 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-book.c (pas_book_queue_create_card): track + union/struct change. + (pas_book_queue_remove_card): same. + (pas_book_queue_modify_card): same. + (pas_book_queue_get_cursor): same. + (pas_book_queue_get_vcard): same. + (pas_book_queue_authenticate_user): same. + (pas_book_queue_get_book_view): same. + (pas_book_queue_get_changes): same. + (pas_book_free_request): new function - free everything we need to + for each type of request. + (pas_book_destroy): call pas_book_free_request here instead of + just freeing 3 elements of the old struct. yay plugging memleaks. + + * backend/pas/pas-book.h: make PASRequest a union and split out + members into structs, so it's a little clearer which fields are + used by which requests. Also, add prototype for + pas_book_free_request so backends can just free everything at once + (usually in their requests_queued signal func.) + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_create_card): track struct/union change. + (pas_backend_file_process_remove_card): same. + (pas_backend_file_process_modify_card): same. + (pas_backend_file_build_cards_list): same. + (pas_backend_file_process_get_vcard): same. + (pas_backend_file_process_get_cursor): same. + (pas_backend_file_process_get_book_view): same. + (pas_backend_file_process_get_changes): same. + (pas_backend_file_process_check_connection): same. + (pas_backend_file_process_authenticate_user): same. + (pas_backend_file_process_get_supported_fields): same. + (pas_backend_file_process_client_requests): case the union to the + specific struct and pass it to the process_* functions. also, + call pas_book_free_request here, instead of relying on each of the + functions to free their stuff. + +2002-03-07 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-storage.c + (addressbook_get_other_contact_storage): Update for + evolution_storage_new() change. + +2002-03-05 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_realize): don't set "editable" here, as + the way things work the backend isn't able to override a setting + from the UI, so writable books never show up as writable. + +2002-03-04 Chris Toshok <toshok@ximian.com> + + [fixes bug #20871] + * gui/component/select-names/select-names.glade: add the + status-message label. + + * gui/component/select-names/e-select-names.h (struct + _ESelectNames): add status_message field. + + * gui/component/select-names/e-select-names.c (status_message): + new function, set the label's text from the message. + (e_select_names_init): get the status-message label, and if it's + valid, connect to the status_message signal of the + EAddressbookModel. + +2002-02-28 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_search): don't + ref the view here, since it keeps the view alive until the search + is over, which we don't want. we want the view's death to cancel + the search. This speeds up starting new searches after one is + already active (since switching searches actually creates a new + book view and destroys the old one.) + (ldap_search_dtor): remove the matching unref here. The unref as + it was was incorrect anyway, and caused a crash (we needed + search_op->view, not op->view.) + +2002-02-27 Chris Toshok <toshok@ximian.com> + + [fixes bug #20690] + * backend/pas/pas-backend-ldap.c (func_and): the data arg is not + GList** anymore, it's PASBackendLDAPSExpData*, so use + ldap_data->list instead of *list. + (func_or): same. + (func_not): same. + (func_contains): same. + (func_is): same. + (func_endswith): same. + (func_beginswith): same, but also special case the beginswith + "fileAs" query type (the one used by the alphabet buttons on the + right hand side, so we can deal with entries that don't have + fileAs attributes, and return meaningful responses.) + (pas_backend_ldap_build_query): initialize the + PASBackendLDAPSExpData struct and pass that instead of &list. + Also, take the PASBackendLDAP arg to add to the struct in case we + need it at some point in the future. + (ldap_search_handler): pass in the PASBackendLDAP. + +2002-02-26 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_search): move + card_count++ inside the if that checks to see if a card matches + (and adds the card to the list). + +2002-02-24 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (addressbook_query_changed): only + handle the ESB_ADVANCED case here now. the actual query work is + done in addressbook_search_activated. + (addressbook_search_activated): split out all the searching + functionality here. + (addressbook_factory_new_control): hook up "search_activated" to + addressbook_search_activated. + +2002-02-24 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c + (addressbook_source_dialog_set_source): make the right auth page + start up open. + + * gui/component/addressbook-storage.c (addressbook_source_free): + free the binddn. + (addressbook_source_copy): copy the binddn; + +2002-02-22 Chris Toshok <toshok@ximian.com> + + [ Fixes bugs 20740, 16680, and god knows what else :) ] + * gui/widgets/e-addressbook-model.c (create_card): double the + allocated size every time we need more space instead of using a + fixed size increment. this helps huge queries. Also, remove the + gtk_object_get of "file_as", as it was dead code. + (book_view_loaded): handle errors here (by popping up a dialog). + + * backend/pas/pas-backend-ldap.c (view_destroy): search_idle -> + search_timeout. + (build_card_from_entry): comment out some spew, and unref ecard + when we're done to plug a memory leak. + (send_pending_adds): send along to the client all the cards we've + been saving up. + (poll_ldap): use a timeout for ldap_result to keep the backend + from blocking (and it turns out keep the frontend from hanging + waiting on a ref to complete) on large db's with few matches. + + Also, add some fairly smart, self-tuning aggregating of cards. + Keep track of the number of cards we've sent the last time through + as well as this time, and estimate the number we want to aggregate + the next time based on them (we average them at the moment), + subject to maximum/minimum number of cards. also, we have a + maximum aggregation time, after which we force a flush if there + are pending cards and recalculate our target pending number. + there's a minimum wait time to possibly keep outselves from + spamming the ui, although it's 0 at the moment. + + Lastly, make sure to only notify the GUI of status messages when + we need to. this results in a *huge* savings. + (ldap_search_handler): initialize all the pending card stuff, and + use a timeout instead of an idle function for poll_ldap. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_queue_response): performance optimization + for large adds. If we're a CardAddedEvent and there's an existing + CardAddedEvent at the end of the queue, just concat the lists of + cards together. This is to keep the gui from falling further and + further behind the ldap backend, which is merrily spewing updates + at the gui. + +2002-02-21 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/Makefile.am: Define $(iconsdir). + + * gui/component/addressbook-component.c (add_creatable_item): New + helper function. + (create_component): Add the icons for the user creatable items as + well. + +2002-02-20 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): + track change to signature, and (for now) just change all the + return FALSE's to _RepositoryOffline (what FALSE used to map to in + pas_book_factory_process_request), and change TRUE to _Success. + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_load_uri): + track change to signature, and differentiate between + pas_backend_ldap_connect failing (RepositoryOffline), and + ldap_url_parse failing (OtherError). + + * backend/pas/pas-book-factory.c + (pas_book_factory_process_request): since pas_backend_load_uri + returns status now, use it to nodify the BookListener if there's a + failure. + + * backend/pas/pas-backend.c (pas_backend_load_uri): track change + to signature. + + * backend/pas/pas-backend.h: change return type of + pas_backend_load_uri to + GNOME_Evolution_Addressbook_BookListener_CallStatus to allow + differentiation between failure types. + + * backend/ebook/e-book-listener.c + (e_book_listener_convert_status): handle _AUTHENTICATION_FAILED. + + * backend/ebook/e-book-types.h (EBookStatus): add + _AUTHENTICATION_FAILED. + +2002-02-18 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-book-factory.c + (pas_book_factory_process_request): if the load_uri fails, notify + the listener that the repository is offline. (partial fix for bug + 20347) + +2002-02-18 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (create_dn_from_ecard): escape + commas in the dn, since they're used by ldap to specify the node's + placement in the tree. (fixes bug 20089) + (rfc2254_escape): just use sprintf and %02X instead. + +2002-02-13 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c (set_book): Keep a + ref of the model in this case as well. + +2002-02-13 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c (set_book): Make + sure to only set the query once when creating a new book and not + at all on addressbook model creation. This prevents an accidental + pair of changes from making the addressbook model load a remote + addressbook. + + * gui/widgets/e-addressbook-model.c (get_view): If this is the + first_get_view and the addressbook is remote, empty the view + instead of leaving it in the state it used to be in. This only + occurs if you set the book after the model has existed for a + while. + (e_addressbook_model_set_arg): When setting the book, set + first_get_view to TRUE. + +2002-02-13 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c (display_view): Attach to the + emvw instead of the emv here. + + * gui/widgets/e-minicard-view-widget.c, e-minicard-view-widget.h: + Made this object have a "column_width" argument and a + "column_width_changed" signal which are a simple layer down to the + EMinicardView contained within. + + * gui/widgets/gal-view-minicard.c, gui/widgets/gal-view-minicard.h + (gal_view_minicard_attach): Made this attach to an + EMinicardViewWidget instead of a EMinicardView. + +2002-02-13 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book-util.c, backend/ebook/e-book-util.h + (e_book_expand_uri, e_book_load_address_book_by_uri, + e_book_use_address_book_by_uri): New functions that take a file:// + url ending in the directory name and automatically append the + addressbook.db and do the appropriate thing. + + * backend/pas/pas-backend-card-sexp.c, + backend/pas/pas-backend-card-sexp.h: Added copyright notice here. + + * gui/component/addressbook-component.c + (destination_folder_handle_drop), gui/component/addressbook.c + (set_prop): Use e_book_expand_uri instead of + addressbook_expand_uri. + + * gui/component/addressbook-storage.c: Fixed the fcntl include + here. + + * gui/component/addressbook.c (ContactsCopyToFolder, + ContactsMoveToFolder): Added handlers for these two verbs. + + * gui/component/addressbook.h: Removed addressbook_expand_uri in + favor of e_book_expand_uri. + + * gui/widgets/e-addressbook-reflow-adapter.c (transfer_cards): + Added code to handle Move to and Copy to right click menu items. + + * gui/widgets/e-addressbook-util.c, + gui/widgets/e-addressbook-util.h (e_addressbook_transfer_cards): + New function to pop up a dialog and transfer a set of cards to the + given folder. + + * gui/widgets/e-addressbook-view.c, + gui/widgets/e-addressbook-view.h (display_view): Don't attach to + the view if it doesn't exist yet. We have to make this then + attach later. + (e_addressbook_view_copy_to_folder, + e_addressbook_view_move_to_folder): New functions utilizing + e_addressbook_transfer_cards. + (table_right_click): Add copy_to_folder and move_to_folder to the + right click menu for tables here. + (e_addressbook_view_discard_menus): Handle menu unmerging here. + + * gui/widgets/e-minicard-view-widget.h (struct + _EMinicardViewWidget): Removed unused field. + +2002-02-13 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c (display_view): Attach the + GalViewMinicard to the EMinicardView here. + + * gui/widgets/gal-view-minicard.c, gui/widgets/gal-view-minicard.h + (gal_view_minicard_load, gal_view_minicard_save): Made these save + the column width of the view. + (gal_view_minicard_attach, gal_view_minicard_detach): Added these + functions to allow the GalViewMinicard to set the column width of + a EMinicardView and to monitor its changes. + +2002-02-12 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c + (addressbook_get_arg): Added an argument to get the model. + + * gui/widgets/e-addressbook-view.c (writable_status): Don't bother + connecting to the writable_status callback on the book, simply + rely on the writable_status callback on the addressbook model. + + * gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h + (set_empty_message): Handle the case of a read only view here. + +2002-02-07 JP Rosevear <jpr@ximian.com> + + * gui/component/addressbook-component.c (create_component): remove + "New" from user creatable menu items + +2002-02-07 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c, + gui/widgets/e-addressbook-view.h + (e_addressbook_view_setup_menus): Changed this function to use the + new GalViewMenus which takes a GalViewInstance, instead of a + GalViewCollection. + +2002-02-04 JP Rosevear <jpr@ximian.com> + + * gui/contact-editor/e-contact-editor.c (find_address_mailing): tidy + + * conduit/address-conduit.c (addrconduit_load_configuration): load + default address setting + (addrconduit_save_configuration): save default address setting + (e_addr_gui_new): new gui routine for conduit settings + (e_addr_gui_fill_widgets): ditto + (e_addr_gui_fill_config): ditto + (e_addr_gui_destroy): ditto + (e_addr_context_destroy): destroy the gui and new_cfg + (local_record_from_ecard): reinstate commented out bits, determine + which address to sync to pilot + (ecard_from_remote_record): determine which address to sync from + pilot + (fill_widgets): put the gui widgets in + (create_settings_window): create gui + (save_settings): fill gui + +2002-02-04 JP Rosevear <jpr@ximian.com> + + * gui/contact-editor/e-contact-editor.c (address_text_changed): if + the shown address in the mailing address or there is no mailing + address, set the default flag and make sure the button is checked + (address_mailing_changed): set the flags properly when the mailing + address changes + (e_contact_editor_init): listen for the check button being toggled + (find_address_mailing): find the address (if any) with the default + flag + (set_address_field): set the mailing address button appropriately + (fill_in_info): find the mailing address + + * gui/contact-editor/e-contact-editor.h: add new class data member + + * gui/contact-editor/contact-editor.glade: show mailing address + check button + +2002-02-01 Jeffrey Stedfast <fejj@ximian.com> + + * backend/ebook/e-destination.c (e_destination_is_auto_recipient): + New function to find out if a destination was one which was + auto-matically set by Evolution. + (e_destination_set_auto_recipient): Set whether or not the dest is + an auto-recipient. + (e_destination_touch): Don't touch the address if it is an + auto_recipient. + (e_destination_list_to_vector_sized): New function to avoid having + to calculate the length of the list ourselves. Allows for a bit of + optimization if our caller knows the length of the list. + (e_destination_xml_encode): Encode the auto_recipient bit. + (e_destination_xml_decode): Decode the auto_recipient bit. + +2002-02-01 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c (e_card_simple_sync_card): Made + this preserve addressbook flags other than the first three. + + * backend/ebook/e-card-types.h: Added E_CARD_ADDR_MASK and + E_CARD_ADDR_DEFAULT. + + * backend/ebook/e-card.c (get_address_flags): Added "PREF" to + E_CARD_ADDR_DEFAULT mapping. + + * backend/ebook/test-client.c: Added #include "e-book-util.h". + +2002-01-30 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_changes): + compute the change db filename based on our contact db filename. + (pas_backend_file_load_uri): store the filename in + bf->priv->filename. + (pas_backend_file_destroy): free the filename, and (!) free + bf->priv too. + +2002-01-28 Jeffrey Stedfast <fejj@ximian.com> + + * backend/ebook/e-destination.c (e_destination_is_valid): Revert + my previous change as trow says this will break auto-completion + stuff. + +2002-01-27 Ettore Perazzoli <ettore@ximian.com> + + * gui/contact-editor/Makefile.am: Use EVOLUTION_ADDRESSBOOK_CFLAGS. + * gui/contact-list-editor/Makefile.am: Likewise. + * gui/merging/Makefile.am: Likewise. + * gui/search/Makefile.am: Likewise. + * gui/component/select-names/Makefile.am: Likewise. + +2002-01-25 Jeffrey Stedfast <fejj@ximian.com> + + * backend/ebook/e-destination.c (e_destination_is_valid): Don't + check for an @ in the email address. This is to fix bug #10960. + +2002-01-24 Chris Toshok <toshok@ximian.com> + + [ fixes bug 16097 ] + * gui/component/addressbook-config.glade: gui love for the new + auth stuff. + + * gui/component/addressbook.c (load_uri_cb): track change to auth, + and offer up different prompt strings depending on which method + (binddn or email) we're using. + + * gui/component/addressbook-storage.c (ldap_unparse_auth): use the + new auth types for ldap. + (ldap_parse_auth): same. + (addressbook_storage_auth_type_to_string): new function. + (load_source_data): get the binddn too. + (ldap_source_foreach): store out binddn or emailaddr, depending on + the auth type chosen. + + * gui/component/addressbook-storage.h: add the more detailed auth + types, add "binddn" to the source structure, and add a prototype + for addressbook_storage_auth_type_to_string. + + * gui/component/addressbook-config.c (auth_checkbutton_changed): + set the auth stuff (in)sensitive. + (auth_optionmenu_activated): new function. + (addressbook_source_dialog_set_source): track UI change. + (addressbook_source_dialog_get_source): same. + (add_scope_activate_cb): rename add_activate_cb to this to + distinguish it from the auth stuff. + (add_auth_activate_cb): new function. + (addressbook_source_dialog): track change to auth UI stuff. + (addressbook_storage_auth_type_to_string): new function. + + * backend/ebook/e-book.h: add auth_method arg to + e_book_authenticate_user. + + * backend/ebook/e-book.c (e_book_authenticate_user): track change + to prototype - add auth_method arg, and pass it along to the CORBA + call. + + * backend/ebook/test-client.c (book_open_cb): track api change - + keep this building. + + * backend/pas/pas-book.h: add auth_method slot in PASRequest. + + * backend/pas/pas-book.c (pas_book_queue_authenticate_user): add + auth_method arg and add it to the PASRequest. + (impl_GNOME_Evolution_Addressbook_Book_authenticateUser): track + idl change, add auth_method and pass it along to + pas_book_queue_authenticate_user. + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_authenticate_user): support both + "ldap/simple-email" and "ldap/simple-binddn" auth methods. + + * backend/idl/addressbook.idl: add "in string authMethod" to + authenticateUser. + +2002-01-24 Ettore Perazzoli <ettore@ximian.com> + + * conduit/Makefile.am: Use EVOLUTION_ADDRESSBOOK_CONDUIT_CFLAGS + and EVOLUTION_ADDRESSBOOK_CONDUIT_LIBS and remove unused flags + + * gui/component/Makefile.am: Use EVOLUTION_ADDRESSBOOK_CFLAGS and + EVOLUTION_ADDRESSBOOK_LIBS and remove unused flags. + * backend/pas/Makefile.am: Likewise. + * backend/ebook/Makefile.am: Likewise. + * printing/Makefile.am: Likewise. + * backend/ebook/Makefile.am: Likewise. + * gui/widgets/Makefile.am (INCLUDES): Likewise. + +2002-01-23 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (create_component): Pass a + NULL @icon to + `evolution_shell_component_add_user_creatable_item()'. + +2002-01-23 Ettore Perazzoli <ettore@ximian.com> + + * gui/contact-editor/e-contact-editor-address.c: #include + <locale.h>. + +2002-01-22 Chris Toshok <toshok@ximian.com> + + [ fixes bug # 16864 ] + * backend/ebook/evolution-ldif-importer.c (getValue): create and + return a GString here, instead of writing to a fixed size buffer. + (parseLine): use a GString here instead of a fixed size buffer. + +2002-01-21 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-ldap.c (ldap_search_handler): Set the + number of cards to return to the value specified in the ldap uri, + leaving the default at 100. Fixes Ximian bug #13953. + + * gui/component/addressbook-config.c (addressbook_source_dialog), + gui/component/addressbook-config.glade: Added a limit entry here + to edit the limit field of the source. + + * gui/component/addressbook-storage.c, + gui/component/addressbook-storage.h + (addressbook_storage_init_source_uri): Added a limit field to this + class and pass that value through in the uri that's generated. + +2002-01-18 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-compare.c: Made username match with no + domain match be vague instead of partial. Fixes Ximian bug + #13612. + +2002-01-18 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook.c (view_contact_cb): New verb to open + a bunch of cards. + + * gui/widgets/e-addressbook-reflow-adapter.c (open_card): Call + e_addressbook_show_multiple_cards instead of doing this ourselves. + + * gui/widgets/e-addressbook-util.c, + gui/widgets/e-addressbook-util.h + (e_addressbook_show_multiple_cards): Added this function to show a + bunch of cards, including a dialog if lots of windows are going to + appear. + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_view, + e_addressbook_view_can_view): e_addressbook_view_view calls + e_addressbook_show_multiple_cards on the appropriate list of + cards. + +2002-01-18 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/e-contact-editor-address.c + (fill_in_countries), gui/contact-editor/fulladdr.glade: Sort + country list. Country list moves from fulladdr.glade to + e-contact-editor-address.c, but only a few country names have + actually changed. Fixes Ximian bug #16545. + +2001-12-20 Zbigniew Chyla <cyba@gnome.pl> + + Fixes #17725 + + * evolution/addressbook/printing/e-contact-print.c (complete_sequence): + Do not assume that the first byte of file_as is the first letter, use + utf8 functions instead. + +2002-01-16 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c: move all functions here, get rid of + header files, use e-pilot-settings to display gui + +2002-01-15 JP Rosevear <jpr@ximian.com> + + * gui/component/select-names/select-names.glade: remove misleading + title and fix spacing + +2002-01-11 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook.c (alphabet_state_changed): Handle + setting the search bar to "Advanced..." when the alphabet buttons + are pushed and back when they're cleared. Fixes Ximian bug + #12904. + (addressbook_menu_activated): When the user calls Search->clear, + set the search to ESB_ANY and "", don't just set the text. This + is especially useful when it's set to ESB_ADVANCED. + + * gui/widgets/e-addressbook-view.c, + gui/widgets/e-addressbook-view.h (alphabet_state_change): Added + this signal which gets emitted when the alphabet buttons are + pushed. + (command_state_change): Removed the ref pair here. It's not + necessary. gtk_signal_emit refs the object itself. + +2002-01-11 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-compare.c (name_synonyms): Added a couple + of names here. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_get_nth_obj): Removed an unused + variable. + +2002-01-11 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c, + gui/widgets/e-addressbook-view.h (create_alphabet): Use toggle + buttons here. Fixes Ximian bug #10734. + +2002-01-09 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/e-contact-editor.c (set_fields): Choose the + first filled in address field here. Fixes Ximian bug #2222. + +2002-01-03 Joe Shaw <joe@ximian.com> + + * backend/ebook/test-card.c: Add a test for getting arbitrary + fields. + + * backend/pas/pas-backend-card-sexp.c (compare_arbitrary): Added. + (prop_info_table): Add a LIST_PROP for arbitrary fields. + +2002-01-03 Nat Friedman <nat@ximian.com> + + * backend/ebook/e-book.c (activate_factories_for_uri): Free the + query if the oaf response is of zero length. + +2001-12-27 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (real_add_address_cb): When we clean, don't clean the model's last + element. This helps keep things working properly when we have + signal-character separators. + (section_right_click_cb): Changed to work properly with our + EText-emitted popup signal. + (e_select_names_add_section): Use ETexts for the recipient + sections, rather than tables. This lets us make them directly + editable. (Bug #1721) + + * gui/component/select-names/e-select-names-popup.c + (popup_info_new): Pass in a ESelectNamesTextModel, not a + ESelectNamesModel. + (e_select_names_popup): Adjust for the new signature for + e_select_names_model_text_pos. + + * gui/component/select-names/e-select-names-manager.c + (focus_out_cb): Schedule a cleaning when we focus out. + (focus_in_cb): Cancel pending cleaning when we get focus. This + helps us avoid bad things happening during the fast focus out/ins + that happen when the completion dropdown appears. + (completion_handler): Adjust for new signatures of + e_select_names_model_text_pos and e_select_names_model_name_pos. + (e_select_names_manager_entry_new): Pass in our + ESelectNamesTextModel when constructing the + ESelectNamesCompletion. + (e_select_names_manager_entry_free): Cancel any pending clean-ups. + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): Get the text off of the text model. + Which is the only way that really makes sense when you think about + it. + + * gui/component/select-names/e-select-names-completion.c: Added a + copy of the associated ESelectNamesTextModel to + ESelectNamesCompletionPrivate. This replaces the + ESelectNamesModel. + (e_select_names_completion_destroy): Unref ->text_model. + (e_select_names_completion_handle_request): Pass in our text + model's separator info when calling e_select_names_model_text_pos. + (e_select_names_completion_new): Pass in the text model as an arg + instead of the model, and ref it as needed. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_init): Set separator as either ", " or + ",", depending on the value of the EVOLUTION_DISABLE_MAGIC_COMMA + environment variable. + (e_select_names_text_model_destroy): Free the separator. + (changed_cb): Flush our cached text on changed. + (e_select_names_text_model_set_source): Use our own changed_cb + callback on changed, rather than just connecting up + e_text_model_changed. + (e_select_names_text_model_set_separator): Added. Lets the + separator between recipients be specified. + (e_select_names_text_model_get_text): Cache the text we get from + calling e_select_names_model_get_textification. + (e_select_names_text_model_insert_length): A bunch of small + changes to properly support generic separators, rather than + (implicit and explicitly) assuming ", ". + (e_select_names_text_model_delete): More small tweaks to handle + generic separators. + (e_select_names_text_model_get_nth_obj): Use new signature when + calling e_select_names_model_name_pos, and use our cached text. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_destroy): We don't cache the text or + addr_text anymore, so no need to free them here. + (e_select_names_model_changed): ...and no need to reset our text + and addr_text caches here. + (e_select_names_model_get_textification): Take a separator as an + arg, rather than just using ", ". Also, no caching. + (e_select_names_model_get_address_text): Take a separator as an + arg, rather than just using ", ". And no caching here either. + (e_select_names_model_clean): Add arg that give us control over + whether or not the last entry should get cleaned. We need this + when using a one-character separator, so that new destinations + that get tacked onto the end don't get immediately cleaned away + for being empty. + (e_select_names_model_name_pos): Take the separator length as an + argument, remove implicit assumption of length 2. + (e_select_names_model_text_pos): Take the separator length as an + argument, remove implicit assumption of length 2. + +2001-12-20 Ettore Perazzoli <ettore@ximian.com> + + [Fix #17377, Evolution doesn't work on multi-depth displays.] + + * gui/component/addressbook-factory.c (main): Push GdkRGB visual + and colormap. + +2001-12-19 Jon Trowbridge <trow@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c + (e_addressbook_reflow_adapter_right_click): Add cut/copy/paste to + right-click menu. + + * gui/widgets/e-addressbook-view.c (table_right_click): Add + cut/copy/paste to right-click menu. (Fixes bug #14528.) Also, + disable some right-click options if our addressbook isn't + editable. + +2001-12-18 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (check_for_slow_setting): go slow and + clear the map if the last uri and the current uri do not match + (post_sync): save the last uri + + * conduits/address-conduit-config.h: handle a last uri config + option + +2001-12-18 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (addressbook_default_book_open): + change this to match its e-book counterpart, and only failover to + the local addressbook if the protocol wasn't supported. that way + errors like "failure to connect" are still reported to the user. + + * backend/ebook/e-book-util.h: add prototypes for + e_book_load_default_book and e_book_get_config_database. + + * backend/ebook/e-book-util.c (e_book_default_book_open): new + function, basically cut and paste addressbook_default_book_open + from addressbook.c here. + (e_book_load_default_book): cut and past + addressbook_load_default_book here, pretty much, except leave off + the auth stuff. + (e_book_get_config_database): new function, returns the + Bonobo_ConfigDatabase for e_book_load_default_book to use. + + * conduit/address-conduit.c (start_addressbook_server): use + e_book_load_default_book here. + +2001-12-17 Chris Toshok <toshok@ximian.com> + + [ fixes bug 17355 ] + * gui/component/select-names/e-select-names.c (new_folder): if + we're dealing with an LDAP folder, prepend [LDAP] to it. Now that + we have 3 different places where folders are coming from, it helps + to be able to differentiate "Contacts" in ~/evolution and a + "Contacts" ldap server and a "Contacts" exchange folder. + (add_additional_select_names_uris): loop through the bonobo conf + settings for additional folders, adding them to the option menu. + (e_select_names_hookup_shell_listeners): call + add_additional_select_names_uris. + +2001-11-28 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_realize): Use an #ECanvasBackground here + instead of a #GnomeCanvasRect. + +2001-12-16 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c: Added + 'cache_complete' flag to ESelectNamesCompletionPrivate. + (e_select_names_completion_seq_complete_cb): Set cache_complete + to TRUE if our query wasn't interrupted. + (e_select_names_completion_start_query): Set cache_complete to + FALSE at the beginning of a potentially-cached query. + (e_select_names_completion_do_query): Only reuse cached cards + if cache_complete is TRUE. (Fixes bug #10241) + +2001-12-15 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (e_addr_context_destroy): don't free + the hash table keys, we didn't allocate them and free the change + objects and unref the associated cards + (local_record_from_uid): unref the temp card we create + (replace_record): ref the new card associated with the card change + and unref the old one + +2001-12-13 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (local_record_from_ecard): Make sure + to copy the custom fields so they are not overwritten + +2001-12-13 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-book-util.c (simple_query_new): Used + g_strdup_printf to dup a string. Doh! Changed to g_strdup. + (Bug #17126) + +2001-12-07 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_entry_new): Remove a reference to code + I don't want to commit yet. :-) + + * gui/component/select-names/e-select-names-manager.c: Extensively + refactored -- this code had gotten _really_ ugly. Untangle things + to the point where our reference counting problems are fixable. + + * gui/component/select-names/e-select-names-bonobo.c + (impl_destroy): Remove all of the ugly hacks to work around our + memory management problems, and just unref the manager. + (Fixes #14412) + +2001-12-05 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c + (search_for_dn_with_objectclasses): move search_for_dn's contents + here, and add an "existing_objectclasses" parameter that we pass + on to build_card_from_entry. + (search_for_dn): call search_for_dn_with_objectclasses with NULL + for existing_objectclasses. + (build_card_from_entry): if existing_objectclasses is non-NULL, + fill it in with the list of existing objectclass values for this + entry. + (add_objectclass_mod): if existing_objectclasses is non-NULL, + meaning we're modifying an entry, search in the existing + objectclasses for the ones we want to be there, and only add + what's missing. If none are missing, don't add objectclass_mod to + the list of mods. + (create_card_handler): track change to add_objectclass_mod (pass + NULL). + (modify_card_handler): use search_for_dn_with_objectclasses + instead of search_for_dn, and pass the existing objectclasses to + add_objectclass_mod. also, free the list when we're done. + (poll_ldap): track change to build_card_from_entry (pass NULL). + +2001-12-05 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c (enable_writable_fields): + we need to be able to disable non-labels here as well. since + we're using enable_widget and not gtk_widget_set_sensitive, it's + okay to handle entries/text's, etc, here. + (widget_field_mappings): add label-caluri and label-fburl here. + + * gui/contact-editor/contact-editor.glade: change the label names + for the freebusy/calendar urls to have more descriptive names, + since we use them in e-contact-editor.c now. + + * backend/pas/pas-backend-ldap.c: add support for + caluri/calendarURI, fburl/freeBusyURI. + + * backend/pas/evolutionperson.schema: add calendarURI and + freeBusyURI. + +2001-12-04 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/contact-editor.glade: Fixed up the + accelerators and such here. + + * gui/contact-editor/e-contact-editor.c (file_save_as_cb): + Translate this string. + (pixmaps): Added a pixmap for the ContactEditorSaveClose command. + (setup_tab_order): Fixed up the tab order here. + + * gui/contact-editor/fulladdr.glade: Made the country combo + focusable here. + +2001-12-03 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (e_destination_equal): Make address + comparisons case-insensitive. (Fixes 11776) + + * backend/ebook/e-card.c (e_card_email_match_single_string): Make address + host comparisons case-insensitive. (Fixes 11776) + + * gui/component/select-names/e-select-names-manager.c (focus_out_cb): Clean + ESelectNamesModel on focus-out. (Half of a fix for 15656) + + * backend/ebook/e-destination.c (nonempty): Fix this function + and make it utf8-safe. (The other half of the fix for 15656) + +2001-11-28 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-list-editor/e-contact-list-editor.c: Consistency + fixes with standard contact editor. Added Save As, Send As, and + Send To. Replaced Save toolbar with Save and Close and added Save + and Close menu item. Added a trash icon. + +2001-11-28 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/e-contact-editor-address.c (setup_tab_order): + Setup the tab order here. Fixes Ximian bug #13751. + +2001-11-28 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook.c (connect_master_list_changed, + make_suboptions): Changed how this list of categories gets + computed. Fixes Ximian bugs #7707 and #7708. + +2001-11-15 Zbigniew Chyla <cyba@gnome.pl> + + * printing/e-contact-print-envelope.c (ecpe_linelist_dimensions), + printing/e-contact-print.c (e_contact_divide_text, e_contact_output, + e_contact_rectangle, e_contact_print_letter_tab, + e_contact_print_letter_heading, e_contact_get_card_size, + e_contact_print_card, e_contact_print_phone_list): + s/gnome_font_get_width_string/gnome_font_get_width_utf8/ + s/gnome_font_get_width_string_n/gnome_font_get_width_utf8_sized/ + +2001-11-14 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (search_for_dn): check against + LDAP_SUCCESS as the return value, not -1. + (pas_backend_ldap_build_all_cards_list): same. + (pas_backend_ldap_process_authenticate_user): same. + +2001-11-12 Chris Toshok <toshok@ximian.com> + + [ Fixes Ximian bug #14843 ] + * backend/pas/pas-backend-ldap.c (func_and): don't crash if a + subexpression wasn't filled in. + + * backend/pas/pas-backend-ldap.c (func_or): same. + +2001-11-12 Jon Trowbridge <trow@ximian.com> + + * gui/contact-list-editor/e-contact-list-editor.c (list_added_cb): + Release callback's reference to EContactListEditor. + (list_modified_cb): Release callback's reference to + EContactListEditor. + (save_card): Ref the EContactListEditor on behalf of the + e_book_foo callback. (Fixes bug #14743) + (save_card): Set changed to false once we've saved. + (list_deleted_cb): Release callback's reference. + (delete_cb): Hold reference for the callback. + +2001-11-12 Jon Trowbridge <trow@ximian.com> + + * gui/contact-editor/e-contact-editor.c (categories_clicked): If + our call to e_categories_new returns NULL, put up an error dialog + and return. (Fixed #14780) + +2001-11-09 Chris Toshok <toshok@ximian.com> + + [ Fixes Ximian bug #14687 ] + * backend/pas/pas-backend-file.c + + * backend/pas/pas-book-factory.c + (pas_book_factory_process_request): do load_uri before add_client, + so we know if the load actually worked (add_client uses this + information to respond to the new client.) before this change, + the client would still think the book was in a useful state even + if the load_uri failed. + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_add_client): if + the we're not connected, say so. + + * backend/pas/pas-backend-file.c (pas_backend_file_add_client): + same. + (pas_backend_file_load_uri): don't report_writable here, + add_client does it. was only needed before because of the + improper ordering in pas-book-factory.c above. + +2001-11-09 Chris Toshok <toshok@ximian.com> + + [ Fixes Ximian bug #14646 ] + * gui/component/addressbook.c (addressbook_default_book_open): new + function. if the default_book failed to load, load the local + addressbook in its place. + addressbook_load_default_book): if we're loading the default_book + uri, use addressbook_default_book_open as the open_response. + + * backend/ebook/e-book.c (e_book_load_uri_step): reset the + load_state to NotLoaded so we can attempt another load_uri on + the book if it fails. + +2001-11-08 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (impl_destroy): Explicitly destroy entries. Part of the fix for + the lingering completion window bug. + +2001-11-04 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c: Use ordering of the pilot's phone + label list to find fields we sync in order to avoid strcmp'ing the + pilot's labels rendering phone syncing usable only for english + language pilots + +2001-11-03 Chris Toshok <toshok@ximian.com> + + [ Fixes Ximian bug #14410 ] + * gui/contact-editor/e-contact-editor.c (e_contact_editor_init): + init in_async_call to FALSE. + (card_added_cb): turn the UI back on and set in_async_call to + FALSE. + (card_modified_cb): same. + (card_deleted_cb): same. + (save_card): turn off the UI by setting the dialog insensitive, + and set in_async_call to TRUE. + (delete_cb): same. + (app_delete_event_cb): if we're in an async call don't let the + window get deleted. + + * gui/contact-editor/e-contact-editor.h (struct _EContactEditor): + add in_async_call flag for when we make a wombat call and need to + disable the UI. + + * gui/contact-list-editor/e-contact-list-editor.c + (e_contact_list_editor_init): init in_async_call to FALSE. + (list_added_cb): turn the UI back on and set in_async_call to + FALSE. + (list_modified_cb): same. + (list_deleted_cb): same. + (save_card): turn off the UI by setting the dialog insensitive, + and set in_async_call to TRUE. + (delete_cb): same. + (app_delete_event_cb): if we're in an async call don't let the + window get deleted. + + * gui/contact-list-editor/e-contact-list-editor.h (struct + _EContactListEditor): add in_async_call flag for when we make a + wombat call and need to disable the UI. + +2001-11-02 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c (e_card_simple_get): Check for + NULL dates before converting them to strings. Fixes Ximian bug + #14394. + +2001-11-02 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (impl_destroy): Leak select-names related data structures until + the memory management issues get sorted out. Fixed bug #14086. + +2001-10-31 Christopher James Lahey <clahey@ximian.com> + + * gui/component/e-cardlist-model.c, + gui/component/select-names/e-select-names-table-model.c, + gui/widgets/e-addressbook-table-adapter.c: Make the pre_changes + and changes match here. + +2001-10-31 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_destroy): Check that local_listener and + other_contacts_listener are non-NULL before + disconnecting/unrefing. + + * gui/component/select-names/e-select-names-manager.c + (entry_destroyed): The entry shouldn't unref the manager. + (e_select_names_manager_create_entry): The entry shouldn't hold a + ref to the manager. It becomes circular. + (e_select_names_manager_create_entry): On the other hand, we + should hold a ref to the entry we create. + + * gui/component/select-names/e-select-names-bonobo.c + (impl_destroy): Remove the explicit dialog destroy hack. + +2001-10-30 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (impl_destroy): Force the select names dialog to be destroyed. + This is a hack to fix bug #14002 -- I'll clean up the refcounting + issues post-freeze. At least now it won't crash. + +2001-10-30 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (ecard_from_remote_record): make sure + to translate the character sets of the names + +2001-10-30 JP Rosevear <jpr@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (manager_ok_cb): send a null bonobo arg to prevent explosion + +2001-10-30 JP Rosevear <jpr@ximian.com> + + * gui/widgets/e-addressbook-view.c: correct include typo + +2001-10-29 Jon Trowbridge <trow@ximian.com. + + * gui/widgets/e-minicard.c (add_field): Five characters, not four! + + * gui/widgets/e-addressbook-table-adapter.c + (addressbook_value_at): Convert xml-ified destinations into proper + addresses. + +2001-10-29 Jon Trowbridge <trow@ximian.com. + + * gui/component/select-names/e-select-names-bonobo.c (init): + Connect to manager's "ok" signal. + (manager_ok_cb): Emit "ok" bonobo-signal. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_class_init): Added "ok" signal. + (e_select_names_clicked): Emit 'ok' signal. + +2001-10-29 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-util.c + (e_addressbook_prompt_save_dialog): new function, a "Do you want + to save changes?" dialog. + + * gui/widgets/e-addressbook-util.h: add prototype for + e_addressbook_prompt_save_dialog. + + * gui/contact-editor/e-contact-editor.c (prompt_to_save_changes): + call e_addressbook_prompt_save_dialog and save the card if they + select save. return TRUE if the dialog should be closed, FALSE + otherwise. + (file_close_cb): check prompt_to_save_changes before closing the + dialog. + (app_delete_event_cb): same. + + * gui/contact-list-editor/e-contact-list-editor.c + (prompt_to_save_changes): call e_addressbook_prompt_save_dialog + and save the card if they select save. return TRUE if the dialog + should be closed, FALSE otherwise. + (file_close_cb): check prompt_to_save_changes before closing the + dialog. + (app_delete_event_cb): same. + +2001-10-29 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (add_objectclass_mod): overload + this function for modifying objectclasses too, so we can make sure + evolutionPerson shows up in the objectclasses of an entry if it + shows up in the schema for the server. + (create_card_handler): add @replace = FALSE in the call to + add_objectclass_mod. + (modify_card_handler): call add_objectclass_mod with @replace = + TRUE. + (anniversary_compare): fix typo - return "equal", not "TRUE". + (birthday_compare): same. + +2001-10-29 Jon Trowbridge <trow@ximian.com> + + * conduit/address-conduit.c (pre_sync): Comment out spew. + + * gui/contact-list-editor/e-contact-list-editor.c (fill_in_info): + Comment out spew. + + * gui/component/addressbook-component.c + (destination_folder_handle_drop): Comment out spew. + (get_dnd_selection): Comment out spew. + + * gui/widgets/e-addressbook-table-adapter.c + (addressbook_set_value_at): Comment out spew. + +2001-10-29 Jon Trowbridge <trow@ximian.com> + + * gui/component/addressbook.c (update_command_state): Check that + our BonoboUIComponent has a container so we don't get a lot of + annoying debug spew. + + * printing/smallbook.ecps: Fixed fonts. + + * printing/phonelist.ecps: Fixed fonts. + + * printing/medbook.ecps: Fixed fonts. + + * printing/e-contact-print.c (e_contact_get_card_size): Commented + out spew. + + * gui/widgets/e-minicard.c (remodel): Check that e_minicard->card + != NULL. + +2001-10-29 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_destroy): We were using + book_data->book_view immediately after unrefing it. Reordered the + code a bit to avoid this. + +2001-10-29 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-book-factory.h: add prototype for + pas_book_factory_dump_active_backends. + + * backend/pas/pas-book-factory.c + (pas_book_factory_dump_active_backends): new function. + (dump_active_server_map_entry): new function. + +2001-10-29 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (make_match): Drop a match if either of the text fields is NULL. + This could happen if any of the utf-8 involved is invalid, for + example. (Bug #13757) + +2001-10-29 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (is_syncable): fix bug that allowed + for phone's not to be in priority order and the item to still be + syncable + + * conduit/address-conduit-config.h + (addrconduit_load_configuration): get management by id + +2001-10-29 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (is_syncable): a card also needs to + have its phone nums in priority order to be "syncable" + +2001-10-29 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (is_syncable): move the syncable + checking code to a different function + (ecard_from_remote_record): set the name parts individually + (local_record_from_ecard): use is_syncable + +2001-10-29 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c (file_as_get_style, + file_as_set_style): Use the actual ECardName in the ECard instead + of parsing the full_name here. + +2001-10-29 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h + (e_card_simple_set_name): New function to set the ECardName on + this card and fix the file_as if necessary. + +2001-10-29 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h + (e_card_simple_get): Handle returning dates here. + (e_card_simple_get_allow_newlines): New function. Returns whether + it makes much sense to have newlines in this string. + + * gui/component/addressbook-config.c, + gui/component/addressbook-config.h + (addressbook_create_new_source): The first argument here should + be const. + + * gui/component/addressbook-storage.c: Added #include + "addressbook-config.h". + + * gui/widgets/e-minicard-label.c (e_minicard_label_event): On an + escape here, cancel editing and remove the focus from the text. + + * gui/widgets/e-minicard.c (add_field): Set allow_newlines here. + (field_activated): Stop editing on the activate signal and remove + the focus from the text. Fixes Ximian bug #12286. + +2001-10-28 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.h: tidy + + * conduit/address-conduit-config.h: ditto + + * conduit/address-conduit.c (add_record): unref ecard when done + +2001-10-28 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-card.c (e_card_date_from_string): Expose this + function. + (e_card_date_to_string): ...and this one. Fixes build problem in + pas-backend-ldap.c. + +2001-10-28 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_hookup_shell_listeners): Change "this should never + happen" dialog to not give my name/e-mail. Sorry translators. + But this really should never happen, thanks to my fix below. + + * gui/component/addressbook-component.c: Initialize + global_shell_client to NULL. (Bug #6625) + +2001-10-27 Chris Toshok <toshok@ximian.com> + + [ bug #12979 ] + * backend/pas/pas-backend-ldap.c (anniversary_populate): new + function. + (anniversary_ber): new function. + (anniversary_compare): new function. + (birthday_populate): new function. + (birthday_ber): new function. + (birthday_compare): new function. + +2001-10-27 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_destroy): free up all the book_data + list stuff. + (e_select_names_completion_got_book_view_cb): deal with book_data + being passed as the closure, and increment the + pending_completion_seq counter. + (e_select_names_completion_card_added_cb): deal with book_data + being passwd as the closure. + (e_select_names_completion_seq_complete_cb): same, and decrement + the pending_completion_seq if we haven't gotten one for this book + view before. + (e_select_names_completion_stop_query): cancel all the + book_data's. + (e_select_names_completion_start_query): use the books_not_ready + counter instead of book_ready. also, do e_book_get_book_view on + each of the book's in our list. + (e_select_names_completion_do_query): change to deal with our + list. + (e_select_names_completion_book_ready): decrement the + book_not_ready counter. + (e_select_names_completion_new): add the book we're created with + to our list. + (e_select_names_completion_add_book): implement. + + * gui/component/select-names/e-select-names-completion.h: add + prototype for e_select_names_completion_add_book. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_new): use addressbook_config_data, and + don't unref the db. + (e_select_names_manager_create_entry): always add NULL for a book + (which corresponds to the local book), and if the completion_book + is present, add it to the list of books to complete again. + +2001-10-27 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-quick-add.c (merge_cb): change to + EBookCallback signature, and unref the book. + (quick_add_merge_card): use addressbook_load_default_book. + (ce_have_book): change to EBookCallback signature, and unref the + book. + (edit_card): use addressbook_load_default_book. + + * gui/component/e-address-popup.c (email_table_save_card_cb): + change to EBookCallback signature, and unref the book. + (add_card_idle_cb): use addressbook_load_default_book, and call + the cb if it fails. + (e_address_popup_cleanup): fix type -- should be "pop->card = + NULL", not "pop = NULL". + (contact_editor_cb): change to EBookCallback signature. + (edit_contact_info_cb): use addressbook_load_default_book. + (start_query): change to EBookCallback signature. + (e_address_popup_query): use addressbook_load_default_book. + + * gui/widgets/e-minicard-control.c (book_open_cb): change to + EBookCallback signature, and unref the book. + (save_in_addressbook): use addressbook_load_default_book instead + of e_book_use_local_address_book. + + * gui/widgets/Makefile.am (INCLUDES): change includes since we're + including addressbook.h which has it's own set of funky include + path requirements. + +2001-10-27 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-book.c (activate_factories_for_uri): Don't leak + stuff. (Bug #13709) + +2001-10-27 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-destination.c (name_and_email_simple_query_cb, + nickname_simple_query_cb): Set book_uri when cardification occurs. + +2001-10-27 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_add_section): Turned off use_ellipsis (it breaks + emulate_label_resize) and on emulate_label_resize. Fixes Ximian + bug #13693. + +2001-10-27 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (make_match): Doh! We should be sorting our contacts so that the + most frequently used ones are at the top of the list, not the + bottom. + + * backend/pas/pas-book.c (pas_book_check_queue): That should be a + bonobo_object_unref, not a gtk_object_unref. + (pas_book_queue_request): Likewise, we need to bonobo_object_ref + here. + (pas_book_destroy): If our pas_book_check_queue timeout is still + active, disable it. This should never happen, but it never hurts + to be careful. + (pas_book_destroy): Set book->priv to NULL after we free it. + +2001-10-27 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (local_record_from_ecard): copy phone + labels and show phone as well, clear correct entry text and + correctly detect unsyncable cases + +2001-10-27 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (local_record_from_ecard): touch the + record on lookup + (check_for_slow_setting): write touched only if we are doing a + slow sync + (card_removed): don't touch on lookup + (match): touch on lookup + +2001-10-27 Jon Trowbridge <trow@ximian.com> + + * backend/pas/pas-book.c (pas_book_check_queue): Added paranoid + reentrancy guards. + (pas_book_queue_request): Changed our idle handler into a timeout, + so as to work w/ reentrancy guards. + (pas_book_init): Explicit initialization. + +2001-10-26 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.h: add prototypes for + addressbook_config_database, and addressbook_load_default_book. + + * gui/component/addressbook.c (addressbook_config_database): new + function, so we aren't activating the db everywhere we need to use + it. + (addressbook_load_default_book): load the default book, after + getting the uri from bonobo-config. + +2001-10-26 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-book-util.c (simple_query_card_added_cb): Return + on cancellation. + (simple_query_sequence_complete_cb): Act if not cancelled. + (simple_query_book_view_cb): Free & return on cancellation. + (e_book_simple_query_cancel): Set cancellation flag. + + * gui/component/e-address-popup.c (e_address_popup_query): Hold a + reference to ourselves for the duration of our addressbook fetch. + (start_query): Release when we've fetched our addressbook. + (e_address_popup_cleanup): Break out most of what we do in + _destroy into a separate function. + (e_address_popup_destroy): Class cleanup. + (contact_editor_cb): Paranoid clean-up. + (add_contacts_cb): Paranoid clean-up. + (e_address_popup_ambiguous_email_add): Paranoid clean-up. + +2001-10-26 JP Rosevear <jpr@ximian.com> + + * conduit/e-address.conduit.in: remove the merges as valid sync + types + + * conduit/address-conduit.c (pre_sync): write out only the touched + records if we are doing copies + + * conduit/address-conduit-config.h + (addrconduit_load_configuration): get the sync type + +2001-10-26 Jon Trowbridge <trow@ximian.com> + + * gui/component/e-address-popup.c (e_address_popup_destroy): + Cancel any pending queries. + + * gui/contact-editor/e-contact-editor.c (close_dialog): Don't + assert, but check if ce->app != NULL, since this function can + (apparently) get called multiple times. + + * gui/contact-editor/e-contact-save-as.c (file_exists): Remove bad + dialog ref-counting crap. + + * gui/contact-editor/e-contact-editor.c (save_card): Ref our + EContactEditor, since we are holding a pointer to it in + EditorCloseStruct. + (card_modified_cb): Unref our EContactEditor when we free our + EditorCloseStruct. + (card_added_cb): Unref our EContactEditor when we free our + EditorCloseStruct. + +2001-10-26 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (check_for_slow_setting): make debug + info more accurate + +2001-10-26 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (e_addr_context_destroy): prevent + double unref + (cursor_cb): correct typo + (card_removed): remove the card from the map if was archived and + is now deleted + +2001-10-26 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.h: new member + + * conduit/address-conduit.c (print_remote): free the struct after + using it + (e_addr_context_new): make consistent with other conduits + (e_addr_context_destroy): properly destroy the context + (cursor_cb): no need to ref the card, its done for us + (clear_entry_text): util function to free a field + (free_local): free a local record + (local_record_to_pilot_record): use a static buffer so we don't + have to free it later + (local_record_from_ecard): only fill in the fields we might not + sync, clear a field before replacing the contents + (for_each): track locals + (for_each_modified): ditto + (free_match): use free_local + +2001-10-26 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard.c, gui/widgets/e-minicard.h + (set_has_cursor): Added has_cursor argument. Setting the argument + to TRUE if the minicard doesn't have focus will grab the focus. + Fixes Ximian bug #3024. + +2001-10-24 Jon Trowbridge <trow@ximian.com> + + * gui/component/addressbook-factory.c (main): Initialize + gnome-vfs. + + * gui/component/addressbook-component.c (xfer_file): Added. + (Copied from the calendar.) + (xfer_folder): Fixed to allow renaming of contact folders. + +2001-10-24 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_class_init): Removed key_press handler here + since delete and backspace are now handled by keybindings. + +2001-10-23 Jon Trowbridge <trow@ximian.com> + + * gui/component/addressbook.c: Fix command paths when we specify + our pixmaps, so we don't get a lot of totally useless & very ugly + bonobo-ui spew. + + * backend/ebook/e-book-util.c (e_book_nickname_query): The empty + string as an arg shouldn't generate a warning. + + * gui/component/select-names/e-select-names-completion.c: Removed + our cancelled flag and e_select_names_completion_cancel function, + since we were just duplicating stuff that had ended up in + ECompletion. + (match_name): Form our menu_text properly on an additional-name + match. + (e_select_names_completion_got_book_view_cb): Store handles for + our signals, disconnect them properly when we switch book views. + (e_select_names_completion_stop_query): Disconnect signals when we + stop our query. + (check_capabilities): Spew if we are using LDAP for completion. + (e_select_names_completion_destroy): Disconnect our signals when + we destroy. + This all should fix bug #10241. + +2001-10-23 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_add_section): Set "draw_button" argument to TRUE + on this EEntry. + +2001-10-22 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/e-contact-save-as.c (save_it): Put up an + error dialog if there's an error while saving. If the person hits + cancel on the "file exists" dialog, don't close the file selection + dialog. Fixes Ximian bug #7055. + +2001-10-21 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c + (model_and_selection_free): right_click_up here when we let go of + the popup. + + * gui/widgets/e-minicard-view.c (e_minicard_view_selection_event): + right_click_up here. + +2001-10-21 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_add_section, e_select_names_set_default): Use an + EEntry here instead of a GtkLabel. Fixes Ximian bug #7067. + +2001-10-21 Jon Trowbridge <trow@ximian.com> + + * gui/component/addressbook.c (control_activate_cb): Call + e_addressbook_model_force_folder_bar_message when we activate the + component. (Fixes bug #11749) + + * gui/widgets/e-addressbook-model.c + (e_addressbook_model_force_folder_bar_message): Added. Forces + emission of a folder_bar_message. + +2001-10-20 Larry Ewing <lewing@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_set_default): stick with the style font if the + efont bold font does not exist. + (e_select_names_set_default): don't forget to unref the oldstyle. + +2001-10-20 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (name_style_query): Fix memory leak. + + * gui/widgets/e-addressbook-view.c (jump_to_letter): Free our + string vector letter_v when we are done with it. + + * gui/contact-editor/e-contact-quick-add.c (edit_card): Unref our + QuickAdd structure. + + * gui/component/e-address-popup.c (e_address_popup_construct): + Unref our style after we are done with it. + +2001-10-20 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-book.c (activate_factories_for_uri): We + shouldn't leak the info returned by oaf_query. + + * gui/contact-editor/e-contact-quick-add.c (card_added_cb): Remove + superfluous call to quick_add_unref. + (editor_closed_cb): Remove superfluous call to quick_add_unref. + + * gui/component/select-names/e-select-names.c (esn_get_key_fn): We + need to unref the card returned by e_addressbook_model_get_card. + +2001-10-20 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c: Make LDAP servers + non-user-creatable. + +2001-10-20 Jon Trowbridge <trow@ximian.com> + + * printing/e-contact-print.c (e_contact_print_card): Check that the + string we are checking for xml-ness is non-NULL. + + * backend/ebook/e-destination.c (e_destination_importv): Filter + out empty destinations. (also Bug #13036) + + * printing/e-contact-print.c (e_contact_build_style): Use + gnome_font_new_closest; if gnome_font_new fails and returns NULL, + our spacing gets all messed up. (Bug #10785) + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_can_print): + Allow printing if there are any cards in our view. The selection + has nothing to do with it. + + * backend/ebook/e-destination.c (e_destination_is_empty): Check + for strings that contain non-whitespace, rather than just looking + for a non-zero first character. (Bug #13036) + +2001-10-20 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard-view.c (e_minicard_view_selection_event): + Handle focus_change in event by selecting that contact. Fixes + Ximian bug #3024. + + * gui/component/addressbook-component.c (owner_unset_cb): + Repeatedly call gtk_main_quit here as long as there is a main loop + around. This is an ugly hack around Ximian bug #11760. + +2001-10-20 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c: Added #include + <gal/widgets/e-unicode.h>. + + * gui/widgets/e-minicard-control.c: Made this display the number + of extra cards in the attachment as well as made it save them all + to the local addressbook if the person selects the button. Fixes + Ximian bug #9507. + +2001-10-20 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard.c (e_minicard_event): Changed this to not + grab on a right click. Fixes Ximian bug #12660. + +2001-10-19 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c + (destination_folder_handle_motion): Get @folder_type here too [to + match the changes in the EvolutionShellComponentDnd interface]. + Also, remove a debugging message. + (destination_folder_handle_drop): Likewise. + +2001-10-18 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c (add_menu_item): + Translate labels in select-names option menu. (Bug #9604) + + * gui/search/e-addressbook-search-dialog.c + (e_addressbook_search_dialog_init): Made the default window size + slightly wider. (Bug #7516) + +2001-10-18 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card.c, backend/ebook/e-card.h + (e_card_list_get_vcard): Made this take a const GList. + +2001-10-18 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (check_capabilities): Added. Check if our book is local or + networked. + (e_select_names_completion_book_ready): Call check_capabilities. + (e_select_names_completion_new): Call check_capabilities. + (e_select_names_completion_do_query): If we have a networked book, + keep trying if we haven't been able to cache any cards --- our + earlier attempts could have failed due to too many matches. (Bug + #12932) + + * gui/component/select-names/e-select-names-manager.c + (focus_out_cb): Lag our cardification on focus-out. This seems to + help with the unintended cardifications that can result from the + weird focus-out/focus-in events that get generated when the popup + disappears. + + * backend/ebook/e-card-compare.c: Removed some debug spew. + +2001-10-17 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c (addressbook_source_dialog): + grab focus in the Account entry when preparing the dialog, fixes + #10406. + +2001-10-17 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names.c (new_folder): make + sure to also add "ldap-contacts" folders to the option menu. + +2001-10-17 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (ecard_from_remote_record): sync all + the fields we can, with out overwriting + (local_record_from_ecard): write the fields to the pilot in + priority order unless there are fields on the pilot we can't + store, then fill in the fields as they are on the pilot + +2001-10-17 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card.c (e_card_get_vobject): Did a bit of clean + up here. Might fix some crashes, specifically Ximian bug #10164. + + * gui/widgets/e-addressbook-view.c (SPEC): Updated the model + column numbers here. Fixes Ximian bug #12308. + +2001-10-17 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_upgrade_db): + add upgrade from 0.1 to 0.2, where we make sure id dbt's match + vcard id's, fixes longstanding bug (#7406) where cards were not + modifiable or removable after having been created during a 1-2 + week long window in early betas. + (PAS_BACKEND_FILE_VERSION): change to 0.2 + (PAS_ID_PREFIX): #define this here. + (pas_backend_file_create_unique_id): use PAS_ID_PREFIX instead of + the string. + +2001-10-16 Iain Holmes <iain@ximian.com> + + * backend/ebook/evolution-ldif-importer.c (support_format_fn): Return + FALSE if no extension. + +2001-10-16 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-card.c (e_card_get_id): If card->id is NULL, + return an empty string. + (e_card_set_id): Don't allow the card id to be set to NULL; use + the empty string instead. + (e_card_get_vobject): When building our vcard, pass in the empty + string as the id if card->id is NULL. (Bug #10164) + +2001-10-16 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (local_record_from_ecard): don't set + the phone info if it is blank + (ecard_from_remote_record): save up to 3 fax numbers + +2001-10-15 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_add_client): + unref the book after we pass it off to evolution-addressbook. + +2001-10-15 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (create_card_dtor): unref + op->view. + (pas_backend_ldap_process_create_card): ref op->view. + (remove_card_dtor): unref op->view. + (pas_backend_ldap_process_remove_card): ref op->view. + (modify_card_dtor): unref op->view. + (pas_backend_ldap_process_modify_card): ref op->view. + (ldap_search_dtor): unref op->view. + (pas_backend_ldap_search): ref op->view. + +2001-10-15 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_get_book_view): make sure to unref the + book_view here so we don't leak them. + +2001-10-12 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-factory.c (main): call + e_passwords_init and e_passwords_shutdown. + +2001-10-15 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card.c (addPropValueQP, addPropValueSets, + e_card_get_vobject): Properly decide whether a property needs to + be marked as QP by searching for '\n'. Fixes Ximian bug #3021. + +2001-10-15 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/e-contact-save-as.c (e_contact_save_as, + e_contact_list_save_as): Set the default file name here. Fixes + Ximian bug #7053. + +2001-10-14 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_hookup_shell_listeners): Added linebreaks to our + "this shouldn't happen" dialog message. (Bug #12498) + +2001-10-12 Jon Trowbridge <trow@ximian.com> + + * gui/component/addressbook-factory.c (main): Add a component name + to the e_passwords_init() call. + +2001-10-12 Chris Toshok <toshok@ximian.com> + + * backend/ebook/evolution-ldif-importer.c: commit the importer + originally from Michael M. Morrison, with fixups by toshok. + + * backend/ebook/Makefile.am (bin_PROGRAMS): add + evolution-ldif-importer. + (oaf_in_files): add + GNOME_Evolution_Addressbook_LDIF_Importer.oaf.in. + + * backend/ebook/e-card-simple.h: add WANTS_HTML and IS_LIST. + + * backend/ebook/e-card-simple.c (field_data): add WANTS_HTML and + IS_LIST. + (e_card_simple_set): fix typo. + + * backend/ebook/.cvsignore: ignore + GNOME_Evolution_Addressbook_LDIF_Importer.oaf and + evolution-ldif-importer. + + * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.oaf.in: + ldif importer oafinfo. + +2001-10-12 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: + Added a boolean type here. + +2001-10-12 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (addressbook_model_set_uri): Check to see if the uri we are + setting is the same as the current uri. If so, do nothing. + (Bug #11324) + +2001-10-11 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c + (e_destination_reverting_is_a_good_idea): Added. Heuristic for + whether or not we want to revert to an earlier cardified state. + (e_destination_cardify): Don't be quite as aggressive about + reverting to previous cardified states. (Bug #11890) + +2001-10-11 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c (e_card_simple_destroy, + fill_in_info, e_card_simple_sync_card, e_card_simple_set_phone, + e_card_simple_set_address, e_card_simple_set_delivery_address, + file_as_get_style, file_as_set_style, e_card_simple_set, + e_card_simple_set_arbitrary), + gui/contact-editor/e-contact-editor-address.c + (e_contact_editor_address_destroy, + e_contact_editor_address_set_arg, + e_contact_editor_address_get_arg), + gui/contact-editor/e-contact-editor-fullname.c + (e_contact_editor_fullname_destroy, + e_contact_editor_fullname_set_arg, + e_contact_editor_fullname_get_arg), + gui/contact-editor/e-contact-editor.c (phone_entry_changed, + address_text_changed, name_entry_changed, full_name_clicked, + full_addr_clicked, fill_in_info): Changed these to use the new ref + and unref functions for ECard auxillary types. + + * backend/ebook/e-card-simple.h: Added a comment. + + * backend/ebook/e-card-types.h: Added ref_count field to all the + types. + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added ref and + unref functions here for all the ECard auxillary types. Removed + the corresponding free functions. Switched to using these + functions where appropriate. + + * gui/component/addressbook-factory.c: #include + <e-util/e-passwords.h> + + * gui/component/addressbook.c (load_uri_cb): const correctify. + + * gui/component/select-names/e-select-names-manager.c, + gui/component/select-names/e-select-names.c: #include + <addressbook/gui/component/addressbook.h> + + * gui/widgets/e-addressbook-model.c (modify_card): Removed an + unnecessary ref here. + +2001-10-11 Dan Winship <danw@ximian.com> + + * gui/component/select-names/e-select-names.c (update_folder): + Don't need this any more. + +2001-10-11 Jon Trowbridge <trow@ximian.com> + + * gui/component/addressbook.c (new_contact_cb): Check that + view->view != NULL. + (save_contact_cb): Check that view->view != NULL. + (search_cb): Check that view->view != NULL. + (delete_contact_cb): Check that view->view != NULL. + (print_cb): Check that view->view != NULL. + (print_preview_cb): Check that view->view != NULL. + (stop_loading_cb): Check that view->view != NULL. + (cut_contacts_cb): Check that view->view != NULL. + (copy_contacts_cb): Check that view->view != NULL. + (paste_contacts_cb): Check that view->view != NULL. + (select_all_contacts_cb): Check that view->view != NULL. + (send_contact_cb): Check that view->view != NULL. + (send_contact_to_cb): Check that view->view != NULL. + (update_command_state): Check that view->view != NULL. Hold a + reference to the AddressbookView for the duration of the function, + in case we exit during bonobo-reentrancy. + (addressbook_view_ref): Added. + (addressbook_view_unref): Added. Simple ref counting for + AddressbookView objects. + (addressbook_view_clear): Zero out an AddressbookView. This is + now separated from the deallocation of the AddressbookView object, + so that we don't leave a dangling pointer if we exit during + bonobo-reentrancy in update_command_state. (Which often seems to + happen if we exit while addressbook operations are going on.) + (destroy_callback): Replace previous call to addressbook_view_free + with addressbook_view_clear/addressbook_view_unref calls. + (addressbook_factory_new_control): Initialize the reference count + in the AddressbookView object. + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_destroy): + Carefully zero out our destroyed object. + (command_state_change): Hold a reference to ourselves during the + signal emission. + (get_selected_cards): Ref cards as we add them to the list. + (e_addressbook_view_stop): Check for view != NULL. + (e_addressbook_view_can_create): Check for view != NULL. + (e_addressbook_view_can_print): Check for view != NULL. + (e_addressbook_view_can_save_as): Check for view != NULL. + (e_addressbook_view_can_send): Check for view != NULL. + (e_addressbook_view_can_send_to): Check for view != NULL. + (e_addressbook_view_can_delete): Check for view != NULL. + (e_addressbook_view_can_cut): Check for view != NULL. + (e_addressbook_view_can_copy): Check for view != NULL. + (e_addressbook_view_can_paste): Check for view != NULL. + (e_addressbook_view_can_select_all): Check for view != NULL. + (e_addressbook_view_can_stop): Check for view != NULL. + + * gui/widgets/e-addressbook-model.c (addressbook_destroy): Be + careful about zeroing out our destroyed object. + + * backend/ebook/e-book-view.c (e_book_view_stop): Added. Stops + event processing in the underlying listener. + +2001-10-10 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_destroy): If our select names dialog is + still around, destroy it. Otherwise, the dialog will hang around + after our composer goes away. + +2001-10-06 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.glade: add an Email Address + field/label/help text. + + * gui/component/addressbook-config.c + (addressbook_source_dialog_set_source): fill in the email entry + from the source. also, set the initial state of the email + label/entry. + (auth_checkbutton_changed): set the email label/entry + sensitive/editable if auth is turned on, and + insensitive/uneditable if it's off. + (addressbook_source_dialog_get_source): get the email address from + the email entry. + (addressbook_source_dialog): hook up the email entry to the + changed signal foo, as well as the focus handler for displaying + help text. + +2001-10-06 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_new): db isn't a BonoboObject, so don't + bonobo_object_unref it! + +2001-10-05 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names.c + (addressbook_model_set_uri): e_book_load_uri -> + addressbook_load_uri. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_new): e_book_load_uri -> + addressbook_load_uri. + + * gui/component/addressbook.c (forget_passwords_cb): new function, + call e_passwords_forget_passwords. + (verbs): Add ContactsForgetPasswords. + (load_uri_auth_cb): new function, call the callback and free up + our closure stuff. + (load_uri_cb): once the uri is loaded, check if we're configured + to authenticate for it, and do so, using the e_passwords stuff. + (addressbook_load_uri): wrapper around e_book_load_uri. save off + the parameters and start the load-with-auth machinery. + (book_open_cb): remove all the auth stuff from here, as it's + handled elsewhere now. + + * gui/component/addressbook-factory.c (main): call + e_passwords_init. + + * gui/component/addressbook-component.c (user_create_new_item_cb): + e_book_load_uri -> addressbook_load_uri. + (destination_folder_handle_drop): same. + + * gui/component/addressbook.h: add prototype for + addressbook_load_uri (a wrapper around e_book_load_uri that also + handles authentication if the user selects it.) + +2001-10-05 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (real_add_address_cb): Check to make sure our call to + e_addressbook_model_get_card doesn't return NULL. + + * gui/widgets/e-addressbook-model.c + (e_addressbook_model_get_card): Chek that we aren't requesting a + negative row. + + * gui/contact-list-editor/e-contact-list-editor.c (add_email_cb): + Move to the bottom of the scrolled window, so we can see the + address we just added. + (table_drag_data_received_cb): Move to the bottom of the scrolled + window, so we can see the contact we just dropped. + + * gui/component/addressbook.c (addressbook_factory_new_control): + We don't own the string returned by e_categories_master_list_nth, + so terrible things will happen if we free it. (Bug 10916) + +2001-10-05 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_set_arg): + don't set the editable field on the model - let the book do that. + (book_writable_cb): call writable_status to propagate a ui-change + event up (and sensitize the write-only toolbar buttons after you + authenticate with ldap.) + +2001-10-04 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book.c (activate_factories_for_uri): for some + reason, matching on protocol is causing problems for me. + disabling it for now. + +2001-10-04 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c: use ldap.png for ldap + contacts. + +2001-10-03 Iain Holmes <iain@ximian.com> + + * addressbook/gui/component/addressbook-storage.c + (addressbook_storage_setup): Only load_storages if you have LDAP. + (load_source_data): Only do stuff if you have LDAP. + +2001-10-03 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c (addressbook_height), + gui/widgets/e-minicard.c (remodel): Fixed these to determine the + fields to use properly. + +2001-10-02 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (name_style_query): Strip out commas before forming our query. + (match_name): Use e_card_compare_name_to_string_full, rather + than our crufty old matching code. Not only is this cleaner, + but that crufty old code was very broken when it came to + handling strings with whitespace. (Bug 8988) + (match_nickname): utf8 and bug fixes. + + * backend/ebook/e-card-compare.c + (e_card_compare_name_to_string_full): Added. This is basically + e_card_compare_name_to_string with a bunch of extra options, so + that it can more readily be reused in other contexts. + (e_card_compare_name_to_string): This is now just a call to + e_card_compare_name_to_string_full with the extra args filled in + to defaults that simulate the old behavior. + +2001-10-02 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book.c (e_book_construct): remove most of the + oaf stuff from here. we do it in load_uri, where we'll have more + information (namely, the protocol we're using.) + (activate_factories_for_uri): do an oaf query to get a list of all + objects implementing our BookFactory interface and also supporting + the protocol used in the uri. + (e_book_load_uri): try activating book factories to handle this + uri, and start the iteration over the list. + (e_book_load_uri_from_factory): try and load the uri. + (e_book_load_uri_open_cb): callback function for the + BookFactory_openBook call - if it succeeds, call the user's + callback. otherwise step to the next factory. + (e_book_load_uri_step): go to the next factory in our list, and + error out if there are no more. + +2001-10-02 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_get_textification): Made the max length of + the textification be 2047 characters. Fixes Ximian bug #3021. + +2001-10-01 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (ecard_from_remote_record): if there + was no first name or last name, file as the company. + +2001-10-01 JP Rosevear <jpr@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_changes_foreach_key): if there is a db error, + assume deletion + (pas_backend_file_changes): write after all is done for efficiency + +2001-09-28 JP Rosevear <jpr@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_changes_foreach_key): g_strdup + (pas_backend_file_changes): ditto, make sure to free all data and + do a hash write after each add/remove + + * conduit/address-conduit.c (local_record_to_pilot_record): use + the local record category + (local_record_from_ecard): ndle the fields and category we don't + sync by making sure we don't overwrite them + +2001-09-27 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book.c (e_book_construct): do an oaf query to + get a list of all objects implementing our BookFactory interface, + instead of just activating the one IID. this should really be a + global list, not a per EBook. + (e_book_load_uri): start the iteration over our list of + BookFactory's. + (e_book_load_uri_from_factory): try and load the uri. + (e_book_load_uri_open_cb): callback function for the + BookFactory_openBook call - if it succeeds, call the user's + callback. otherwise step to the next factory. + (e_book_load_uri_step): go to the next factory in our list, and + error out if there are no more. + +2001-09-27 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (local_record_from_ecard): use the old + record (if there was one) so as not to overwrite fields we don't + sync + (pre_sync): store the dbi in the context and don't make it object + data + +2001-09-26 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-book-factory.c (pas_book_factory_destroy): use + priv->iid instead of the hardcoded string here. + (pas_book_factory_activate): parameterize the factory's iid, as in + the calendar server, and provide a default if iid == NULL. + + * backend/pas/pas-book-factory.h: add iid parameter for + pas_book_factory_activate. + +2001-09-26 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (e_destination_get_textrep): Use + camel_address_format, not camel_address_encode. + +2001-09-26 Anna Marie Dirks <anna@ximian.com> + + * gui/contact-editor/contact-editor.glade: Added help text (thanks + to Aaron) and re-worded the labels, and fixed the shortcuts on the + brand-spanking-new Collaboration tab. + + +2001-09-26 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-manager.h: add + completion_book. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_new): get /Addressbook/Completion/uri, and + if it's present, use the corresponding EBook for completing + addresses. + (focus_out_cb): use manager->completion_book here instead of NULL, + which corresponds to the local addressbook. + (completion_popup_cb): same. + (e_select_names_manager_create_entry): same. + +2001-09-26 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-card-compare.c (e_card_compare_name_to_string): + Properly handle names when the individual elements (given, + addition, family) contain whitespace. (Bug #10502) + + * backend/ebook/e-destination.c (e_destination_set_name): Reset + textrep when we change the name. + (e_destination_set_email): Reset textrep when we change the email. + (e_destination_get_textrep): Make sure that the textrep version of + the address is properly quoted if it contains unsafe characters. + (All related to bug #10796) + + * gui/component/select-names/e-select-names-completion.c + (match_nickname): Fix nickname matching. (bug #9698) + (make_match): Use e_completion_match_new when building our match, + rather than ad hoc manipulation of the struct. + +2001-09-26 JP Rosevear <jpr@ximian.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_changes): set + the last_use and use_score fields of the card to known values so + the card doesn't register as changed when only they have changed + +2001-09-26 Peter Williams <peterw@ximian.com> + + * conduit/address-conduit.c (ecard_from_remote_record): Fix this function + to set email addresses properly, and handle multiple occurrences of + email addresses, home phone numbers, and business phone numbers. + +2001-09-25 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook-component.c (user_create_new_item_cb): + Handle creating the new contact in the current folder if it's a + contacts folder. Fixes Ximian bug #7814. + +2001-09-24 Chris Toshok <toshok@ximian.com> + + * backend/pas/Makefile.am (LDAP_SCHEMA): add + evolutionperson.schema + (EXTRA_DIST): add LDAP_SCHEMA to the dist (but don't install it). + +2001-09-23 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (ecard_from_remote_record): sync the + note the to pilot and make sure to blank fields when appropriate + (local_record_from_ecard): sync the note to the desktop + +2001-09-22 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c (do_create): g_free (id) in the + error case to plug a memory leak. + +2001-09-22 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard.c (remodel): when creating the cards, + don't display any of the subname fields (surname, given, middle, + suffix, etc.) + +2001-09-22 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-card-simple.c + (e_card_simple_get): add getters for the additional name fields. + (field_data): move FAMILY_NAME to the end of the list, and add + GIVEN_NAME, ADDITIONAL_NAME (middle name), and NAME_SUFFIX. + + * backend/ebook/e-card-simple.h: same. + +2001-09-21 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook.c (print_preview_cb): Hooked up print + preview button. + + * gui/widgets/e-addressbook-view.c, + gui/widgets/e-addressbook-view.h + (e_addressbook_view_print_preview): Added this function. + + * printing/e-contact-print.c, printing/e-contact-print.h + (e_contact_print_preview): Added this function. + +2001-09-19 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (name_and_email_simple_query_cb): + Use the default e-mail address if we have nothing else to go on. + Previously we just failed, which basically meant that name-only + searches would never work properly. + (nickname_simple_query_cb): The logic was a bit tangled here; if + our query status isn't SUCCESS, always give up but don't leak the + destination. And if our nickname query fails and we try the + name-and-email query, use the textrep for a name-only search. The + only reason we are doing a nickname query in the first place is if + we have an obviously invalid e-mail. + (launch_cardify_query): Use e_destination_is_valid to determine + if we should try a nickname query first. + These changes basically fix bug 7728, and generally make the + auto-cardification of addresses a lot more clever and robust. + + * backend/ebook/e-book-util.c (name_and_email_cb): Use + e_card_compare_name_to_string instead of e_card_name_match_string. + (e_book_name_and_email_query): The arguments to g_strsplit were + in the wrong order. Doh! + + * backend/ebook/e-card-compare.c (e_card_compare_name_to_string): + Added. Replaces e_card_name_match_string, and actually works. + + * backend/ebook/e-card.c: Removed e_card_name_match_string + function, which didn't work particularly well. + +2001-09-19 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (cursor_cb): don't add to the complete + list of cards if the card is a list + (card_added): don't add to the list of changes if the card is a + list + (card_changed): ditto + (card_removed): ditto + +2001-09-19 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_hookup_shell_listeners): Change the "this should + never happen" message into a request for people to e-mail me + directly with info if they encounter that error. + + * backend/ebook/e-book-util.c (e_book_name_and_email_query): + Freeing name[i] instead of namev[i] is a bad idea. (bug #10270) + + * gui/component/select-names/e-select-names-popup.c + (popup_menu_card): Properly handle our GnomeUIInfo labels so that + they won't be leaked if they are dynamic strings, so that they + will be i18n-correct, and so that underscores won't be interpreted + as key accelerators. What a PITA. Also, don't leak our + iterators. (Bug #10200.) + (popup_menu_list): The same GnomeUIInfo tweaking as in + popup_menu_card. + (popup_menu_nocard): Ditto. + +2001-09-18 JP Rosevear <jpr@ximian.com> + + * backend/ebook/e-card-simple.c (field_data): add caluri field data + + * backend/ebook/e-card.c (e_card_get_vobject): add the caluri + property when appropriate + (parse_caluri): handle read caluri + (e_card_class_init): add caluri arg + (e_card_destroy): free the caluri + (e_card_get_arg): return caluri arg + (e_card_set_arg): set caluri from arg + (e_card_init): init caluri to null + + * backend/ebook/e-card-simple.h: new simple field + + * backend/ebook/e-card.h: new member + + * gui/contact-editor/e-contact-editor.c (field_changed): util + callback to change the command state + (set_entry_changed_signal_field): hook up a change signal to above + (set_entry_changed_signals): use above function + + * gui/contact-editor/e-contact-editor.glade: Add collaboration + page and fields + +2001-09-18 JP Rosevear <jpr@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_build_cards_list): create a sexp and check if + the cards match before adding them to the list + (pas_backend_file_process_get_cursor): send extra param + +2001-09-18 Larry Ewing <lewing@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (book_query_process_card_list): unref the destination regardless + of whether we get an email addresss. + +2001-09-17 Larry Ewing <lewing@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (name_style_query): use g_strfreev. + (match_name): s/g_free/g_strfreev. + (match_file_as): s/g_free/g_strfreev. + + * backend/ebook/e-book-util.c (e_book_name_and_email_query): fix + the memory handling here. All there members of the vector need to + be freed all the time. + + * backend/ebook/load-pine-addressbook.c (parse_line): free the + string outside of the test that makes sure there are three + entries. + + * gui/component/select-names/e-select-names-completion.c + (match_nickname): don't malloc a match we will never use. + + * gui/widgets/e-addressbook-model.c (get_view): free the dup'd + capabilities. + +2001-09-17 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (e_destination_is_valid): We want + to assume that a destination that comes from a card is + automatically valid, but the right way to check that is by calling + e_destination_from_card, not by checking if dest->priv->card != + NULL. (Fixed bug #10017) + + * gui/component/select-names/e-select-names-completion.c + (match_name): Fixed a stupid bug was causing completion to fail + for contacts who have only one name. (The classic example we all + know and love is 'George <jirka@5z.com>') (bug #8353) + + * backend/ebook/e-card.c (e_card_list_send): Do the right thing if + the card we are trying to send to has no valid e-mail addresses. + (bug #10137) + + * gui/widgets/e-minicard.c (e_minicard_event): Code implicitly + assumed that event->button.button is 1, 2, or 3, causing disaster + when using a wheel-mouse. Fixed. (bug #9400) + +2001-09-16 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c (_phone_arrow_pressed): + use enable_widget instead of gtk_widget_set_sensitive. + (_email_arrow_pressed): same. + (_address_arrow_pressed): same. + (disable_widget_foreach): same. + (enable_writable_fields): same. + (set_editable): same. + (enable_widget): new function, using both gtk_widget_set_sensitive + and *_set_editable to allow the user to select text in GtkEntry's + and GtkText's. + + * gui/contact-editor/e-contact-editor-fullname.c + (e_contact_editor_fullname_set_arg): use set_editable as well as + set_sensitive, to allow the user to select text in GtkEntry's. + + * gui/contact-editor/e-contact-editor-address.c + (e_contact_editor_address_set_arg): same. + +2001-09-16 Chris Toshok <toshok@ximian.com> + + * backend/pas/evolutionperson.schema: fix syntax errors (which are + broken, imo...) + +2001-09-16 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-storage.h: reorder the LDAP scopes so + that they match the order of the option menus in the glade file. + + * gui/component/addressbook-config.c (auth_checkbutton_changed): + new function, mostly there to house some #ifdef'ed out code. + (option_menuitem_activated): new function, to keep track of + changes to the ldap scope optionmenu. + (addressbook_source_dialog_set_source): set the menu history as + well as the dialog's copy of the scope. + (addressbook_source_dialog_get_source): fill in the source's scope + from the dialog's copy, and add more #if the_ui_gods_smile_on_me + code. + (add_activate_cb): new function, add an activate callback for the + optionmenu's items. + (addressbook_source_dialog): more #if the_ui_gods_smile_on_me + code, always start the dialog on page 0, and hook up the + scope optionmenu's items. + +2001-09-15 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-card-compare.c (e_card_compare_name): No + loose name matches on family names. (#8802) + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_activate_obj): We can't use NULL as the + first arg for e_addressbook_show_contact_editor anymore. Damn. + (#8535) + + * backend/ebook/e-book-listener.c (e_book_listener_stop): Make + "stop" do nothing but set the stopped flag, as in + e-book-view-listener.c. + (e_book_listener_destroy): Clean up our queue here, rather than in + e_book_listener_stop. + (response_free): Added. Move the rather lengthy bit of code + needed to free a EBookListenerResponse into one place. + (e_book_listener_check_queue): Properly deal with the stopped + flag. + (e_book_listener_queue_response): If the stopped flag is set, just + drop the incoming response. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_stop): Make "stop" do nothing but set the + stopped flag. + (e_book_view_listener_destroy): Move all of the clean-up that used + to be in e_book_view_listener_stop here. This considerably simplifies + the logic required to avoid various race conditions. + (e_book_view_listener_check_queue): Properly deal with the stopped flag. + (e_book_view_listener_queue_response): Drop all incoming responses if + we are stopped. + +2001-09-14 Jon Trowbridge <trow@ximian.com> + + * backend/pas/pas-book.c (pas_book_queue_request): Hold a + reference to the book on behalf of our idle function. + (pas_book_check_queue): When we are finished, drop the reference + we've been holding on behalf of the idle function. + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_create_card): Hold a reference to the + book_view while sending our notifications. + (pas_backend_file_process_remove_card): Hold a reference to the + book_view while sending our notifications. + + * gui/contact-editor/e-contact-quick-add.c (quick_add_unref): Remove + debugging spew. + + * backend/ebook/e-book-util.c: Remove a lot of unused code that + worked around bugs that have long since been fixed. + (simple_query_disconnect): Added. Breaks out the part of + simple_query_free that disconnect signals. + (simple_query_free): Replace code w/ a call to + simple_query_disconnect. + (simple_query_sequence_complete_cb): Call simple_query_disconnect + before executing the callback, so that our callbacks don't get + triggered by any book changes that might occur during that + callback. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_check_queue): Changed to be consistent with + e_book_listener_check_queue. + (e_book_view_listener_queue_response): Also changed to use a + high-frequency timeout. + + * backend/ebook/e-book-listener.c (e_book_listener_check_queue): + OK, I've agonized over this stupid little function, and it should + now be race-free. + (e_book_listener_queue_response): We process our response queue in + a high-frequency timeout rather than an idle. Using an idle + function leads to some tricky race conditions and bad interactions + with bonobo's semi-broken attempts to take over event processing. + (e_book_view_listener_stop): Manually disable our timeout and + clean up. + +2001-09-14 Ettore Perazzoli <ettore@ximian.com> + + [Automake 1.5 fixes pointed out by Richard Boulton + <richard@tartarus.org>, as per #9258.] + + * gui/component/select-names/Makefile.am: Set CLEANFILES directly + instead of using `+='. + + * backend/pas/Makefile.am: Rename `LDAP_BACKEND_SOURCES' to + `LDAP_BACKEND_FILES'. + + * backend/ebook/Makefile.am: Set CLEANFILES directly instead of + using `+='. + +2001-09-13 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_connect): use + ldap_init. ldap_open is deprecated in openldap 2.x. + +2001-09-12 Iain Holmes <iain@ximian.com> + + * backends/ebook/evolution-vcard-importer.c (check_file_is_vcard): + Fix the check. + +2001-09-12 Larry Ewing <lewing@ximian.com> + + * backend/ebook/e-destination.c: free the values that are being + leaked here. + +2001-09-12 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c (match_email): + printf arguments were reversed by mistake. Fixed bug #9693. + +2001-09-09 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-popup.c + (popup_menu_list): Added. Treat right-clicks on a contact list as + a special case. + (e_select_names_popup): Check if we are dealing with a contact + list. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_check_queue): See + e_book_listener_check_queue below. + (e_book_view_listener_queue_response): See + e_book_listener_queue_response below. + + * backend/ebook/e-book-listener.c (e_book_listener_check_queue): + Explicitly prohibit reentrancy. Use gtk-unref rather than + bobobo-unref. + (e_book_listener_queue_response): Hold a gtk-ref to the listener + while the idle function runs, not a bonobo-ref. As far as I can + tell, it is impossible to avoid a race condition here when we have + to worry about bonobo reentrancy. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_insert_length): Alter a copy of the + original EDestination, rather than just using a new one. We need + to do this to preserve prior-card information for possible + reversion later. + (e_select_names_text_model_delete): Ditto. + + * backend/ebook/e-destination.c (e_destination_clear_card): When + clearing a destination where ->card != NULL, store it for possible + reversion later. + (e_destination_revert): If we have an old card stored, go back to + using it for the destination. + (e_destination_is_valid): Tries to detect obviously broken + addresses. + (e_destination_cardify): If our destination is invalid, first try + to cardify simply by reverting to an older card. + (e_destination_destroy): Unref any cached old card. + (e_destination_copy): Copy the old card information. + +2001-09-07 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (sync_table_and_models): Show all rows in the table, and then + remove the rows that correspond to entries in the + ESelectNamesModels in the children. + (real_add_address): Freeze/thaw our ESelectNamesModel, so that we + don't change our table while we are in the middle of iterating + over the selection. + (remove_address): Just delete the address from the + ESelectNamesModel, the signal handler will do the rest. + (selected_rows_foreach_cb): Call remove_address to do our dirty + work. + (e_select_names_add_section): Connect to the 'changed' signal from + the ESelectNamesModel, and call sync_table_and_models explicitly to + get our initial state correct. + + * gui/component/select-names/e-select-names-table-model.c + (fill_in_info): Deal with EDestinations in our table that don't + come from cards. + + * gui/component/select-names/e-select-names-manager.c: Added + another ESelectNamesModel* to the ESelectNamesManagerSection + struct. Called 'original_model', this contains a copy of the + model as it is when we begin using the SelectNames dialog. + (section_copy): Copy the original model. + (section_free): Free the original model. + (e_select_names_manager_add_section_with_limit): Initialize the + original model. + (e_select_names_clicked): I've changed the semantics of this + dialog quite a bit... no UI freeze can stop me! If OK is clicked, + we do nothing. If Cancel is clicked, we revert to the + 'original_model' copy of our address entry state before we started + editting. Finally, we close the dialog before any of thing. Doing + it last caused problems, because signals were being triggered + which had dangling pointers as their closures. + (e_select_names_manager_activate_dialog): Copy our current state + to the original model, and share the same ESelectNamesModel + between the dialog and the address entry in the composer.. + (e_select_names_manager_get_cards): Removed. It had been + #if 0/#endif-ed out for a while. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_freeze): Added. + (e_select_names_model_thaw): Added. + (e_select_names_model_uncardify): Added. If possible, + "uncardifies" a specific model entry. + (e_select_names_model_changed): Changed to pay attention + to the freeze count. + + * gui/component/select-names/e-select-names-completion.c + (clean_query_text): Strip leading/trailing whitespace from + queries. + + * backend/ebook/e-destination.c (e_destination_uncardify): Added. + Converts a card-associated destination into a text-associated + destination w/ the e-mail address. + (e_destination_list_to_vector): Added. A convenience routine. + (e_destination_freev): Added. A convenience routine. + (e_destination_touchv): Added. I'm lazy. + +2001-09-08 Chris Toshok <toshok@ximian.com> + + (make_contact_editor_cb): show the right contact editor (the list + editor for list cards). + +2001-09-08 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-popup.c + (popup_menu_card): do the EDestination xml magic on email + addresses we put in the popup. + +2001-08-27 Zbigniew Chyla <cyba@gnome.pl> + + * gui/component/addressbook.c (addressbook_factory_new_control): + For every category: + - set .translate to FALSE (e_categories_master_list_nth returns + translated category name) + - convert category name in UTF-8 to locale's encoding + +2001-08-23 Zbigniew Chyla <cyba@gnome.pl> + + * gui/component/select-names/e-select-names-popup.c + (popup_menu_card): Fixed two bugs: + - missing coversion of contact name to GTK+ locale, + - passing dynamically created string (contact name) inside uiinfo struct + to gnome-app-helper functions. + Remember: these functions may change strings, trying to translate them! + (popup_menu_nocard): Ditto + +2001-09-07 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook-component.c: Removed unused factory + variable. + +2001-09-06 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-storage.c (notify_listener): new + function, notify the bonobo listener. + (remove_ldap_folder): track change to EvolutionStorage signal. + (create_ldap_folder): same, and make sure the type is + "ldap-contacts". + (load_source_data): folders that we create should have + "ldap-contacts" as their type. + (addressbook_storage_add_source): same. + + * gui/component/addressbook-component.c: (folder_types): add + "ldap-contacts", for display of ldap servers (they get their own + icon, and their own name in the Create New Folder dialog. + (create_view): use IS_CONTACT_TYPE since we support two folder + types now. + (create_folder): same. + (remove_folder): same. + (xfer_folder): same. + +2001-09-06 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c: (pixmaps): change + /Toolbar/ContactEditorSave to /Toolbar/ContactEditorSaveClose. + +2001-09-06 Chris Toshok <toshok@ximian.com> + + * gui/component/Makefile.am (INCLUDES): add -DEVOLUTION_IMAGESDIR. + + * gui/widgets/e-addressbook-view.c (card_deleted_cb): remove + status messages from here. + (e_addressbook_view_delete_selection): same. + + * gui/widgets/e-addressbook-model.c (sequence_complete): emit a + NULL status message along with the stop_state_changed. The null + status message will clear the status bar for this view. + + * gui/component/addressbook.c (set_status_message): use the + EvolutionActivityClient stuff. + + * backend/pas/pas-backend-ldap.c (view_destroy): remove status + message for abandoning a search. + (ldap_op_process_current): wrap status messages in _(). + (ldap_op_process): same. + (create_card_handler): same, and remove the notify_status for "" + and add a notify_complete call after the card is added. + (remove_card_handler): same. + (modify_card_handler): same. + (poll_ldap): wrap status messages with _(), and remove the "Search + Complete" message. + (ldap_search_handler): wrap status message. + + * backend/pas/pas-backend-file.c (pas_backend_file_search): use + _() on status messages, and make sure the last notify_* called is + notify_complete. + +2001-09-05 Ettore Perazzoli <ettore@ximian.com> + + [Fix #958, ShellComponents should not be created by factories, for + the addressbook.] + + * gui/component/addressbook-component.c + (GNOME_EVOLUTION_ADDRESSBOOK_COMPONENT_FACTORY_ID): Removed. + (GNOME_EVOLUTION_ADDRESSBOOK_COMPONENT_ID): New. + (create_component): Renamed from `factory_fn'. Just register the + thing on OAF. + (addressbook_component_factory_init): Just call it. + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: Remove the + ShellComponentFactory. + +2001-09-04 Iain Holmes <iain@ximian.com> + + * backend/ebook/evolution-vcard-importer.c (load_file_fn): Return FALSE + if the file isn't a valid VCard file. + +2001-08-05 Zbigniew Chyla <cyba@gnome.pl> + + I18n fixes (mainly making buttons on the right side less Anglocentric :-) + + * backend/ebook/e-card-simple.c + (field_data): Marked "name" and "short_name" fields for translation. + (e_card_simple_get_name, e_card_simple_get_short_name): Return + localized version of the name (using U_() macro). + + * gui/contact-editor/e-contact-editor.c (set_entry_changed_signals): + Connect "changed" signal from "entry-web" entry to widget_changed. + (changing this field wasn't making "Save and Close" button sensitive) + + * gui/widgets/Makefile.am (glade_DATA): Removed alphabet.glade. + + * gui/widgets/e-addressbook-view.c + (button_labels, button_letters): New strings containing a list of + labels and "values" of all buttons placed on the right side of the + addressbook view (intended for localization). + (struct LetterClosure): Changed the type of letter field to gunichar. + (e_utf8_split): New function, similar to g_strsplit, but operates on + UTF-8 strings. + (jump_to_letter): Don't hardcode letters, build queries dynamically + using UTF-8 and localized letters stored in button_letters. + (connect_button): Removed. + (create_alphabet): Don't use glade file, build buttons manually using + (localized) labels from button_labels. Use (localized) values from + button_letters when creating LetterClosure. + + * gui/widgets/e-minicard-view-widget.[ch] + (e_minicard_view_widget_jump_to_letter): Changed the type of the + second argument from char to gunichar. + + * gui/widgets/e-minicard-view.c + (compare_to_utf_str): Renamed from compare_to_letter, now operates on + UTF-8 string. + (e_minicard_view_jump_to_letter): Changed the type of the second + argument from char to gunichar + conversion to UTF-8 string. + + * gui/widgets/e-minicard-view.h + (e_minicard_view_jump_to_letter): Changed the type of the second + argument from char to gunichar. + +2001-09-02 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book.c (e_book_add_card, e_book_commit_card), + backend/pas/pas-backend-file.c (do_create), + backend/pas/pas-backend-ldap.c + (create_card_handler, remove_card_handler, modify_card_handler, + pas_backend_ldap_process_get_vcard, poll_ldap): Use + e_card_get_vcard_assume_utf8 instead of e_card_get_vcard here + since all internal communications and database storage are assumed + to be utf8. + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h + (e_card_simple_duplicate): Simplified this function considerably. + (e_card_simple_get_vcard_assume_utf8): Added this function. + + * backend/ebook/e-card.c, backend/ebook/e-card.h (e_card_new, + e_card_load_cards_from_file, e_card_load_cards_from_string): Made + these functions pay attention to charset attributes. + (e_card_new_with_default_charset, + e_card_load_cards_from_file_with_default_charset, + e_card_load_cards_from_string_with_default_charset): New functions + that let you change the default charset from UTF-8. + (e_card_get_vcard): Made this write out charset attributes when + necessary. + (e_card_get_vcard_assume_utf8): New function that writes out a + card without writing out charset attributes. + + * backend/ebook/evolution-vcard-importer.c (book_open_cb), + backend/ebook/load-gnomecard-addressbook.c (book_open_cb), + backend/ebook/test-card.c (main), + gui/component/addressbook-component.c + (destination_folder_handle_drop), gui/contact-editor/test-editor.c + (main), gui/contact-list-editor/e-contact-list-editor.c + (table_drag_data_received_cb), gui/widgets/e-addressbook-view.c + (selection_received), gui/widgets/e-minicard-control.c + (pstream_load): Changed the default charset to be used here to + ISO-8859-1. + + * backend/ebook/load-gnomecard-addressbook.c (add_card_cb), + backend/ebook/load-pine-addressbook.c (add_card_cb), + backend/ebook/test-client-list.c (get_cursor_cb), + backend/ebook/test-client.c (get_cursor_cb, get_card_cb): Use + e_card_get_vcard_assume_utf8 to print out testing strings. + + * gui/component/select-names/e-select-names-model.c, + gui/component/select-names/e-select-names-model.h + (e_select_names_model_contains): Changed this to be const + EDestination *dest to fix a warning. + + * gui/contact-editor/e-contact-editor.c (e_contact_editor_init): + Translate window title here. + +2001-08-31 Zbigniew Chyla <cyba@gnome.pl> + + * gui/component/addressbook-storage.c + (addressbook_get_other_contact_storage): s/_/U_/ + + * gui/widgets/e-addressbook-reflow-adapter.c (addressbook_compare): + Use g_utf8_collate. + + * gui/widgets/e-minicard.c (e_minicard_compare): + Ditto. + + * printing/e-contact-print.c (card_compare): + Ditto. + +2001-08-29 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_clicked): Use e_select_names_model_merge to + combine the selected names with any existing ones. This causes + you to not lose addresses typed directly into the entry while the + SelectNames dialog is up. (Bug #8058) + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_merge): Merge the contents of one + ESelectNamesModel into another, avoiding duplicates. + + * backend/ebook/e-destination.c (e_destination_equal): Added. + Determines if two destinations appear to refer to the same + recipient. + + * backend/ebook/e-card.c (e_card_list_send): Added cast to + g_free args to silence compiler warnings. + + * gui/contact-editor/e-contact-quick-add.c (quick_add_set_name): + Paranoia. Check that name != qa->name. + (quick_add_set_email): Check that email != qa->email. + (ce_have_book): Store the QuickAdd data structure in object data, + so that we can be extra-careful and avoid having a dangling + pointer floating around out somewhere as the closure for a signal. + Fixes bug #8155, I think. + (card_added_cb): Clear object data to ensure single unref. + (editor_closed_cb): Clear object data to ensure single unref. + + * gui/component/select-names/e-select-names-completion.c + (book_query_score): Make sure that comp->priv->query_text isn't + NULL. (Fixes bug #8195) + + * backend/ebook/e-book-listener.c (e_book_listener_check_queue): + This function can be re-entrant during the signal emission; Added + extra ref/unrefs and checks to avoid problems if this happens. + This is similar to my recent changes to + e_book_view_listener_check_queue. (Fixes bug #7400) + +2001-08-27 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c: Get rid of a warning by + initializing the closing NULL element in folder_types correctly. + + * gui/component/select-names/e-select-names.c: Updated to match + the studlyCapsification of attributes in shell/Evolution*.idl. + +2001-08-27 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (sexp_file_as): Added. Generated queries against file_as. + (match_file_as): Added. Match results of queries against + file_as. (Bug #8152) + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_check_queue): Added ref/unref pair to make + sure that our listener doesn't get finalized during the signal + emission and leave us with a dangling pointer. (Bug #7661) + + * backend/ebook/e-card.c (e_card_list_send): Removed some debugging + spew that I left in by mistake. + + * gui/widgets/e-addressbook-model.c (create_card): Removed debugging + spew. + + * backend/ebook/e-card.c (e_card_list_send): Do the right thing if + the card we are trying to send to is a contact list. (Bug #6580) + +2001-08-27 Zbigniew Chyla <cyba@gnome.pl> + + * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): + Display localized status string (added missing _()). + +2001-08-24 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (e_destination_set_card): Put a + freeze/thaw around our the set of operations that changes the + internal state of our card, so 'changed' signal callbacks won't be + invoked on a card in an intermediary state. This fixes the bug + that was causing the e-mail addresses in cards to be blank when + replying to a message. (An unexpected side-effect of toshok's + change on 8/22 to make sure that priv->email != NULL). + (e_destination_get_name): Code slightly rearranged for (IMO) + clarity. + +2001-08-23 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard.c (e_minicard_event): add + BUTTON_PRESS_MASK so double clicks still work. + +2001-08-23 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (addressbook_query_changed): switch + "full_name" to "x-evolution-any-field" in all the queries where we + want to match all cards, since the backends universally handle + this special case more efficiently. + +2001-08-22 Jon Trowbridge <trow@ximian.com> + + * gui/contact-list-editor/e-contact-list-editor.c (extract_info): + In the GUI, the toggle is labelled "hide addresses", not "show + addresses" -- so we have to reverse the boolean value we read in. + (fill_in_info): Same bug as before: since the GUI reads "hide", we + have to initialize the toggle to '!show_addresses', not + 'show_addresses'. + + * backend/ebook/e-destination.c + (e_destination_list_show_addresses): Added. + (e_destination_xml_encode): Encode the value of + e_destination_list_show_addresses into the XML. + (e_destination_xml_decode): Read and store the "show_addresses" + flag. + +2001-08-22 jacob berkman <jacob@ximian.com> + + * gui/component/e-address-popup.c (emit_event): emit an event from + our event source + (contact_editor_cb): emit a destroy event so our control frame can + be destroyed. + (edit_contact_info_cb): emit a hide event so our control frame can + be hidden + (e_address_popup_cardify): + (add_contacts_cb): emit the destroy event + (e_address_popup_factory_new_control): don't unref our object at + widget destroy time as that was really really broken + (e_address_popup_factory_new_control): create an event source and + aggregate ourself with it + + * gui/contact-editor/e-contact-editor.c (enable_writable_fields): + display a nicer warning when we can't find a widget for a given + field + (e_contact_editor_raise): only raise if there is a window + + * gui/contact-editor/contact-editor.glade: name some widgets that + got unnamed, and set the first entry as defaultable + + * gui/contact-editor/e-contact-editor.c: envelope printing is + disabled in 1.0 + +2001-08-22 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-destination.c (e_destination_get_email): make + sure we don't get into a situation where priv->email == NULL. + +2001-08-21 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard.c (e_minicard_event): if we're dragging, + drag_button_down won't be true in the BUTTON_RELEASE case, since + we set it to false in MOTION_NOTIFY once the threshold is reached. + (e_minicard_drag_end): remove this function, since it was needed + to work around a bug in gnome-canvas. + +2001-08-20 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_addressbook_create_ebook_table): Wrap our addressbook table + adapter in an ETableWithout, so that we can make addresses appear + and disappear when we remove/add them to the section lists + (To/Cc/Bcc) on the right of the dialog. + (real_add_address_cb): When we add an address, hide it in the main + list. + (e_select_names_init): Get pointer to our without table from the + table's object data, and store it. + (remove_address): When we remove an address, show it in the main + list. + (card_key): Added. Allocate a unique key from an ECard. + (esn_get_key_fn): Added. Callback for ETableWithout. + (esn_dup_key_fn): Added. Callback for ETableWithout. + (esn_free_gotten_key_fn): Added. Callback for ETableWithout. + (esn_free_duped_key_fn): Added. Callback for ETableWithout. + + * backend/ebook/e-card-simple.c (e_card_simple_get): Changed + E_CARD_SIMPLE_FIELD_NAME_OR_ORG to first try the FILE_AS + type. This allows the cards in the ESelectName dialog to + appear in proper sort order (i.e. as 'Doe, John' rather than + 'John Doe'). Fixes ximian #6002. + +2001-08-20 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c + (e_addressbook_reflow_adapter_class_init): fix arg info - we're + only passing 1 GTK_TYPE_POINTER arg, not 2. + + * gui/widgets/e-minicard.c (e_minicard_event): lots of fixes for + DnD. For GDK_BUTTON_PRESS, we grab immediately. For + GDK_BUTTON_MOTION, we start the drag after a certain threshold, + and connect to the "drag_end" signal on our canvas so we'll know + when the drag is complete. For GDK_BUTTON_RELEASE, we release the + grab if we were dragging and get the event. + (e_minicard_drag_end): new function, just remove the pointer/gtk + grabs and disconnect. + + * gui/widgets/e-minicard.h (struct _EMinicard): add "gint + drag_button" + +2001-08-20 JP Rosevear <jpr@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_changes_foreach_key): use DB_NOTFOUND const + +2001-08-20 JP Rosevear <jpr@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_get_changes): null out card_sexp so that + we don't crash when copying + +2001-08-20 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c: fix warnings, get compiling again + + * conduit/address-conduit-config.h: remove c/p typos + + * conduit/address-conduit.h: ditto + + * conduit/Makefile.am: link against the static camel + +2001-08-20 Damon Chaplin <damon@ximian.com> + + * gui/contact-editor/e-contact-editor.c: use bigger Save icon for + toolbar. Used Delete icon in menu. + + * gui/component/addressbook.c: use 'Save As' icon rather than 'Save' + as it seems more appropriate. Also added delete icon for menu. + +2001-08-19 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c: Update the folder list to + include a display name and a description. + +2001-08-19 Damon Chaplin <damon@ximian.com> + + * gui/component/addressbook.c: use new Cut/Copy/Paste/Save/Search + icons. + +2001-08-19 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook.c (set_folder_bar_label), + gui/widgets/e-addressbook-model.c, + gui/widgets/e-addressbook-model.h (update_folder_bar_message), + gui/widgets/e-addressbook-view.c, gui/widgets/e-addressbook-view.h + (folder_bar_message): Set the folder bar message here. Fixes + Ximian bug #4670. + + * gui/component/select-names/e-select-names-model.c (SEPLEN): Use + strlen(SEPARATOR) here so that if the separator changes the length + will work properly. + +2001-08-19 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/fulladdr.glade: Added full country list. + Fixes Ximian bug #5123. + +2001-08-18 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c: Hook up `delete-message.png' as the + icon for "ContactDelete". + * gui/contact-editor/e-contact-editor.c: Likewise. + +2001-08-17 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-storage.h: add prototype for + addressbook_get_other_contact_storage. + + * gui/component/addressbook-storage.c + (addressbook_get_other_contact_storage): rename register_storage + to this, and return the EvolutionStorage. + (load_source_data): register_storage => + addressbook_get_other_contact_storage. + (addressbook_storage_add_source): register_storage => + addressbook_get_other_contact_storage. + +2001-08-17 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c + (set_entry_changed_signals): connect to the "changed" signal on + "entry-web" to update command state. + +2001-08-17 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/e-contact-list-editor.c (list_added_cb): + call e_card_set_id on the list's card so we can continue to use + this dialog. also, call command_state_changed if we aren't + closing the dialog so the toolbar is properly sensitized. + (list_deleted_cb): always close the dialog after we successfully + delete a list. + + * gui/contact-editor/e-contact-editor.c (card_added_cb): call + e_card_set_id on the card so we can continue to use this dialog + (to modify or delete the card.) + (card_deleted_cb): always close the dialog after we successfully + delete a card. + +2001-08-17 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (addressbook_query_changed): call + e_sexp_encode_string on the search string the user types in so it + doesn't break sexp parsing in the wombat. + +2001-08-17 Damon Chaplin <damon@ximian.com> + + * gui/component/addressbook.c: changed to new print icon. + +2001-08-17 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names.c: (struct + ESelectNamesFolder): rename physical_uri to uri, since it includes + the addressbook.db for file: uris. + (e_select_names_folder_free): physical_uri => uri. + (e_select_names_option_activated): physical_uri => uri, and we + don't need to strdup_printf "addressbook.db" onto the end anymore. + (new_folder): if the physical_uri is a file: uri, append + /addressbook.db onto it. + (hookup_listener): new function, split out lots of code from + e_select_names_hookup_shell_listener. + (e_select_names_hookup_shell_listeners): rename + e_select_names_hookup_shell_listener to this, and hookup both the + local and "Other Contacts" listener, using hookup_listener. + (e_select_names_destroy): disconnect from the + other_contacts_listener and unref it. + + * gui/component/select-names/e-select-names.h (struct + _ESelectNames): add a listener for Other Contacts, and rename + "listener" to "local_listener." + +2001-08-17 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_seq_complete_cb): If we get the + "sequence_complete" signal when we aren't searching, it means the + addressbook changed out from under us. Clear the search cache, so + that future completion requests won't use the out-of-date cached + data. Also, don't unref book_view... we leave the EBookView open + so that we can catch these addressbook changes. + (e_select_names_completion_do_query): Don't use the book_view + being non-NULL as a sign that another query is still running. + (e_select_names_completion_got_book_view_cb): Properly unref any + previous value in book_view. + +2001-08-17 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c + (e_addressbook_reflow_adapter_right_click), + gui/widgets/e-addressbook-view.c (table_right_click): Changed the + messages here in the right click menus. + +2001-08-17 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (view_destroy): unref our + card_sexp. + (create_card_handler): make sure to set the id of the vcard so it + gets properly transmitted back to the BookView, and notify all + matching BookViews to add the created card. + (remove_card_handler): notify all matching BookViews to remove the + card. + (modify_card_handler): notify all matching BookViews to modify the + card. + (pas_backend_ldap_process_get_book_view): init card_sexp based on + the view's search. + +2001-08-17 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_book_view_copy): use card_sexp. + (pas_backend_file_book_view_free): same. + (vcard_matches_search): use the new pas_backend_card_sexp_match_vcard call. + (pas_backend_file_search): use card_sexp. + (pas_backend_file_process_get_book_view): same. + + * backend/pas/Makefile.am (libpas_a_SOURCES): add + pas-backend-card-sexp.[ch]. + +2001-08-17 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook-component.c (factory_fn): Added code + so the user can create a new contact or contact list from anywhere + in evolution. + +2001-08-16 Jeffrey Stedfast <fejj@ximian.com> + + * backend/pas/evolutionperson.schema: Added a closing paren. + +2001-08-16 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_handle_request): Renamed from _begin to + match changes in gal 0.10.99.3. + + * gui/contact-editor/e-contact-quick-add.c (e_contact_quick_add): + Check that name != NULL before we start messing with it. + (Fixes bug #7329) + +2001-08-16 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (match_nickname): Boost scoring on an exact nickname match. + Manually addressify match. + (match_name): Manually addressify matches. + (book_query_score): Remove automatic addressification. + + * gui/component/addressbook.c (addressbook_query_changed): Minor + tweak to avoid a crash if we have a negative subid with id + ESB_CATEGORY. This should never happen. + (addressbook_menu_activated): Reset the entry/option when we + select "Clear". + Some changes to reflect renaming in ESearchBar. + + * gui/component/select-names/e-select-names-bonobo.c + (entry_set_property_fn): Cardify after importing destinations. + This might fix a problem that Damon is having. + +2001-08-15 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.glade: set title of initial + dialog to Addressbook Sources (bug #6704). + +2001-08-15 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-storage.c (create_ldap_folder): don't + let people add subdirs in the ldap server storage - everything is + toplevel there. + +2001-08-14 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_get_vcard): implement using + search_for_dn. + +2001-08-14 Federico Mena Quintero <federico@ximian.com> + + * gui/component/addressbook.c (addressbook_factory_new_control): + Tell the search bar to translate the subitem texts. + +2001-08-14 Jon Trowbridge <trow@ximian.com> + + * gui/component/addressbook.c (addressbook_factory_new_control): + Add "Any Category" option for category searches. + (addressbook_query_changed): Do the right thing on an + "Any Category" search. + +2001-08-14 Dan Winship <danw@ximian.com> + + * backend/pas/pas-backend-ldap.c: Fix up to match the + pas_book_new/get_vcard changes. + +2001-08-14 Christopher James Lahey <clahey@ximian.com> + + * gui/merging/e-card-merging-book-commit-duplicate-detected.glade: + Got rid of an extraneous _ here. + + * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): + Changed Canceled to Cancelled here. Fixes Ximian bug #2465. + +2001-08-14 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-book.c (pas_book_respond_get_vcard): Oops, + forgot to write this function. + +2001-08-14 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/contact-editor.glade: Added focus targets + here. Fixes part of Ximian bug #5843. + +2001-08-14 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/e-contact-editor.c (e_contact_editor_init): + Grab focus here. Fixes Ximian bug #2265. + +2001-08-14 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook.c (addressbook_factory_new_control): + (addressbook_query_changed): Fixed two const warnings here. + + * printing/e-contact-print-envelope.c, + printing/e-contact-print-envelope.h: Fixed some missing includes + here. + +2001-08-14 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book-view.c (add_book_iterator): Call + e_card_set_book here. + + * backend/ebook/e-book.c (e_book_do_response_get_vcard): Call + e_card_set_book here. + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Pulled out the + part where the uri is made part of the uid. Made uri a separate + field. Fixes Ximian bug #6490. + + * backend/ebook/e-destination.c, backend/ebook/e-destination.h: + Change this to use ECard's split uids and uris. + +2001-08-13 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (add_to_supported_fields): don't + g_strdup the stuff we're passing into e_list_append, since it does + the copy for us. + (check_schema_support): don't initialize supported_fields list + here, since there's a gross case where the programmer/user can + bring up the contact editor before the connection stuff is + finished, and we don't want to crash. + (pas_backend_ldap_init): move it here to we can guarantee it's + there. (bug #6546). + +2001-08-13 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c + (addressbook_source_dialog_set_source): don't access source->auth + if source == NULL (bug #7086). + +2001-08-13 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book-listener.c, + backend/ebook/e-book-listener.h, backend/ebook/e-book.c, + backend/ebook/e-book.h, backend/idl/addressbook.idl, + backend/pas/pas-backend-file.c, backend/pas/pas-book.c, + backend/pas/pas-book.h: Changed get_card to be asyncronous. + + * backend/ebook/e-card.c, backend/ebook/test-client.c: Changed + these to deal with the new get_card functionality. + +2001-08-11 Kjartan Maraas <kmaraas@gnome.org> + + * gui/component/select-names/e-select-names.c: Mark a string for translation. + * This fixes bug #7052 + * printing/e-contact-print.h: Add headers to make it stand on itw own. + * printing/e-contact-print.c: Marked some strings for translation. + * printing/e-contact-print-envelope.c: Same here. + +2001-08-10 Jon Trowbridge <trow@ximian.com> + + * gui/contact-editor/e-contact-quick-add.c (e_contact_quick_add): + Remove single- or double-quotes from names before sticking them + into the addressbook. (Bug #6499) + + * gui/component/addressbook.c (addressbook_query_changed): + Properly handle "Category is" queries by checking the search bar + suboption. + (addressbook_factory_new_control): Attach subitems corresponding + to all wombat categories to the "Category is" ESearchBarItem. + + * gui/component/addressbook.c: Set the ESearchBarItem + subitems explicitly to NULL. + +2001-08-10 Anna Marie Dirks <anna@ximian.com> + * gui/component/select-names/select-names.glade: did a little + packing-magic to get the two tables at bottom of this dialog + to seem to line up. + + *gui/component/select-names/e-select-names.c: changed the title + of this dialog to "Select Contacts from Addressbook". + +2001-08-09 Anna Marie Dirks <anna@ximian.com> + * gui/component/select-names/select-names.glade: redesigned + this dialog to fix bug #6815. + + *gui/component/select-names/e-select-names.c: connected the + widgets (or one of them anyway. clahey did the rest) for my + new and lovely glade file. + +2001-08-09 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c: remove passwd_cb. + +2001-08-09 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-text-model.c + This change is dedicated to Jacob Berkman. + (e_select_names_text_model_insert_length): If the last character + we inserted was a "magic comma", remember its position. + (e_select_names_text_model_delete): If the last character we + inserted was a "magic comma", and if the next thing we do is to + hit backspace, delete both the comma and the extra whitespace we + added. + (e_select_names_text_model_init): Initialize our last magic comma + position. + +2001-08-09 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_create_entry): Hook up some magic to + (basically) cardify an entry on focus-out. (What we do is actually + more complicated than that.) + + * gui/component/select-names/e-select-names-bonobo.c + (entry_set_property_fn): After we set an entry's text, try to + cardify it. We need to do this so that (for example) reply + e-mails get properly cardified. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_duplicate): Use e_select_names_model_append, + rather than manipulating lists directly. + (e_select_names_model_insert): Connect "changed" signal proxy for + added EDestination. + (e_select_names_model_append): Ditto. + (e_select_names_model_replace): Ditto, and disconnect signals for + replaced EDestination. + (e_select_names_model_delete): Ditto on the disconnection. + (e_select_names_model_delete_all): Ditto. + (e_select_names_model_cardify): Added. Try to cardify a specified + EDestination. + (e_select_names_model_cancel_cardify): Added. Cancel the pending + cardification of a single EDestination. + (e_select_names_model_cardify_all): Added. Cardify all of the + EDestinations in the model. + (e_select_names_model_cancel_cardify_all): Added. Cancel's any + and all pending cardifications. + + * backend/ebook/e-destination.c (e_destination_class_init): Added + "changed" and "cardified" signals. + (e_destination_freeze): Added (static). + (e_destination_thaw): Added (static). + (e_destination_clear_card): Reset allow_cardify and + cannot_cardify, cancel any pending cardifications, and emit the + "changed" signal. + (e_destination_clear_strings): Emit the "changed" signal. + (e_destination_clear): Do freeze/thaw to prevent multiple signal + emissions. + (e_destination_set_card): Check that the card we are setting is + not equal to the current card, and emit the "changed" signal if we + are actually changing. + (e_destination_set_card_uri): Emit "changed" signal, if necessary. + (e_destination_set_name): Emit "changed" signal, if necessary. + (e_destination_set_email): Emit "changed" signal, if necessary. + (e_destination_set_html_mail_pref): Emit "changed" signal, if + necessary. + (use_card_cb): If we've just loaded/set the ECard, emit the + "changed" signal. + (e_destination_set_raw): Emit "changed" signal, if necessary. + (e_destination_allow_cardification): Added. + (e_destination_set_allow_cardification): Added. + (e_destination_cardify): Added. Tries to automatically convert + a string-based EDestination to one based on an ECard. + (e_destination_cardify_delayed): Added. Cardifies in a timeout. + (e_destination_cancel_cardify): Added. Cancels any pending + cardifications. + (e_destination_xml_decode): Added freeze/thaw. + + * backend/ebook/e-book-util.c (e_book_nickname_query): Added. A + canned simple query for nicknames. + + * backend/ebook/e-card.c (e_card_email_find_number): Added. Given + a card and an string containing an email address, return the index + number of the address inside of the card, or -1 if the address is + not found. + +2001-08-09 Chris Toshok <toshok@ximian.com> + + [ Fixes ximian bugs #5080, #6021, #6704, #6705 ] + + * gui/component/addressbook.c (book_open_cb): create our own + dialog that prompts for both the email address and the password. + the email address is stored in the source and filled in for the + user after the first time they enter one and press OK. + + * gui/component/addressbook-storage.c (create_ldap_folder): has a + return value, not a int* parameter. + (create_ldap_folder): new function, we can create ldap servers + from the File->New->Folder menu item now. + (register_storage): hook up the "create_folder" signal. + (addressbook_storage_init_source_uri): remove the file case, we + only build ldap uris here. + (load_source_data): remove the file source stuff, and handle + "emailaddr". + (save_source_data): call ldap_source_foreach directly. + (addressbook_source_free): remove file source stuff. + (addressbook_source_copy): same. + + * gui/component/addressbook-storage.h: get rid of all the file + source stuff from AddressbookSource, since this is only being used + for ldap servers. + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_authenticate_user): look up the ldap + entry based on the provided email address and use the resulting + DN/passwd to authenticate. + + * gui/component/addressbook-config.c: pretty much gutted to make + it work with the new UI. + + * gui/component/addressbook-config.glade: new version from anna. + +2001-08-09 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c (SPEC): Upped the minimum width + on all addressbook columns to 75. Fixes Ximian bug #2773. + +2001-08-08 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-quick-add.c (ce_have_book): mark + the dialog as changed so the save button is immediately available. + + * gui/contact-editor/e-contact-editor.c (card_modified_cb): once + we save reset the change flag to false if we aren't closing the + dialog. + (card_added_cb): same. + (e_contact_editor_class_init): add a "changed" arg. + (e_contact_editor_set_arg): add setter for "changed". + (e_contact_editor_get_arg): add getter for "changed". + +2001-08-08 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-quick-add.c (ce_have_book): better + to assume that we can write to the local addressbook than that we + can't write to it :) + +2001-08-08 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/e-contact-list-editor.c (create_ui): + call e_pixmap_update so we can use the same save/save-as pixmaps + as the contact editor. + +2001-08-08 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c (open_card): new + function, used by the context menu. + (e_addressbook_reflow_adapter_right_click): put "Open" at the top + of the menu. also, disable "Delete" if the addressbook isn't + writable. + +2001-08-08 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (rfc2254_escape): escape *, \, (, + and ), as per rfc2254. + (func_contains): escape the string. + (func_is): same. + (func_beginswith): same. + (func_endswith): same. + +2001-08-08 Nat Friedman <nat@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c (print_envelope): If 0'd out + since Envelope printing is disabled for 1.0. + * gui/widgets/e-addressbook-view.c (print_envelope): Likewise. + * gui/contact-editor/e-contact-editor.c (print_envelope_cb): Likewise. + + * gui/widgets/e-addressbook-reflow-adapter.c + (e_addressbook_reflow_adapter_right_click): Removed "Print + Envelope" menu item. + * gui/widgets/e-addressbook-view.c (table_right_click): Likewise. + * gui/contact-editor/e-contact-editor.c (verbs): Likewise. + +2001-08-07 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-storage.c (remove_ldap_folder): ifdef + this HAVE_LDAP. + +2001-08-07 Chris Toshok <toshok@ximian.com> + + * gui/search/e-addressbook-search-dialog.c + (e_addressbook_search_dialog_init): set the title of the window to + "Advanced Search". + +2001-08-07 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (search_cb): pass view->view instead + of the EBook. + (addressbook_search_menu_items): remove E_FILTERBAR_ADVANCED. + (addressbook_menu_activated): remove E_FILTERBAR_ADVANCED. + (addressbook_search_option_items): add "Advanced..." here. + (addressbook_query_changed): add special handling for Advanced... + + * gui/search/e-addressbook-search-dialog.h (struct + _EAddressbookSearchDialog): add EAddressbookView and remove the + model/adapter fields. Also fix prototype of + e_addressbook_search_dialog_new. + + * gui/search/e-addressbook-search-dialog.c + (e_addressbook_search_dialog_class_init): get rid of + set_arg/get_arg. + (button_press): set the query on the EAddressbookView, and always + close the dialog. + (e_addressbook_search_dialog_init): get rid of the minicard view, + and pack the other widgets accordingly. + (e_addressbook_search_dialog_new): pass EAddressbookView instead + of EBook. + (e_addressbook_search_dialog_destroy): remove model/adapter stuff. + +2001-08-07 Chris Toshok <toshok@ximian.com> + + [ Fixes bug #5066 ] + * gui/component/addressbook-storage.c (remove_ldap_folder): new + function, remove the source. + (register_storage): connect to the "remove_folder" signal so we + know when to remove the folder. + +2001-08-07 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (build_card_from_entry): use + g_strcasecmp since ldap attribute names are not case sensitive. + +2001-08-07 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/e-contact-list-editor.c + (table_drag_data_received_cb): make sure we update the changed + state if a successful drop happens. + +2001-08-07 Jason Leach <jleach@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_init): Make the OK button the keyboard default + instead of Cancel. Bug #4942. + +2001-08-06 Radek Doulik <rodo@ximian.com> + + * backend/ebook/e-book.c (e_book_op_free): new EBookOp destructor + (e_book_unqueue_op): use e_book_op_free + (e_book_do_response_create_card): ditto + (e_book_do_response_generic): ditto + (e_book_do_response_get_cursor): ditto + (e_book_do_response_get_view): ditto + (e_book_do_response_get_changes): ditto + (e_book_do_response_open): ditto + (e_book_do_response_get_supported_fields): ditto + +2001-08-05 Radek Doulik <rodo@ximian.com> + + * backend/ebook/e-book.c (e_book_do_response_get_view): set + op->listener to NULL to catch possible use of freed op + (e_book_do_response_get_changes): ditto + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_check_queue): this callback could be (and + indeed is) called from signal emited above, + signal handler could call e_book_view_listener_stop, so we need to check + if idle is still set and if not we don't want to unref again + +2001-08-04 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-compare.c (e_card_compare_name): Made it so + that if there's one less match than possible compares are + considered more VAGUE. Fixes Ximian bug #3400. + +2001-08-03 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_hookup_shell_listener): Check for storage != NULL + here. This shouldn't come up unless addressbook has crashed + previously within this session of evolution, but this is just a + bit of insurance. Fixes Ximian bug #3699. + +2001-08-03 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card.c (e_card_name_match_string): Changed the + criteria of whether the first part of each iteration matched or + the second one did. Before it got it wrong sometimes and caused + the pointer to jump off the end of the array. Fixes Ximian bug + #4674. + +2001-08-03 Jason Leach <jleach@ximian.com> + + * gui/component/addressbook-storage.c (load_source_data): Update + for EvolutionStorage API changes. + (addressbook_storage_add_source): Ditto. + +2001-08-03 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c (jump_to_letter): Made this + change the query based on which letter is clicked. Fixes Ximian + bug #2202. + +2001-08-03 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook.c (addressbook_factory_new_control): + Fixed warnings here. + + * gui/component/select-names/e-select-names-completion.c + (hash_cleanup_fn): Removed this unused function. + +2001-08-03 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c (e_card_simple_sync_card, + fill_in_info): Made the list of E_CARD_PHONE types in + phone_correspondences more complete by adding the new 5 + E_CARD_PHONE types. Also, made it a bit less restrictive for some + types (E_CARD_PHONE_HOME will actually match + E_CARD_SIMPLE_PHONE_ID_HOME now.) Made e_card_simple_sync_card + and fill_in_info search for an exact match in the list of + phone_correspondences and then look for a partial match. Got rid + of not going forward when doing a remove from an EList since EList + handles this case automatically. + + * backend/ebook/e-card-types.h: Added E_CARD_PHONE types for + assistant, callback, radio, telex, and ttytdd. + + * backend/ebook/e-card.c (get_phone_flags, set_phone_flags): + Handle the new E_CARD_PHONE types. + +2001-08-02 Jon Trowbridge <trow@ximian.com> + + * printing/Makefile.am (ecpsdir): Add camel dependency. + + * gui/component/Makefile.am: Add camel dependency. + + * backend/ebook/Makefile.am: Add camel dependency. + + * gui/component/addressbook-factory.c (main): Properly init camel. + + * backend/ebook/e-destination.c (e_destination_clear_strings): + Clear ->raw. + (e_destination_is_empty): We aren't empty if ->raw is set.. + (e_destination_set_raw): Replaces e_destination_set_string. + (e_destination_get_name): Use camel's parser to extract the name + from ->raw. + (e_destination_get_email): Use camel's parser to extract the email + address from ->raw. + (e_destination_get_address): Use camel to produce properly quoted, + RFC-compliant addresses. Thanks camel! (Bug #5860) + + * gui/component/select-names/e-select-names-completion.c + (emailify_match): Always append an e-mail address, as long as it + doesn't have one already at it's beginning or end. Don't limit + self to just emailifying entries tied to cards with multiple + addresses. (I didn't really want to do this, but people seem to + like keeping multiple cards for the same person, and other + solutions (like scanning all matches for duplicate names, and only + emailifying those) just seemed like way too much work for such a + limited payoff.) + + * gui/component/select-names/e-select-names-text-model.c: + s/e_destination_set_string/e_destination_set_raw/. + + * gui/component/select-names/e-select-names-popup.c + (popup_menu_card): Quote _'s in our popup menus, so that "foo_bar" + doesn't get displayed as "foobar" w/ the 'b' underlined. (Bug + #5558) + (popup_menu_nocard): Ditto. + +2001-08-02 Jason Leach <jleach@ximian.com> + + * gui/component/addressbook.c (addressbook_factory_new_control): + Removed some extra padding and pack the addressbook view into a + frame with inward shadowing, just because it looks prettier. + + * gui/contact-editor/e-contact-editor.c: Use the updated Save, + Save As, and Print icons for the menus and toolbar. + +2001-08-02 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook.c: Added ContactsSaveAsVCard, + ContactsSendContactToOther, and ContactsSendMessageToContact verbs + here. + + * gui/widgets/e-addressbook-view.c, + gui/widgets/e-addressbook-view.h (e_addressbook_view_save_as, + e_addressbook_view_send, e_addressbook_view_send_to): New + functions to allow outside users to cause the addressbook to save, + send, or send a message to its selection. + +2001-08-01 Christopher James Lahey <clahey@ximian.com> + + * contact-editor/.cvsignore: Removed this file from this unused + directory. + +2001-08-01 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/Makefile.am: Added file-exists.glade. + + * gui/contact-editor/e-contact-save-as.c (file_exists), + gui/contact-editor/file-exists.glade: Added a dialog to ask the + user whether to replace an already existing file. Mostly from a + patch by Jos Dehaes. Fixes Ximian bug #2231. + +2001-08-01 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_check_queue): Removed thrash checking code + here since thrashing shouldn't happen now that we've cleaned this + up some. + + * backend/ebook/e-book.c (e_book_do_response_get_view): Properly + handle cases where construction fails. + +2001-07-30 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/evolution-vcard-importer.c: Added #include + <e-util/e-path.h>. + +2001-07-23 Zbigniew Chyla <cyba@gnome.pl> + + * gui/component/addressbook-config.c (addressbook_source_dialog): + Convert translated string to UTF8 before calling put_html. + +2001-07-30 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_do_query): Properly handle the case + where our "cleaned" completion is the empty string. This happens, + for example, if the query text is the string "\"". (Bug #5610). + + * backend/ebook/e-destination.c (e_destination_get_address_textv): + Reassure fejj that I'm not doing something stupid here. + (e_destination_get_address): Fix address quoting. This is a + stop-gap measure until I can change this code to use Camel's + superior address-handling routines. (Also Bug #5610) + +2001-07-30 Jason Leach <jleach@ximian.com> + + * gui/component/addressbook-storage.c (load_source_data): Fix a + return value bug, to make it so if it fails to load an + addressbook-sources.xml file (either a parse error or it doesn't + exist for example), it deregisters the storage. + (register_storage): Don't make a storage for users who don't have + LDAP support built in. Bug #1950. + +2001-07-30 Frederic Crozat <fcrozat@mandrakesoft.com> + + * addressbook/gui/component/addressbook-factory.c: Fix crashes + when gtkhtml is compiled with gconf support + +2001-07-27 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: Tidy ldadds + +2001-07-26 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c: Fixing a + small, stupid mistake; use e_select_names_model_get_textification + for the getter for "text". + + * backend/ebook/e-card.c: Removed some debugging chatter. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_create_entry): Store the completion + handler in the entry's object data. + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): Added support for getting "destinations" + and "allow_contact_lists" properties. + (entry_set_property_fn): Added support for setting "destinations" + and "allow_contact_lists" properties. + (impl_SelectNames_get_entry_for_section): Added definitions for + "destinations" and "allow_contact_lists" properties. + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_get_match_contact_lists): Added. + (e_select_names_completion_set_match_contact_lists): Added. + Controls whether contact lists are offered as options during + completion. + (book_query_process_card_list): Check if match_contact_lists + is set before (duh!) matching on a contact list. + (e_select_names_completion_init): Set match_contact_lists + to TRUE by default. + +2001-07-25 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (func_contains): change the way + x-evolution-any-field is converted to an ldap query. it used to + be we'd nest queries like: (|(|(|(foo=*x*))(bar=*x*))(baz=*x*)). + now we build it like: (|(foo=*x*)(bar=*x*)(baz=*x*)). much more + efficient (both in the building, and on the server side no doubt). + +2001-07-25 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (e_destination_get_name): Properly dup + the results of e_destination_get_email. + + * gui/component/select-names/e-select-names-popup.c + (e_select_names_popup): Check that our destination isn't empty + before building our popup. (Bug #5250) + + * backend/ebook/e-destination.c (e_destination_is_empty): Made + argument const. + +2001-07-24 Jon Trowbridge <trow@ximian.com> + + * gui/contact-list-editor/e-contact-list-model.c: Added checks + for all of the args of the exposed functions, so that + we won't crash on bad inputs. (Related to bug #4856.) + +2001-07-24 Jason Leach <jleach@ximian.com> + + * gui/merging/e-card-duplicate-detected.glade: "_Add Anyway" to + "Add Anyway". + +2001-07-24 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (e_destination_get_name): Added + fallbacks for the name in the case of an e-card, to avoid the + "nameless contact" bug. + +2001-07-24 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard.c (remodel): need the EDestination magic + here too for when we modify an already shown card. + + * gui/contact-list-editor/e-contact-list-model.c: make + parent_class static, just to be anal. + + * gui/contact-list-editor/e-contact-list-editor.c + (remove_entry_cb): removing entries changes the list, so flag it. + (table_drag_data_received_cb): restrict cards we add to lists to + be non-list cards. + (extract_info): clear out the email list in the card before we + repopulate it from the contact list model. + (fill_in_info): set the checkbox to active/inactive based on + thecard. + +2001-07-24 Chris Toshok <toshok@ximian.com> + + * gui/contact-editor/e-contact-editor.c (wants_html_changed): call + widget_changed. + (phone_entry_changed): same. + (email_entry_changed): same. + (address_text_changed): same. + (name_entry_changed): same. + (company_entry_changed): same. + (widget_changed): new function that we can either call or set as a + signal to change the "changed" flag on the dialog. + (set_entry_changed_signals): connect lots of "changed" signals on + widgets to widget_changed. + (add_lists): connect "changed" to widget_changed. + +2001-07-24 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_hookup_shell_listener): Check if + evolution_shell_client_get_local_storage returns CORBA_OBJECT_NIL, + which it should never do. If it does, print a warning in a dialog + and try to recover w/o crashing. (Bug #5193) + +2001-07-24 Dan Winship <danw@ximian.com> + + * backend/ebook/e-book-listener.c (e_book_listener_stop): Don't + stop the idle_queue and unref from here, since this might be + called from inside e_book_listener_check_queue, and we don't want + to return to that function with the listener having been + destroyed. + (e_book_listener_check_queue): Don't exit early if the queue is + stopped. Proceed through the check if the queue is NULL (which is + must be if the queue is stopped), and then reach the existing code + to remove the idle handler. Combined with the above, this fixes + ximian #4485 (again). This is not a plot to boost my + showstopper-bugfixing count by fixing the same bug over and over + again. + +2001-07-23 Dan Winship <danw@ximian.com> + + Re-fix for my 07-18 not-quite-fix. + + * backend/ebook/e-book-listener.c: Add a "stopped" flag like + EBookViewListener. + (e_book_listener_check_queue): Don't emit signals if the listener + is stopped. + (e_book_listener_queue_generic_response, etc): Don't queue + responses if the listener is stopped. + (e_book_listener_stop): Flush the queue and stop queue/emitting + further responses. + + * backend/ebook/e-book.c (e_book_unload_uri): Revert the previous + change and call e_book_listener_stop() instead. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_stop): When removing an idle handler, unref + the listener as well, since e_book_view_listener_queue_response + will have ref'ed it. + +2001-07-22 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (remove_folder): Add a + @type arg. If the type is not "contacts", report an + `UNSUPPORTED_TYPE' error through the listener. Also, remove + `g_print()' debugging messages. + (xfer_folder): Likewise. + +2001-07-21 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c: Make the "contacts" + folders user-creatable by setting `user_creatable' to %TRUE in the + `EvolutionShellComponentFolderType's. + +2001-07-18 Chris Toshok <toshok@ximian.com> + + [ patch contributed by Jos Dehaes <jos.dehaes@bigfoot.com> ] + + * gui/component/addressbook-storage.c (register_storage): new + function, register our evolution_storage. + (addressbook_storage_setup): remove storage registration from + here. + (load_source_data): register the storage here before we load + addressbook-sources.xml, and deregister it if there are no sources + listed. + (addressbook_storage_remove_source): unregister the storage if the + list of sources hits 0 length. + +2001-07-18 Dan Winship <danw@ximian.com> + + * backend/ebook/e-book.c (e_book_unload_uri): Flush the listener's + queue before unreffing it to ensure that it doesn't emit any more + "responses_queued" signals after the EBook is destroyed. + + * backend/ebook/e-book-listener.c (e_book_listener_check_queue, + e_book_listener_queue_response, e_book_listener_new): Use + bonobo_object_ref/unref rather than gtk_object_ref/unref. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_queue_response, e_book_view_listener_new): + Likewise. + +2001-07-18 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-card-compare.c (simple_query_cb): prune the list + of cards that match our query using the avoid list here, instead + of using the avoid list in the query itself, since ldap can't + handle that. + (use_common_book_cb): remove the block of code including the avoid + list in the query sent to wombat. + +2001-07-17 Chris Toshok <toshok@ximian.com> + + [ Fixes bugs #4611 - crash searching in the name field at Bigfoot for "\" + and #4554 - general ldap search crash ] + + * backend/pas/pas-backend-ldap.c (func_contains): the length of + the big query string needs to take into account the length of the + footer as well as the header - fix random memory corruption here. + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_build_query): + list can be NULL, specifically if there's a parsing error in the + sexp, so deal with it. + +2001-07-17 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_queue_response): Hold a reference to our + listener while the idle function is active. + (e_book_view_listener_check_queue): Only unref the listener when + the idle function is finished. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_clicked): Instead of replacing section->model with + source, copy source onto section->model with + e_select_names_model_overwrite_copy. #if 0/#endif out all of the + stuff related to ETextModels, because it doesn't make any sense to + me, and everything appears to work without it. + (Die bug #2059. Die! Die! Die!) + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_overwrite_copy): Added. Copies the contents + of one ESelectNamesModel onto another. + + * backend/ebook/e-destination.c (e_destination_copy): Made the argument + const. + + * backend/ebook/e-destination.c (e_destination_set_string): Removed + old, broken code and annoying g_messages. + + * backend/ebook/e-book-listener.c + (e_book_listener_queue_response): Hold a reference to the listener + while the idle function is active. + (e_book_listener_check_queue): Only release our reference to the + listener when the queue is empty. These two changes fix a race + condition, since the listener could be unrefed while the listener + was still active. (Seems to fix bug #4485) + +2001-07-17 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/contact-editor.glade, + gui/merging/e-card-duplicate-detected.glade, + gui/merging/e-card-merging-book-commit-duplicate-detected.glade, + printing/e-contact-print.glade: Patch from Taylor Hayward + <thayward@gjpc.com>. Added accelerators to a few dialogs. + +2001-07-16 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/Evolution-Addressbook-SelectNames.idl: + Added addSectionWithLimit to the SelectNames interface. + + * gui/component/select-names/e-select-names-bonobo.c + (impl_SelectNames_add_section_with_limit): Added. Implements + addSectionWithLimit. + (e_select_names_bonobo_construct): Set up as a BonoboEventSource. + (init): Listen for "changed" signals from our manager. + (manager_changed_cb): Notify our listeners if we get a changed + signal from our manager. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_class_init): Added a "changed" signal". + (section_copy): Propogate the signal connection. + (section_free): Disconnect the changed handler. + (e_select_names_manager_add_section_with_limit): Connect to the + new section's model, listening for changes. + (e_select_names_manager_activate_dialog): Connect to the "working + copy" model, listening for changes. + (e_select_names_manager_add_section_with_limit): Added. + (e_select_names_manager_add_section): Changed to just be a special + case of e_select_names_manager_add_section_with_limit. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_set_limit): Added. Allows a max number of + names allowed in the model. + (e_select_names_model_get_limit): Added. Returns the limit. + (e_select_names_model_at_limit): Added. Returns TRUE if the + model is "full". + (e_select_names_model_insert): Check that we aren't at the + limit before inserting. Silently return if we are. + (e_select_names_model_append): Check that we aren't at the + limit before appending. Silently return if we are. + +2001-07-16 Chris Toshok <toshok@ximian.com> + + [ Fix bug #4705 - LDAP storage gets saved with corrupted binddn] + + * gui/component/addressbook-config.c (addressbook_dialog_apply): + call addressbook_storage_write_sources here after we're done + rebuilding them. + + * gui/component/addressbook-storage.c + (addressbook_storage_clear_sources): don't write the source file + here. + (addressbook_storage_add_source): same. + (addressbook_storage_remove_source): same. + (addressbook_storage_write_sources): new function, write the + source file out. + (addressbook_source_copy): g_strdup the binddn so we don't end up + free'ing it multiple times thanks to copies freeing theirs. + + * gui/component/addressbook-storage.h: add prototype for + address_storage_write_sources. + +2001-07-16 Iain Holmes <iain@ximian.com> + + * backend/pas/evolution-vcard-importer.c (ebook_create): Don't just + use the default directory. Use the directory that is passed into the + load file function. + +2001-07-15 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-destination.c (e_destination_set_string): + Commented out some unused variables and labels. + (e_destination_importv): Check for the xml not parsing correctly + and just return NULL here. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_import_destinationv): Handle a NULL destv + here. + +2001-07-15 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c (table_drag_data_get): Added a + call to e_table_view_to_model_row here. + (e_addressbook_view_can_print, e_addressbook_view_can_delete, + e_addressbook_view_can_copy): If the selection model is NULL here, + return NULL (this was done before in a g_return_val_if_fail which + is only conditionally included.) + +2001-07-13 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/contact-editor.glade: Changed Company to + Organization here. + +2001-07-12 JP Rosevear <jpr@ximian.com> + + * backend/pas/Makefile.am: add ldap cflags + +2001-07-12 Jeffrey Stedfast <fejj@ximian.com> + + * backend/ebook/e-destination.c (e_destination_xml_decode): + Oops. I introduced my own bug, accidently set `email' to a + g_free'd pointer - eek! + +2001-07-12 Jeffrey Stedfast <fejj@ximian.com> + + * backend/ebook/e-destination.c (e_destination_importv): Optimized + the same way I optimized g_strsplit. If you use a GPtrArray + instead of a linked list, you save yourself from having to iterate + through the list an extra 3 times. + (e_destination_xml_decode): Do NOT, I repeat: do NOT! + e_utf8_xml1_decode something which is already in UTF-8 or you'll + corrupt it!! I smack thee who hath done this evil deed! + +2001-07-12 Iain Holmes <iain@ximian.com> + + * backend/e-book/evolution-vcard-importer.c (support_format_fn): + Check for no extension. Actually same as Jason's fix below :) but + also check the file contents. + +2001-07-12 JP Rosevear <jpr@ximian.com> + + * gui/component/addressbook-config.glade: add accelerators, + taylor's patch + +2001-07-12 Jason Leach <jleach@ximian.com> + + * backend/ebook/evolution-vcard-importer.c (support_format_fn): + Crash fix because strcmp() hates NULL arguments. Bug #3777. + +2001-07-11 Jason Leach <jleach@ximian.com> + + * gui/component/select-names/e-select-names.c (remove_cb): Added + some comments for clarity and fixed a pretty noticable bug with + how right click "Remove" was deleting more than it should with + consecutive runs. + +2001-07-10 Chris Toshok <toshok@ximian.com> + + * backend/pas/evolutionperson.schema: assign OID's to the schema + entries, and add schema support for contact lists. + +2001-07-10 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): Set + bf->priv->file_db before calling do_create. + +2001-07-06 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook-component.c (factory_fn): Fixed order + of arguments to evolution_shell_component_new. + +2001-07-08 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_insert_length): Check that str isn't + the empty string before doing an insert. + + * backend/ebook/e-destination.c (e_destination_set_string): We were + being too smart for our own good here, and causing problems for + the completion code... (bug #4253, bug #4255, bug #4280) + (e_destination_set_name): Clear any cached address. + (e_destination_set_email): Clear any cached address. + (e_destination_get_address): Handle the cases where the name + contains some e-mail information. + +2001-07-09 Kjartan Maraas <kmaraas@gnome.org> + + * gui/contact-list-editor/e-contact-list-editor.c: Marked a + string for translation. Also add the neccesary includes to make + _() macros work. + +2001-07-07 Jon Trowbridge <trow@ximian.com> + + * gui/widgets/e-minicard.c (add_field): Detect the embedded + EDestination XML, and convert it to a nice-looking e-mail address. + + * gui/contact-list-editor/e-contact-list-editor.c: Adjusted to + reflect changes to EContactListModel. (Yeah, this is vague, + but the changes are _really_ obvious and boring.) + + * gui/contact-list-editor/e-contact-list-model.c: Revamped + to make everything an EDestination, rather than storing either + cards or strings. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_insert_length): Use + e_destination_get_textrep. + + * gui/component/select-names/e-select-names-table-model.c + (fill_in_info): Use e_destination_get_name and + e_destination_get_email. + + * gui/component/select-names/e-select-names-popup.c + (popup_menu_card): Use e_destination_get_name instead of + e_card_name_to_string. + (quick_add_cb): Use e_destination_get_address. + (popup_menu_nocard): Use e_destination_get_name. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_changed): Removed obsolete debugging code. + (e_select_names_model_get_textification): Use e_destination_get_textrep. + (e_select_names_model_get_address_text): Use e_destination_get_address. + (e_select_names_model_get_string): Use e_destination_get_textrep. + (e_select_names_model_replace): Use e_destination_get_textrep. + (e_select_names_model_name_pos): Use e_destination_get_textrep. + + * gui/component/select-names/e-select-names-completion.c + (emailify_match): Match only if this isn't a contact list. + (match_email): Match only if this isn't a contact list. + (match_name): Do the right thing in the case of a contact list. + (book_query_process_card_list): Don't construct a match for + each possible e-mail address if this is a contact list. + + * backend/ebook/e-destination.c: Major-league de-crufting and + rationalization, combined with lots of hacks to make things work + properly with contact lists. + (e_destination_copy): Copy contact list info. + (e_destination_clear_card): Clear contact list info. + (e_destination_is_empty): If we contain a contact list, we aren't + empty. + (e_destination_set_card_uri): Added. Allows us to set a + destination by card URI. + (e_destination_set_name): Allows the contact's name only ("Jane + Smith") to be set. + (e_destination_set_email): Allows the contact's e-mail only + ("jane@assbarn.com") to be set. + (e_destination_set_string): Takes a free-form string containing a + contact's name and/or e-mail, and tries to do the right thing with + it. + (e_destination_contains_card): Renamed. Used to be + e_destination_has_card. + (e_destination_from_card): Added. Returns TRUE if the + EDestination comes from either a ECard (which we presently hold) + or is specified by an ECard URI. + (e_destination_use_card): Allows an EDestination's ECard to be + accessed, via a callback. If we only are holding the URI, the + card will be loaded and stored in the EDestination. + (e_destination_get_name): Returns the name only ("Jane Smith"), or + NULL. + (e_destination_get_email): Returns the email only + ("jane@assbarn.com"), or NULL. + (e_destination_get_address): Added. Returns a "full address" if + both the name & e-mail are available ("Jane Smith + <jane@assbarn.com>"), or just the e-mail if the name is unknown + ("jane@assbarn.com>"). If the destination is a contact list, + returns a comma-separated list of addresses. + (e_destination_get_textrep): Added. Returns a "text + representation" of the EDestination. This is what is now + displayed for completed, "cardified" destinations in addressbook + entries. + (e_destination_is_evolution_list): Check to see if this + destination is for a contact list. + (e_destination_xml_encode): Added. Build an XML data structure + representing an EDestination. + (e_destination_xml_decode): Added. Parse an XML data structure, + constructing an EDestination. + (e_destination_export): Added. Returns a null-terminated string + containing an XML representation of the EDestination, with + newlines and excess whitespace removed. + (e_destination_import): Added. Parses a string containing an XML + representation of an EDestination. + (e_destination_exportv): Added. Returns a null-terminated string + containing an XML representation of a collection of EDestinations, + with newlines and excess whitespace removed. + (e_destination_importv): Added. Takes an XML representation of a + collection of destinations, parses it, and returns a vector of + EDestinations. + + * backend/ebook/e-card.c (e_card_duplicate): Copy the ->book + pointer. + (e_card_get_id): Check that the argument is valid. + (e_card_set_id): Check that the argument is valid. + (e_card_get_book): Added. Return the EBook the ECard came from. + (e_card_get_uri): Added. Tries to returns a URI for the ECard, + which is of the form (EBook URI)/(ECard unique ID). Returns NULL + if the EBook URI or the ID are unknown/not set. + (e_card_get_vobject): If we have the URI, use it as the + VCUniqueStringProp, rather than just the ID. This is a hack to + make DnD work properly. + (parse_id): Detect if the unique ID we've been passed is a URI or + just a plain card ID, and do the right thing in either case. + (e_card_uri_extract_book_uri): Added. Convenience function for + parsing card URIs. + (e_card_uri_extract_card_id): Added. Convenience function for + parsing card URIs. + (e_card_load_uri): Added. Allows an ECard to be loaded by its + URI. + + * backend/ebook/e-book-view.c: Added a EBook * to the + _EBookViewPrivate struct. This is meant to contain the EBook the + EBookView is associated with. + (add_book_iterator): Added. A convenience function for attaching + the EBook to a GList of cards (if no EBook is already stored). + (e_book_view_do_added_event): Record the EBook in the added + ECards. + (e_book_view_do_modified_event): Record the EBook in the modified + ECards. + (e_book_view_set_book): Added. Stores a pointer to the + EBookView's "parent" EBook. + (e_book_view_init): Init book_view->priv->book to NULL. + (e_book_view_destroy): Unref book_view->priv->book. + + * backend/ebook/e-book.c: Added a uri field to _EBookPrivate. + (e_book_unqueue_op): Removed debugging spew. + (e_book_do_response_get_view): Attach the current EBook to the + created EBookView. + (e_book_do_response_get_changes): Attach the current EBook to the + created EBookView. + (e_book_load_uri): Save a copy of the uri in the EBook. + (e_book_get_uri): Added. Just returns book->priv->uri. + (e_book_get_card): Attach a pointer to the Ebook to the + newly-loaded ECard. + (e_book_add_card): Attach a pointer to the EBook to the + newly-added ECard. + (e_book_commit_card): Attach a pointer to the EBook to the + committed ECard. + (e_book_init): Initialize the uri to NULL. + (e_book_destroy): Free the uri string on destruction. + +2001-07-06 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (populate_context_menu): + Removed. [It was just bogus testing code for the right-click menu + populating interface in the shell]. + (factory_fn): Pass NULL as the PopulateContextMenuFn. + +2001-07-05 Anna Marie Dirks <anna@ximian.com> + + * gui/contact-list-editor/contact-list-editor.glade: + Added some accelerators, padding, and a "memebers" frame; + also fixed spacing and growth behaviour of this dialog. + +2001-07-05 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-file.c (compare_category): Fix a memory + leak here. + +2001-07-05 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-compare.c (match_search_info_free): Set + info->avoid = NULL. This shouldn't make a difference, but it + can't hurt. + +2001-07-05 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-table-adapter.c + (addressbook_is_cell_editable): Check if the row is within our + table and return from this function as if the card is a standard + card, not a list. + +2001-07-03 Damon Chaplin <damon@ximian.com> + + * backend/ebook/Makefile.am (evolution_vcard_importer_LDADD): + added $(BONOBO_CONF_LIBS) to get it to compile. + +2001-07-02 Christopher James Lahey <clahey@ximian.com> + + * gui/component/Makefile.am (evolution_addressbook_LDADD): Added + $(BONOBO_CONF_LIBS). + + * gui/component/select-names/e-select-names.c + (e_select_names_create_categories), + gui/contact-editor/e-contact-editor.c (categories_clicked): + Switched to an ECategoriesMasterListWombat instead of an + ECategoriesMasterListArray here. + +2001-07-02 Peter Williams <peterw@ximian.com> + + * gui/contact-editor/Makefile.am (INCLUDES): srcdir != + builddir compile fix. + + * gui/contact-list-editor/Makefile.am (INCLUDES): Same. + + * gui/widgets/Makefile.am (INCLUDES): Same. + + * gui/search/Makefile.am (INCLUDES): Same. + +2001-07-02 Christopher James Lahey <clahey@ximian.com> + + * gui/contact-editor/e-contact-editor.c (categories_clicked): + Turned off wombatification of the categories master list here. + +2001-07-01 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/e-contact-list-editor.c (fill_in_info): + use ECARD_UID_LINK_PREFIX. + + * gui/contact-list-editor/e-contact-list-model.c + (e_contact_list_model_get_email): use ECARD_UID_LINK_PREFIX. + + * backend/ebook/e-destination.h: add prototype for + e_destination_importv_list. + + * backend/ebook/e-destination.c (e_destination_importv_list): new + function, take an ECard corresponding to an address list and + resolve any linked cards, returning an EDestination vector. + + * backend/ebook/e-card.h (ECARD_UID_LINK_PREFIX): #define this here, + since we need to use it in a few places. + +2001-07-02 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added + related_contacts field. + + * gui/component/select-names/e-select-names-model.c, + gui/component/select-names/e-select-names-model.h + (e_select_names_model_import_destinationv): Added this function. + + * gui/contact-editor/contact-editor.glade: Replaced the entry here + for related contacts with a table which is filled in in the C code. + + * gui/contact-editor/e-contact-editor.c, + gui/contact-editor/e-contact-editor.h (add_lists): Added a select + names entry here for the related contacts field. + + * gui/widgets/Makefile.am: Removed all the test programs here + since there are circular dependencies now. + +2001-07-01 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (e_destination_get_string): Fall + back to use the name field if all else fails (which can happen + with imported EDestinations). + + * backend/ebook/e-destination.c (e_destination_is_empty): Fix for the + "recipient not specified" bug --- we were not correctly checking + for whether or not an EDestination was actually empty. + +2001-06-30 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-card.c (e_card_evolution_list): Check args. + Somewhere in the code (somewhere in the minicard stuff) this can + be called with a NULL arg, which was causing crashes. + (e_card_evolution_list_show_addresses): Check args. + + * backend/ebook/e-destination.c (build_field): I was accidentally + comparing characters and strings here, and didn't see the compiler + warning. Fixed. + (e_destination_exportv): Don't export any empty destinations. + (bug#3825). + +2001-06-30 Zbigniew Chyla <cyba@gnome.pl> + + * gui/component/e-address-popup.c (e_address_popup_construct): Marked + strings for translation. + +2001-06-30 Jon Trowbridge <trow@ximian.com> + + * gui/merging/e-card-merging.c (match_query_callback): Make the + standard for considering two cards to be match stricter. + + * gui/component/select-names/e-select-names-completion.c + (make_match): Use the card's use-score to set the match's + sort_major value. + (match_name): Removed obsolete code. + (e_select_names_completion_begin): Added (double) cast to make + match->score calculation come out properly. + + * backend/ebook/e-card.c: Added X-EVOLUTION-LAST-USE and + X-EVOLUTION-USE-SCORE to attribute_jump_array. + (e_card_get_today): Added. A convenience routine for getting + today's date and putting it in a GDate. + (e_card_get_use_score): Added. Compute the current, time-decayed, + use-score for the card. + (e_card_touch): Increment the use-score by one; update the last + used date. + (e_card_date_to_string): Added as a convenience routine, getting + rid of some code duplication. + (e_card_get_vobject): Add handlers for X-EVOLUTION-USE-SCORE and + X-EVOLUTION-LAST-USE. + (parse_last_use): Added. + (parse_use_score): Added. + (e_card_class_init): Added args for last-use and use-score. + (e_card_get_arg): Added handlers for last-use and use-score. + o + (e_card_set_arg): Added handlers for last-use and use-score. + + * backend/ebook/e-destination.c: Added pending_card_id to + EDestinationPrivate struct. + (e_destination_copy): Copy the pending_card_id. + (e_destination_is_empty): Check for a pending_card_id. We are + non-empty if we have one. + (e_destination_clear_card): Clear pending_card_id. + (e_destination_set_card): Clear pending_card_id. + (e_destination_has_pending_card): Added. + (e_destination_use_card): Added. An asynchronous way to load a + pending card and then apply a callback to it. + (build_field): Be paranoid, map our special characters to '_'. + (e_destination_export): Use EXPORT_MAX_FIELDS symbol rather than a + hard-wired array size. Added the "card" entry. + (e_destination_import): Fix bug in handling of the "name" field. + Process the "card" field. + (e_destination_touch): "Touch" and commit the ECard corresponding + to the e-mail address in the destination. (A query against the + local addressbook is actually performed, in case the destination + isn't cardified. + + * backend/ebook/e-card-compare.c (e_card_compare_name): Revamp the + way E_CARD_MATCH_FOO results are mapped to comparison results. + Report better matches when the family name is matched. + +2001-06-29 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c (update_query): + Added a search field to the query here. + (e_select_names_init): Update the query on a number of signals here. + + * gui/component/select-names/e-select-names.h: Added search_entry + here. + + * gui/component/select-names/select-names.glade: Added the search + entry here. Added some labels. Removed the update button. + +2001-06-29 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_option_activated): Change the uri here to have + addressbook.db at the end. + + * gui/component/select-names/select-names.glade: Changed the name + of the folder option menu here to match the name used in the code. + +2001-06-29 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c (update_query): + Change the query when the "Update List" button is pushed. + + * gui/component/select-names/e-select-names.h: Removed + currently_selected field. Added categories_entry field. + + * gui/component/select-names/select-names.glade: Added "Update + List" button. + +2001-06-29 Chris Toshok <toshok@ximian.com> + + * gui/widgets/Makefile.am (INCLUDES): add EVOLUTION_IMAGESDIR + define. + + * gui/widgets/e-minicard.h (struct _EMinicard): add our pixbuf and + pixbuf size. + + * gui/widgets/e-minicard.c (e_minicard_init): init the icon pixbuf + and its size. + (e_minicard_destroy): unref the list_icon_pixbuf. + (e_minicard_realize): create the list_icon GnomeCanvasPixbuf. + (e_minicard_resize_children): clip the header_text by the + list_icon, and place the list_icon in the right spot. + (remodel): show the list_icon if we're a list, and hide it + otherwise. + +2001-06-28 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-view.c (table_double_click): pop up + list editor for lists, contact editor otherwise. + + * gui/widgets/e-minicard.c (e_minicard_event): same. + + * gui/widgets/e-minicard.h (struct _EMinicard): change "editor" to + GtkOjbect, since it can be either a contact editor or contact list + editor. + + * gui/widgets/e-addressbook-table-adapter.c + (addressbook_is_cell_editable): don't allow editting of any fields + except the name and file_as for lists. + +2001-06-28 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/Makefile.am (INCLUDES): remove ancient + e-table include, and add include for contact-editor so we can + reuse the confirm_delete dialog. + + * gui/contact-list-editor/e-contact-list-editor.h (struct + _EContactListEditor): remove prototype for + e_contact_list_editor_close, since the function no longer exists. + + * gui/contact-list-editor/e-contact-list-editor.c + (list_deleted_cb): new function, emit our "list_deleted" signal. + (delete_cb): new function, called from the Delete toolbar item. + (e_contact_list_editor_raise): flesh out function. + (extract_info): "evolution_list" => "list". + (fill_in_info): same. + +2001-06-28 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-card.c (e_card_get_vobject): add support for + X-EVOLUTION-LIST and X-EVOLUTION-LIST-SHOW-ADDRESSES. + (parse_list): new function, parse the boolean X-EVOLUTION-LIST. + (parse_list_show_addresses): new function, parse the boolean + X-EVOLUTION-LIST-SHOW-ADDRESSES. + (e_card_class_init): add args for "list" and + "list_show_addresses". + (e_card_set_arg): add support for list and list_show_addresses. + (e_card_get_arg): same. + (e_card_init): init list and list_show_addresses. + +2001-06-27 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (factory_fn): Pass NULL as + the @external_uri_schemas argument to + `evolution_shell_component_new()'. + +2001-06-27 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/e-contact-list-model.c + (contact_list_row_count): track storage change - we're only using + 1 array now. + (contact_list_value_at): same. + (contact_list_model_destroy): same. + (e_contact_list_model_init): same. + (e_contact_list_model_add_email): same. + (e_contact_list_model_add_card): same. + (e_contact_list_model_remove_row): same. + (e_contact_list_model_remove_all): new function - just free/unref + all existing rows. + (e_contact_list_model_get_email): new function, returns the + alloc'ed string containing either an email address or an encoded + ECardId. + + * gui/contact-list-editor/e-contact-list-model.h: remove the 2 + separate arrays for email and cards, and store them in the same + array. + + * gui/contact-list-editor/e-contact-list-editor.h (struct + _EContactListEditor): add the visible_addr_checkbutton widget. + + * gui/contact-list-editor/e-contact-list-editor.c + (visible_addrs_toggled_cb): new function. + (e_contact_list_editor_init): connect to "toggled" on + visible_addrs_checkbutton. + (file_save_cb): new function. + (tb_save_and_close_cb): new function. + (verbs): add Save and Save & Close. + (list_added_cb): new function. + (list_modified_cb): new function. + (save_card): new function - we do *not* use e_card_merging_* calls + here. + (e_contact_list_editor_get_arg): un-#if 0 code in the "card" + getter. + (e_contact_list_editor_set_arg): same for the "card" setter. + (extract_info): new function. + (fill_in_info): new function. + + * gui/contact-list-editor/contact-list-editor.glade: add a + checkbutton at the bottom to determine whether to visibly include + mail addresses in mail sent to this list. + +2001-06-26 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_create_categories): Oops. Can't use the wombat + version of the master categories list yet. + +2001-06-26 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-table-adapter.c (create_card): memmove + counts were off in this function. + (remove_card, modify_card): Moved the table notifications around a + bit here. + +2001-06-26 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h, + gui/component/select-names/select-names.glade + (e_select_names_create_categories): Added a categories combo here. + It's not used yet. + +2001-06-26 Christopher James Lahey <clahey@ximian.com> + + * gui/search/addresstypes.xml: Added category searching to the + advanced search dialog here. + +2001-06-26 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-file.c (compare_category): Added + category searching to the file backend. + + * gui/component/addressbook.c (addressbook_query_changed): Added + category searching to the search bar. + +2001-06-25 Peter Williams <peterw@ximian.com> + + * conduit/Makefile.am (INCLUDES): Fix for srcdir != builddir. + +2001-06-25 Chris Toshok <toshok@ximian.com> + + * gui/contact-list-editor/contact-list-editor.glade: change layout + slightly, the icon no longer pushes everything to the left, and + make the buttons on the right smaller and more in line with the + other widgets. + + * gui/contact-list-editor/e-contact-list-model.c + (contact_list_value_at): return the SimpleAndString->string + instead of querying the ecardsimple. + (e_contact_list_model_init): initially allocate 10 of each type + (email and simple). + (e_contact_list_model_add_email): realloc if need be. + (e_contact_list_model_add_card): same, and initialize the string + displayed to be "[Name] [<email>]". + (e_contact_list_model_remove_row): change for SimpleAndString. + (contact_list_model_destroy): free our 2 arrays. + + * gui/contact-list-editor/e-contact-list-model.h: add alloc counts + and the SimpleAndString struct. + + * gui/contact-list-editor/e-contact-list-editor.c: Helix Code => + Ximian. + (e_contact_list_editor_init): hook up d&d destination signals, and + un-#if 0 the delete_event signal. + (table_drag_motion_cb): new function. + (table_drag_drop_cb): new function. + (table_drag_data_received_cb): new function. + (file_close_cb): new function. + (verbs) uncomment the close verb. + (close_dialog): new function. + (app_delete_event_cb): new function. + + * gui/contact-list-editor/e-contact-list-editor.h: Helix Code => + Ximian. + +2001-06-25 Jon Trowbridge <trow@ximian.com> + + * gui/component/e-address-popup.c: Add a huge steaming pile of + code to handle the case of single-address merging. In other + words, if you go to "harvest" an address by right-clicking on it + in the mail viewer, and you already have a closely-matching + contact (w/ a different e-mail address), this gives you the + option of editting that contact's e-mail addresses to add the + one you just clicked on. + + * backend/ebook/e-card-compare.c (match_search_info_free): It is + amazing how much better things work when you don't try to + dereference the pointer you just freed. + +2001-06-24 Chris Toshok <toshok@ximian.com> + + * gui/widgets/Makefile.am (minicard_test_LDADD): correct path to + libecontacteditor.a. + (minicard_widget_test_LDADD): same. + (INCLUDES): same, for the includes. + + * gui/widgets/e-minicard.h: correct e-contact-editor.h path. + + * gui/widgets/e-addressbook-util.h: correct path to + e-contact-editor.h, and add e-contact-list-editor.h. Add + prototype for e_addressbook_show_contact_list_editor. + + * gui/widgets/e-addressbook-util.c: remove #include + "e-contact-editor.h" (our header includes it.) + (added_cb): rename card_added_cb to this, and make it so it can be + reused in both the list and card cases. remove the g_print too. + (modified_cb): same for modified case. + (deleted_cb): same for deleted case. + (editor_closed_cb): change first arg to GtkObject* so we can reuse + this for both list and card. + (e_addressbook_show_contact_editor): use added_cb, modified_cb, + deleted_cb, and pass FALSE as user_data. + (e_addressbook_show_contact_list_editor): new function, same as + above but creating a contact-list-editor, and pass TRUE as + user_data. + + * gui/component/e-address-popup.c: correct path to contact-editor. + + * gui/component/e-address-widget.c: same. + + * gui/component/select-names/e-select-names-popup.c: same. + + * gui/component/select-names/e-select-names-text-model.c: same. + + * gui/component/addressbook.c (new_contact_list_cb): new function. + (update_command_state): update ContactNewList command. + (verbs): remove ViewAll from the toolbar from the verb list. Add + ContactNewList. + (pixmaps): same for pixmaps. + + * gui/component/Makefile.am (evolution_addressbook_LDADD): new + path for contact-editor. + (INCLUDES): same. + + * gui/contact-list-editor/e-contact-list-model.h: + * gui/contact-list-editor/e-contact-list-model.c: + * gui/contact-list-editor/e-contact-list-editor.h: + * gui/contact-list-editor/e-contact-list-editor.c: + * gui/contact-list-editor/Makefile.am: Initial contact-list editor + commit. + + * gui/Makefile.am (SUBDIRS): add contact-editor. + + * Makefile.am: (SUBDIRS): remove contact-editor. + +2001-06-21 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-popup.c + (make_contact_editor_cb): Renamed. (The old name, + edit_contact_info_have_book_cb was a hold-over from before, when + we weren't using e_book_use_local_address_book.) + + * gui/component/e-address-popup.c + (e_address_popup_schedule_refresh): A Added. We now do the name + refreshes in an idle function, rather than in the setters. + (e_address_popup_set_free_form): Added. Properly handle inputs of + the form "Foo <bar@zar.com>", extracting the name and e-mail + address. + (e_address_popup_set_name): Check to make sure that the free-form + handler shouldn't be used to handle the input. Schedule a refresh + after making any changes. + (e_address_popup_set_email): Check to make sure that the free-form + handler shouldn't be used to handle the input. Schedule a refresh + after making any changes. + (e_address_popup_name_only_matches): Temporary place-holder for + handling name-only matches. + (query_cb): If our initial query fails (and included e-mail + information), do a name-only query. This is to handle the case of + adding new e-mail addresses to existing contacts. + (e_address_popup_query): Eliminated the "common_book" crap; using + e_book_use_local_address_book instead. + + * backend/ebook/e-card-compare.c (match_search_info_free): Make + sure that the ->avoid list gets properly freed. + +2001-06-20 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_get_supported_fields): fix a refcounting + memleak. + +2001-06-20 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book-listener.c + (e_book_listener_queue_get_supported_fields_response): fix memory + leak. + +2001-06-20 Chris Toshok <toshok@ximian.com> + + * contact-editor/e-contact-editor.c: add prototype for + close_dialog to remove warnings. + +2001-06-20 Dave Camp <dave@ximian.com> + + * backend/ebook/e-card.c (e_card_list_send): Changed attach_data + to be a GNOME_Evolution_Composer_AttachmentData rather than a + CORBA_char*. + +2001-06-19 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-view.c (table_double_click): track + change to e_addressbook_show_contact_editor signature. + + * gui/widgets/e-minicard-view.c (e_minicard_view_event): same. + + * gui/widgets/e-minicard.c (e_minicard_event): same. + + * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): + add an entry for "Card ID already exists". + (e_addressbook_show_contact_editor): track the change to signal + names and e_contact_editor_new signature here. + + * gui/widgets/e-addressbook-util.h: change + e_addressbook_show_contact_editor's signature to match + e_contact_editor_new more closely. + + * gui/widgets/e-addressbook-table-adapter.c (unlink_model): free + up the simple mapping to plug a potentially sizeable memory leak. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_activate_obj): call + e_addressbook_show_contact_editor here. + + * gui/component/select-names/e-select-names-popup.c + (edit_contact_info_have_book_cb): remove the get_supported_fields + stuff, since the contact editor handles it for us now, and call + e_addressbook_show_contact_editor. + + * gui/component/e-address-popup.c (edit_contact_info_cb): same. + + * gui/component/addressbook.c (new_contact_cb): track change to + e_addressbook_show_contact_editor. + +2001-06-19 Chris Toshok <toshok@ximian.com> + + * contact-editor/e-contact-quick-add.c (ce_have_book): rename + ce_book_found_fields to this, remove the fetching of fields (the + contact editor code handles that now.), and change the add_card + signal to card_added. + (card_added_cb): copied somewhat from merge_cb above. we don't + need to do the merge here, just call the callback. + + * contact-editor/e-contact-editor.c (e_contact_editor_class_init): + track signal change. add book arg, and is_read_only -> editable. + (wants_html_changed): if the card isn't already changed, flag it + as such (and update the commands.) + (phone_entry_changed): same. + (email_entry_changed): same. + (address_text_changed): same. + (name_entry_changed): same. + (company_entry_changed): same. + (full_name_clicked): is_read_only -> editable. + (full_addr_clicked): same. + (card_added_cb): new function, emit our card_added signal, and + close the dialog if we're supposed to. properly deal with error + status here. + (card_modified_cb): same, modulo card_added -> card_modified. + (save_card): actually call e_card_merging_book_{add/commit}_card + instead of using a signal. Also, add a gboolean arg to tell + whether or not to close the dialog after saving the card. + (card_deleted_cb): new function, just emit our "card_deleted" + signal. + (delete_cb): actually call e_book_remove_card here, instead of + using a signal. + (tb_save_and_close_cb): call save_card with TRUE for should_close. + (e_contact_editor_init): init changed = FALSE; + (e_contact_editor_destroy): unref our book if we have one. + (e_contact_editor_new): new signature, set the "book" arg, and + call e_book_get_supported_fields here. + (supported_fields_cb): new function, show the contact editor. + (e_contact_editor_set_arg): initialize changed to FALSE when + setting the card (but *after*, since the changed callbacks will + set it to TRUE.) also, call command_state_changed if editable + changes. also handle setting "book". oh, and is_read_only -> + editable. + (command_state_changed): new function - set the state of the + commands we care about. + (e_contact_editor_get_arg): add "book" handling, and is_read_only + -> editable. + (_phone_arrow_pressed): is_read_only -> editable. + (_email_arrow_pressed): same. + (_address_arrow_pressed): same. + (enable_writable_fields): same. + (set_editable): rename set_read_only to this, and is_read_only -> + editable. + + * contact-editor/e-contact-editor.h (struct _EContactEditor): + is_read_only -> editable, add a "changed" flag so we can sensitize + commands correctly, and add an EBook* arg to e_contact_editor_new + and to the EContactEditor struct. Also, change all the signals to + past tense, and send the EBookStatus in them. + + * contact-editor/e-contact-editor-address.c + (e_contact_editor_address_class_init): is_read_only -> editable. + (e_contact_editor_address_set_arg): same. + (e_contact_editor_address_get_arg): same. + + * contact-editor/e-contact-editor-address.h (struct + _EContactEditorAddress): same. + + * contact-editor/e-contact-editor-fullname.c + (e_contact_editor_fullname_class_init): same. + (e_contact_editor_fullname_set_arg): same. + (e_contact_editor_fullname_get_arg): same. + + * contact-editor/e-contact-editor-fullname.h (struct + _EContactEditorFullname): same. + + * contact-editor/Makefile.am: don't build contact-editor-test now, + until contact-editor gets moved to gui/ and we can more easily + depend on the e_card_merging_* calls. + + * backend/pas/pas-backend-ldap.c (ldap_error_to_response): return + CardIdAlreadyExists for LDAP_ALREADY_EXISTS. + + * backend/idl/addressbook.idl: Add CardIdAlreadyExists to the + BookListener status enum. + + * backend/ebook/e-book-types.h: add + E_BOOK_STATUS_CARD_ID_ALREADY_EXISTS. + + * backend/ebook/e-book-listener.c + (e_book_listener_convert_status): add support for + CardIdAlreadyExists. + +2001-06-19 Jon Trowbridge <trow@ximian.com> + + * contact-editor/e-contact-quick-add.c: Serious de-crufting, + removal of gtk_object_set_data() hacks, simplified by using + some of the newer ebook convenience routines, etc. + (ce_book_found_fields): + s/e_contact_editor_raise/e_contact_editor_show/, to accomodate the + small changes in the contact editor API. + +2001-06-18 Eskil Heyn Olsen <eskil@eskil.dk> + + * conduit/address-conduit.c: (check_for_slow_setting), + (conduit_get_gpilot_conduit): + Tweaked for some gnome-pilot api changes + +2001-06-15 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (search_for_dn): implement this + properly, using base and (objectclass=*). + +2001-06-14 Chris Toshok <toshok@ximian.com> + + * contact-editor/e-contact-editor.c (delete_cb): save ourselves a + function call - call close_dialog instead of file_close_cb. + +2001-06-14 Jeffrey Stedfast <fejj@ximian.com> + + * gui/component/addressbook-component.c: Set the + "expoted_dnd_types" to NULL in the folder_types. + +2001-06-11 Dan Winship <danw@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (search_override_check): Add a workaround for an EText bug. + (e_select_names_completion_begin): Fix up the match scoring in the + search_override case so the lines are offered in the correct + order. + +2001-06-11 Christopher James Lahey <clahey@ximian.com> + + * gui/merging/Makefile.am (glade_DATA): Added + e-card-merging-book-commit-duplicate-detected.glade here. + + * gui/merging/e-card-merging-book-commit-duplicate-detected.glade: + Added this file. The GUI for asking whether to commit a modified + card. + + * gui/merging/e-card-merging.c, gui/merging/e-card-merging.h + (e_card_merging_book_commit_card): Added this function. + + * gui/widgets/e-addressbook-table-adapter.c + (addressbook_set_value_at), gui/widgets/e-addressbook-util.c + (commit_card_cb), gui/widgets/e-minicard.c (e_minicard_event): Use + e_card_merging_book_commit_card instead of e_book_commit_card here. + +2001-06-11 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: + Made e_card_simple_get_id return const char *. + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Made + e_card_get_id return const char *. + + * gui/component/e-cardlist-model.c (e_cardlist_model_add): Made id + variable const here. Added a break to make it slightly more + efficient. + + * gui/widgets/e-minicard.c, gui/widgets/e-minicard.h: Made + e_minicard_get_card_id return const char *. + +2001-06-11 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-file.c (entry_compare): Made this handle + the "id" property in searches. + (pas_backend_file_process_modify_card): Made id variable const + here. + + * backend/pas/pas-backend-ldap.c (modify_card_handler): Made id + variable const here. + +2001-06-11 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book-listener.c, + backend/ebook/e-book-listener.h, backend/ebook/e-book.c: Rolled + back the change 2 ago, dated 06/11/2001 01:51 in CVS, involving + e-book-listener.[ch] and e-book.c. + +2001-06-11 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book.c (e_book_load_uri, + e_book_get_supported_fields, e_book_authenticate_user, + e_book_remove_card_by_id, e_book_add_vcard, e_book_commit_vcard, + e_book_get_cursor, e_book_get_book_view, e_book_get_changes): Made + it so that all of these functions queue their ops before calling + their CORBA functions. This way, if the response is sent back + before the CORBA function returns there's no problem. Added + e_book_unqueue_op so that the op could be unqueued if the CORBA + call fails. + +2001-06-11 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book-listener.c, backend/ebook/e-book-listener.h + (e_book_listener_unpop_response): Added this function to put a + response back into the queue. + + * backend/ebook/e-book.c (e_book_check_listener_queue, + e_book_queue_op): Handle the case where the op hasn't been queued + yet when we get the response. In this case we unpop the response. + Also, when queueing an op, we check to see if there are any + responses waiting. + + * This change has been reverted. + +2001-06-11 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-compare.c, backend/ebook/e-card-compare.h + (e_card_locate_match_full): Added this function to let you do + slightly more complicated searches. + + * gui/merging/e-card-merging.c (e_card_merging_book_add_card): Use + e_card_locate_match_full to check if the card exists in the book + it's being added to instead of in the default book. + +2001-06-09 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (match_name): Removed unused email variable. + +2001-06-09 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-compare.c (use_common_book_cb): Null + terminate the strv here. + (e_card_locate_match): ref here instead of unref. + + * backend/ebook/e-card-simple.c (e_card_simple_get): Handle a NULL + card here. + + * contact-editor/Makefile.am (INCLUDES), gui/widgets/Makefile.am + (INCLUDES): Added addressbook/gui/merging here. + + * contact-editor/e-contact-quick-add.c (book_ready_cb), + gui/component/addressbook-component.c (dnd_drop_book_open_cb), + gui/widgets/e-addressbook-table-adapter.c + (addressbook_append_row), gui/widgets/e-addressbook-util.c + (add_card_cb), gui/widgets/e-addressbook-view.c + (selection_received), gui/widgets/e-minicard-control.c + (book_open_cb): Use e_card_merging_book_add_card instead of + e_book_add_card here. + + * gui/Makefile.am (SUBDIRS): Added merging. + + * gui/component/Makefile.am (evolution_addressbook_LDADD), + gui/widgets/Makefile.am (minicard_test_LDADD, + minicard_widget_test_LDADD): Added libecardmerging.a here. + + * gui/merging/, gui/merging/.cvsignore, gui/merging/Makefile.am: + New addressbook library. + + * gui/merging/e-card-duplicate-detected.glade: Glade file for + duplicate detected dialog. + + * gui/merging/e-card-merging.c, gui/merging/e-card-merging.h: New + files for detecting duplicates before adding and putting up a + dialog if duplicates are found. + + * gui/widgets/e-minicard-view.c: Include e-addressbook-util.h + here. + +2001-06-08 Chris Toshok <toshok@ximian.com> + + * contact-editor/e-contact-editor.c (e_contact_editor_new): remove + the gtk_widget_show call... + (e_contact_editor_show): and put it here. + + * contact-editor/e-contact-editor.h: add prototype for + e_contact_editor_show. + + * gui/widgets/e-minicard.c (e_minicard_event): call + e_addressbook_show_contact_editor. + (card_modified_cb): call e_addressbook_error_dialog if status != + SUCCESS. + + * gui/widgets/e-minicard-view.c (e_minicard_view_event): call + e_addressbook_show_contact_editor. also, use card_modified_cb as + the commit_card callback. + + * gui/widgets/e-addressbook-view.c (table_double_click): clean + this area up alot, call e_addressbook_show_contact_editor. + (card_deleted_cb): call e_addressbook_error_dialog. + + * gui/widgets/e-addressbook-table-adapter.c + (card_modified_cb): new function, call e_addressbook_error_dialog + if the status != SUCCESS. + (addressbook_set_value_at): use card_modified_cb as the callback + for e_book_commit_card. + + * gui/widgets/Makefile.am (libeminicard_a_SOURCES): add + e-addressbook-util.[ch]. + + * gui/component/addressbook.c (new_contact_cb): use + e_addressbook_show_contact_editor here. + +2001-06-05 Christopher James Lahey <clahey@ximian.com> + + * contact-editor/e-contact-editor.c (categories_clicked): Remove + references to ECategoryMasterListWombat. + +2001-06-05 Jason Leach <jleach@ximian.com> + + * gui/component/select-names/e-select-names.c (remove_cb): Make + this work when multiple names are selected then right + click->Remove. + +2001-06-05 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card.c (e_card_set_arg): Copy dates as they come + in. + + * backend/pas/pas-backend-file.c + (pas_backend_file_changes_foreach_key, pas_backend_file_changes, + pas_backend_file_process_remove_card, + pas_backend_file_process_modify_card, + pas_backend_file_build_all_cards_list, pas_backend_file_get_vcard, + pas_backend_file_maybe_upgrade_db): memset DBTs to 0 before using + them. + (pas_backend_file_build_all_cards_list): Reindented. + + * contact-editor/contact-editor.glade: Replaced GnomeDateEdits + with a custom widget that creates an EDateEdit. + + * contact-editor/e-contact-editor.c: Use an EDateEdit here instead + of a GnomeDateEdit. + +2001-06-05 Jason Leach <jleach@ximian.com> + + (Fix bug #655: SelectNames doesn't let you remove addresses after + you add them) + + * gui/component/select-names/e-select-names.c + (section_right_click_cb): New function, provides a popup menu with + just "Remove" in it. + (remove_cb): New callback to do the remove. + (e_select_names_add_section): Attach the "right_click" signal to + the section_right_click_cb above. + +2001-06-05 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (completion_handler): Change the completion handler to use the + ECompletionMatch. + + * gui/component/select-names/e-select-names-completion.c + General changes to convert for ECompletionMatch use. + (emailify_match): Use extra sort keys in ECompletionMatch to let + us ensure that the primary email address is always the first + option, the secondary comes second, etc. There was no nice way to + do this previously. + (match_name): Removed code that adjusted score based on + similarities between the "real name" and the e-mail address. It + seemed like a good idea at the time, but produced unexpected and + confusing results. + +2001-06-04 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-card-compare.c: Added. Code for testing + if two ECards appear to pertain to the same contact (using loose + matching rules, as opposed to requiring exact equality) and to + query the addressbook for the "best match" to ECard. + +2001-06-03 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (set_status_message): remove spew, + and don't call the ShellView CORBA method if the interface doesn't + exist (for whatever reason.) + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_destroy): + unref the EAddressbookModel. + (create_minicard_view): unref the adapter. + (card_added_cb): call e_book_error_dialog if status != SUCCESS. + (card_modified_cb): same. + (card_removed_cb): new function, and same. + (delete_card_cb): pass card_removed_cb as the callback. + (emit_status_message): new function, just emit status_message. + (status_message): change to call emit_status_message. + (card_deleted_cb): emit_status_message ("Done."), and call + e_book_error_dialog if status != SUCCESS. + (do_remove): pass view in the closure arg. + (e_addressbook_view_delete_selection): emit status "Removing + cards..." before starting the removal. + (e_book_error_dialog): new function - pop up a (possibly) helpful + message about why an operation failed. + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_new): ref the EAddressbookReflowAdapter. + (e_minicard_view_widget_destroy): unref the adapter. + (e_minicard_view_widget_get_selection_model): if there isn't a + minicard view return NULL. + + * gui/widgets/e-addressbook-table-adapter.c + (e_addressbook_table_adapter_construct): ref the + EAddressbookModel. + + * gui/widgets/e-addressbook-reflow-adapter.c + (addressbook_finalize): rename this from addressbook_destroy, to + reflect the method change. + (e_addressbook_reflow_adapter_class_init): same. + (e_addressbook_reflow_adapter_construct): ref the + EAddressbookModel. + + * gui/widgets/e-addressbook-model.h: add editable_set flag. + + * gui/widgets/e-addressbook-model.c (writable_status): only record + the writable state of the addressbook if the user hasn't set it. + (e_addressbook_model_init): init editable_set to FALSE. + (e_addressbook_model_set_arg): set editable_set to TRUE. + +2001-06-03 Ettore Perazzoli <ettore@ximian.com> + + * backend/ebook/Makefile.am (evolution_vcard_importer_LDADD): Move + `$(DB3_LDADD)' before libeutil. + +2001-06-01 Ettore Perazzoli <ettore@ximian.com> + + * backend/ebook/Makefile.am (evolution_vcard_importer_LDADD): Add + $(DB3_LDADD)'. + +2001-05-31 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/Makefile.am (INCLUDES): Added db3 cflags. + + * backend/pas/pas-backend-file.c: Updated this to use db3. + +2001-05-31 Federico Mena Quintero <federico@ximian.com> + + * gui/widgets/e-addressbook-view.h (EAddressbookView): Added + fields for the GalViewMenus and GalViewCollection; we need to keep + them around while the component is active. + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_setup_menus): Plug leak; unref the spec. + Unref the factories. Do not unref the collection, since we need + it for the signal emission (okay, so the views object adds a + reference to it, but if we are interested in it we should keep a + reference anyways). + (e_addressbook_view_setup_menus): Create the collection and views + on the EAddressbookView's fields so that we can keep them around. + (e_addressbook_view_discard_menus): New function; gets rid of the + collection and views objects. + + * gui/component/addressbook.c (control_activate_cb): Call + e_addressbook_view_discard_menus(). + +2001-05-31 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names.h (struct + _ESelectNames): add the EAddressbookModel* and change the + ETableModel's name to "adapter". + + * gui/component/select-names/e-select-names.c (set_book), + (addressbook_model_set_uri): these two things take an + EAddressbookModel* instead of an ETableModel now. + (e_addressbook_create_ebook_table): don't case the + EAddressbookModel* to ETableModel*, create an EAddressbookTableAdapter + on the EAddressbookModel instead. + (e_select_names_init): set e_select_names->adapter. + +2001-05-31 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-model.c (remove_card): decrement + data_count before emitting the card_removed signal, and break + after we've removed the matching card. + (e_addressbook_model_class_init): change signature of + "card_removed" signal to match what we emit (and what is + expected.) + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_init): the + signal name is "destroy", not "destroyed". + (do_remove): new function, actually remove the card. + (e_addressbook_view_delete_selection): get this working for both + view types. + +2001-05-31 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c: Print Preview => + ContactsPrintPreview. Changed peter's change so that the node + name is more in line with "Print.."'s + +2001-05-30 Peter Williams <peterw@ximian.com> + + * gui/component/addressbook.c: Use the correct path to the print + preview menu item. + +2001-05-30 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (cut_contacts_cb): new function, for + the Cut verb. + (copy_contacts_cb): new function, for the Copy verb. + (paste_contacts_cb): new function, for the Paste verb. + (select_all_contacts_cb): new function, for the Select All verb. + (update_command_state): add handling for sensitivity of + Cut/Copy/Paste/Select All. + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_init): init + the invisible and set up selection/destroy signals. + (get_selection_model): new function, so we can get the + ETableSelectionModel from either view type. makes lots of the + other functions easier, since we can get the list of selected + cards using the same code regardless of view type. + (invisible_destroyed): new function. + (selection_get): new function. convert the clipboard list to + string. + (selection_clear_event): new function - free up the list of + ECards. + (selection_received): if the selection data is valid and + well-formed, add the corresponding cards to the ebook. + (add_to_list): new function. + (get_selected_cards): new function. + (e_addressbook_view_cut): new function, implement in terms of + _copy and _delete_selection. + (e_addressbook_view_copy): claim ownership of the CLIPBOARD + selection after saving the list of selected ECards. + (e_addressbook_view_paste): call gtk_selection_convert. + (e_addressbook_view_select_all): new function, using + e_selection_model_select_all. + (e_addressbook_view_can_print): re-implement in terms of + get_selection_model. + (e_addressbook_view_can_delete): same. + (e_addressbook_view_can_cut): new function. + (e_addressbook_view_can_copy): new function. + (e_addressbook_view_can_paste): new function. hmm, always return + TRUE here. + (e_addressbook_view_can_select_all): new function. + + * gui/widgets/e-addressbook-view.h (struct _EAddressbookView): add + selection stuff - the list of selected cards, and the GtkInvisible + selection owner, and add prototypes for + e_addressbook_view_[can]_{cut,copy,paste,select_all}. + + * gui/widgets/e-minicard-view-widget.h: add a prototype for + e_minicard_view_widget_get_selection_model. + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_get_selection_model): new function. + +2001-05-27 Dan Winship <danw@ximian.com> + + * gui/component/addressbook.c: #include + "evolution-shell-component-utils.h" rather than "e-gui-utils.h" + for e_pixmaps_update. + +2001-05-25 Peter Williams <peterw@ximian.com> + + * gui/component/Makefile.am: Reference libeshell.la instead of + libeshell.a. + +2001-05-25 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-reflow-adapter.c (addressbook_height): + Correct the height calculation here to not include the + E_CARD_SIMPLE_FIELD_FAMILY_NAME since it won't be displayed. + + * gui/widgets/e-minicard.c (remodel): Changed this to continue to + be more consistent and simpler. + +2001-05-23 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (view_destroy): fix strings such + that ones that happening at the beginning or during an operation + are followed by "..." and those that stop the operation are + followed by "." + (create_card_handler): same. + (ldap_op_process_current): same, and also call _notify_complete if + we can't connect to ldap server. + (poll_ldap): same, and change "Polling for LDAP search result" to + "Receiving LDAP search results" + + * backend/pas/pas-backend-file.c (pas_backend_file_search): call + notify_status_message at the beginning of this function, and + whenever we call _notify_complete. + +2001-05-23 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-addressbook-model.h: add sequence_complete_id to + EAddressbookModel and stop_state_changed to + EAddressbookModelClass. also, add prototype for + e_addressbook_model_can_stop. + + * gui/widgets/e-addressbook-model.c (remove_book_view): disconnect + from "sequence_complete", and set search_in_progress to FALSE. + (sequence_complete): set search_in_progress to FALSE and emit + "stop_state_changed." + (e_addressbook_model_class_init): create the "stop_state_changed" + signal. + (e_addressbook_model_init): init stuff. + (book_view_loaded): connect to "sequence_complete" signal. + (book_view_loaded): set search_in_progress to TRUE and emit + "stop_state_changed" + (e_addressbook_model_stop): set search_in_progress to false, emit + "stop_state_changed", and set our status to "Search Interrupted." + (e_addressbook_model_can_stop): return search_in_progress. + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_init): + connect to the stop_state_changed signal on EAddressbookModel. + (stop_state_changed): new function. + (e_addressbook_view_can_stop): call e_addressbook_model_can_stop. + + * gui/component/addressbook.c (update_command_state): use + e_addressbook_view_can_stop to set the sensitivity of the stop + button. + +2001-05-22 Dan Winship <danw@ximian.com> + + * backend/ebook/e-book-listener.c (e_book_listener_check_queue): + ref the listener for the duration of this function, since emitting + "responses_queued" may cause it to be unreffed by its EBook in + some cases, which could cause the second response_queue check to + look at garbage data if it got destroyed. + (e_book_listener_destroy): Call g_source_remove if idle_id is set. + +2001-05-22 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c: track the change in + evolution-addressbook.xml's bonobo ui path's. + +2001-05-21 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (change_view_type): update_view_type + is gone, since the menu item is gone. + + * gui/widgets/e-addressbook-table-adapter.c (create_card): use + e_table_model_rows_inserted here. + +2001-05-20 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook-config.c + (addressbook_source_item_new): Removed an unused variable. + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): Made text here non-const. + + * gui/component/select-names/e-select-names-popup.c + (edit_contact_info_cb): Cast to a gpointer here. + + * gui/component/select-names/e-select-names.c + (e_addressbook_create_ebook_table): Cast to E_TABLE_MODEL here. + +2001-05-18 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (match_name): Do a better job constructing match strings, so we + never try to use a segment of the name that isn't there (resulting + in ugly (null)'s in the string). Boost our score if some part of + the name also matches the front part of the e-mail address, so the + name match will always trump the e-mail match. + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): Return the serialized EDestinations + (rather than just a string w/ e-mail addresses) through the bonobo + component's property bag. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_export_destinationv): Added. A convenience routine + for serializing the model's EDestinations into a string. + + * gui/component/select-names/e-select-names-popup.c + (add_html_mail): Added. Puts in a check menu item for whether or + not the recipient wants HTML mail. + (popup_menu_card): Add menu item for HTML mail. Enable edit + contact info item. + (popup_menu_nocard): Add menu item for HTML mail. Enable edit + contact info item. + + * backend/ebook/e-book-util.c (e_book_use_local_address_book): + Added. Fetches the local addressbook and caches it on the first + call. This is meant to be an easy and efficient way to get at the + local addressbook with the minimum of code. + (e_book_query_address_locally): Added. Convenience code that + does an e-mail only e_book_name_and_email_query against the + local address book. + + * backend/ebook/e-destination.c + (e_destination_set_html_mail_pref): Added. Allows the intended + recipient's HTML mail preference to be manipulated. + (e_destination_get_email_verbose): Added. Cleaned up to use + e_destination_get_name. + (e_destination_get_html_mail_pref): Added. Read the recipient's HTML mail + preference. If the destination is linked to a card, the + preference is taken from the card (unless it has been explicitly + overridden by a called to e_destination_set_html_mail_pref). + (e_destination_get_address_textv): Added. Form a unified address string + from a NULL-terminated vector of EDestinations. + (e_destination_export): Added. Serialize an EDestination to a string. + (e_destination_import): Added. Unserialize a string to build an + EDestination. + (e_destination_exportv): Added. Serialize a NULL-terminated vector of + EDestinations to a string. + (e_destination_importv): Added. Unserialize a string to build a + NULL-terminated vector of EDestinations. + + * gui/component/select-names/e-select-names-completion.c: + Implemented local versions of g_strcasecmp and g_strncasecmp + (which should really be in glib, I think...) for utf8, and used + them to make this code utf8-safe. + +2001-05-17 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (update_command_state): no more + ContactFind command. + +2001-05-17 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_class_init): add our selection_change + signal. + (e_minicard_view_widget_realize): connect to the ESelectionModel's + selection_changed signal. + (e_minicard_view_widget_selected_count): new function. + (selection_change): new function - emit our "selection_change" + signal. + + * gui/widgets/e-minicard-view-widget.h (struct + _EMinicardViewWidgetClass): add selection_change signal. also, + add prototype for e_minicard_view_widget_selected_count. + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_class_init): add our command_state_change + signal. + (e_addressbook_view_init): connect to the writable_status signal + on the EAddressbookModel. + (minicard_selection_change): new function - calls + command_state_change. + (create_minicard_view): connect to selection_change on the + minicard_view so we know when to update command state. + (table_selection_change): new function - calls + command_state_change. + (writable_status): new function - calls command_state_change. + (command_state_change): new function - emits our + "command_state_change" signal. + (create_table_view): connect to the selection_change signal so we + know to update the command state. + (change_view_type): update the command state every time we change + view types. + (e_addressbook_view_can_create): new function. + (e_addressbook_view_can_print): new function. + (e_addressbook_view_can_delete): new function. + (e_addressbook_view_can_stop): new function. + + * gui/widgets/e-addressbook-view.h (struct + _EAddressbookViewClass): add command_state_change signal, and + prototypes of functions the component can use to test the state of + commands. + + * gui/widgets/e-addressbook-model.c (addressbook_destroy): unlink + the writable_status signal on the EBook. + (writable_status): new function. + (e_addressbook_model_class_init): add our writable_status signal. + (e_addressbook_model_init): init writable_status_id. + (e_addressbook_model_set_arg): unlink the writable_status signal + on the old EBook, and connect it on the new one. + + * gui/widgets/e-addressbook-model.h: add writable_status signal. + + * gui/component/addressbook.c (update_command_state): new + function, set the sensitivity of the bonobo commands. + (control_activate): update our command state immediately upon + activating the control. + (addressbook_factory_new_control): register command_state_change + to update the commands. + +2001-05-15 Chris Toshok <toshok@ximian.com> + + * gui/search/e-addressbook-search-dialog.c + (e_addressbook_search_dialog_init): initialize the model and + adapter. + (button_press): set on the model. + (e_addressbook_search_dialog_new): same. + (e_addressbook_search_dialog_set_arg): same. + (e_addressbook_search_dialog_destroy): unref the model and + adapter. + + * gui/search/e-addressbook-search-dialog.h (struct + _EAddressbookSearchDialog): add our model and reflow adapter. + +2001-05-16 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard-view.c: (e_minicard_view_destroy): Fixed + up the lifetime of the drag_data_get signal a bit. + +2001-05-15 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-view.c (add_to_list): MinicardViewModel + -> ReflowAdapter name change. + (get_card_list): same. + (e_minicard_view_drag_begin): same. + (supported_fields_cb): model -> adapter. + (adapter_changed): hook up signals and set the empty message on + our adapter. + (e_minicard_view_set_arg): add support for "adapter", and set + model -> adapter. + (e_minicard_view_get_arg): same. + (disconnect_signals): no more status_message. + (do_remove): track to use adapter. + (e_minicard_view_class_init): add adapter arg, and remove + status_message. + (e_minicard_view_init): all the code here is in adapter_changed + now. + + * gui/widgets/e-minicard-view.h (struct _EMinicardView): + EMinicardViewModel -> EAddressbookReflowAdapter. + (struct _EMinicardViewClass): get rid of status_message. + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_class_init): remove the status_message + signal. + (e_minicard_view_widget_new): take the adapter as our argument, + and store it away for when we create the view. + (e_minicard_view_widget_realize): when we create the view just set + the adapter field on it. also, don't connect to status_message. + + * gui/widgets/e-minicard-view-widget.h (struct + _EMinicardViewWidget): add our adapter here, so we can pass it + into the view when we create it. + (struct _EMinicardViewWidgetClass): remove status_message. + + * gui/widgets/e-addressbook-view.c (status_message): new function, + no more propagating status messages! + (e_addressbook_view_init): create our model and conenct to its + status_message signal. + (book_writable_cb): set "editable" on the model, not our object. + (e_addressbook_view_set_arg): same, but with "book" and "query" as + well. + (create_minicard_view): create our reflow adapter and pass it to + the minicard view widget. also, call e_reflow_model_changed so + it'll pick up any already present cards. + (table_double_click): ADDRESSBOOK_MODEL -> TABLE_ADAPTER. + (get_card_list_1): remove the cast, since we don't need it any + longer. + (table_right_click): ADDRESSBOOK_MODEL -> TABLE_ADAPTER. + (table_drag_data_get): same. + (create_table_view): create the table adapter, and use it as our + ETableModel. + (change_view_type): remove the status_message hook up and setting + of query/book/editable. + (e_addressbook_view_stop): just call e_addressbook_model_stop here + instead of switching on the view type. + + * gui/widgets/e-addressbook-view.h (struct _EAddressbookView): add + our EAddressbookModel. + + * gui/widgets/Makefile.am (libeminicard_a_SOURCES): add the + adapter files, and remove e-minicard-view-model.[ch]. + + * gui/widgets/e-minicard-view-model.[ch]: removed. + + * gui/widgets/e-addressbook-table-adapter.c: new file. + + * gui/widgets/e-addressbook-table-adapter.h: new file. + + * gui/widgets/e-addressbook-reflow-adapter.c: new file. + + * gui/widgets/e-addressbook-reflow-adapter.h: new file. + + * gui/widgets/e-addressbook-model.c: rework this class to now + subclass from ETableModel anymore. It not subclasses from + GtkObject, and we use table and reflow adapters to get at the + data. + + * gui/widgets/e-addressbook-model.h: same. + +2001-05-14 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard-view-model.c (remove_card): Fix a small + error not decreasing the data_count here. + +2001-05-13 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.h: add prototype for + addressbook_expand_uri. + + * gui/component/addressbook-component.c + (destination_folder_handle_drop): create an EBook for + @physical_uri. + (dnd_drop_book_open_cb): actually add the dropped cards. + + * gui/component/addressbook.c (addressbook_expand_uri): abstract + this code out from the set_prop method so we can use it in the + component. + (set_prop): call addressbook_expand_uri. + + * backend/ebook/e-card.c (e_card_load_cards_from_string): new + function. + + * backend/ebook/e-card.h: add prototype for + e_card_load_cards_from_string. + +2001-05-12 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c + (destination_folder_handle_drop): spew the data passed to us. + (destination_folder_handle_motion): the suggested_action is not an + ActionSet, but an Action, so don't or together multiple actions. + +2001-05-11 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c (addressbook_source_dialog): + correct bug causing the Ok button to never be enabled. + +2001-05-11 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c (populate_context_menu): + example. + +2001-05-11 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-view.c (e_minicard_view_drag_data_get): + use e_card_list_get_vcard to build up the data to send. + (e_minicard_view_init): connect to the model's drag_begin signal. + (e_minicard_view_drag_begin): gather the list of cards being + dragged and call gtk_drag_begin. + (add_to_list): new function. + (get_card_list): same. + (disconnect_signals): disconnect the drag_data_get signal. + (e_minicard_view_init): connect to the drag_begin signal on our + model. + + * gui/widgets/e-minicard-view.h (struct _EMinicardView): change + drag_card to drag_list. + + * gui/widgets/e-minicard-view-model.c (minicard_drag_begin): new + function, emit our drag_begin signal. + (addressbook_incarnate): connect to the item's drag_begin signal. + (e_minicard_view_model_class_init): init our drag_begin signal. + + * gui/widgets/e-minicard-view-model.h: add drag_begin signal. + + * gui/component/addressbook-config.c (addressbook_source_dialog): + always loop through all source types here, making LDAP first so + it's forces as the first notebook item. + (addressbook_config_auth_label): remove SASL case. + (addressbook_source_edit_changed): same. + (addressbook_source_item_new): flag the area of code that needs to + go into the advanced dialog (if we add one before someone + graciously redesigns the entire addressbook gui :) + + + * gui/component/addressbook-storage.c (ldap_unparse_auth): remove + SASL case. + (ldap_parse_auth): same. + + * gui/component/addressbook-storage.h: make LDAP come first in our + source type enumeration, and remove the SASL auth type. + +2001-05-11 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card.c (e_card_set_arg): If the name is set and + the full_name or file_as haven't been yet, set them. + +2001-05-11 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-file.c: Reordered the includes here. + (string_to_dbt): The sleepycat libdb documentation suggests + memseting the DBT to 0 so we do that here. + + * gui/widgets/e-minicard-view-model.c (addressbook_height): Skip + the E_CARD_SIMPLE_FIELD_FAMILY_NAME field. + + * gui/widgets/e-minicard.c (remodel): Skip the + E_CARD_SIMPLE_FIELD_FAMILY_NAME field. + +2001-05-11 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_connect): only + check schema support if we've connected. + +2001-05-11 Chris Toshok <toshok@ximian.com> + + * contact-editor/e-contact-editor.c (enable_writable_fields): + don't leak the ECard or ECardSimple. + +2001-05-08 Iain Holmes <iain@ximian.com> + + * backend/ebook/GNOME_Evolution_Addressbook_VCard_Importer.oaf.in: + Renamed the GnomeCard_Importer.oaf.in to this, and change the IID. + + * Makefile.am: Rename all the GnomeCard to VCard. + + * evolution-vcard-importer.c: Make the GnomeCard a generic + vcard importer. + +2001-05-08 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/Makefile.am (libebookinclude_HEADERS): Removed + e-card-pairs.h since we're not using it. + + * backend/ebook/e-book-view.c (e_book_view_check_listener_queue): + Added break; to default: case here. + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: + Added changed variable so as to avoid sync_card when possible. + (e_card_simple_destroy): Free all the data here properly. + (e_card_simple_get_arg): Slight simplification here. + (fill_in_info, e_card_simple_arbitrary_foreach, + e_card_simple_get_arbitrary): Call e_card_free_empty_lists here to + save a bit of memory. + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Fixed up + includes a bit. + (e_card_list_get_vcard, e_card_list_send): Added these functions + for acting on a group of cards. + (parse_org): Cleaned up this function a bit. + (e_card_free_empty_lists): Added this function to delete + unnecessary ELists and save a bit of memory. + (e_v_object_get_child_value): Made this return NULL if not found + instead of g_strdup(""). + + * contact-editor/e-contact-save-as.c, + contact-editor/e-contact-save-as.h (e_contact_list_save_as): Added + this function to save multiple contacts. + + * gui/widgets/Makefile.am: Commented out reflow test. + (libeminicard_a_SOURCES): Added e-minicard-view-model.c and + e-minicard-view-model.h. + + * gui/widgets/e-minicard-view-model.c, + gui/widgets/e-minicard-view-model.h: Model for use in + EMinicardView. + + * gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h: + Reworked this to use the new EReflow stuff. + + * gui/widgets/e-minicard.c (e_minicard_event): Doesn't handle + right click menus now. Emits a signal on the parent canvas item + instead. + + * printing/e-contact-print-envelope.c, + printing/e-contact-print-envelope.h + (e_contact_print_envelope_list_dialog_new): Added this function to + print multiple envelopes (only prints first for now.) + + * printing/e-contact-print.c, printing/e-contact-print.h + (e_contact_print_card_list_dialog_new): Added this function to + print multiple cards. Only prints the first for now. + +2001-05-07 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c (remove_folder): flesh out + the function more. It should work now, but there's no way to + invoke this method from the ui at the moment, heh. + +2001-05-07 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook.c (book_open_cb): Use a different + error message in the ldap support/no ldap support/file cases. + +2001-05-07 Gediminas Paulauskas <menesis@delfi.lt> + + * gui/component/addressbook.c: use define from + widgets/misc/e-filter-bar.h instead of own enumeration and search menu + names. + + * gui/component/Makefile.am, gui/component/select-names/Makefile.am: + removed EVOLUTION_VERSION. + +2001-05-04 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c (remove_folder): un-#if 0 + this. + (xfer_folder): add skeleton code to validate xfer request. always + notifies with PERMISSION_DENIED at present. + (populate_context_menu): un-#if 0 this. + (get_dnd_selection): same. + (destination_folder_handle_motion): new function. + (destination_folder_handle_drop): new function. + (factory_fn): create a EvolutionShellComponentDndDestinationFolder + interface, and add it to our shell component. + +2001-05-04 JP Rosevear <jpr@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_get_book_view): init change_id to NULL + +2001-05-02 JP Rosevear <jpr@ximian.com> + + * gui/component/addressbook.c (addressbook_view_free): unref the + book if the view is being destroyed + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_get_book_view): unref the book_view when + we are finished, it is only interesting if someone else has reffed + it now (weak reference) + (pas_backend_file_add_client): unref the book for the same reason + as above + + * Fixes bug #2255 + +2001-04-30 JP Rosevear <jpr@ximian.com> + + * backend/pas/pas-backend-file.c (vcard_matches_search): if the + view does not contain a search context, the result is by default + false fixes #2470 + +2001-04-25 Dan Winship <danw@ximian.com> + + * gui/component/addressbook-factory.c (main): Remove call to + unicode_init. + +2001-04-23 Jon Trowbridge <trow@ximian.com> + + * gui/component/e-address-popup.c: Lots of code has been + simplified here. + (e_address_popup_factory_new_control): Rather than directly pop + our control up in a window (via the e_address_popup_popup + function, which is now gone), just return the widget and let the + caller do the popping. This works better, since it means we don't + have to work around the vagaries of bonobo focus & event handling. + (e_address_popup_set_name): Refresh when both name & email have + been set, rather than checking a stupid counter. + (e_address_popup_set_email): Ditto. + +2001-04-22 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook-storage.c + (addressbook_storage_clear_sources): Added save_source_data here. + +2001-04-21 Jon Trowbridge <trow@ximian.com> + + * contact-editor/e-contact-quick-add.c (clicked_cb): Properly + convert to utf8. (Bug #2256) + (build_quick_add_dialog): Properly convert from utf8. (Bug #2256) + +2001-04-16 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (e_destination_get_name): Added. + + * gui/component/select-names/e-select-names.c + (real_add_address_cb): Use e_select_names_model_append. It's + nicer. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_append): Added. + + * gui/component/select-names/e-select-names-completion.c + (book_query_process_card_list): Filter out completion matches that + don't have an associated e-mail address. + (book_query_score): Give a bonus to the primary address, so that + it always comes up first in the completion results. + + * gui/component/e-address-popup.c (e_address_popup_refresh_names): + Convert utf8 strings into gtk strings before displaying. + +2001-04-14 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book-view-listener.c, + backend/ebook/e-book-view-listener.h: Added the function + e_book_view_listener_stop to tell the book view listener to stop + sending signals. + + * backend/ebook/e-book-view.c (e_book_view_destroy): Tell the + EBookViewListener to stop when we're destroyed. + + * backend/pas/pas-backend-file.c (view_destroy, + pas_backend_file_process_get_book_view, + pas_backend_file_process_get_changes): Cleaned these up a bit + using bonobo_object_ref and bonobo_object_unref. + (pas_backend_file_process_get_book_view, + pas_backend_file_process_get_changes): bonobo_object_release_unref + the EBookListener here. + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_get_book_view): Cleaned this up a bit + using bonobo_object_ref. Make sure to unref the listener when + we're done with it. Put the new book_view in the list before + telling the book_listener that it's ready. + + * backend/pas/pas-book-view.c (pas_book_view_construct): Cleaned + this up a bit using bonobo_object_dup_ref. + (pas_book_view_destroy): Cleaned this up a bit using + bonobo_object_release_unref. + + * backend/pas/pas-book.c (pas_book_queue_get_book_view, + pas_book_queue_get_changes): bonobo_object_dup_ref here instead of + just duplicating. + +2001-04-14 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-book-listener.c + (impl_BookListener_respond_get_cursor): Ref the cursor here when + we receive it. + (impl_BookListener_respond_get_view, + impl_BookListener_respond_get_changes): Ref the book_view here + when we receive it. + (impl_BookListener_respond_open_book): Ref the book here when we + receive it. + (e_book_listener_destroy): Unref the objects in our queue here. + + * backend/ebook/e-book-view.c (e_book_view_construct): Cleaned + this up using bonobo_object_dup_ref. + (e_book_view_destroy): Cleaned this up using + bonobo_object_release_unref. + + * backend/ebook/e-book.c (e_book_do_response_get_cursor, + e_book_do_response_get_view, e_book_do_response_get_changes, + e_book_unload_uri): Cleaned this up using + bonobo_object_release_unref. + +2001-04-13 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): Get the ESelectNamesModel from the + widget's text model instead of storing it as a gtk_object_set_data + since it may change. + +2001-04-12 Jason Leach <jasonleach@usa.net> + + * backend/pas/pas-backend-file.c (INITIAL_VCARD): Update the Voice + and Fax phone numbers too, finishing off bug #1667. + +2001-04-11 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-file.c (INITIAL_VCARD): Update the built + in VCard. + +2001-04-12 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (local_record_from_ecard): put the + business address into the pilot record as that is what we put into + the desktop record + (ecard_from_remote_record): set both the address label and + delivery address to avoid bad parser guessing, fixes #2143 + + * backend/ebook/e-card-types.h: remove deprecated pilot code + + * backend/ebook/e-card.c: ditto + + * backend/ebook/e-card.h: ditto + +2001-04-11 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (local_record_from_ecard): Don't add + more than five phone numbers and set the remaining blank entries + to some reasonable defaults + +2001-04-11 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.h: Added + E_CARD_SIMPLE_FIELD_LAST_SIMPLE_STRING. + + * gui/component/addressbook-component.c (accepted_dnd_types): + Fixed a warning here. + + * gui/widgets/e-addressbook-model.c: Modified this to have more + columns, but not let them be edited if they're not a simple + string. + + * gui/widgets/e-minicard-view.c (e_minicard_view_init): Fixed a + warning and a memory leak here. + +2001-04-10 Gediminas Paulauskas <menesis@delfi.lt> + + * backend/ebook/evolution-gnomecard-importer.c: added missing #include. + * contact-editor/e-contact-editor.c (_arrow_pressed): popup menu items were + not translated after selecting one of them. + * gui/widgets/e-addressbook-view.c: mark popup menu items with N_(). + Updated list[] for translators. + * gui/widgets/e-minicard.c: same. + * gui/widgets/e-minicard-view-widget.c (e_minicard_view_widget_set_arg): fix warning + for "editable" arg. + * gui/widgets/e-minicard-view.c: convert "empty_message" to utf8. + +2001-04-09 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-component.c (remove_folder): stubbed, + #if 0'ed + (xfer_folder): same. + (populate_context_menu): same. + (get_dnd_selection): same. + (factory_fn): add the accepted drag types ("text/x-vard") to + folder_types. + +2001-04-09 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard.c (e_minicard_event): on BUTTON_PRESS: if + it's button 1, store the button x, y, and set drag_button_down to + TRUE. on BUTTON_RELEASE: always set drag_button_down to FALSE. + for MOTION_NOTIFY: initiate drag if the pointer has moved 3 + pixels. + + * gui/widgets/e-minicard.h (struct _EMinicard): add fields for + button x, y, and a bit for if the button has been pressed so we + can tell whether a motion should be a drag. + (struct _EMinicardClass): add drag_begin signal. + + * gui/widgets/e-minicard-view.c (e_minicard_view_drag_begin): new + function, starts the drag. + (book_view_loaded): connect the "drag_data_get" signal. + (e_minicard_view_drag_data_get): new function. + + * gui/widgets/e-minicard-view.h (struct _EMinicardView): add + drag_card and id for canvas_drag_data_get_id. + + * gui/widgets/e-addressbook-view.c (table_drag_data_get): new + function. + (create_table_view): add d&d stuff. + +2001-04-08 Chris Toshok <toshok@ximian.com> + + * printing/e-contact-print.c: add #include <sys/types.h> since + gnome-print.h uses time_t without including it. this really + should be fixed in gnome-print. + +2001-04-08 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_add_client): + make sure to notify new clients to the writable status of an + already open (and authenticated) book. + +2001-04-04 Kjartan Maraas <kmaraas@gnome.org> + + * contact-editor/e-contact-editor.[ch]: Fix headers. + * component/addressbook-storage.c: Same here. + * gui/search/e-addressbook-search-dialog.c: Same here. + * gui/widgets/e-addressbook-view.c: Same here. + * gui/widgets/e-minicard-label.c: Same here. + * gui/widgets/e-minicard-view-widget.c: Same here. + * gui/widgets/e-minicard-view.c: Same here. + * gui/widgets/e-minicard-widget-test.c: Same here. + * gui/widgets/e-minicard-widget.c: Same here. + * gui/widgets/e-minicard.c: Same here. + * gui/widgets/test-minicard-label.c: Same here. + +2001-04-03 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c (table_double_click): Fixed a + crash here. + +2001-04-03 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-model.c (COLS): Made this table model + more consistent in the number of columns it has. + (addressbook_append_row): Fixed this function. We removed the col + offset. + +2001-04-02 Iain Holmes <iain@ximian.com> + + * backend/ebook/evolution-gnomecard-importer.c (importer_init): Shut + down and unregister the factory on exit. + +2001-04-01 Gediminas Paulauskas <menesis@delfi.lt> + + * contact-editor/contact-editor.glade: changed icon to + evolution-contacts-plain.png. + * gui/component/addressbook.c: use new pixmap cache. Added icon for new + contact, print, print preview, changed filenames of renamed icons. + +2001-03-31 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names.c + (real_add_address_cb): Call e_select_names_model_clean after + adding address. This should deal with the bug reports related + to stray commas. + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_clean): Added. Remove all empty destinations. + + * backend/ebook/e-destination.c (e_destination_is_empty): Added. Check + if an EDestination is in essentially a null state. + +2001-03-30 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_add_client): + Tell new clients that are added whether they're writable. + +2001-03-29 Jon Trowbridge <trow@ximian.com> + + * printing/e-contact-print.c: Added #include <libgnome/gnome-paper.h> + + * printing/e-contact-print-envelope.c: Added #include <time.h> + and #include <libgnome/gnome-paper.h> + +2001-04-03 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (match_email): Better handle matching of "nameless" contacts. + + * backend/ebook/e-destination.c (e_destination_get_string): Better + handle the case of a "nameless" contact. + +2001-03-29 Kjartan Maraas <kmaraas@gnome.org> + + * *.*: Clean up #includes. Replace <gnome.h>, <bonobo.h> and + <gtk/gtk.h> with more finegrained headers where needed. + +2001-03-28 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card.c (e_card_set_arg): Fixed some crashes. + +2001-03-28 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names-table-model.c + (fill_in_info): Use E_CARD_SIMPLE_FIELD_NAME_OR_ORG instead of + getting the NAME and then the ORG. That way if we expand + NAME_OR_ORG, this will use it. + + * gui/component/select-names/e-select-names.c + (e_addressbook_create_ebook_table, SPEC): Use the correct column + in the SPEC. + +2001-03-25 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_seq_complete_cb): Rather than starting + the pending query by directly calling + e_select_names_completion_do_query, call + e_completion_begin_search. Circumventing the ECompletion API was + causing it to get confused in some cases. + +2001-03-23 Jon Trowbridge <trow@ximian.com> + + * gui/widgets/e-minicard-widget.c (e_minicard_widget_set_card): + Added. Call me old-fashioned, but I just prefer to have a real + API rather than doing everything via gtk_object_get/set-type + calls. + (e_minicard_widget_set_arg): Changed to call + e_minicard_widget_set_card. + + * backend/ebook/e-book-util.c: Small changes to get rid of + compiler warnings. (Casting out const, removed unused variables, + etc.) Removed some debugging messages. + + * gui/component/addressbook-factory.c (main): Added call + to e_address_popup_factory_init. + + * gui/component/e-address-popup.c: Added. A popup gadget that is + invoked (as a bonobo control) when an address is left-clicked in + the mailer. The addressbook is queries, and the address is either + displayed as a minicard (if it already exists) or in a "generic + format". A button is provided for editting/adding the contact. + Some of the semantics of this widget are a bit... non-standard, + because of bonobo issues. I can't really seem to replicate + popup-menu behavior because of how bonobo propogates events, etc. + so I've tried to produce something that I think is non-annoying. + YMMV. + +2001-03-22 Iain Holmes <iain@ximian.com> + + * backend/ebook/evolution-gnomecard-importer.c: Update to the new + IDL. + +2001-03-20 Miguel de Icaza <miguel@ximian.com> + + * gui/component/addressbook.c (update_pixmaps): Added artwork from + Jakub. + +2001-03-19 Christopher James Lahey <clahey@ximian.com> + + * Merged branch: + +2001-03-14 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard-view.c: Call + e_selection_model_simple_insert_rows and + e_selection_model_simple_delete_rows instead of + e_selection_model_simple_insert_row and + e_selection_model_simple_delete_row. + +End of branch + +2001-03-17 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c: Brutally + refactored to boost performance in large-addressbook situations. + These fixes give accepable performance (even with the suboptimal + pas-backend-file searching) using tigert's addressbook-of-death. + + * backend/pas/pas-backend-file.c (pas_backend_file_search): + Start feeding query matches back to the caller before the + entire search is complete; this gives us some "instant feedback" + rather than causing evolution to totally lock up... + + * backend/ebook/e-book.c (e_book_queue_op): Tag all queued ops. + (e_book_cancel_op): Added. Search for a pending op with a given + tag, and mark it as inactive. + (e_book_do_response_get_cursor): Don't execute callback if this + operations has been cancelled. + (e_book_do_response_get_view): Ditto. + (e_book_do_response_get_changes): Ditto. + (e_book_do_response_get_supported_fields): Ditto. + (e_book_get_supported_fields): Return an operation tag (that can + be used to cancel the operation) rather than just TRUE/FALSE. + Zero is always an invalid tag and is returned in the case of an + error, so this shouldn't break any code that looked at the return + value (unless it did so in a particularly stupid way, of course). + (e_book_get_cursor): Ditto. + (e_book_get_book_view): Ditto. + (e_book_get_changes): Ditto. + (e_book_cancel): Added. Cancel a pending operation. (Basically + a call to e_book_cancel_op with error checking, etc.) + + * backend/ebook/e-book-types.h: Added E_BOOK_STATUS_CANCELLED. + +2001-03-17 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book-listener.c + (e_book_listener_queue_writable_status): new function. + (impl_BookListener_report_writable): new function. + (e_book_listener_get_epv): fill in epv->notifyWritable. + + * backend/ebook/e-book-listener.h: add writable status entries. + + * backend/ebook/e-book.c (e_book_do_writable_event): new function. + (e_book_check_listener_queue): add WritableStatusEvent to the + switch. + (e_book_class_init): register writable_status signal. + + * backend/ebook/e-book.h: add writable_status signal. + + * backend/idl/addressbook.idl: add notifyWritable method to + BookListener. + + * gui/widgets/e-minicard.c (e_minicard_class_init): add "editable" + arg. + (e_minicard_init): init editable. + (e_minicard_set_arg): loop over the minicard fields setting their + "editable". + (e_minicard_get_arg): add editable. + (supported_fields_cb): use editable when creating the + contact_editor. + (add_field): set "editable" when creatin the e_minicard. + + * gui/widgets/e-minicard.h (struct _EMinicard): add "editable". + + * gui/widgets/e-minicard-view.c (e_minicard_view_class_init): add + editable arg. + (e_minicard_view_init): init editable. + (create_card): pass editable to e_minicard canvas item. + (e_minicard_view_set_arg): bit of a hack - loop over all the + canvas items setting their "editable." + (e_minicard_view_get_arg): add editable. + (supported_fields_cb): use editable when creating the contact + editor. + + * gui/widgets/e-minicard-view.h (struct _EMinicardView): add + "editable." + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_class_init): add "editable" field. + (e_minicard_view_widget_init): init editable to FALSE. + (e_minicard_view_widget_set_arg): save editable, and pass it along + the e-minicard-view. + (e_minicard_view_widget_realize): same. + (e_minicard_view_widget_get_arg): add editable. + + * gui/widgets/e-minicard-view-widget.h (struct + _EMinicardViewWidget): add "editable" field. + + * gui/widgets/e-minicard-label.h (struct _EMinicardLabel): add + "editable" field. + + * gui/widgets/e-minicard-label.c (e_minicard_label_class_init): + add "editable" arg. + (e_minicard_label_set_arg): editable, set it on the e_text too. + (e_minicard_label_get_arg): editable. + (e_minicard_label_construct): set the "editable" field when we + create the e_text cavas item + + * gui/widgets/e-addressbook-view.c (e_addressbook_view_init): + default editable to FALSE. + (book_writable_cb): new function, set our editable field and + gtk_object_set it on the active view. + (e_addressbook_view_set_arg): set the active view's editable when + we set the view's book, and connect the "writable_status" signal + to book_writable_cb. + (change_view_type): same. + (supported_fields_cb): use our "editable" when creating the + contact editor. + + * gui/widgets/e-addressbook-view.h (struct _EAddressbookView): add + editable field. + + * gui/widgets/e-addressbook-model.c (e_addressbook_model_init): + change the default of editable to FALSE. + + * backend/pas/pas-book.c (pas_book_report_writable): new function. + + * backend/pas/pas-book.h: prototype for pas_book_report_writable. + + * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): if + we open the file O_RDWR (or create it) report it as writable. if + we can't open it as O_RDWR, try opening it read-only before we + attempt to create it. + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_authenticate_user): if we authenticate + successfully, grant write permissions (this is lacking but there's + really nothing we can do to determine the extent of the access + afforded a user.) + + +2001-03-15 Jon Trowbridge <trow@ximian.com> + + * gui/component/e-address-widget.c: Added addressbook querying and + "cardification" functions, which are turned off by default for now + because of addressbook bugs. Added a popup menu option to turn + queries on, so that others can enjoy the thrill of massive flaming + death. + + * gui/component/addressbook-factory.c (main): Made warnings always + be fatal. + + * backend/pas/pas-book-view.c: Added some debugging spew. + + * backend/pas/pas-backend-file.c (pas_backend_file_search): Added + a little experimental code to try to make file searches scale + better. #if 0/#endif-ed out for now. + + * contact-editor/e-contact-quick-add.c: #included e-book-util.h. + + * backend/ebook/e-card.c (e_card_name_match_string): Added. + Looser name-matching function. + (e_card_email_match_string): Added. Loose e-mail matching. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_check_queue): Added code to cause us to + abort rather than get trapped in a 100%-CPU-consuming loop in + certain situations. Now we just need to figure out how to avoid + these situations altogether. + + * backend/ebook/e-book-util.c: Added. Now contains the simple + query stuff and the open local addressbook functions. + + * backend/ebook/e-book.c: Moved simple query stuff and open local + addressbook functions into e-book-util.c. + +2001-03-15 Dan Winship <danw@ximian.com> + + * gui/widgets/e-minicard-label.c (e_minicard_label_set_arg): + * gui/widgets/e-minicard.c (e_minicard_set_arg, e_minicard_event): + Update arguments to e_canvas_item_grab_focus. + +2001-03-13 Christopher James Lahey <clahey@ximian.com> + + * gui/component/addressbook.c (update_pixmaps): Fix a warning + here. + +2001-03-13 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/Makefile.am (minicard_label_test_LDADD): Change to + ld order from Greg Williams. + +2001-03-13 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_get_book_view): Moved where we call + pas_book_respond_get_book_view. + +2001-03-12 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c: add E_STRING_PROP for + categories. + + * backend/pas/evolutionperson.schema: add categories attribute. + + * backend/ebook/e-card-simple.c (field_data): add + E_CARD_SIMPLE_FIELD_CATEGORIES. + + * backend/ebook/e-card-simple.h: add + E_CARD_SIMPLE_FIELD_CATEGORIES. + +2001-03-12 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard.c (supported_fields_cb): add is_read_only + param. + + * gui/widgets/e-minicard-view.c (supported_fields_cb): add + is_read_only param. + + * gui/widgets/e-addressbook-view.c (supported_fields_cb): add + is_read_only param. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_activate_obj): add is_read_only param. + also, include a little policy here and make it TRUE, as the user + shouldn't be editting in this context anyway (imo). + + * gui/component/addressbook.c (supported_fields_cb): add + is_read_only param. + + * contact-editor/test-editor.c (main): add is_read_only param. + + * contact-editor/e-contact-editor.c (set_read_only): new function, + that either enables or disables all the text fields, combo boxes, + and some buttons, depending on the state of is_read_only. + (e_contact_editor_class_init): add read/write arg "is_read_only". + (full_name_clicked): set the is_read_only of the fullname dialog + to the editor's. + (full_addr_clicked): same. + (e_contact_editor_new): add is_read_only param, that gets set + along with the other params. + (e_contact_editor_set_arg): add setter for is_read_only. + (e_contact_editor_get_arg): add getter for is_read_only. + (_phone_arrow_pressed): change TRUE to !editor->is_read_only for + entry. + (_email_arrow_pressed): same. + (_address_arrow_pressed): same. + (enable_writable_fields): same. + + * contact-editor/e-contact-editor-fullname.c + (e_contact_editor_fullname_class_init): add read/write arg + "is_read_only". + (e_contact_editor_fullname_set_arg): add setter for is_read_only + that enables/disables all the entries/combos. + (e_contact_editor_fullname_get_arg): add getter for is_read_only. + + * contact-editor/e-contact-editor-fullname.h (struct + _EContactEditorFullname): add is_read_only flag. + + * contact-editor/e-contact-editor-address.c + (e_contact_editor_address_class_init): add read/write arg + "is_read_only". + (e_contact_editor_address_set_arg): add setter for is_read_only + that disables/enables all the entries/combos. + (e_contact_editor_address_get_arg): add getter for is_read_only. + + * contact-editor/e-contact-editor-address.h (struct + _EContactEditorAddress): add is_read_only flag. + +2001-03-13 Iain Holmes <iain@ximian.com> + + * backend/ebook/Makefile.am: Change the importer includes around a bit. + + * backend/ebook/evolution-gnomecard-importer.c: Correctly add the includes. + +2001-03-09 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: PISOCK_INCLUDEDIR has become + PISOCK_CFLAGS in gnome-pilot.m4 and remove capplet foo + +2001-03-11 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-book.c (e_book_simple_query): Added. A + simplified, cancellable query mechanism that lets you avoid + dealing with EBookView. + (e_book_simple_query_cancel): Added. Cancels a running query. + + * backend/ebook/e-book-types.h: Add enum EBookSimpleQueryStatus. + +2001-03-08 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-popup.c + (quick_add_cb): Switched to use e_contact_quick_add_free_form. + Removed debugging code, hopefully without introducing any bugs + in the process. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_insert_length): Fix bug with commas + inside of name/address combos. As long as the comma is inside of + quotes, it will be treated as part of the name rather than as a + break between addresses. + + * gui/component/select-names/e-select-names-completion.c + (match_nickname): Use e_card_name_to_string for nickname match + strings. + (match_email): Use e_card_name_to_string for email match strings. + (e_select_names_completion_begin): Strip quotes out of query text, + so we don't produce malformed sexps. + Added William Blake quote easter egg. + + * contact-editor/e-contact-quick-add.c: Further attempts to fix... + mostly unsuccessful. + (e_contact_quick_add_free_form): Added. Takes a single string + and tries to parse out (using some simple, loose rules) the + name and e-mail -- then calls e_contact_quick_add. An attempt to + get the computer to automatically Do The Right Thing. + + * backend/ebook/e-book.c: Fixed some broken indentation. Yes, I'm + anal. + + * gui/component/GNOME_Evolution_Addressbook.oafinfo: Added oaf_server + info for EAddressWidget. + + * gui/component/GNOME_Evolution_Addressbook.oaf.in: Added oaf_server + info for EAddressWidget. + + * gui/component/addressbook-factory.c (main): Add call to + e_address_widget_factory_init. + + * gui/component/e-address-widget.h: + * gui/component/e-address-widget.c: Added. A little widget (and a + Bonobo control, BTW) for displaying addresses, with a left-click + menu. Used to display addresses in the mail viewer (as embedded + GtkHTML objects, replacing the text previously used). Still quite + incomplete. + +2001-03-08 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook-component.c (factory_fn): Specify a + NULL `EvolutionShellComponentGetDndSelectionFn'. + +2001-03-06 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_insert_length): Fix glitch with + inserting comma-delimited stuff when length > 1. + +2001-03-06 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-book.c (e_book_load_local_address_book): Added. + Just encapsulates opening + file://~username/evolution/local/Contactes/addressbook.db, so that + path doesn't need to be hardwired in throughout the code. + +2001-03-06 Benjamin Kahn <xkahn@cybersites.com> + + * contact-editor/e-contact-quick-add.c (clicked_cb): + Added the third argument to e_contact_editor_new. (Cheated + and send NULL for the field argument, which is probably + troublesome. It will be fixed soon by either clahey or + toshok.) + +2001-03-06 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-model.c + (e_select_names_model_replace): Fix a reference counting bug. + + * gui/component/select-names/e-select-names-manager.c (popup_cb): + A callback for creating the appropriate popup by calling + e_select_names_popup. + (e_select_names_manager_create_entry): Connect popup_cb to the + entry's popup signal + + * gui/component/select-names/e-select-names-popup.c: Added. Code + for popup right-click menus for recipient entries. Still a bit + incomplete. + + * backend/ebook/e-destination.c (e_destination_get_email_num): + Added. + + * contact-editor/e-contact-quick-add.c: Added. Some code and a + dialog for very quickly adding entries to the address book. + Still not fully working. + +2001-03-04 Christopher James Lahey <clahey@ximian.com> + + * backend/ebook/e-card-simple.c: Cleaned up the formatting in this + file a bit. + + * contact-editor/e-contact-editor.c (e_contact_editor_set_arg): + Made it so that passing in NULL to the writable_fields arg sets + the set of writable fields to the empty set. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_activate_obj): Pass NULL as the + writable_fields argument here. + + * gui/widgets/e-addressbook-model.c: Don't offset by one here. + This way we will get the file_as field as one of our + ETableColumns. + + * gui/widgets/e-addressbook-view.c (SPEC): Updated this for the + changes in ECardSimple. + + * gui/widgets/e-minicard.c (remodel): Don't remodel if the item + isn't realized. + +2001-03-02 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c: doh, track renaming of + objectclass from evolvePerson to evolutionPerson. + +2001-03-02 Chris Toshok <toshok@ximian.com> + + * backend/pas/evolutionperson.schema: rename evolveperson.schema + to this, and add remaining attributes. + + * backend/pas/pas-backend-ldap.c: add remaining fields, and fix up + ones that were incorrent (either the ldap_attr or the query prop). + +2001-03-02 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: update sed script + + * conduit/e-address.conduit.in: update for new pilot foo + +2001-03-02 Chris Toshok <toshok@ximian.com> + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_activate_obj): track change to + e_contact_editor_new. + +2001-03-02 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (add_objectclass_mod): add + objectclasses for "person", "organizationalPerson", and "top" as + well, just to be complete. + (check_schema_support): rename check_for_evolve_person to this, to + reflect that we're doing more than just checking for that + objectClass. + (add_oc_attributes_to_supported_fields): new function. + (add_to_supported_fields): new function. + (pas_backend_ldap_destroy): unref supported_fields. + +2001-03-02 Chris Toshok <toshok@ximian.com> + + * gui/widgets/e-minicard-view.c (supported_fields_cb): new + function. + (e_minicard_view_event): split out the creation of the contact + editor to the supported_fields callback. + + * gui/widgets/e-minicard.c (supported_fields_cb): new function. + (e_minicard_event): split out the creation of the contact editor + to the supported_fields callback. + + * gui/widgets/e-addressbook-view.c (table_double_click): split + function into two functions, since e_book_get_supported_fields + requires a callback now. + (supported_fields_cb): new function. + + * gui/component/addressbook.c (new_contact_cb): split this into + two functions, since e_book_get_supported_fields requires a + callback now. + (supported_fields_cb): new function. + + * contact-editor/test-editor.c (main): track change to + e_contact_editor_new (pass NULL for the writable_fields arg.) + + * contact-editor/contact-editor.glade: fix several labels so they + make better sense (since we look them up in e-contact-editor.c.) + + * contact-editor/e-contact-editor.h (struct _EContactEditor): add + writable_fields. also, add it to e_contact_editor_new. + + * contact-editor/e-contact-editor.c (e_contact_editor_class_init): + add writable_fields arg. + (e_contact_editor_destroy): unref the writable_fields list. + (e_contact_editor_new): pass @fields as the writable_fields arg. + (e_contact_editor_set_arg): add writable_fields support. + (enable_writable_fields): new (very hairy) function, to disable + everything and reenable just the fields listed in the + writable_fields list. + (_email_arrow_pressed): set label-email1, entry-email1, and + checkbutton-htmlmail to be sensitive since the only way to get + here is to activate a writable field in the menu. + (_address_arrow_pressed): set label-address, button-fulladdr, and + text-address to be sensitive for the same reason. + (_phone_arrow_pressed): sensitize the label and entry for the same + reason. + +2001-03-02 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-card-simple.c (field_data): add new entries for + phone enums, and fill in the ecard_field with (bogus in all but a + few cases) strings. these are the strings sent from wombat to + evolution-addressbook for supported_fields. + (e_card_simple_get_ecard_field): new function. + (e_card_simple_map_phone_to_field): new function. + (e_card_simple_map_email_to_field): new function. + (e_card_simple_map_address_to_field): new function. + + * backend/ebook/e-card-simple.h: add a few phone entries to the + ECardSimpleField enum, and add prototypes for mapping the list + types (phone, email, address) to ECardSimpleField. Also, add + prototype for e_card_simple_get_ecard_field. + + * backend/ebook/e-book.c + (e_book_do_response_get_supported_fields): don't build the EList + here, it's already built. + + * backend/ebook/e-book-listener.h: change fields from the CORBA + sequence to the EList in our reponse struct. + + * backend/ebook/e-book-listener.c + (e_book_listener_queue_get_supported_fields_response): we make the + EList here, since after we return the CORBA list is freed up. + +2001-03-02 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_get_supported_fields): implement + properly, we support everything. + +2001-03-01 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-bonobo.c + (entry_set_property_fn): Oops, we do need to be able to write to + "text" after all (for things like Reply-to: to work properly). + Fixed. + (impl_SelectNames_get_entry_for_section): Made "text" a writeable + property again. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_insert_length): Increment pos so that + we don't reverse strings when length > 1 (a particularly amusing + bug). + + * gui/component/select-names/e-select-names-completion.c + (e_select_names_completion_destroy): Check for NULL before calling + gtk_object_unref (GTK_OBJECT (---)), to get rid of annoying error + messages. + +2001-03-01 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-completion.c: I am an + idiot. + +2001-03-01 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-table-model.c + (fill_in_info): Change for new EDestination/ESelectNamesModel API. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_get_source): Added. A function for + looking up the ESelectNamesModel by id. (I didn't end up using + this function, but it might come in handy later.) + (e_select_names_manager_get_cards): #if 0/#endif out this + function. + (e_select_names_manager_create_entry): Modified to attach an + ESelectNamesCompletion to the entry we create. + (completion_handler): A post-completion handler for our EEntry, to + take the completion's extra data (an EDestination) and properly + stick it into our ESelectNamesModel. + + * gui/component/select-names/e-select-names.c + (real_add_address_cb): Changed to operate on EDestinations rather + than ECards and to use the new ESelectNamesModel API. This leads + to a rather nice code simplication. + (remove_address): Changed for new ESelectNamesModel API. + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): Rather than just passing the entry's text + through the property bag, get the "address text" from the model. + This returns a nice, verbose string of addresses with names + expanded when the address is tied to an ECard (i.e. "Jon + Trowbridge <trow@ximian.com>"). + (impl_SelectNames_get_entry_for_section): Make the text property + read-only. + (entry_set_property_fn): ...and since it is read-only now, chop + out the setter code. + + * gui/component/select-names/e-select-names-text-model.h: + * gui/component/select-names/e-select-names-text-model.c: Again, + this code has been (pretty much) totally rewritten to convert all + text operations into changes on the ESelectNamesModel. This lets + us give the associated EEntry some (IMHO) nice semantics regarding + whitespace, etc. Includes object activation, so destinations tied + to ECards are underlined and can be double-clicked to bring up a + contact editor. + + * gui/component/select-names/e-select-names-model.h: + * gui/component/select-names/e-select-names-model.c: I've heavily + modified this object to both hide all implementation details + (which the old version exposed a bit too much for my peculiar + tastes) and to act as an EDestination container. The old code put + the text model operations here. I've moved them all to + ESelectNamesTextModel --- so the text model actions (insert, + delete, etc.) are all done through the API rather than operating on + ESelectNamesModel internals. + + * gui/component/select-names/e-select-names-completion.c: Added. A + fairly complicated object derived from ECompletion that searches + our local addressbook in various and sundry ways. + + * gui/component/select-names/e-select-names-completion.h: + + * backend/ebook/e-destination.h: + * backend/ebook/e-destination.c: Added. This object encapsulates + a place to sent an email to, which can either be just a address as + a string ("trow@ximian.com"), a fancier string ("Jon Trowbridge + <trow@ximian.com>"), or an ECard and a specific address within + that ECard. + +2001-03-01 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h, + gui/widgets/e-minicard.c, gui/widgets/e-minicard.h: Used + ESelectionModelSimple and the changes to EReflow and EReflowSorted + to get multiple selection in the minicard view. + + * gui/widgets/test-reflow.c: Changed this to get it to compile + with the changes to EReflow. + +2001-02-21 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_search): Made + this pay attention to the return value of e_sexp_parse. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_activate_obj): Fixed a const + inconsistency here. + +2001-02-21 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-book.c (pas_book_queue_get_supported_fields): + new function. + (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): track + change to idl. + (pas_book_respond_get_supported_fields): new function. + + * backend/pas/pas-book.h: add GetSupportedFields to the + PASOperation enum. Also, add a stringlist field to the PASRequest + struct. lastly, add a prototype for + pas_book_respond_get_supported_fields. + + * backend/pas/pas-backend.h: remove prototype for + pas_backend_get_supported_fields, and remove it from the vtable. + + * backend/pas/pas-backend.c (pas_backend_get_supported_fields): + remove. + (pas_backend_class_init): no vtable entry for get_supported_fields + anymore. + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_get_supported_fields): new function. + (pas_backend_ldap_process_client_requests): add case for + GetSupportedFields. + (pas_backend_ldap_class_init): get_supported_fields isn't in + vtable anymore. + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_get_supported_fields): new function. + (pas_backend_file_process_client_requests): add case for + GetSupportedFields. + (pas_backend_file_class_init): get_supported_fields isn't in + vtable anymore. + + * backend/idl/addressbook.idl: Book::getSupportedFields now + returns void and add BookListener::notifySupportedFields. + + * backend/ebook/test-client.c (get_fields_cb): new function. + (auth_user_cb): track change to e_book_get_supported_fields. + + * backend/ebook/e-book.c + (e_book_do_response_get_supported_fields): new function. + (e_book_check_listener_queue): add case + GetSupportedFieldsResponse. + (e_book_get_supported_fields): switch to async model. + + * backend/ebook/e-book.h: switch e_book_get_supported_fields to an + async model. + + * backend/ebook/e-book-listener.c + (e_book_listener_queue_get_supported_fields_response): new + function. + (impl_BookListener_response_get_supported_fields): new function. + (e_book_listener_get_epv): fill in epv's "notifySupportedFields" + + * backend/ebook/e-book-listener.h: add an async response for + GetSupportedFields and add a stringlist member to the + EBookListenerResponse struct. + +2001-02-20 Federico Mena Quintero <federico@ximian.com> + + * backend/pas/pas-book-factory.c (pas_book_factory_activate): + Moved the register_factory() code to here, since it was the only + thing being called anyways. + (PasBookFactoryPrivate): Added a "registered" flag. + (pas_book_factory_activate): Set the registered flag. + (pas_book_factory_destroy): Deactivate the factory when we go away. + +2001-02-20 Chris Toshok <toshok@ximian.com> + + * backend/ebook/e-book.c (e_book_get_supported_fields): new function. + + * backend/ebook/e-book.h: add e-book interface to getting + supported fields. + + * backend/ebook/test-client.c (auth_user_cb): shoe-horn in some + spew about supported fields. + +2001-02-19 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: Remove PISOCK_LIBDIR + +2001-02-19 Jon Trowbridge <trow@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_create_entry): When creating the entry, + open up an ebook (corresponding to the local addressbook) and make + the entry use an EAddressCompletion. + (completion_handler): Added; this is the actual completion + handler, which manipulates the entry when the user selects + something from the drop-down. + + * gui/component/select-names/e-select-names-model.c: Various hacks + by clahey to unbreak e_select_names_model_add_item, + e_select_names_model_replace_item (which I added) and + e_select_names_model_remove_item. + + * gui/component/select-names/e-select-names-text-model.c + (e_select_names_text_model_obj_count, + e_select_names_text_model_get_nth_obj): Make chunks of text that + correspond to ECards in the ESelectNamesModel be embedded objects. + (e_select_names_text_model_activate_obj): On activation, pop up a + contact editor for the embedded object's card. + (e_select_names_text_model_model_changed): Fixed to work with + ETextModel API changes. + (e_select_names_text_model_set_text): Make const correct. + (e_select_names_text_model_insert): Make const correct. + (e_select_names_text_model_insert_length): Make const correct. + + * backend/ebook/e-address-completion.h, + backend/ebook/e-address-completion.c: Added. EAddressCompletion + is a derived class of ECompletion that does asynchronous address + lookups for completions. + +2001-02-17 Chris Toshok <toshok@ximian.com> + + * backend/idl/addressbook.idl: add sequence<string> typedef, and + add getSupportedFields method. + + * backend/pas/pas-book.c + (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): new + function. + + * backend/pas/pas-backend.c (pas_backend_class_init): init + get_supported_fields = NULL. + (pas_backend_get_supported_fields): new function. + + * backend/pas/pas-backend.h: add prototype for + pas_backend_get_supported_fields. + + * backend/pas/pas-backend-file.c + (pas_backend_file_get_supported_fields): new function. + (pas_backend_file_class_init): fill in get_supported_fields. + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_get_supported_fields): new function. + (pas_backend_ldap_class_init): fill in get_supported_fields. + +2001-02-14 Christopher James Lahey <clahey@ximian.com> + + * backend/pas/pas-backend-ldap.c: Undefine E_STRING_PROP and + E_LIST_PROP here. + + * contact-editor/e-contact-editor.c, + contact-editor/e-contact-editor.h (e_contact_editor_raise): Added + this function. + + * gui/widgets/e-minicard.c, gui/widgets/e-minicard.h + (e_minicard_event): Added an editor field to the EMinicard object. + Made it so that if you double click on the same card twice, it + doesn't open a new window, but instead raises the old. + +2001-02-08 Iain Holmes <iain@ximian.com> + + * gui/component/addressbook-storage.c (addressbook_source_free): + Free the ldap.binddn. + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_setup_menus): Free the dir strings. + +2001-02-08 Christopher James Lahey <clahey@ximian.com> + + * contact-editor/e-contact-editor.c (categories_clicked): Set the + header on the category dialog we pop up. + +2001-02-12 Kjartan Maraas <kmaraas@gnome.org> + + * backend/ebook/GNOME_Evolution_Addressbook_GnomeCard_Importer.oaf.in: Translations. + * gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.oaf.in: + Marked strings for translation in this newly created file. + * gui/component/select-names/Makefile.am: Hook up the .oaf.in files in the + xml-i18n-tools framework. + * gui/component/Makefile.am: Same as above. + * gui/component/GNOME_Evolution_Addressbook.oaf.in: Marked stuff for translation here + too. + +2001-02-11 Jason Leach <jasonleach@usa.net> + + * gui/component/addressbook.c: Removed an ancient #include + <libgnorba/gnorba.h> + +2001-02-11 Gediminas Paulauskas <menesis@delfi.lt> + + Really use xml-i18n-tools. + + * conduit/e-address-conduit-control-applet.desktop: removed. + * conduit/e-address-conduit-control-applet.desktop.in: added empty. + * conduit/Makefile.am: reflect above changes, merge translations. + + * contact-editor/e-contact-editor-strings.h, + contact-editor/fulladdr.glade.h, contact-editor/fullname-strings.h, + contact-editor/e-contact-editor-confirm-delete.glade.h, + gui/component/select-names/select-names.glade.h: + removed these files, xml-i18n-extract takes care of strings itself. + + * contact-editor/*.glade, + gui/component/select-names/select-names.glade, + gui/widgets/alphabet.glade, printing/e-contact-print.glade: + changed project options to not output_translatable_strings. + + * contact-editor/Makefile.am, gui/widgets/Makefile.am, + gui/component/select-names/Makefile.am, printing/Makefile.am: + do not include removed files in EXTRA_DIST. + +2001-02-07 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (check_for_evolve_person): flesh + out this check. #ifdef the entire thing OPENLDAP2, as it only + works with the new schema stuff in openldap 2.x (both on server + and client, so upgrade your server.) + +2001-02-07 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/e-addressbook-view.c: Added N_("* Click here to add + a contact *"). + +2001-02-07 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_connect): only + set the DEBUG_LEVEL if we're OPENLDAP2. + +2001-02-06 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (email_compare): return TRUE if + equal, FALSE otherwise. + (business_compare): same. + (homephone_compare): same. + (email_ber): return NULL if there are no elements in our list. + (homephone_ber): same. + (business_ber): same. + (build_mods_from_ecards): add smarts to handle list elements + properly (like email, business_phone, home_phone.) now we'll + properly send updates if any element in the list changes. + +2001-02-06 Christopher James Lahey <clahey@ximian.com> + + * gui/widgets/Makefile.am (INCLUDES): Added + -DEVOLUTION_DATADIR=\""$(datadir)"\". + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_setup_menus): Changed the local and system + directories. + +2001-02-06 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (create_card_handler): doh, + didn't mean to commit this. + +2001-02-06 Chris Toshok <toshok@ximian.com> + + * backend/pas/evolveperson.schema: new file. this will eventually + form the suggested additions to an existing openldap server that, + along with support for inetorgperson, will allow people to store + all evolution attributes in ldap. + +2001-02-06 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_init): don't + need the = NULL's since we g_new0. + (check_for_evolve_person): new function. + (pas_backend_ldap_connect): check to see if the evolvePerson + objectclass is there. + (build_mods_from_ecards): right now, just silently skip the extra + attributes if we don't support evolvePerson. + (add_objectclass_mod): new function, add both inetOrgPerson and + (if it's available) evolvePerson as objectclasses. + (pas_backend_ldap_process_authenticate_user): also check to see if + evolvePerson is there, if we couldn't do it (due to auth reasons) + in the connect method. + (prop_info): change the telephoneNumber LDAP attribute to be used + for evolution's business phone numbers. the primary phone number + will be a single valued attribute on evolvePerson. + (business_populate): new function. + (business_ber): new function. + (business_compare): new function. + +2001-02-05 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (create_card_handler): err, + allocate 2 char*s when i assign 2 char*s. + +2001-02-05 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (modify_card_handler): switch to + ldap_modify_ext_s if OPENLDAP2, as ldap_modify_s is deprecated. + (build_mods_from_ecards): don't include the mod if the value is "" + - this isn't valid on schema checking ldap servers. + (homephone_populate): new function. + (homephone_ber): new function. + (homephone_compare): new function. + (create_card_handler): add spew when adding cards so I can see + what's going on. +2001-02-05 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook-config.c (table_add_elem): Save the + help_text in the closure. + +2001-02-05 Christopher James Lahey <clahey@helixcode.com> + + * gui/widgets/Makefile.am (libeminicard_a_SOURCES): Added + gal-view-factory-minicard.c, gal-view-factory-minicard.h, + gal-view-minicard.c, and gal-view-minicard.h. + + * gui/widgets/gal-view-factory-minicard.c, + gui/widgets/gal-view-factory-minicard.h, + gui/widgets/gal-view-minicard.c, and + gui/widgets/gal-view-minicard.h: New classes for minicard view + type. + + * gui/widgets/e-addressbook-view.c: Deploy gal-view stuff + properly. + +2001-02-05 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c (e_card_get_vcard): Make the Note field + be quoted printable. + +2001-01-27 Christopher James Lahey <clahey@helixcode.com> + + * gui/search/e-addressbook-search-dialog.c + (e_addressbook_search_dialog_init): This should be a close button, + not a cancel button. + +2001-02-04 Christopher James Lahey <clahey@ximian.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_activate_dialog): Call + e_select_names_set_default when appropriate. + + * gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h: Added support for + double clicking sending the selected contacts to the default + section. Added a set_default function. Made multiple selection + work. + +2001-01-29 Chris Toshok <toshok@ximian.com> + + * gui/component/addressbook-config.c + (addressbook_config_source_label): #ifdef INCLUDE_FILE_SOURCE. + (table_add_elem): add help_text parameter and set up focus_in + events to display the help in the dialog's html area. + (focus_help): new function, calls put_html on the help text. + (addressbook_ldap_auth_item_new): add help texts. + (addressbook_source_item_new): add help texts. + (addressbook_source_dialog): add help texts. + +2001-01-27 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_add_section): Remove the butt-ugly arrow icon and + replace it with a less invasive "->" icon. + +2001-01-25 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (build_mods_from_ecards): add + comment about the else block here. + (prop_info): add home_address, business_address, business_fax, + assistant, and isdn. + +2001-01-25 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): Made + this only add the initial VCard if it finds a file + "create-initial" in the directory it's creating the database in. + + * gui/component/addressbook-component.c (factory_fn): Added a + create_folder function. + + * gui/search/e-addressbook-search-dialog.c + (e_addressbook_search_dialog_init): Fixed an unused variable + warning. + +2001-01-25 Christopher James Lahey <clahey@helixcode.com> + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_setup_menus): Setup the view collection + properly and handle the "display_view" signal. + +2001-01-25 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c (update_pixmaps): Consider the + placeholder in the path for the "Print" item. + +2001-01-25 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c (update_pixmaps): Set the icon for + "/Toolbar/Find" to "24_find_contact.xpm". + +2001-01-25 Ettore Perazzoli <ettore@ximian.com> + + * gui/component/addressbook.c (set_pixmap): New. + (update_pixmaps): New function, setting the pixmaps for the items + of type "pixbuf", using `set_pixmap'. + (control_activate): Call it. + +2001-01-25 Not Zed <NotZed@Ximian.com> + + * backend/pas/pas-backend-ldap.c: esexp api change fixes. + + * backend/pas/pas-backend-file.c (entry_compare): Fix for e_sexp api changes. + (vcard_matches_search): esexp api fixes. + (pas_backend_file_search): Ouch, unref the e-sexp properly (not gtk object). + +2001-01-24 Chris Toshok <toshok@ximian.com> + + * backend/pas/pas-backend-ldap.c (email_ber_func): make sure to + add the lengths here (include the \0? anyone?). + (build_mods_from_ecards): if we're filling in mod->mod_bvalues, + set mod_op |= LDAP_MOD_BVALUES. + +2001-01-23 Jason Leach <jasonleach@usa.net> + + (Fix #1225: advanced search cancel/close) + + * gui/search/e-addressbook-search-dialog.c + (e_addressbook_search_dialog_init): Set it up with Search and a + Cancel button, Search is still the default. + +2001-01-23 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (local_record_from_ecard): properly ref + the ecard. still need to kill some memory leaks. + +2001-01-22 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: remove vfs dependency + +2001-01-21 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (delete_record): Remove + deleted records from the pilot map so we don't have dupes in the future + +2001-01-19 Dan Winship <danw@ximian.com> + + * gui/widgets/e-addressbook-view.c (table_right_click): + * gui/widgets/e-minicard.c (e_minicard_event): Update for + e_popup_menu_run prototype change. + +2001-01-19 Jason Leach <jasonleach@usa.net> + + (Adding a boolean "entry_changed" BonoboPropertyBag arg) + + * gui/component/select-names/e-select-names-bonobo.c + (entry_set_property_fn): Use a gtk_object_set_data to set the + property to TRUE here. + + (entry_changed): New function, calls bonobo_control_set_property + if entry_changed hasn't been set to TRUE yet. + + (impl_SelectNames_get_entry_for_section): Connect "changed" on + each entry_widget to the new entry_changed() func. + +2001-01-19 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (ecard_from_remote_record): always free + the delivery elements and correct embarrassingly stupid memory error + that was causing the addressbook conduit problems. + + * backend/ebook/e-book-view-listener.c + (e_book_view_listener_check_queue): ref/unref ourself when processing + in case someone we signal unrefs us. + + * conduit/address-conduit.c (sequence_complete): disconnect signals + when complete + +2001-01-17 Federico Mena Quintero <federico@ximian.com> + + * backend/pas/pas-book-factory.c (pas_book_factory_activate): Made + it return a gboolean; it was completely ignoring the return value + from register_factory(). + +2001-01-17 Larry Ewing <lewing@helixcode.com> + + * backend/ebook/.cvsignore: add evolution-gnomecard-importer. + + * backend/ebook/Makefile.am (oaf_DATA): don't require the pine + oainfo file until it is actually added to the repository. We need + to keep the build working for nightlies to work. + +2001-01-16 Jason Leach <jasonleach@usa.net> + + * backend/pas/pas-backend-file.c (INITIAL_VCARD): s/Helix + Code/Ximian/ for the initial contact card. + +2001-01-15 JP Rosevear <jpr@ximian.com> + + * conduit/address-conduit.c (print_local): prevent segfaults and + buffer overflows + (print_remote): ditto + +2001-01-14 JP Rosevear <jpr@ximian.com> + + * conduit/Makefile.am: pass -module and -avoid-version to conduit + linker + +2001-01-12 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook-component.c (factory_fn): Pass NULL as + the @copy_folder_fn arg to `evolution_shell_component_new'. + +2001-01-12 Miguel de Icaza <miguel@ximian.com> + + * gui/widgets/e-addressbook-view.c: added i18n for etable. + +2001-01-11 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_process_create_card): get a book view from + somewhere so we can give status messages - choose the first one in + the list. + (pas_backend_ldap_process_modify_card): same. + (pas_backend_ldap_process_remove_card): same. + (prop_info): add more properties, like home_phone, mobile, pager, + uri, org_unit, office, title, and manager. + +2001-01-09 Miguel de Icaza <miguel@gnu.org> + + * gui/widgets/Makefile.am (minicard_widget_test_LDADD): Put GNOME + libraries at the end to make the thing compile. + + * printing/Makefile.am: Order LDADD flags correctly so it compiles. + +2001-01-09 Chris Toshok <toshok@helixcode.com> + + * gui/component/addressbook.c (addressbook_factory_new_control): + connect with the EAddressbookView's status_message signal. + (set_status_message): set the status message on the ShellView + Interface associated with our control. + (retrieve_shell_view_interface_from_control): new function. get + the shell view inteface associated with a control. + + * gui/widgets/e-addressbook-view.c + (e_addressbook_view_class_init): register status_message signal. + (status_message): new function, emit our status_message signal. + (change_view_type): connect with the view->object's + "status_message" signal. + + * gui/widgets/e-addressbook-view.h (struct + _EAddressbookViewClass): add status_message signal. + +2001-01-09 Chris Toshok <toshok@helixcode.com> + + * gui/widgets/e-minicard-view-widget.c + (e_minicard_view_widget_class_init): register our status_message + signal. + (status_message): new function, emit our status_message signal. + (e_minicard_view_widget_realize): connect to the EMinicardView's + status_message signal. + + * gui/widgets/e-minicard-view-widget.h: add status_message signal. + + * gui/widgets/e-minicard-view.c (e_minicard_view_class_init): + register our status_message signal. + (e_minicard_view_init): init status_message_id. + (status_message): new function, emit our status_message signal. + (book_view_loaded): connect to the EBookView's status_message + signal. + (disconnect_signals): disconnect status_message_id. + + * gui/widgets/e-minicard-view.h: add status_mesage_id, and + status_message signal. + + * gui/widgets/e-addressbook-model.c (status_message): new + function, emit our status_message. + (e_addressbook_model_class_init): register our "status_message" + signal. + (book_view_loaded): connect to the EBookView's status_message + signal, so we can chain it to our parent. + (e_addressbook_model_init): init status_message_id. + (remove_book_view): disconnect status_message_id. + + * gui/widgets/e-addressbook-model.h: add status_message_id, and + status_message signal. + + * backend/pas/pas-backend-ldap.c change the objectclass we create + objects with to "inetOrgPerson" as it encompasses the fields we + use. + (create_dn_from_ecard): remove the mail/org handling from + here. we just prepend cn=$cn onto the base dn. + (create_card_handler): remove the NULL that build_mods_from_ecards + adds at the end, and insert our objectClass. + (modify_card_handler): call search_for_dn to get the ECardSimple + of the old card, since it might (and does in the current code) + doing a brute force search. + (search_for_dn): new function, to search for an entry by its dn. + right now we brute force (objectclass=*) under the base dn and + compare dn's. going to add a first pass that explodes the dn and + searches that way, using (objectclass=*) as a last resort. also, + here's where we'd put the extensibleMatch code if we want to go + that route. + + * backend/ebook/e-card.c (e_card_set_arg): if we're setting the + full name regenerate ecard->name. + +2001-01-04 Chris Toshok <toshok@helixcode.com> + + * backend/ebook/e-book-listener.c + (e_book_listener_queue_authentication_response): new function. + (impl_BookListener_respond_authentication_result): new function. + (e_book_listener_get_epv): fill in + epv->notifyAuthenticationResult. + + * backend/ebook/e-book-listener.h: add AuthenticationResponse to + EBookListenerOperation. + + * backend/ebook/e-book.c (e_book_authenticate_user): new function. + + * backend/ebook/e-book.h: add prototype for + e_book_authenticate_user. + + * backend/idl/addressbook.idl (GNOME:Evolution:Addressbook:Book): + add authenticateUser method. + (GNOME:Evolution:Addressbook:BookListener): add + AuthenticationFailed and AuthenticationRequired to CallStatus. + also add notifyAuthenticationResult method. + + * backend/pas/pas-backend-file.c + (pas_backend_file_process_authenticate_user): dummy + authenticate_user function that always succeeds. + (pas_backend_file_process_client_requests): respond to the + AuthenticateUser request. + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_build_query): + gtk_object_unref(sexp) => s_exp_unref(sexp). + (pas_backend_ldap_process_authenticate_user): fill in to use + ldap_simple_bind_s. + (pas_backend_ldap_process_client_requests): respond to the + AuthenticateUser request. + + * backend/pas/pas-book.c (pas_book_queue_authenticate_user): new + function. + (impl_GNOME_Evolution_Addressbook_Book_authenticateUser): new + function. + (pas_book_respond_authenticate_user): new function. + (pas_book_get_epv): fill in epv->authenticateUser. + + * backend/pas/pas-book.h: add AuthenticateUser operation type, and + add user/passwd to the PASRequest struct. + + * gui/component/addressbook-storage.c + (addressbook_storage_get_source_by_uri): new function. should use + a hashtable, perhaps, but the lists will generally be small + anyway. + + * gui/component/addressbook-storage.h: add prototype for + addressbook_storage_get_source_by_uri. + + * gui/component/addressbook-config.c + (addressbook_source_dialog_set_source): fill in the binddn if the + auth page is shown. + + * gui/component/addressbook.c (book_open_cb): shoe-horn + authentication in here. if the source was configured to use + authentication, authenticate the user after opening the ebook. + also, be paranoid and clear out the password after authenticating. + (book_auth_cb): callback for auth. set the "book" arg on the + view->view here. + (passwd_cb): set the view's passwd that'll be used in + book_open_cb. + (addressbook_view_free): g_free view->passwd. + +2001-01-04 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook-component.c, + gui/component/addressbook-component.h + (addressbook_component_get_shell_client): Added this function. + + * gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h: Added code for the + ability to switch between different folders. This doesn't work + yet. + + * gui/component/select-names/select-names.glade, + gui/component/select-names/select-names.glade.h: Added an option + menu to this dialog. + +2001-01-04 JP Rosevear <jpr@helixcode.com> + + * conduit/Makefile.am: Fix hard coded library names that were + accidentally committed (i'm looking at you miggie) + + * contact-editor/e-contact-editor.c (categories_clicked): Reflect + renaming. + + * contact-editor/e-contact-editor-categories.[hc]: These are + living in gal now + +2001-01-04 JP Rosevear <jpr@helixcode.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_book_view_free): + Need to e_sexp_unref the the sexp, not gtk_object_unref it. + +2001-01-03 Michael Meeks <michael@helixcode.com> + + * gui/widgets/e-addressbook-model.c (get_view): check + capabilities is valid before doing a strstr. + +2001-01-03 Michael Meeks <michael@helixcode.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_search): + g_strdup things we g_free. + +2001-01-02 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c (delete_cb): Make sure this + won't crash if the given contact is removed from the database + while this function is being called. + + * gui/widgets/e-minicard.c: Made sure this won't crash if the + given contact is removed from the database while the right click + menu is being displayed. + +2000-12-30 Chris Toshok <toshok@helixcode.com> + + * gui/component/addressbook-config.c (edit_source_clicked): copy + the dialog's source, destroy the dialog after we're done, and make + sure to update both columns in the clist. + (add_source_clicked): copy the dialog's source, and destroy the + dialog when we're done. + (addressbook_source_dialog_destroy): free up all the dialog's + memory. + + * gui/component/addressbook.c (set_prop): allow file: uri's that + point to files, not just dirs that contain addressbook.db. The + rule is the addressbook file has to end in .db. + + * gui/component/addressbook-storage.c (file_source_foreach): + contactserver => contactfile. cut and paste error. + (addressbook_storage_init_source_uri): use file://%s to build the + uri. + + * gui/component/e-ldap-server-dialog.[ch]: forgot to remove these + in my last commit. + +2000-12-29 Chris Toshok <toshok@helixcode.com> + + * gui/component/addressbook.c (config_cb): new function, calling + our new config ui code. + (control_activate): no longer load evolution-addressbook-ldap.xml, + as it's not there. + + * gui/component/addressbook-component.c (owner_set_cb): + setup_ldap_storage => addressbook_storage_setup. + + * gui/component/Makefile.am (evolution_addressbook_SOURCES): + remove e-ldap-storage.[ch] and add addressbook-storage.[ch]. + (glade_DATA): remove ldap-server-dialog.glade and add + addressbook-config.glade. + (EXTRA_DIST): same. + + * gui/component/addressbook-config.[ch]: add another dialog to + give a list of our sources and offer the Add/Delete/Edit + interface. This plugs into the previous dialog work (the source + editor.) + + * gui/component/addressbook-storage.[ch]: new files, containing + the remains of e-ldap-storage.[ch] and adding the new + AddressbookSource type and it's subordinates. Also, the xml + format has changed slightly and the file name is no longer + ~/evolution/ldap-servers.xml - it's + ~/evolution/addressbook-sources.xml. + + * gui/component/addressbook-config.glade: new file, new config + interface. + + * gui/component/ldap-server-dialog.glade: removed. + + * gui/component/e-ldap-storage.[ch]: removed. + +2000-12-28 Chris Toshok <toshok@helixcode.com> + + * gui/component/Makefile.am (evolution_addressbook_SOURCES): add + addressbook-config.[ch]. + + * gui/component/addressbook-config.c, + gui/component/addressbook-config.h: new files, containing at the + moment a beautiful "new/edit source dialog" inspired by the + mail-config-gui code. It'll be ready for prime time after rev'ing + the .xml file the addressbook uses to store it's "other sources" + to include files, and the addition of the ldap auth stuff. + +2000-12-25 Miguel de Icaza <miguel@helixcode.com> + + * gui/widgets/e-minicard.c (e_minicard_realize): Set draw + background to FALSE. + + * gui/widgets/e-minicard-label.c (e_minicard_label_construct): ditto. + (e_minicard_label_construct): ditto + +2000-12-23 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/fullname-strings.h, + contact-editor/fullname.glade: Added Ms. and Miss to the prefix + drop down box. Patch submitted by Martin Hicks <mort@bork.org>. + +2000-12-21 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.c (cursor_cb): Ref the cards that get put + in the change list + (next_changed_item): util function to get the real next changed item + (compute_status): really compute the status of the record + (local_record_from_uid): Set the id of the temporary card + (check_for_slow_setting): Make this check a little saner + (card_added): Only record the CardObjectChange if the card is not + archived + (card_changed): ditto + (card_removed): ditto + (set_status_cleared): actually clear the status + (for_each_modified): Clean out cruft and use next_changed_item + (add_record): Set the new id properly in our local card copy + (replace_record): handle the case where the record has been deleted + and we need to call add. need to update the changed_hash entry + (delete_record): Don't panic if the card is not found, its already + been deleted. + + * backend/pas/pas-backend-file.c (pas_backend_file_book_view_copy): + The change_context no longer has a del_cards member + (pas_backend_file_book_view_free): ditto + (pas_backend_file_process_get_changes): ditto + (pas_backend_file_changes_foreach_key): just record the id + (pas_backend_file_changes): notify_remove needs an id not a vcard + +2000-12-20 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.c (match): Use my own wrapper + functions instead of trying to *directly* access the the data + structures my self + (post_sync): Put in hack to prevent syncing the same records twice + (local_record_from_uid): set the card id when creating a blank one + (add_record): Set the id of the card we have and don't go to the + server to get the latest version + +2000-12-19 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.c (ecard_from_remote_record): Convert + pilot strings to utf for the e-cards. + +2000-12-19 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.c (local_record_from_ecard): Convert ecard + strings to pilot encodings + +2000-12-19 Christopher James Lahey <clahey@helixcode.com> + + * gui/widgets/e-addressbook-view.c (delete): Made it so that if + you select multiple contacts, the right click menu to delete + deletes them all. + +2000-12-18 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c (ldap_error_to_response): always + use LDAP_NAME_ERROR (in the openldap1 case it's #defined to + NAME_ERROR). + (build_card_from_entry): ldap_get_values can return NULL. also, + openldap2 keeps us from getting at ldap->ld_errno, so we can't + tell if there was a decoding error like we used to. the double + free problem where ldap would free the ber if there was a decoding + problem might be fixed now.. further investigation is needed. + for now we leak in openldap2. + (ldap_search_handler): the ldap structure is opaque, so use + ldap_search_ext to give the extra information (the max responses, + timeout, etc.) in the openldap2 case. + +2000-12-13 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-ldap.c (ldap_error_to_response): Test + for the existance of LDAP_NAME_ERROR and if it exists as a macro, + use it instead of NAME_ERROR. + +2000-12-14 Michael Meeks <michael@helixcode.com> + + * gui/component/GNOME_Evolution_Addressbook.oafinfo: update cut + and paste description error. + +2000-12-13 Dan Winship <danw@helixcode.com> + + * gui/widgets/e-minicard-control.c (stream_read): NULL-terminate + the returned vcard so we don't sometimes end up with trailing + junk that makes libversit unhappy. + +2000-12-13 Iain Holmes <iain@helixcode.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_add_section): Make the -> into a GNOME stock image. + +2000-12-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_init): Connect to the "cursor_change" signal on + the ETable here instead of the ETableScrolled. + (remove_address): Added the col and event parameters to this + callback to match the added parameters to the double click signal. + (e_select_names_add_section): Connect to the "double_click" signal + on the ETable here instead of the ETableScrolled. + +2000-12-09 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c (e_card_set_arg): When setting the "name" + argument, copy the incoming name. This fixes a crash. + +2000-12-09 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Made editing the name using + the full name button set the file as entry properly. Made it + so that the address parse that the user chooses after + clicking on the Full Address... button gets saved. + +2000-12-08 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c (full_name_clicked): Made it + so that the editor->name is set after the entry is changed. This + means that the reparse that the person chose is saved. + +2000-12-07 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/e-ldap-storage.c (setup_ldap_storage): Pass NULL + as the @toplevel_node_handler_id argument to + `evolution_storage_new'. + +2000-12-08 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c: Fixed some formatting. + + * contact-editor/e-contact-editor-categories.h: Removed an + unneeded #include. + + * gui/widgets/e-addressbook-view.c: Connect to the signals on the + ETable instead of the ETableScrolled. + +2000-12-07 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.c (local_record_from_uid): Pass "" rather + than NULL to e_card_new. + (local_record_from_ecard): Make sure ecard->name is valid + (check_for_slow_setting): Remove hard coded test value + (card_added): g_strdup the resul of e_card_get_id + (card_changed): ditto + +2000-12-07 Christopher James Lahey <clahey@helixcode.com> + + * gui/widgets/e-addressbook-view.c: Got rid of code referencing + the ETableScrolled proxy functions. + +2000-12-06 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Moved the gal view menu stuff from + here to EAddressbookView. + + * gui/widgets/e-addressbook-view.c, + gui/widgets/e-addressbook-view.h: New function to set up the menus + for the EAddressbookView. + +2000-12-06 JP Rosevear <jpr@helixcode.com> + + * conduit/Makefile.am: Another conduit build fix + +2000-12-05 JP Rosevear <jpr@helixcode.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_changes_foreach_key): + Create an empty vcard with the appropriate id for deleted cards + + * conduit/address-conduit.c (ecard_from_remote_record): Ensure the + address fields are added sensibly + +2000-12-05 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/e-ldap-storage.c (setup_ldap_storage): Updated the + call to `evolution_storage_new()': pass NULL for + @toplevel_node_uri. + +2000-11-28 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.c (local_record_to_pilot_record): Return + a struct rather than a pointer to a struct + (view_cb): kill warning + (compare): local_record_to_pilot_record now returns a struct + (prepare): ditto + (free_prepare): remove as per gnome-pilot changes + (conduit_get_gpilot_conduit): don't listen for free_prepare signal + +2000-11-27 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.h: Remove "complete" field + + * conduit/address-conduit.c (print_local): Make it print useful debug + info + (print_remote): ditto + (local_record_from_ecard): Make sure phone numbers get out to the pilot + (ecard_from_remote_record): Set phone strings to "" if they are null + (sequence_complete): unref the book view + (view_cb): ref the book view + (free_prepare): do nothing + + * backend/pas/pas-backend-file.c (pas_backend_file_book_view_free): + Destroy the card lists with the rest of the view. + (pas_backend_file_changes): Don't destroy the card lists here + (pas_backend_file_book_view_free): Free the card/id lists in the + change context here, the correct place. + (pas_backend_file_changes): instead of here... + +2000-11-22 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-file.c: Set view.change_context to NULL + in pas_backend_file_process_get_book_view. Changed + pas_backend_file_book_view_copy a bit. + + * backend/pas/pas-backend-ldap.c: Got rid of a warning. + +2000-11-18 Matt Bissiri <matt@bissiri.org> + + * gui/component/Makefile.am: + Add widgets/menus/libmenus.la to evolution_addressbook_LDADD + so that it will link properly now that gal-view-menus.[ch] + was moved from gal into evolution. + +2000-11-15 JP Rosevear <jpr@helixcode.com> + + * backend/pas/pas-backend-file.c (pas_backend_file_book_view_copy): + Initialize destination struct with '0's. + +2000-11-12 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c: Changed the mime type from "text/vcard" + to "text/x-vcard". + +2000-11-11 Matt Bissiri <bissiri@eecs.umich.edu> + + * backend/ebook/.cvsignore: Add idl-generated files. + * backend/ebook/e-book.c: (e_book_do_response_get_changes): + * backend/ebook/e-card.c: (e_card_send): + s/Evolution_/GNOME_Evolution_/g; + +2000-11-11 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/Makefile.am: Link in composer bonobo code. + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added code to + send mail to an ECard or send an ECard as a VCard attachment. + + * contact-editor/e-contact-editor.c: Add verbs to send the contact + as a VCard or send mail to the contact. + + * gui/search/e-addressbook-search-dialog.c: Removed some unused + variables. + + * gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard.c: + Added menu items to send the contact as a VCard or send mail to + the contact. + +2000-11-11 Matt Bissiri <bissiri@eecs.umich.edu> + + * gui/component/addressbook.oafinfo: + * gui/component/select-names/evolution-addressbook-select-names.oafinfo: + Update the remaining "IDL:Evolution*" to "IDL:GNOME/Evolution*" + to sync up with yesterday's IDL re-scoping. + +2000-11-09 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-ldap.c: Fixed a warning. + + * gui/component/addressbook.c: Put in gal view menus for testing + purposes. + + * printing/e-contact-print-envelope.c: Fixed up envelope printing + a bit. Added code for printing return addresses. + +2000-11-09 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.h: Add changed_hash, change list and complete bool + + * conduit/address-conduit.c (local_record_from_ecard): Add empty field checks + (card_added): callback for book view + (card_changed): ditto + (card_removed): ditto + (sequence_complete): ditto + (view_cb): callback for the get changes call + (pre_sync): force synchronous loading of book view + (for_each): we already have the card so create the local record directly + (for_each_modified): Uncomment and fix + (delete_record): ditto + + * conduit/Makefile.am: link against gal for ebook - needs fixing + + * backend/ebook/e-book.c (e_book_do_response_get_changes): Properly respond + to a get_changes call + (e_book_check_listener_queue): define the get changes response operation + + * backend/ebook/e-book-listener.c (e_book_listener_queue_get_changes_response): + Queue up a get changes response + (impl_BookListener_respond_get_changes): Implement the get_changes method + (e_book_listener_get_epv): add get_changes implementation to epv + + * backend/pas/pas-backend-file.c (pas_backend_file_book_view_copy): Only + copy the search_context and change_context elements if they actually exist + (pas_backend_file_changes): Hard code a path for now, only notify if + there is something to notify about + +2000-11-07 JP Rosevear <jpr@helixcode.com> + + * backend/pas/pas-book.h: Update PASRequest structure + + * backend/pas/pas-book.c (impl_Evolution_Book_get_changes): update param name + (pas_book_queue_get_changes): Use PASRequest change_id slot + + * backend/pas/pas-backend-file.c (pas_backend_file_book_view_copy): + Properly copy change_id and change_context + (pas_backend_file_book_view_free): Free change_id/change_context + (pas_backend_file_changes_foreach_key): Callback to figure out the + deleted cards + (pas_backend_file_changes): Use new e-dbhash stuff to implement. + Write out updated hash + + * backend/idl/addressbook.idl: Rename get_changes param + +2000-11-06 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Switched from EAddressbookSearch to + ESearchBar. + + * gui/widgets/Makefile.am, gui/widgets/e-addressbook-search.c, + gui/widgets/e-addressbook-search.h: Removed EAddressbookSearch. + This has been moved to filter/ and renamed ESearchBar. + + * printing/e-contact-print-envelope.c: Forgot to set the font. + This works for me now. + +2000-11-06 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/select-names/e-select-names-bonobo.c + (impl_SelectNames_get_entry_for_section): Duplicate the object + reference before returning. + +2000-11-05 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c, + gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard.c: Add + menus items to the envelope printing stuff. + + * gui/component/addressbook.c: Hook up the search menu. + + * gui/widgets/e-addressbook-search.c, + gui/widgets/e-addressbook-search.h: Add the search menu. + + * printing/Makefile.am: Add e-contact-print-envelope.c and + e-contact-print-envelope.h. + + * printing/e-contact-print-envelope.c, + printing/e-contact-print-envelope.h: Added envelope printing. + +2000-11-03 Federico Mena Quintero <federico@helixcode.com> + + * gui/component/select-names/Makefile.am: Clean the idl-generated + files properly. + +2000-11-02 Christopher James Lahey <clahey@helixcode.com> + + * ename/.cvsignore, gui/minicard/.cvsignore: Removed these + unnecessary .cvsignores. + + * gui/component/addressbook.c: Switch to using EAddressbookSearch + instead of custom quick search widget. + + * gui/component/select-names/e-select-names.c: Made this do a + slightly better job of rendering names. + + * gui/widgets/Makefile.am: Added e-addressbook-search.c and + e-addressbook-search.h. + + * gui/widgets/e-addressbook-search.c, + gui/widgets/e-addressbook-search.h: New class that puts up an + entry and a combo box. + +2000-11-01 Dan Winship <danw@helixcode.com> + + * gui/component/e-ldap-storage.c (load_ldap_data): + (e_ldap_storage_add_server): Add "highlighted" flag to + evolution_storage_new_folder + +2000-10-31 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.c (cursor_cb): Let the warning make sense + (compute_pid): remove + (local_record_from_ecard): Create local record from ecard - not finished + (local_record_from_uid): Obtain local_record from uid with the proper + e-book way + (set_status_cleared): Add empty callback + (add_archive_record): kill + (delete_archive_record): kill + (archive_record): Add empty callback + (conduit_get_gpilot_conduit): Update signal connects + + * backend/pas/pas-backend-file.c (vcard_change_type): Function to determine + the type of change - not finished + (pas_backend_file_search_changes): Create a view and callback based on + how the cards have changed + (pas_backend_file_process_get_changes): Implement the get changes operation + for files + (pas_backend_file_process_client_requests): Add GetChanges method for + processing + + * backend/pas/pas-book.c (pas_book_queue_get_changes): Add changes to + the list + (impl_Evolution_Book_get_changes): implement object method + (pas_book_get_epv): Add get changes to epv + (pas_book_respond_get_changes): Respond to the get changes operation + + * backend/pas/pas-book.h: Add GetChanges PASOperation + + * backend/idl/addressbook.idl: add get_changes and respond_get_changes + methods + + * backend/ebook/e-book.c (e_book_get_changes): Client function + to a view of the changed objects + + * backend/ebook/e-book.h: New prototype + +2000-10-30 Kjartan Maraas <kmaraas@gnome.org> + + * backend/e-book/e-card.c: Fixed marking of strings + for translation. Use "_(" instead of "_ (". + * gui/component/addressbook-factory.c: Add missing + calls to bindtextdomain() and textdomain noticed by + Dan Winship. + * gui/component/addressbook.c: Marked string for translation. + +2000-10-27 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/Makefile.am, gui/search/Makefile.am, + printing/Makefile.am: Fixed these to include EXTRA_GNOME_CFLAGS. + + * gui/component/select-names/e-select-names-manager.c: Turned off + newlines in header fields. + +2000-10-26 Michael Meeks <michael@helixcode.com> + + * printing/e-contact-print.c (e_contact_print_letter_tab), + (complete_sequence, e_contact_do_print_phone_list, lowify): + unsigned charness. + +2000-10-25 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c (ldap_op_process_current): only + call the handler if the if we're connected, and if we fail to + connect finish the op and post a message. + (pas_backend_ldap_connect): add debug spew if DEBUG is defined. + (modify_card_handler): LDAP_RES_SEARCH_ENTRY => LDAP_SUCCESS. + (modify_card_handler): only perform the ldap_modify_s if we have a + list of modifications. + (get_cursor_handler): use ldap_error_to_response here. + (pas_backend_ldap_load_uri): use LDAP_PORT instead of the constant + 389. + +2000-10-23 Dan Winship <danw@helixcode.com> + + * gui/component/select-names/Makefile.am (INCLUDES): + * gui/component/Makefile.am (INCLUDES): Update EVOLUTION_LOCALEDIR + + * backend/pas/Makefile.am (INCLUDES): + * backend/ebook/Makefile.am (INCLUDES): Update GNOMELOCALEDIR. + +2000-10-23 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.h: Use new libeconduit calls and + abstraction + + * conduit/address-conduit.c: ditto + +2000-10-23 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.c (pre_sync): Use e_pilot_map_read + (post_sync): Use e_pilot_map_write + + * conduit/Makefile.am: Link libeconduit and not libical + +2000-10-20 Michael Meeks <michael@helixcode.com> + + * contact-editor/e-contact-editor.c (tb_save_and_close_cb): + + * gui/component/addressbook.c (toggle_view_as_cb): + +2000-10-20 JP Rosevear <jpr@helixcode.com> + + * conduit/address-conduit.h: New structure of file - similar + to calendar/todo conduits + + * conduit/address-conduit.c: ditto + + * conduit/address-conduit-config.h: Config stuff for conduit + + * conduit/.cvsignore: Update + + * conduit/Makefile.am: Build fixes + + * conduit/address-conduit-control-applet.desktop: Renamed + to e-address-conduit-control-applet.desktop + + * conduit/address.conduit.in: Renamed to e-address.conduit.in + +2000-10-19 Christopher James Lahey <clahey@helixcode.com> + + * gui/widgets/e-addressbook-view.c (SPEC): Remove Family name + column since it's a bit weird. This also fixes the initial state + since all of the column choices were off by one. + +2000-10-19 Ettore Perazzoli <ettore@helixcode.com> + + * printing/Makefile.am (glade_DATA): Remove + `e-contact-print.glade.h'. + (EXTRA_DIST): Move here. + + * gui/component/Makefile.am (glade_DATA): Remove + `ldap-server-dialog.glade.h'. + (EXTRA_DIST): Move here. + +2000-10-19 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c: Change how the extension field acts when + converting delivery addresses to labels. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added the + function e_card_delivery_address_to_label. + + * contact-editor/e-contact-editor-address.c: Fixed a potential + crash. + + * contact-editor/e-contact-editor.c: Made this save the changed + data to the string version of the address. + +2000-10-19 Michael Meeks <michael@helixcode.com> + + * gui/component/addressbook.c (change_view_type): update to new + UI handler. + (update_view_type): split from (change_view_type). + (control_activate): add an update_view_type. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c: Change NAME_OR_ORG to return the + email address if both name and organization are taken. + + * gui/component/select-names/e-select-names.c: Fixed up the spec + strings in this class. Removed the "cursor_mode" argument to + ETable since it's part of the spec now. + +2000-10-17 Iain Holmes <iain@helixcode.com> + + * contact-editor/contact-editor.glade: Change the initial dialog + visibility to FALSE + so the contact editor doesn't flash when it appears. + +2000-10-16 Iain Holmes <iain@helixcode.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_activate_dialog): Only allow one dialog + per manager. + +2000-10-16 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/fulladdr.glade: Fixed a typo. Made this look a + bit better. + +2000-10-15 Dan Winship <danw@helixcode.com> + + * gui/component/select-names/Makefile.am: + * gui/component/Makefile.am: Remove CPPFLAGS since they just + duplicate flags that were already in INCLUDES. + + * printing/Makefile.am (ecpsdir): + * gui/widgets/Makefile.am: + * contact-editor/Makefile.am: Move -D flags from CPPFLAGS to + INCLUDES so they don't override any CPPFLAGS set at configure + time. + +2000-10-14 Michael Meeks <michael@helixcode.com> + + * gui/component/addressbook.c (control_activate): if we are in + LDAP mode then merge in the extra few items, otherwise just merge + the standard thing; saves duplication. + +2000-10-14 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook.oafinfo: Added + "evolution:shell-component-icon" property. + +2000-10-14 Iain Holmes <iain@helixcode.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_manager_activate_dialog): Only allow one dialog + per id. + (e_select_names_manager_destroy): Destroy the hashtable. + (e_select_names_manager_init): Init the hashtable. + +2000-10-13 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/fulladdr.glade, contact-editor/fulladdr.glade.h: + Rearranged these fields a bit more. + +2000-10-13 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c, + gui/component/select-names/e-select-names.c, + gui/widgets/e-addressbook-view.c: Changed these for boolean + ascending attribute instead of int ascending attribute. Fixed + e-select-names to not use a column past the end of its array. + + * contact-editor/e-contact-editor-address.c, + contact-editor/fulladdr.glade, contact-editor/fulladdr.glade.h: + Rearranged the address editor dialog. + +2000-10-11 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c: Fixed the column + elements, the no-headers attribute and added a cursor-mode=line + attribute. + + * gui/component/select-names/e-select-names.c, + gui/widgets/e-addressbook-view.c: Fixed the column elements here. + +2000-10-11 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c, + gui/component/select-names/e-select-names.c, + gui/widgets/e-addressbook-view.c: Updated these to the new style + ETables. + +2000-10-06 Not Zed <NotZed@HelixCode.com> + + * gui/search/e-addressbook-search-dialog.c (get_widget): Removed + ondemand callback nonsense from rule_context_load(). + +2000-10-05 Michael Meeks <michael@helixcode.com> + + * contact-editor/e-contact-editor.c (create_ui): upd. + (e_contact_editor_init): upd. + + * gui/component/addressbook.c (control_activate_cb): upd. + (control_deactivate): kill. + (control_activate): upd. + +2000-09-22 Michael Meeks <michael@helixcode.com> + + * gui/component/addressbook.c (control_activate): update. + + * contact-editor/e-contact-editor.c (create_ui): upd. + +Fri Sep 29 07:33:54 2000 Christopher James Lahey <clahey@helixcode.com> + + * gui/widgets/e-minicard.c, gui/widgets/e-minicard.h: Made it so + that minicard doesn't write out changes to the backend unless + something's actually changed. + +Tue Sep 26 16:28:47 2000 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c: Make sure that card->name and + card->full_name are always valid. + + * contact-editor/e-contact-editor.c: Removed some unused + variables. + +2000-09-22 Matt Bissiri <bissiri@eecs.umich.edu> + + * contact-editor/e-contact-editor-fullname.c (extract_info): If + (editor->name == NULL), store ptr to newly allocated ECardName in + editor->name, not just in a stack variable. This fixes a crash + which happened when you click "New", then click "Full Name...", + then enter name, then click "OK". + + * backend/ebook/e-card.c (e_card_name_to_string): Add + g_return_val_if_fail. + +2000-09-25 Jeffrey Stedfast <fejj@helixcode.com> + + * gui/widgets/Makefile.am: + * gui/component/Makefile.am: + * contact-editor/Makefile.am: + * printing/Makefile.am: Look for ename in /e-util/ename instead of + /addressbook/ename + + * backend/ebook/e-card.c: Updated to include e-util/ename/*.h + + * ename: Moved to /e-util so it could be shared + + * Makefile.am (SUBDIRS): took out ename + +2000-09-25 Nat Friedman <nat@helixcode.com> + + * ename/e-name-western-tables.h: Added a ton of new prefixes and + suffixes. + +2000-09-22 Michael Meeks <michael@helixcode.com> + + * gui/component/addressbook.c (control_activate): update. + + * contact-editor/e-contact-editor.c (create_ui): upd. + +2000-09-22 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c: lots of changes. flesh out the + remove/modify/create functions. add another flag for the property + table, PROP_DN, which makes it easy for us to determine when we + need to create a new DN for a record when we're modifying. also + add a ber_func to the table for PROP_TYPE_LIST fields, which fills + in the list of bvalues that we send to the ldap server. The + add/modify/delete stuff hasn't been tested yet, and it hopelessly + complex (yay ldap). + (ldap_search_handler): act synchronous when ldap_search responds + with -1. + (view_destroy): use pas_book_view_notify_status_message. + (ldap_op_process_current): same + (ldap_op_process): same + (poll_ldap): same + (ldap_search_handler): same + +2000-09-22 Chris Toshok <toshok@helixcode.com> + + * backend/ebook/e-card-simple.h: add + E_CARD_SIMPLE_FIELD_FAMILY_NAME to the enum. + + * backend/ebook/e-card-simple.c (field_data): add + E_CARD_SIMPLE_FIELD_FAMILY_NAME. + (e_card_simple_get): add getter for FAMILY_NAME. + +2000-09-22 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c: Made addresses be quoted printable again + so that they will encode properly if they have carriage returns in + them. This is possible now because of a fix in libversit. + +2000-09-22 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-book-view-listener.c, + backend/ebook/e-book-view-listener.h, backend/ebook/e-book-view.c, + backend/ebook/e-book-view.h, backend/idl/addressbook.idl, + backend/pas/pas-book-view.c, backend/pas/pas-book-view.h: Added a + function to set the status message associated with a given view. + This is not yet implemented in the gui. + +2000-09-22 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-book.c, backend/ebook/e-book.h, + backend/idl/addressbook.idl, backend/pas/pas-backend-file.c, + backend/pas/pas-backend-ldap.c, backend/pas-backend.c, + backend/pas/pas-backend.h, backend/pas/pas-book.c, + backend/pas/pas-book.h: Added a function to query static + capabilities (capabilities that can be reported immediately) and + implemented them in the 2 servers. + + * gui/component/addressbook.c: Added a View All button and a Stop + button. Sorted out the new directory server stuff a bit. + + * gui/widgets/e-addressbook-model.c, + gui/widgets/e-addressbook-model.h: Cleaned up a bit. Added a stop + function. Check for capabilities before deciding whether to load + all cards when initially viewed. + + * gui/widgets/e-addressbook-view.c, + gui/widgets/e-addressbook-view.h: Added stop and view all + functions. + + * 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: + Added a stop function. Check for capabilities before deciding + whether to load all cards when initially viewed. + +2000-09-21 Michael Meeks <michael@helixcode.com> + + * gui/component/addressbook.c (control_activate): remove _UIHandler + +2000-09-21 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/load-pine-addressbook.c: Added a missing include + of ctype.h. + + * backend/pas/pas-backend-file.c: Fixed a problem where using a + GList was causing us to not be reentrant. We now use an EList + here and so now this is reentrant. This should fix the "wombat + crashes every time you run evolution" bug. + + * contact-editor/e-contact-editor.c: Fixed a type mismatch. + +2000-09-21 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/load-pine-addressbook.c: Make this work when a + field is spread across multiple lines. + +2000-09-20 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added a + wants_html field to cards. Uses "x-mozilla-html". + + * contact-editor/Makefile.am: Added definition of + EVOLUTION_DATADIR. + + * contact-editor/contact-editor.glade: Make Wants HTML check + button visible. + + * contact-editor/e-contact-editor.c, + contact-editor/e-contact-editor.h: Make Wants HTML check button + active. Fix UI stuff to use XML. Set parent window of + confirm_delete dialog. + + * gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard.c: Set + the parent window of the confirm_delete dialog. + +2000-09-20 Christopher James Lahey <clahey@helixcode.com> + + * gui/widgets/e-addressbook-view.c: Fixed display of the minicards + when the addressbook was first loading. (It was overwriting a + string with NULL during init.) + +2000-09-19 Dan Winship <danw@helixcode.com> + + * gui/search/Makefile.am (ruledir): Use $(datadir), not + $(prefix)/share + +2000-09-18 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/Makefile.am, contact-editor/Makefile.am, + ename/Makefile.am, gui/component/Makefile.am, + gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and + $(EXTRA_GNOME_LIBS). Removed unneeded libraries. + + * backend/ebook/e-card.c, backend/pas/pas-backend-file.c, + contact-editor/e-contact-editor-address.c, + contact-editor/e-contact-editor-categories.c, + contact-editor/e-contact-editor-categories.h, + contact-editor/e-contact-editor-fullname.c, + contact-editor/e-contact-editor.c, + contact-editor/e-contact-save-as.c, ename/e-address-western.c, + ename/test-ename-western-gtk.c, + gui/component/addressbook-factory.c, gui/component/addressbook.c, + gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c, + gui/component/select-names/e-select-names-bonobo.c, + gui/component/select-names/e-select-names-manager.c, + gui/component/select-names/e-select-names-model.c, + gui/component/select-names/e-select-names-table-model.c, + gui/component/select-names/e-select-names-table-model.h, + gui/component/select-names/e-select-names-text-model.h, + gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h, + gui/search/e-addressbook-search-dialog.c, + gui/widgets/e-addressbook-model.h, + gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c, + 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.h, gui/widgets/e-minicard.c, + gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c, + printing/e-contact-print.c: Fixed the #include lines to deal + properly with gal. + +2000-09-15 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.h, + contact-editor/e-contact-save-as.h, + gui/widgets/e-addressbook-model.h, + gui/widgets/e-minicard-view-widget.h, + gui/widgets/e-minicard-view.h, gui/widgets/e-minicard.c, + gui/widgets/e-minicard.h: Fixed the paths of some .h #includes. + + * gui/component/addressbook.c: Removed all of the code to actually + create and display the correct view of the addressbook and moved + it to the new class gui/widgets/e-addressbook-view.c. + + * gui/widgets/Makefile.am: Added everything necessary for + e-addressbook-view.c and e-addressbook-view.h. + + * gui/widgets/e-addressbook-view.c, + gui/widgets/e-addressbook-view.h: New class to deal with actual + display of addresses and switching between card view and table + view. + + * gui/widgets/e-minicard-view-widget.c: Made this deal more + gracefully with having the book set to NULL. + +2000-09-16 Michael Meeks <michael@helixcode.com> + + * gui/component/select-names/e-select-names.c: fix broken include. + + * gui/component/Makefile.am (INCLUDES): define datadir. + (evolution_addressbook_SOURCES): remove e-addressbook-model.[ch] + + * gui/component/addressbook.c (control_activate): use datadir. + +2000-09-16 Ettore Perazzoli <ettore@helixcode.com> + + * gui/widgets/Makefile.am (gladedir): Define. + (glade_DATA): Install `alphabet.glade'. + (EXTRA_DIST): Define. + + * gui/component/Makefile.am (glade_DATA): Remove `alphabet.glade'. + (EXTRA_DIST): Remove `alphabet.glade.h'. + + * gui/widgets/Makefile.am (libeminicard_a_SOURCES): Add + `e-addressbook-model.c' and `e-addressbook-model.h'. I hope this + is what Chris meant to do. + + * gui/component/Makefile.am (INCLUDES): Add + `-I$(top_srcdir)/addressbook/gui/widgets'. + (evolution_addressbook_SOURCES): Remove `e-addressbook-model.c' + and `e-addressbook-model.h'. + + * gui/component/select-names/e-select-names.c: #include + "e-addressbook-model.h" from "addressbook/gui/widgets" instead of + "addressbook/gui/component", as it has been moved there. + +2000-09-15 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c: split all the ldap operations + into 2 halves, a handler, and destructor, and create a structure + containing two function pointers and any data they need. this + allows us queue up pending operations (since the LDAP*'s are no + longer view specific. there's one per backend.) also, add + support for restarting async operations if the SERVER DOWN error + isn't communicated until sometime after the handler is called (as + is the case with the async search stuff.) + +2000-09-14 Dan Winship <danw@helixcode.com> + + * gui/component/addressbook-factory.c (main): Call unicode_init + for e-font stuff. + +2000-09-14 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/Makefile.am, gui/widgets/Makefile.am: Added + $(GNOME_PRINT_LIBS) to all of the test files in these directories. + +2000-09-14 Michael Meeks <michael@helixcode.com> + + * gui/component/Makefile.am (evolution_addressbook_LDADD): fix path. + + * gui/component/addressbook.c: update include. + + * gui/component/addressbook-factory.c: update include. + + * gui/widgets/e-minicard-view.h: update include. + + * gui/search/e-addressbook-search-dialog.c: update include path. + +2000-09-13 Michael Meeks <michael@helixcode.com> + + * contact-editor/e-contact-editor.c (e_contact_editor_init): hack. + (create_toolbar): ditto. + +2000-09-07 Michael Meeks <michael@helixcode.com> + + * gui/component/addressbook.c: Radicaly update UI handler code. + +2000-09-13 Christopher James Lahey <clahey@helixcode.com> + + * gui/widgets/*, gui/minicard/*: Moved gui/minicard to + gui/widgets, except for e-reflow.c, e-reflow.h, e-reflow-sorted.c, + and e-reflow-sorted.h. + + * gui/widgets/Makefile.am: Added e-reflow to the INCLUDES list and + libereflow.a to a bunch of LDADD lines. + + * gui/component/Makefile.am (evolution_addressbook_LDADD): Added + libereflow.a here. + + * gui/Makefile.am (SUBDIRS): Replaced minicard with widgets. + +2000-09-12 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/select-names/Makefile.am: Add space after `-I' + when invoking `orbit-idl'. + +2000-09-12 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/Makefile.am (EXTRA_DIST): Remove `ui.xml'. + +2000-09-11 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Fixed a crash error. + +2000-09-11 Christopher James Lahey <clahey@helixcode.com> + + * ename/e-address-western.c: Fixed some warnings. + +2000-09-11 Jesse Pavel <jpavel@helixcode.com> + + * ename/e-address-western.c: fixed certain address parsing + problems. + +2000-09-11 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/fulladdr.glade: Made this a bit better balanced. + + * gui/component/addressbook.c: Make the toolbar button for find do + the same thing that the menu item for search does. + + * gui/search/e-addressbook-search-dialog.c: Made the top half of + this not expand. + +2000-09-11 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: + Removed a bunch of redundant code. Made it so that when you set + an address label, it sets the delivery address as well. Added + functions to set and get the delivery address. + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added code to + convert and address label to a delivery address. + + * contact-editor/Makefile.am: Added e-contact-editor-address.[ch], + fulladdr.glade, fulladdr.glade.h. + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor-strings.h: Switched from a label + to a button to show the parsed address. + + * contact-editor/e-contact-editor-address.c, + contact-editor/e-contact-editor-address.h: New class to implement + the parsed address dialog. + + * contact-editor/e-contact-editor-fullname.c, + contact-editor/e-contact-editor-fullname.h: Added const to the + _new function. + + * contact-editor/e-contact-editor.c: Implemented clicking on the + address button. + + * contact-editor/fulladdr.glade, contact-editor/fulladdr.glade.h: + New glade files for the parsed address dialog. + + * contact-editor/fullname-strings.h, fullname.glade: Changed these + accellabels to labels. + + * ename/Makefile.am: Added e-address-western.c. + + * ename/e-address-western.c: Fixed some warnings. + +2000-09-10 Christopher James Lahey <clahey@helixcode.com> + + * ename/e-address-western.c: Added by Jesse. + +2000-09-08 Lauris Kaplinski <lauris@helixcode.com> + + * gui/minicard/e-minicard-label.c (e_minicard_label_construct): + Use canvas default font + + * gui/minicard/e-minicard.c (e_minicard_realize): Ditto + (get_left_width): Ditto + +2000-09-08 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c: Fixed a few warnings. + +2000-09-02 Lauris kaplinski <lauris@helixcode.com> + + * contact-editor/e-contact-editor-categories.c: e_utf8 wrappers + + * contact-editor/e-contact-editor.c: e_utf8 wrappers + +2000-09-01 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/e-ldap-storage.c (load_ldap_data): Updated for the + extra arg now needed by `evolution_storage_new_folder()'. + (e_ldap_storage_add_server): Likewise. + +2000-08-31 Ettore Perazzoli <ettore@helixcode.com> + + * conduit/Makefile.am (INCLUDES): Add `BONOBO_GNOME_CFLAGS' and + `-I$(top_srcdir)'. + +2000-08-31 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/Makefile.am: Install load-gnomecard-addressbook + and load-pine-addressbook. + +2000-08-30 Lauris Kaplinski <lauris@helixcode.com> + + * printing/e-contact-print.c: Countless small changes for gnome-print 0.21+ + +2000-08-30 Dan Winship <danw@helixcode.com> + + * gui/component/addressbook.oafinfo: Add a name to the minicard + viewer. + +2000-08-29 Dan Winship <danw@helixcode.com> + + * backend/ebook/e-book.c: + * backend/ebook/test-client.c: + * backend/ebook/test-client-list.c: + * backend/ebook/load-gnomecard-addressbook.c: + * backend/ebook/load-pine-addressbook.c: + * backend/pas/pas-book-factory.c: + * conduit/address-conduit.h: Remove USING_OAF checks + +2000-08-28 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Use the right argument name to turn + on grid lines. + +2000-08-26 JP Rosevear <jpr@helixcode.com> + + * gui/minicard/Makefile.am: Comment out minicard-view-test + since its gnorba dependent + +2000-08-26 JP Rosevear <jpr@helixcode.com> + + * gui/component/addressbook-component.c: Remove gnorba stuff + + * gui/minicard/e-minicard-control.c (e_minicard_control_factory_init): + ditto + + * gui/component/addressbook.c: ditto + + * gui/component/addressbook-factory.c: ditto + +2000-08-25 Christopher James Lahey <clahey@helixcode.com> + + * demo/* Removed the demo directory since it's no longer used. + +2000-08-26 JP Rosevear <jpr@helixcode.com> + + * gui/minicard/Makefile.am: Remove gnorba stuff + + * gui/minicard/e-minicard-control.gnorba: Kill + +2000-08-26 JP Rosevear <jpr@helixcode.com> + + * gui/component/addressbook.gnorba: Kill + + * gui/component/Makefile.am: Remove gnorba stuff + +2000-08-25 Dan Winship <danw@helixcode.com> + + * gui/component/Makefile.am (evolution_addressbook_LDFLAGS): Add + -export-dynamic so libglade will be able to resolve custom widget + callbacks. + +2000-08-23 Lauris Kaplinski <lauris@helixcode.com> + + * backend/pas/pas-backend-file.c (func_contains): Use e_utf8_strstrcase + + * contact-editor/e-contact-editor-fullname.c (fill_in_field): Use e_utf8 wrapper + (extract_field): Same + + * contact-editor/e-contact-editor.c (full_name_clicked): Don't crash + + * ename/Makefile.am: Link demo with libeutil.la + + * ename/test-ename-western-gtk.c (full_changed_cb): Use e_utf8 wrapper + + * gui/component/addressbook.c (find_contact_cb): Use e_utf8 wrapper + (search_entry_activated): Same + +2000-08-22 Christopher James Lahey <clahey@helixcode.com> + + * gui/search/e-addressbook-search-dialog.c: Fix an error in the + arguments to rule_context_load. + + * backend/ebook/e-card.c: Fix this to not mess up if the person + passes a VCard with a carriage return in the mailing address. + +2000-08-14 Not Zed <NotZed@HelixCode.com> + + * gui/search/addresstypes.xml: Fixed fullname->full_name for + search field. + + * gui/search/e-addressbook-search-dialog.c (get_widget): Check we + actually got any parts to build the dialogue with. + +2000-08-13 Not Zed <NotZed@HelixCode.com> + + * gui/component/addressbook-component.c (owner_set_cb): Set the + global_shell_client nastyhack when we know it. + This is only required to link with the filter code ... + + * gui/component/Makefile.am (evolution_addressbook_LDADD): Added + libfilter.a to the link line. + + * gui/search/Makefile.am (noinst_LIBRARIES): Change library name + from libaddressbooksearchdialog to libaddressbooksearch, as used + elsewhere. + + * gui/search/e-addressbook-search-dialog.c (get_widget): + Implement. + (get_query): Likewise. + (e_addressbook_search_dialog_destroy): Unref filter stuff when + done. + + * gui/component/addressbook.c (control_deactivate): Added chris's + patch to put the meny in + +2000-08-22 Lauris Kaplinski <lauris@helixcode.com> + + * contact-editor/e-contact-editor.c: Use e_utf8 wrappers everywhere + +2000-08-22 Christopher James Lahey <clahey@helixcode.com> + + * backend/e-card.h: Started adding a time zone field to ECard. + + * gui/component/e-addressbook-model.c: Added + e_table_model_pre_change where appropriate. + + * gui/minicard/e-minicard-control.c: Added a ref and unref pair. + +2000-08-22 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Linked in the search dialog again. + It looks like some changes in the shell made this not work. + +2000-08-19 Christopher James Lahey <clahey@helixcode.com> + + * conduit/address-conduit.c, conduit/address-conduit.h: Changed + this to use ECardSimple. + + * contact-editor/e-contact-editor.c: Fixed a memory leak. + + * gui/component/addressbook.c: Added stuff to the right click + menu. Activated the new search dialog that doesn't quite work + yet. + + * gui/minicard/e-minicard-view.c: Fixed some run time warnings. + +2000-08-15 Larry Ewing <lewing@helixcode.com> + + * gui/minicard/e-minicard.c (e_minicard_event): use style colors + for the selected state. This doesn't properly redraw the minicard + when there is a style_change event, that is next. + (e_minicard_realize): use style colors. + +2000-08-14 Peter Williams <peterw@helixcode.com> + + * backend/pas/pas-backend-file.c: Include the proper db1/db.h + as in RedHat 7.0 -- patch from Kenny Graunke <kwg@teleport.com> + +2000-08-13 Chris Toshok <toshok@helixcode.com> + + * conduit/Makefile.am (libaddress_conduit_la_SOURCES): add + address-conduit.h + + * Makefile.am (CONDUIT_SUBDIR): only set subdir if + ENABLE_PILOT_CONDUITS is set. + +2000-08-13 Chris Toshok <toshok@helixcode.com> + + * Makefile.am (SUBDIRS): add conduit subdir. + +2000-08-13 Chris Toshok <toshok@helixcode.com> + + * conduit/address-conduit.c (conduit_get_gpilot_conduit): add + special oaf initialization hack so conduit can find wombat, and + accept all cookies so that we can actually talk to oaf. + +2000-08-13 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-file.c: Fixed a typo that cause the + wrong field to be searched. + + * gui/component/select-names/e-select-names.c: Made the select + names dialog only display entries with email addresses. + +2000-08-12 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/contact-editor.glade: Fixed a typo in the name of + the first phone entry. + +2000-08-12 Christopher James Lahey <clahey@helixcode.com> + + * gui/search/Makefile.am, + gui/search/e-addressbook-search-dialog.c, + gui/search/e-addressbook-search-dialog.h: A few small interface + fixes. + + * gui/component/Makefile.am: Link in the addressbook search + dialog. + +2000-08-12 Christopher James Lahey <clahey@helixcode.com> + + * gui/Makefile.am: Added the search directory. + + * backend/ebook/e-book.c: Fixed a potential crash. + + * gui/minicard/e-reflow-sorted.h: Fixed an include line. + + * gui/search/.cvsignore, gui/search/Makefile.am: New files. + + * gui/search/e-addressbook-search-dialog.c: Fixed compilation. + +2000-08-12 Christopher James Lahey <clahey@helixcode.com> + + * printing/Makefile.am: Ettore fixed compilation. + +2000-08-12 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/.cvsignore: Added load-gnomecard-addressbook. + +2000-08-12 Christopher James Lahey <clahey@helixcode.com> + + * gui/search/e-addressbook-search-dialog.c, + gui/search/e-addressbook-search-dialog.h: Made this into a Gtk + object. + +2000-08-12 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-book-view.c: Ref our book view listener. + + * gui/component/addressbook.c: Updated to use new minicard view + widget. + + * gui/minicard/Makefile.am: Added e-minicard-view-widget.c and + e-minicard-view-widget.h. + + * gui/minicard/e-minicard-view-widget.c, + gui/minicard/e-minicard-view-widget.h: New class that's just a + minicard view in an ECanvas. + + * gui/search/e-addressbook-search-dialog.c: New file for + implementing a search dialog. + +2000-08-11 Chris Toshok <toshok@helixcode.com> + + * conduit/address-conduit.c (transmit): implement code to encode + the first email address and send to the pilot. + (get_phone_label_by_flag): rename find_phone_label_for_flags to + this, and implement by calling get_phone_label_by_name. + +2000-08-11 Chris Toshok <toshok@helixcode.com> + + * conduit/address-conduit.c (ecard_from_remote_record): add code + for handling email addresses from pilot (which stores it as a + phone number entry. go figure.) + (check_for_slow_setting): #if 0 out, since we don't use it (yet). + (update_record): un #if 0 the code to handle the case where the + pilot info has changed for a local record. + (merge_ecard_with_remote_record): implement function, but for now + just return the existing (desktop) record - we still don't allow + merge from the pilot. + + +2000-08-10 Christopher James Lahey <clahey@helixcode.com> + + * gui/search/addresstypes.xml: Changed a couple of input field + names. + +2000-08-10 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook-component.c: Remove prototype for + `setup_ldap_storage()', which shouldn't be here anyway. + +2000-08-10 Christopher James Lahey <clahey@helixcode.com> + + * gui/search/, gui/search/addresstypes.xml: New search dialog for + addressbook. + +2000-08-10 Dan Winship <danw@helixcode.com> + + * gui/component/addressbook-component.c (owner_set_cb): Update for + changed prototype, pass evolution_homedir arg to + setup_ldap_storage. + + * gui/component/e-ldap-storage.c (setup_ldap_storage): Now takes + an evolution_homedir arg, uses that to generate the path to the + ldapservers.xml file, and stores the result in a static variable. + (e_ldap_storage_add_server, e_ldap_storage_remove_server): Use that + static variable rather than hardcoding the path to the file. + +2000-08-10 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-file.c: Fixed any search to not crash on + missing phone numbers or email addresses. + +2000-08-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard-control.c: Added a button to save to + your addressbook. + +2000-08-09 Cody Russell <bratsche@gnome.org> + + * gui/component/addressbook.c: Make the toolbar honor the user's + gnomecc settings for detachable toolbars. + +2000-08-09 Nat Friedman <nat@helixcode.com> + + * ename/e-name-western-tables.h: Added some military prefixes. + +2000-08-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Fixed a warning. + +2000-08-09 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook.c (control_activate): Add the stock + print icon to the print item. + +2000-08-09 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook.c (control_activate): Put the print + item in the right placeholder so that it gets the right position + in the "File" menu. + (control_deactivate): Updated accordingly. + +2000-08-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c, gui/minicard/e-minicard.c: Changed + e_popup_menu_run call to match the new arguments. + + * gui/component/addressbook.oafinfo: Fixed this file to work + properly. + + * gui/minicard/e-minicard-control.c: Use the correct oafinfo ID + here. Also cleaned up the code a bit with the help of Michael + Meeks. + +2000-08-08 Chris Toshok <toshok@helixcode.com> + + * gui/component/e-addressbook-model.c (e_addressbook_model_init): + use x-evolution-any-field. + + * gui/component/addressbook.c (search_entry_activated): use + x-evolution-any-field. + (change_view_type): same. + + * gui/minicard/e-minicard-view.c (e_minicard_view_init): set query + to x-evolution-any-field. + + * backend/pas/pas-backend-ldap.c (func_contains): support + x-evolution-any-field for matching any evolution supported field. + + * backend/pas/pas-backend-file.c (compare_email): switch to using + ECardSimple calls. + (compare_phone): same. + (compare_address): same. + (entry_compare): switch to using ECardSimple calls, and support a + 'x-evolution-any-field' wildcard field. + (vcard_matches_search): use an ECardSimple. + +2000-08-07 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Removed the next and prev + toolbar buttons since they don't do anything. + +2000-08-07 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor.c: Fixed the tab order to not + repeat the web page address field. + +2000-08-07 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Fixed the tab order for this + dialog. + +2000-08-05 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c: Fixed a warning. + + * backend/ebook/e-card.c: Cast to (char *) in + e_card_load_cards_from_file since libversit isn't const correct. + + * backend/pas/pas-backend-file.c: Fixed a warning. + +2000-08-04 Michael Meeks <michael@helixcode.com> + + * gui/component/addressbook.c (control_activate): unref. + + * demo/addressbook.c (control_activate): unref. + +2000-08-02 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c, + gui/component/e-addressbook-model.c: Emit "model_pre_change" + signal as appropriate. + +2000-08-02 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/e-addressbook-model.c: Adapted this to supply the + new append_row API of ETableModel. + +2000-07-31 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Changed the default set of columns. + +2000-07-29 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/Makefile.am: Added load-gnomecard-addressbook + compilation. + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added + e_card_load_cards_from_file helper function to load multiple cards + from a single file. + + * backend/ebook/load-gnomecard-addressbook.c: New file to load + vcard files. I think this is the format that gnomecard uses so if + you copy your gnomecard file to gnomecard.vcf and then run this + program in the same directory, it'll copy all your gnome contacts + into evolution. It needs to be changed to take a filename as a + parameter. Some fields (phone and address information, for + example) aren't displayed properly, but are saved. This is new + code, so some other than phone and address may be lost. + +2000-07-28 Ettore Perazzoli <ettore@helixcode.com> + + * backend/pas/Makefile.am: Add `pas-backend-ldap.c' and + `pas-backend-ldap.h' to `EXTRA_DIST' so they get distributed even + if the OpenLDAP support is not enabled. + +2000-07-27 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/load-pine-addressbook.c: Changed the URI to load + to. + +2000-07-26 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard-widget-test.c: Fixed a warning. + +2000-07-26 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c (view_destroy): wait to free the + view until we've taken care of freeing its internals. also, close + the ldap connection here. + (pas_backend_ldap_connect): rename p_b_l_ensure_connected to this, + since it's always called when we create a view. + (pas_backend_ldap_build_all_cards_list): open an ldap connection + in this function and close it at the end. + (poll_ldap): make sure to call ldap_unbind to close the view's + connection here. + (pas_backend_ldap_search): call pas_backend_ldap_connect here - + ldap_unbind will either be called from poll_ldap or from + view_destroy. + (pas_backend_ldap_get_vcard): the PASBackendLDAP no longer has an + LDAP*. + +2000-07-26 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_build_all_cards_list): add support for user settable scope. + (pas_backend_ldap_search): same. + (pas_backend_ldap_load_uri): same. + +2000-07-26 Dan Winship <danw@helixcode.com> + + * gui/component/addressbook.oafinfo: lowercasify the + supported_mime_types + +2000-07-25 Chris Toshok <toshok@helixcode.com> + + * backend/ebook/e-card-types.h: add enum for e-card pilot status. + + * conduit/address-conduit.c: #ifdef out all the archiving code with SUPPORT_ARCHIVING. + (purge): implement correctly - deleting ecards whose pilot status is DELETED. + (set_status): implement. + (set_pilot_id): add gtk_main call here to change commit_card into a synchronous + (delete_all): implement correctly - don't delete the records, just set their status to DELETED. + (local_record_from_ecard): get the current status from the ecard. + + * backend/ebook/e-card.c (e_card_get_vcard): add vcard support for pilot status. + (parse_pilot_status): new function. + (e_card_class_init): add pilot status object arg. + (e_card_set_arg): add pilot status support. + (e_card_get_arg): same. + (e_card_init): initialize pilot_status to 0. + +2000-07-25 Chris Toshok <toshok@helixcode.com> + + * conduit/address-conduit.c: add comment headers to signals that + didn't have any. + +2000-07-25 Chris Toshok <toshok@helixcode.com> + + * conduit/address-conduit.c (start_address_server): use the user's + Contact db. not toshok's. + +2000-07-25 Michael Meeks <michael@helixcode.com> + + * backend/ebook/load-pine-addressbook.c (book_open_cb): check we + opened ok. + +2000-07-25 Seth Alves <alves@hungry.com> + + * ename/Makefile.am (libename_static_la_LDFLAGS): build static + version of the library for address conduit to use + + * backend/ebook/Makefile.am: build a static version of the library + to link into the conduit + +2000-07-25 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c: Added a #define for + "X-EVOLUTION-PILOTID". Added a parse_pilot_id to read pilot id's + in properly from VCards. Rearranged some field orders. Added a + get_arg case for ARG_PILOTID. Initialize pilot_id field to 0. + +2000-07-24 Chris Toshok <toshok@helixcode.com> + + * backend/ebook/e-card.h: add pilot_id. + + * backend/ebook/e-card.c (e_card_get_vcard): add support for + X-EVOLUTION-PILOTD vcard field. + (e_card_class_init): add pilot_id arg. + (e_card_set_arg): handle pilot_id arg. + +2000-07-23 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-book-view-listener.c: Remove the idle handler + when we're destroyed. + + * printing/e-contact-print.c: Fixed the spacing on the card + header. + +2000-07-20 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.oafinfo: Fixed the oaf info. + + * gui/minicard/.cvsignore, gui/minicard/Makefile.am, + gui/minicard/e-minicard-widget-test.c: Added a test for the + minicard widget. + + * gui/minicard/e-minicard-control.c: Fixed the mime type. + + * gui/minicard/e-minicard.c: Fixed some crashes if your parent + isn't a minicard view. + + * gui/minicard/e-minicard-control.oafinfo: Removed. + +2000-07-20 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook-component.c (factory_fn): Update for + the new `evolution_shell_component_new()'. + +2000-07-19 Fatih Demir <kabalak@gmx.net> + + * conduit/address-conduit-control-applet.desktop: + Added the Turkish desktop entry. + +2000-07-18 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard-control.c: Added "text/vCard" to the + list of mime types we support. + +2000-07-18 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/Makefile.am: Added + gui/minicard/e-minicard-control.c, + gui/minicard/e-minicard-control.h, + gui/minicard/e-minicard-widget.c, and + gui/minicard/e-minicard-widget.h. + + * gui/minicard/e-minicard-control.c, + gui/minicard/e-minicard-control.h, + gui/minicard/e-minicard-widget.c, + gui/minicard/e-minicard-widget.h: Got these to compile. + + * gui/minicard/e-minicard-control.gnorba, + gui/minicard/e-minicard-control.oafinfo: Copied directly from + bonobo-clock-control. These aren't done yet. + +2000-07-18 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard-control.c, + gui/minicard/e-minicard-control.h, + gui/minicard/e-minicard-widget.c, + gui/minicard/e-minicard-widget.h: New files for using a minicard + as a widget or a bonobo control. + +2000-07-14 Chris Toshok <toshok@helixcode.com> + + * gui/component/e-ldap-storage.c (ldap_server_foreach): duh. + don't save the port in the host slot either. + +2000-07-13 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-confirm-delete.glade, + contact-editor/e-contact-editor-confirm-delete.glade.h: Added + these. + +2000-07-13 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Switched the order of compilation of printing and + contact-editor. + + * contact-editor/Makefile.am: Added printing libraries and a + confirm delete dialog glade file. + + * contact-editor/e-contact-editor.c, + contact-editor/e-contact-editor.h: Enabled the delete and print + functions as well as providing a confirm delete dialog to the + outside world. + + * gui/component/addressbook.c: Made the delete button on new cards + active. + + * gui/minicard/Makefile.am: Added printing libraries to a number + of test programs. + + * gui/minicard/e-minicard.c: Added print and delete to the right + click menu. Made the delete button on the card editor active. + + * printing/e-contact-print.c, printing/e-contact-print.h: Added a + function to print a single card. + +2000-07-12 Chris Toshok <toshok@helixcode.com> + + * gui/component/e-ldap-storage.c (ldap_server_foreach): oops. fix + typo that was saving the port in the rootdn spot. + (save_ldap_data): make this a bit safer - writing to a new file + and renaming it. + (load_ldap_data): make this a bit smarter - if parsing the + ldapservers.xml file fails and there's a .new file there, + rename it. + +2000-07-12 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-file.c: Do case insensitive compares. + + * addressbook/gui/component/addressbook.c: Make quick search + search both name and company name. + +2000-07-12 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Add icons to the toolbars. + +2000-07-12 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/Makefile.am: Added installation of arrow.png. + + * contact-editor/e-contact-editor.c: Use EVOLUTIONDIR #define. + +2000-07-11 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Removed an unused function + +2000-07-10 Dan Winship <danw@helixcode.com> + + * gui/component/select-names/Makefile.am (EXTRA_DIST): add idl + file to EXTRA_DIST + +2000-07-10 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook.c (control_activate): Remove the + SelectNames test. + +2000-07-10 Peter Williams <peterw@curious-george.helixcode.com> + + * gui/component/select-names/e-select-names-model.c: (Clahey's fix) + Make multiple addresses be concatenated correctly. + +2000-07-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c, + gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h: Switched from ETable + to ETableScrolled. + + * addressbook/gui/minicard/e-minicard.c: Don't display mailer or + "name or org" fields. + +2000-07-09 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: + Added a field that gives the name if it exists and the company + name otherwise. + + * gui/component/e-addressbook-model.c: Formatting changes. + + * gui/component/select-names/e-select-names-table-model.c: Added + stripping of names and display of company name if name doesn't + exist. + + * gui/component/select-names/e-select-names.c: Fixed up the + display so that we display both name and email address. + +2000-07-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/e-select-names-model.c: Fixed a small + off by one error that was causing an extra character to get + deleted sometimes. + +2000-07-09 Anders Carlsson <andersca@gnu.org> + + * gui/minicard/test-reflow.c (allocate_callback): Fix off by one bug with + scroll region setting. + (resize): Likewise. + (main): Put the contacts list in an EScrolledFrame instead of using a + separate GtkScrollbar. + + * gui/minicard/e-reflow.c (e_reflow_event): Don't change mouse cursor and + don't allow drags on dividers that aren't visible. + + * gui/component/addressbook.c (allocate_callback): Fix off by one bug with + scroll region setting. + (resize): Likewise. + (create_minicard_view): Put the contacts list in an EScrolledFrame instead of + using a separate GtkScrollbar. + +2000-07-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Removed unused do_nothing_cb + function. + + * gui/component/select-names/e-select-names-manager.c, + gui/component/select-names/e-select-names-manager.h: Made the OK + and Cancel buttons in the ESelectNames dialog we create work + properly. + + * gui/component/select-names/e-select-names-model.c, + gui/component/select-names/e-select-names-model.h: Added + e_select_names_model_duplicate. + + * gui/component/select-names/e-select-names-text-model.c: Made the + text be set correctly if there's already data in the source when + the text model is created. + + * gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h: Removed handling of + the buttons (the user of this dialog will have to handle them.) + Added e_select_names_get_source. Fixed some typos. + +2000-07-09 Not Zed <NotZed@HelixCode.com> + + * gui/component/addressbook.c: Link the toolbar print button to + the print callback. + +2000-07-08 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/e-select-names.c + (e_select_names_clicked): Hitting OK or Cancel at least closes the + dialog now. + +2000-07-08 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_create_entry): Set the returned entry to + use the ellipsis. + +2000-07-08 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook-factory.c: Include + e-select-names-factory.h. + + * gui/component/select-names/e-select-names-model.c: Handle a NULL + iterator properly in the replace function. + + * gui/component/select-names/e-select-names-table-model.c: Fill in + info properly in the value_at function. + + * gui/component/select-names/e-select-names-text-model.c: Don't + strlen a NULL text object. + + * gui/component/select-names/e-select-names.c: Close if the person + hits ok or cancel (doesn't yet actually undo changes if Cancel is + hit.) Handle removing addresses when they're double clicked on. + + * gui/component/select-names/select-names.glade, + gui/component/select-names/select-names.glade.h: Hid some unused + fields and changed the text at the top of the dialog. + +2000-07-08 Jeffrey Stedfast <fejj@helixcode.com> + + * gui/component/select-names/.cvsignore: Ignore dynamically + created source files + +2000-07-08 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/select-names/e-select-names-bonobo.c + (entry_get_property_fn): New function to set the properties. + +2000-07-08 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook-factory.c (main): Start up the factory + for `Evolution::Addressbook::SelectNames'. + + * gui/component/select-names/evolution-addressbook-select-names.oafinfo: + New. + + * gui/component/select-names/e-select-names-factory.c: New. + * gui/component/select-names/e-select-names-factory.h: New. + + * gui/component/select-names/e-select-names-bonobo.c: New. + * gui/component/select-names/e-select-names-bonobo.h: New. + + * gui/component/addressbook-factory.c (main): Call + `e_select_names_factory_init()'. + + * gui/component/select-names/e-select-names-manager.c + (e_select_names_manager_add_section): Made const-aware. + (e_select_names_manager_create_entry): Made const-aware. + (e_select_names_manager_activate_dialog): Made const-aware. + + * gui/component/select-names/Evolution-Addressbook-SelectNames.idl: + New. + +2000-07-08 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/e-addressbook-model.c, + gui/component/e-addressbook-model.h: Added an "editable" argument. + + * gui/component/select-names/e-select-names.c: Set our + EAddressModel to not be editable. + +2000-07-07 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/e-select-names.c: Changed to line + mode. + +2000-07-07 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/e-select-names-manager.c, + gui/component/select-names/e-select-names-model.c: Implemented the + get_cards function. + + * gui/component/select-names/e-select-names.c: Implemented adding + cards through the interface. + +2000-07-07 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/e-select-names-manager.c: Make the + entry widgets we create editable. + + * gui/component/select-names/e-select-names-model.c: Use + e_strsplit instead of g_strsplit. Fixed an off by 1 error. + + * gui/component/select-names/e-select-names-table-model.c: When + the model changes, send a model changed signal. + + * gui/component/select-names/e-select-names-text-model.c: Made + changing this work correctly if it's empty. Made change signals + propagate properly. Is a bit better about freeing iterators when + done. + + * gui/component/select-names/e-select-names.c: Made the finished + lists be in order instead of being sorted. + +2000-07-07 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c (new_server_cb): Since + ELDAPServer->port is a char *, allocate a string with the number + 389 contained. + + * gui/component/addressbook.c: Make the select names test test the + new code instead of the old way of getting to an ESelectNames + dialog. + + * gui/component/select-names/e-select-names-manager.c: Coded + storing the model for each section, creating an entry and + returning it, and for activating the dialog. Wrote a bit of the + get_cards code, but not all of it. + + * gui/component/select-names/e-select-names-model.c, + gui/component/select-names/e-select-names-model.h: Coded all of + the code needed to make ESelectNamesTextModel work (it doesn't + yet, but all the code should be there.) Removed + E_SELECT_NAMES_MODEL_DATA_TYPE_SEPARATION_MATERIAL. + + * gui/component/select-names/e-select-names-table-model.c, + gui/component/select-names/e-select-names-text-model.c: Changed + these to compensate for removal of + E_SELECT_NAMES_MODEL_DATA_TYPE_SEPARATION_MATERIAL. + + * gui/component/select-names/e-select-names-table-model.h, + gui/component/select-names/e-select-names-text-model.h: Fixed some + silly typos. + + * gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h: Added a parameter to + add_section that lets you specify the source ESelectNamesModel. + +2000-07-06 Chris Toshok <toshok@helixcode.com> + + * gui/component/e-ldap-storage.h: add scope to ELDAPServer, and + make port a string. + + * gui/component/e-ldap-storage.c (load_ldap_data): don't load a + uri, load all the bits and pieces and build up the uri when + creating the folder, according to the openldap url format. + (ldap_server_foreach): store out each of the individual uri + pieces. + (e_ldap_storage_remove_server): free the new fields. + (get_string_value): if the text is empty, return the empty string + instead of NULL. + + * gui/component/e-ldap-server-dialog.c (extract_server_info): port is a string now. + (fill_in_server_info): port is a string now. + +2000-07-06 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Changed "FIXME: Save and + Close" to "Save and Close". Removed some toolbar items that will + never be used. + + * gui/component/select-names/e-select-names-model.c, + gui/component/select-names/e-select-names-model.h: Added functions + to allow you to modify the model (not implemented yet.) + + * gui/component/select-names/e-select-names-table-model.c, + gui/component/select-names/e-select-names-table-model.h: Finished + this. Doesn't support changing the model at all. + + * gui/component/select-names/e-select-names-text-model.c: Finished + this. Changing the model by typing is done, but doesn't work + since none of the functions in the base model are implemented. + +2000-07-05 Chris Toshok <toshok@helixcode.com> + + * gui/component/addressbook.c (new_server_cb): call + e_ldap_storage_add_server call. + + * gui/component/ldap-server-dialog.glade: add name row. + + * gui/component/e-ldap-server-dialog.h: remove the ELDAPServer type. + + * gui/component/e-ldap-server-dialog.c (extract_server_info): add + support for the name-entry. + + * gui/component/e-ldap-server-dialog.c (fill_in_server_info): same. + + * gui/component/e-ldap-storage.h: add ELDAPServer type, and add + prototypes for e_ldap_storage_add_server and + e_ldap_storage_remove_server. + + * gui/component/e-ldap-storage.c (e_ldap_storage_add_server): new + function, add it to our hash table, add a shell folder, and save + out the metadata. + (ldap_server_foreach): add the ldap server info under a + "contactserver" node. + (setup_ldap_storage): create our hashtable. + +2000-07-05 Chris Toshok <toshok@helixcode.com> + + * gui/component/addressbook.c (set_prop): remove hack to read + "uri" file from local directory. + + * gui/component/Makefile.am (evolution_addressbook_SOURCES): add + e-ldap-storage.{c,h} + + * gui/component/addressbook-component.c (owner_set_cb): call + setup_ldap_storage. + + * gui/component/e-ldap-storage.c (setup_ldap_storage): Register + the LDAP storage and load the .xml file. + (load_ldap_data): function to load our xml file. + (save_ldap_data): function to save our xml file. + + * gui/component/e-ldap-storage.h: new file. + +2000-07-03 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/e-select-names-manager.c, + gui/component/select-names/e-select-names-text-model.c, + gui/component/select-names/e-select-names.c: Fixed more compile + errors. + +2000-07-03 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/Makefile.am: Fixed compile error. + +2000-07-03 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/Makefile.am: Removed e-card-iterator.c, + e-card-iterator.h, e-card-list-iterator.c, e-card-list-iterator.h, + e-card-list.c, e-card-list.h. + + * backend/ebook/e-card-iterator.c, + backend/ebook/e-card-iterator.h, + backend/ebook/e-card-list-iterator.c, + backend/ebook/e-card-list-iterator.h, backend/ebook/e-card-list.c, + backend/ebook/e-card-list.h: Removed in favor or versions without + the -card in the e-util directory since these classes are not + specific to cards at all. + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h, + backend/ebook/e-card.c, backend/ebook/e-card.h, + backend/ebook/load-pine-addressbook.c, backend/ebook/test-card.c, + backend/pas/pas-backend-file.c: Changed the references to + e-card-list.c and friends to e-list.c and friends. + + * contact-editor/e-contact-editor.c: Added #include + <e-contact-save-as.h> to fix a warning. + + * gui/component/Makefile.am: Moved a number of classes associated + with the select-names object to the new select-names directory. + + * gui/component/addressbook.c: Changed the reference to + e-select-names.h. + + * gui/component/e-select-names.c, gui/component/e-select-names.h, + gui/component/select-names.glade, + gui/component/select-names.glade.h: Moved these files into + select-names/. + + * gui/component/select-names/.cvsignore, + gui/component/select-names/Makefile.am, + gui/component/select-names/e-select-names-manager.c, + gui/component/select-names/e-select-names-manager.h, + gui/component/select-names/e-select-names-model.c, + gui/component/select-names/e-select-names-model.h, + gui/component/select-names/e-select-names-table-model.c, + gui/component/select-names/e-select-names-table-model.h, + gui/component/select-names/e-select-names-text-model.c, + gui/component/select-names/e-select-names-text-model.h, + gui/component/select-names/e-select-names.c, + gui/component/select-names/e-select-names.h, + gui/component/select-names/recipient.glade, + gui/component/select-names/select-names.glade, + gui/component/select-names/select-names.glade.h: New files for + select names dialog (e-select-names.c, e-select-names.h, + select-names.glade, select-names.glade.h and recipient.glade moved + from gui/component/.) + +2000-06-29 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook-component.c (owner_set_cb): Get an + EvolutionShellClient instead of an Evolution_Shell to match the + changes in libeshell. + +2000-06-28 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names/, + gui/component/select-names/e-select-names-manager.c, + gui/component/select-names/e-select-names-manager.h: New select + names manager interface (Not complete.) + +2000-06-26 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c, + addressbook/gui/component/e-cardlist-model.c: Added + value_to_string handlers. + + * demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and + "y" arguments. + + * addressbook/gui/component/addressbook.c: Activated Click To Add + and set the click to add message. + + * addressbook/gui/component/e-addressbook-model.c: Added + value_to_string and append_row handlers. + + * addressbook/gui/component/e-select-names.c: Added a column. + +2000-06-26 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c (poll_ldap): remove spew. + (pas_backend_ldap_ensure_connected): duh, don't access a pointer + we know to be NULL. + (query_prop_to_ldap): rename map_e_card_prop_to_ldap to this. + easier to type. + +2000-06-21 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/test-minicard-label.c, + gui/minicard/test-minicard.c, gui/minicard/test-reflow.c: Remove + usage of "x" and "y" arguments. + +2000-06-18 <ettore@helixcode.com> + + * contact-editor/Makefile.am (INCLUDES): Use + `$(BONOBO_GNOME_CFLAGS)' so that we compile when Bonobo is not in + the default GNOME prefix. + +2000-06-17 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard-label.c, + gui/minicard/e-minicard-label.h, gui/minicard/e-minicard.c: Made + the left column of minicards not get any wider than the widest + possible name. + +2000-06-13 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/Makefile.am (SHELL_OBJS): Removed. + (evolution_addressbook_LDADD): Link with + `$(top_builddir)/shell/libeshell.a'. + +2000-06-12 Federico Mena Quintero <federico@helixcode.com> + + * contact-editor/e-contact-editor-categories.c: Removed the + ETableModel thaw handler. + * gui/component/e-cardlist-model.c: Likewise. + +2000-06-11 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/e-select-names.c: Fixed the widget reparenting. + +2000-06-11 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/Makefile.am: Added glade files. + + * gui/component/addressbook.c: Added a test of the Select Names + functionality. + + * gui/component/e-addressbook-model.c: Made this class_init + function a bit cleaner. + + * gui/component/e-select-names.c: Tested this and fixed some + obvious errors. + + * gui/component/select-names.glade: The main window shouldn't be + visible by default. + +2000-06-11 Ettore Perazzoli <ettore@helixcode.com> + + * contact-editor/Makefile.am (contact_editor_test_LDADD): Link + with libemiscwidgets.a. + * gui/component/Makefile.am (evolution_addressbook_LDADD): Likewise. + * gui/minicard/Makefile.am (minicard_test_LDADD): Likewise. + (reflow_test_LDADD): Likewise. + (minicard_view_test_LDADD): Likewise. + +2000-06-10 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/e-cardlist-model.c: Renamed a bunch of functions + for better readability. + + * gui/component/e-select-names.c, gui/component/e-select-names.h: + This should be a working dialog now. + + * gui/component/select-names.glade: Changed the name & creation + function of the ETable here. + +2000-06-10 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/select-names.glade, + gui/component/select-names.glade.h: Glade files for Select Names + dialog. + +2000-06-10 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Do e_card_simple_sync and + extract_info more often. + + * gui/component/addressbook.c: Added table printing code. + +2000-06-09 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook-component.c (factory_fn): Pass NULL + for the new args @create_folder_fn and @remove_folder_fn. + +2000-06-08 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook-component.c (create_view): Updated for + the new `EvolutionShellComponentCreateViewFn'. Return + `EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDTYPE' if @type is not + "contacts". + +2000-06-08 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Bind Save As to save the + current view of the contact as a vcard. + +2000-06-08 Federico Mena Quintero <federico@helixcode.com> + + * contact-editor/e-contact-editor.c (save_card): Doh, sync the + card simple and extract the card info. + +2000-06-08 Federico Mena Quintero <federico@helixcode.com> + + * contact-editor/e-contact-editor.h (EContactEditor): Now this + derives from GtkObject. It follows the same strategy as the + EventEditor in the calendar. + (EContactEditor): Added an is_new_card field so that we can know + whether to add() or commit() the card. + + * contact-editor/e-contact-editor.c (e_contact_editor_get_type): + Derive from GtkObject. + (e_contact_editor_class_init): Likewise. + (e_contact_editor_class_init): Added an "is_new_card" argument. + (e_contact_editor_set_arg): Handle ARG_IS_NEW_CARD. + (e_contact_editor_get_arg): Likewise. + (e_contact_editor_new): Take in an is_new_arg argument and set it + on the object. + (e_contact_editor_init): Load the app widget into the app field of + the EContactEditor structure. Create its UIHandler as well. + (e_contact_editor_class_init): New "add_card", "commit_card", and + "editor_closed" signals. + + * contact-editor/test-editor.c (main): Modified for the new API. + (editor_closed_cb): Tweaked for the new API. + Since this test program does not use Bonobo, it doesn't work, + though. + + * gui/component/addressbook.c (new_contact_cb): Use the new + contact editor API. + (table_double_click): Ditto. + + * gui/minicard/e-minicard-view.c (e_minicard_view_event): Use the + new contact editor API. + + * gui/minicard/e-minicard.c (e_minicard_event): Use the new + contact editor API. + +2000-06-08 Ettore Perazzoli <ettore@helixcode.com> + + * contact-editor/Makefile.am (contact_editor_test_LDADD): Remove + the `$(srcdir)/' prefix from `libecontacteditor.a' because [of + course] the library is built in the build directory, not in the + source directory. + * gui/minicard/Makefile.am (minicard_test_LDADD): Likewise with + `libeminicard.a'. + (minicard_label_test_LDADD): Likewise. + (reflow_test_LDADD): Likewise. + (minicard_view_test_LDADD): Likewise. + +2000-06-06 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Bind right click on the ETable to + "Save to VCard." + +2000-06-02 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Made phone/email/address + labels change correctly again. + +2000-06-02 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook-component.c: Made + evolution-addressbook shut down when the shell is done with it. + +2000-06-02 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard-view.c, gui/minicard/e-minicard.c: Made + double click only work on the first button. + +2000-06-01 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard.c: return TRUE if opening a contact + editor so that we don't get a "new dialog" contact editor. + +2000-06-01 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook.c (new_contact_cb): Use the stock + cancel button for the dialog. + (table_double_click): Likewise. + (find_contact_cb): Likewise. + +2000-05-31 Miguel de Icaza <miguel@helixcode.com> + + * contact-editor/contact-editor.glade: Added accelerators for + the remaining items. + + Add spacing, beautify the dialogs. + +2000-06-01 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook.c (control_activate): Put the toolbar + into a frame to make it look like standard GNOME toolbars. Also, + set `GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL' so that it does not do + evil things when its moved to the left or the right of the window. + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/e-cardlist-model.c, + gui/component/e-cardlist-model.h: New files for card list. + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Fixed a memory leak. + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/alphabet.glade: Made the alphabet buttons not + focusable. + + * gui/minicard/e-minicard-view.c: Made the "123" button work. + + * gui/minicard/e-reflow-sorted.c: Made all buttons past the last + letter available work. + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/alphabet.glade: Added a bit of space around the + alphabet bar. + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/Makefile.am: Added alphabet.glade and + alphabet.glade.h. + + * gui/component/addressbook.c, gui/component/alphabet.glade, + gui/component/alphabet.glade.h: Added an alphabet bar. + + * gui/minicard/e-minicard-view.c, gui/minicard/e-minicard-view.h, + gui/minicard/e-reflow-sorted.c, gui/minicard/e-reflow-sorted.h: + Added the ability to just to a particular spot in the reflow. + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * printing/Makefile.am: Added BONOBO_GNOME_CFLAGS to CPPFLAGS. + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard-view.c: Made double clicking create a + new card. Set the empty message. + + * gui/minicard/e-minicard.c: Made sorting be case insensitive. + + * gui/minicard/e-reflow-sorted.c, e-reflow.c, e-reflow.h: Added a + message for when the reflow is empty. + + * printing/e-contact-print.c, printing/medbook.ecps: Made the + default printout be full page. Made sorting case insensitive. + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-book-view-listener.c, + backend/ebook/e-book-view-listener.h, backend/ebook/e-book-view.c, + backend/ebook/e-book-view.h, backend/idl/addressbook.idl, + backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c, + backend/pas/pas-book-factory.c, backend/pas/pas-book-view.c, + backend/pas/pas-book-view.h: Added "sequence_complete" signal. + + * printing/e-contact-print.c: Made printing wait for + "sequence_complete" signal and made it sort. + +2000-05-25 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c, + gui/component/e-addressbook-model.c, + gui/component/e-addressbook-model.h: Added double click to open + contact editor. + +2000-05-25 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Removed some columns. + +2000-05-25 Ettore Perazzoli <ettore@helixcode.com> + + * gui/component/addressbook.c (addressbook_factory_new_control): + New function. + (addressbook_factory): Use it. + + * Makefile.am (evolution_addressbook_LDADD): Link with + `evolution-shell-component.o' from the shell directory. + + * gui/component/addressbook-component.c: New. + * gui/component/addressbook-component.h: New. + +2000-05-23 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Switched printing and gui. + + * backend/ebook/e-book-view-listener.h, + backend/ebook/e-book-view.h, backend/ebook/e-book.h, + backend/ebook/e-card-cursor.h, backend/ebook/e-card-list.h, + backend/ebook/e-card-simple.h, backend/ebook/e-card.h: Fixed the + #defines to work elsewhere in evolution. + + * gui/component/Makefile.am: Added linking to libecontactprint. + + * gui/component/addressbook.c: Added a menu item to print the + current query. + + * printing/Makefile.am: Add linking to libebook and requirements. + Add installation of ecps files. + + * printing/e-contact-print.c, printing/e-contact-print.h: Changed + this to use real data from an EBook. + + * printing/test-print.c: Made this pass NULL, NULL to + e_contact_print_dialog_new so that it will compile. + +2000-05-23 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-save-as.c: Fixed some memory leaks. + +2000-05-23 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/Makefile.am: Added e-contact-editor-save-as.c and + e-contact-editor-save-as.h. + + * contact-editor/e-contact-save-as.c, + contact-editor/e-contact-save-as.h: New files that display a save + as dialog and then save the given card to that file. + + * gui/minicard/e-minicard.c: Call e_contact_save_as in a right + click menu. + +2000-05-19 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c, + gui/component/e-addressbook-model.c: Added initialize_value and + value_is_empty callbacks. + +2000-05-19 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Fixed a bug that broke + address field support. + +2000-05-19 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c, + contact-editor/e-contact-editor.h: Added support for arbitrary + fields in the contact editor. + +2000-05-18 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c: Fixed e_card_name_copy and + e_card_arbitrary_copy to deal correctly with a passed NULL. + + * contact-editor/Makefile.am: Removed imagesdir stuff. + + * contact-editor/arrow.png: Made this transparent. + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor-strings.h: Renamed some widgets + and added custom widgets for all of the images. + + * contact-editor/e-contact-editor.c: Worked on making this work + decently well with messed up glade files. Cleaned up a lot of code. + +2000-05-18 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c: Fixed the code to write out and read in + arbitrary fields. + +2000-05-18 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h, + backend/ebook/e-card-types.h, backend/ebook/e-card.c, + backend/ebook/e-card.h: Implemented "MAILER" field. Added + arbitrary field support. + + * contact-editor/e-contact-editor-categories.c: Fixed a warning. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: + Added E_CARD_SIMPLE_FIELD_MAILER. Not implemented yet. + +2000-05-16 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c (construct_email_list): convert to use ECardSimple. + (poll_ldap): same. + +2000-05-16 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-book.h: add typedefs for the can_write + functions, and add parameters to pas_book_new. + + * backend/pas/pas-book.c (pas_book_construct): add can_write/can_write_card params. + (pas_book_new): same. + (impl_Evolution_Book_can_write): new function. + (impl_Evolution_Book_can_write_card): same. + (pas_book_get_epv): assign the can_write/can_write_card slots in the epv. + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_can_write): new function. + (pas_backend_ldap_can_write_card): same. + (pas_backend_ldap_add_client): add can_write/can_write_card to pas_book_new call. + + * backend/pas/pas-backend-file.c (pas_backend_file_can_write_card): new function, calls can_write. + (pas_backend_file_can_write): same. + (can_write): return TRUE if we can write to the addressbook file. + (pas_backend_file_add_client): add can_write/can_write_card to pas_book_new call. + + * backend/idl/addressbook.idl (Evolution): add can_write and + can_write_card permission requests. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c (e_card_get_vcard): Fixed a large memory leak. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c (add_list_unique): Fixed another memory + leak. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c, backend/pas/pas-backend-file.c, + contact-editor/e-contact-editor.c, ename/e-name-western.c, + gui/component/addressbook.c, gui/minicard/e-minicard-view.c: Fixed + some memory leaks. + + * backend/ebook/e-card.c: Rearranged some code. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c: Fixed a reference + leak. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c: Fixed a compile + error. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c: Got rid of a + memory leak. Rearranged a couple functions. + + * gui/minicard/e-minicard-view.c, gui/minicard/e-minicard-view.h: + Added some code to stop watching the EBook when the canvas is + destroyed (apparently the canvas is destroyed before our widget is + destroyed.) + +2000-05-14 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-categories.c: Use the correct + policy for resize. + +2000-05-14 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/Makefile.am: Added libeutil for e-card's support + for categories. + + * backend/ebook/e-card-list.c, backend/ebook/e-card-list.h: Added + a function to get the length. + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added categories + support (accessible either as "categories" or "category_list".) + + * contact-editor/Makefile.am: Added e-table and all of the + categories files. + + * contact-editor/categories.glade, + contact-editor/categories-strings.h, + contact-editor/e-contact-editor-categories.c, + contact-editor/e-contact-editor-categories.h: + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor-strings.h: Rearranged this dialog. + + * contact-editor/e-contact-editor.c: Rearranged dialog a bit. + Added opening of categories dialog. + + * gui/component/Makefile.am: Rearranged libraries so that + libetable would be available for the contact editor categories + dialog. + + * gui/component/addressbook.c: Fix for new ETable resizing. Make + contact editor dialog resizable. + + * gui/minicard/Makefile.am: Added libetable contact editor + categories dialog. + + * gui/minicard/e-minicard.c: Make contact editor dialog resizable. + +2000-05-12 Miguel de Icaza <miguel@gnu.org> + + * contact-editor/fulname.glade: Use accelerators here. + +2000-05-13 Valek Filippov <frob@df.ru> + + * gui/component/ldap-server-dialog.glade: save translatable strings + * gui/component/ldap-server-dialog.glade.h: file with strings + * printing/e-contact-print.glade: save translatable strings + * printing/e-contact-print.glade.h: file with strings + +2000-05-11 Dan Winship <danw@helixcode.com> + + * gui/component/addressbook.c (control_activate): Now that we + depend on recent gnome-libs we can make the toolbar detachable + again. + +2000-05-10 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Make the table view be sorted by + name initially. + +2000-05-10 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-book-factory.c: Send a proper response when you + can't find the ldap URI. + + * gui/component/addressbook.c: Cleaned up the open error dialog a + bit. + +2000-05-10 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Added a dialog for when you can't + open an addressbook. + +2000-05-10 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/Makefile.am: Added e-book-types.h, e-card-pairs.h, + e-card-types.h. + + * backend/pas/Makefile.am: Added pas-backend-ldap.h. + + * contact-editor/Makefile.am: Added a proper EXTRA_DIST section. + Removed some old defines. + + * ename/Makefile.am: Added e-name-western-tables.h. + + * gui/component/Makefile.am: Added e-ldap-server-dialog.h. Added + a proper EXTRA_DIST section. + + * gui/minicard/e-reflow.c: Added a missed cast. + + * printing/Makefile.am: Added a proper EXTRA_DIST section. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Make sure that the canvas + doesn't intercept keyboard focus. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Use new art. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor-strings.h: Replaced the Address + button with a label and rearranged the address area a bit. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard.c: Reenable editting. + + * gui/minicard/e-reflow-sorted.c: Make reflow flow on deletion. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Destroy the view object when + leaving the minicard view. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-reflow-sorted.c: Fixed reflow sorting to call + reflow_request when sorting on an item changes. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c: Make File As change if name or + company are changed pretty much anywhere. + + * gui/minicard/e-minicard.c: Turned off having minicard editing + effect anything since it's so crashy. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-ldap.c: Enabled a couple more fields + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-file.c: Added a default card to all new + file backends. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/e-addressbook-model.c: Rearranged order of things + getting destroyed. + + * gui/minicard/e-minicard-view.c: Rearranged order of things + getting destroyed. Don't set attributes of non-null or destroyed + items. Destroy parent object when destroyed. Maintain ref_count + of items in list. + + * gui/minicard/e-minicard.c: Don't set attributes of non-null + items. + + * gui/minicard/e-reflow-sorted.c: Maintain ref_count of items in + list. + + * gui/minicard/e-reflow.c: Maintain ref_count of items in list. + Destroy parent object when destroyed. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c: Fixed some indentation. + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor-strings.h: Changed Email to + Primary Email. + + * contact-editor/e-contact-editor.c: Added checkmarks to indicate + if data exists in the pull down menus for the phone, address, and + email fields. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c: Fixed the string duplication + problem. Fixed the business/home address string mix up. + + * gui/component/addressbook.c: Made the minicard view the default + view. + +2000-05-08 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c: Fixed this up a bit. Syncing + should work better now. + +2000-05-08 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard-view.c, gui/minicard/e-minicard.c, + gui/minicard/e-minicard.h, gui/minicard/e-reflow-sorted.c, + gui/minicard/e-reflow-sorted.h: Made a minimal number of things be + destroyed and recreated when updating a field. + +2000-05-07 <toshok@the-dot-in.helixcode.com> + + * gui/minicard/e-minicard.c (remodel): make sure to free the + return value of e_card_simple_get. + + * gui/component/addressbook.c (teardown_table_view): destroy the + ECardSimple here, plug memory leak. + (create_table_view): use view->simple so we can destroy the + ECardSimple later on. + +2000-05-07 Chris Toshok <toshok@helixcode.com> + + * ename/e-name-western.c (e_name_western_extract_middle): comment + function, and fix an ABR. + +2000-05-07 Chris Toshok <toshok@helixcode.com> + + * ename/e-name-western.c (e_name_western_cleanup_string): comment + function, and fix an ABR. + +2000-05-08 Christopher James Lahey <clahey@helixcode.com> + + * gui/minicard/e-minicard.c: Added saving in minicard view. + +2000-05-07 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-file.c: Fixed an off by 2 error. + +2000-05-07 Chris Toshok <toshok@helixcode.com> + + * gui/component/addressbook.c (set_prop): don't create a new + ebook. instead, unload the current uri (if there is one) and load + the new one. + (addressbook_factory): create the ebook once. + +2000-05-07 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/e-addressbook-model.c: Replaced some model_changed + calls with row_inserted calls. + +2000-05-07 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c: + Removed some code that was notifying too many clients at the wrong + times. + + * gui/component/addressbook.c: Set view->book. Unreffed + view->book. Unreffed the model instead of destroying it. Removed + the /tmp/test.db stuff. + +2000-05-07 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Make the addressbook create the + correct file uri. Added a default query. Initialize view->model + and view->view to NULL. + + * gui/component/e-addressbook-model.c, + gui/minicard/e-minicard-view.c: Only call get_book_view if both + book and query and non-null. + +2000-05-06 Chris Toshok <toshok@helixcode.com> + + * gui/component/addressbook.c (control_deactivate): remove the + separator and toggle view items as well. + (toggle_view_as_cb): callback for the "/View/Toggle View" menu + item. + (get_query): getter for the query string that takes into account + the two view types. + (set_query): setter for the query string that takes into account + the two view types. + (set_book): setter for the EBook type - not really a setter, since + the book is kept in the AddressbookView, but this method actually + sets the "book" property on the current view. + (find_contact_cb): make use of get/set_query + (search_entry_activated): make use of set_query. + (control_activate): add a menu separator and an item to toggle + between view types. + (book_open_cb): make use of set_book. + (ebook_create): no longer needs to return the EBook, since we set + the book field in our view. + (teardown_minicard_view): destructor function for the minicard + specific ui. + (create_minicard_view): constructor function for the minicard + specific ui. + (teardown_table_view): destructor function for the e-table + specific ui. + (create_table_view): constructor function for the e-table specific + ui. + (change_view_type): destroy the old and create the new view ui, + change the label of the Toggle View menu item, and reset the book + and query on the new view type. + (addressbook_factory): create an all-encompassing vbox that the + view uses to create the bonobo control, which contains 1 widget + per ui specific view (the e-table in the table case, and another + vbox in the minicard case.) use change_view_type to create the + initial view. + +2000-05-07 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-book.c: Made a NULL callback just mean to not + call back. + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: + Reordered fields. Added a get_const function to get a constant + string that persists until the simple is destroyed. + + * gui/component/Makefile.am: Added e-addressbook-model.c and + e-addressbook-model.h and all of the libraries and includes that + they are dependent on. + + * gui/component/addressbook-factory.c: Initialize e cursors. + + * gui/component/addressbook.c: Added inactive code to display an + ETable view of the addressbook. + + * gui/component/e-addressbook-model.c, + gui/component/e-addressbook-model.h: New files to implement an + ETable model with a EBook back end. + +2000-05-06 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: + Mostly finished ECardSimple. + + * contact-editor/e-contact-editor.c: Changed this to match with + some of the changes to ECardSimple. + + * gui/component/addressbook.c: Changed this to look for + "addressbook.db" in the given directory if it doesn't find the + file "uri". + + * gui/minicard/e-minicard.c, gui/minicard/e-minicard.h: Changed + this to use ECardSimple. + +2000-05-06 Chris Toshok <toshok@helixcode.com> + + * gui/component/.cvsignore: ignore evolution-addressbook.pure + + * gui/component/Makefile.am: add support for generating + evolution-addressbook.pure. + +2000-05-06 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_load_uri): if a + port isn't specified in the uri default to 389. + +2000-05-06 Christopher James Lahey <clahey@helixcode.com> + + * gui/component/addressbook.c: Made this take a uri through its + property bag. + +2000-05-05 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/Makefile.am: Added e-card-simple.c and + e-card-simple.h. + + * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: + New card wrapper class to simplify things. + + * contact-editor/e-contact-editor.c, + contact-editor/e-contact-editor.h: Changed e-contact-editor to use + ECardSimple a bit. + +2000-05-03 Chris Toshok <toshok@helixcode.com> + + * gui/component/addressbook.c (control_deactivate): #ifdef + HAVE_LDAP the ldap specific stuff. + (null_cb): same. + (control_activate): same. + +2000-05-02 Ettore Perazzoli <ettore@helixcode.com> + + * backend/ebook/Makefile.am (INCLUDES): Add + `-I$(top_srcdir)/addressbook/ename'. + +2000-05-02 Matt Loper <matt@helixcode.com> + + * demo/Makefile.am: set G_LOG_DOMAIN. + * printing/Makefile.am: same. + +2000-05-01 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-book-factory.c: Add back in the + CORBA_Object_release. + + * backend/pas/pas-book.c: Properly duplicate and release the + listener passed to us. + +2000-05-01 Christopher James Lahey <clahey@helixcode.com> + + * backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c: + Made uri slightly better managed. + + * backend/pas/pas-book-factory.c + (pas_book_factory_process_request): Remove this + CORBA_Object_release that causes things not to work. This is just + a temporary fix until we figure out what's actually wrong. + + * backend/pas/pas-book.c: Fixed a copy and paste error in a warning. + +2000-05-01 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Switched the subdirs order since backend depends on + ename. + +2000-05-01 Larry Ewing <lewing@helixcode.com> + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_remove_client): + fix a typo in the for loop. + +2000-05-01 Michael Meeks <michael@helixcode.com> + + * backend/pas/pas-book-factory.c: include gtk. + +2000-04-30 Federico Mena Quintero <federico@helixcode.com> + + * backend/ebook/e-book-types.h (EBookStatus): Added new status + values for the IDL stuff. + + * backend/pas/pas-book-factory.h (PASBookFactoryClass): New + "last_book_gone" signal. + + * backend/pas/pas-book-factory.c + (pas_book_factory_launch_backend): Better error handling. + (pas_book_factory_process_queue): Let + pas_book_factory_process_request() free the request. + (pas_book_factory_process_request): Free the request here. + Perform better error handling. + (free_active_server_map_entry): Free an active server map entry; + free the URI key and unref the backend value. This function was + renamed; the old one was trying to CORBA_Object_unref() a GTK+ + object! + (remove_backends_entry): Free a backend table entry; free the URI + key. + (backend_last_client_gone_cb): Remove the backend from the active + server map and emit the "last_book_gone" signal if appropriate. + (pas_book_factory_get_n_backends): New function to query the + number of running backends in an addressbook factory. + + * backend/idl/addressbook.idl (BookListener::CallStatus): Added a + ProtocolNotSupported code. This is for when the addressbook + factory cannot find a provider for the requested URI. + + * backend/pas/pas-backend.h (PASBackendClass): New + "last_client_gone" signal. + (PASBackendClass): New get_uri virtual method. + + * backend/pas/pas-backend.c (pas_backend_load_uri): Return a + gboolean success code. + (pas_backend_add_client): Return a gboolean success code. + (pas_backend_last_client_gone): New function used by backend + implementations to notify upwards when the backend's last client + is destroyed. + (pas_backend_get_uri): New function to get the URI of a backend. + + * backend/pas/pas-backend-file.c (pas_backend_file_add_client): + Pass the backend as the closure data to the "destroy" handler of + the book. We cannot call pas_book_get_backend() in the callback + since the book's private data has already been destroyed when the + callback is invoked. Alternatively, we could move the private + data destruction step to the book's ::finalize() method. + (pas_backend_file_book_destroy_cb): Get the backend from the + callback's data, not from the book. + (pas_backend_file_remove_client): Remove the book from the list of + clients. When all clients go away, call + pas_backend_last_client_gone(). + (PASBackendFilePrivate): Added an uri field. + (pas_backend_file_get_uri): Implement the get_uri method. + (pas_backend_file_load_uri): Return a gboolean success code. + Also, store the URI in the private structure. + (pas_backend_file_add_client): Return a gboolean success code. + Also, call pas_backend_last_client_gone() if appropriate. + (pas_backend_file_destroy): Free the bf->priv->uri. + + * backend/pas/pas-backend-ldap.c (pas_backend_ldap_add_client): + Pass the backend as the closure data to the "destroy" handler of + the book. See above for rationale. + (pas_backend_ldap_book_destroy_cb): Get the backend from the + callback's data. + (pas_backend_ldap_remove_client): Remove the book from the list of + clients. When all clients go away, call + pas_backend_last_client_gone(). + (pas_backend_ldap_load_uri): Return a gboolean success code. + (pas_backend_ldap_add_client): Return a gboolean success code. + Also, call pas_backend_last_client_gone() if appropriate. + (PASBackendLDAPPrivate): New uri field. + (pas_backend_ldap_get_uri): Implement the get_uri method. + (pas_backend_ldap_load_uri): Store the uri in the private + structure. + (pas_backend_ldap_destroy): Free the bl->priv->uri. + +2000-04-30 Chris Toshok <toshok@helixcode.com> + + * gui/component/Makefile.am (evolution_addressbook_SOURCES): added + e-ldap-server-dialog.c + (glade_DATA): added ldap-server-dialog.glade + + * gui/component/ldap-server-dialog.glade: new file. + + * gui/component/e-ldap-server-dialog.h: new file. + + * gui/component/e-ldap-server-dialog.c: new file, contains logic + associated with ldap server dialog. + + * gui/component/addressbook.c (control_deactivate): remove the + directory server menu item. + (null_cb): do nothing callback for e_book_load_uri call. should + change to (at the very least) pop up a dialog if there was an + error. + (new_server_cb): new function - really just switches to a + particular ldap server, since the information isn't saved + anywhere. + (control_activate): add directory server menu item. + +2000-04-30 Chris Toshok <toshok@helixcode.com> + + * backend/ebook/e-book.c (e_book_load_uri): create the book + listener here, since it's destroyed in unload_uri. + (e_book_construct): remove the book listener construction here. + +2000-04-30 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/.cvsignore: Added load-pine-addressbook. + +2000-04-30 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor.c, gui/minicard/e-minicard.c: Made + some fields invisible that were visible before. + +2000-04-30 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c: Make file as not have the : after it if + it's empty. If there's no name, or file_as, fill in these fields + with defaults based on full_name or name respectively. + + * backend/ebook/load-pine-addressbook.c: New file to do import of + pine .addressbook files. + + * backend/pas/pas-backend-file.c: Made empty fields act as the + empty string for searches. + + * contact-editor/e-contact-editor.c, + contact-editor/e-contact-editor.h: Made the File As field update + properly as you edit the name and company fields. Added the pull + down list of File As choices. Made sure that all fields will + be set to NULL if they are deleted to the empty string. + + * gui/minicard/e-minicard.c: Use the File As field instead of the + Full Name field for the header. Make identical compares on the + File As field do a compare on the uid. + +2000-04-30 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor-fullname.c, + contact-editor/fullname.glade: Fixed a string mismatch. + +2000-04-30 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/Makefile.am: Added ename includes and libs. + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added + e_card_name_from_string. Added header for + e_card_delivery_address_from_string, even though it's not + implemented yet. + + * contact-editor/Makefile.am: Removed the ename includes since we + no longer use ename directly here. + + * contact-editor/e-contact-editor.c: Fixed this to properly save + the address labels displayed. Updated this to use the function + e_card_name_from_string instead of doing it by hand. + + * contact-editor/fullname-strings.h, + contact-editor/fullname.glade: Deleted an unused field. Changed + the set of prefixes and suffixes. + +2000-04-30 Chris Toshok <toshok@helixcode.com> + + * backend/pas/pas-backend-ldap.c + (pas_backend_ldap_ensure_connected): add support for a rootdn in + the uri. + (pas_backend_ldap_build_all_cards_list): make use of the rootdn in + the call to ldap_search_s. + (pas_backend_ldap_search): same. + (pas_backend_ldap_load_uri): get the rootdn out of the passed in uri. + +2000-04-29 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added + e_card_phone_new e_card_delivery_address_new, + e_card_delivery_address_to_string, e_card_name_copy, + e_card_name_new, e_card_name_to_string, and made e_card_name_free + public. Removed some unused code. + + * backend/pas/pas-backend-file.c: Fixed a warning. + + * contact-editor/Makefile.am: Added e-contact-editor-fullname.[ch] + and fullname.glade. Added e-name libs and includes. + + * contact-editor/e-contact-editor-fullname.c, + contact-editor/e-contact-editor-fullname.h, + contact-editor/fullname-strings.h, contact-editor/fullname.glade: + New dialog for editing the fields of a name separately. + + * contact-editor/e-contact-editor.c, + contact-editor/e-contact-editor.h: Create an + EContactEditorFullname when you click on the Full Name button. + Maintain a parsed name at all times. + + * gui/component/Makefile.am, gui/minicard/Makefile.am: Added + e-name libs. + +2000-04-28 Larry Ewing <lewing@helixcode.com> + + * backend/pas/pas-book-factory.c (register_factory): fix the + `USING_OAF' changes so that they work for when we are not using + oaf. + +2000-04-27 Ettore Perazzoli <ettore@helixcode.com> + + * ename/Makefile.am + (gnome_libs): Use `BONOBO_GNOME_LIBS'. + (INCLUDES): Add `-I$(srcdir)/..'. + + * backend/pas/pas-book-factory.c + (register_factory): New function to register the factory. + Implementation different according to `USING_OAF'. + (pas_book_factory_activate): Use `register_factory()'. + + * gui/component/addressbook.c: New #define `CONTROL_FACTORY_ID', + varying depending on whether we are `USING_OAF'. + (addressbook_factory_init): Use `CONTROL_FACTORY_ID'. + + * backend/ebook/test-client.c (init_corba): New function, + implemented differently according to the `USING_OAF' #define. + + * backend/ebook/e-book.c: New #define `CARDSERVER_OAF_ID'. + (e_book_construct): Work with OAF #if `USING_OAF'. + + * backend/ebook/Makefile.am (gnome_libs): Removed. + (corbadir): Removed. + (ebook_libs): Removed. + (test_client_LDADD): Just add `libebook.la'. + (test_card_LDADD): Likewise. + (test_client_list_LDADD): Likewise. + + * gui/component/addressbook-factory.c + (init_corba): New helper function, implemented differently + according to `USING_OAF'. + (main): Call `init_corba()'. + +2000-04-27 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card.c, backend/ebook/e-card.h: Added file as, + office, manager, assistant, spouse, and anniversary fields. These + all use "X-EVOLUTION-" fields in the VCards. + + * backend/pas/pas-backend-file.c: Added all the new fields (except + anniversary) to the list of fields. + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor-strings.h: Fixed some misnamed + fields and fixed the placement of the comments field. + + * contact-editor/e-contact-editor.c: Made the newly added fields + display properly. + + * Makefile.am: Added ename. + + * ename/e-name-western.h, ename/test-ename-western-gtk.c, + ename/test-ename-western.c: Fixed up some #includes. + + * ename/.cvsignore: Added .cvsignore. + +2000-04-26 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-types.h, backend/ebook/e-card.c, + backend/ebook/e-card.h: Added an address label field. + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor-strings.h: Got rid of some unused + fields. + + * contact-editor/e-contact-editor.c, + contact-editor/e-contact-editor.h: Added the address label field. + Load only. Editing these fields seems to mess things up. + +2000-04-26 Christopher James Lahey <clahey@helixcode.com> + + * contact-editor/e-contact-editor.c: Added proper handling of the + email field. + +2000-04-26 Christopher James Lahey <clahey@helixcode.com> + + * backend/ebook/e-card-types.h, backend/ebook/e-card.c, + gui/minicard/e-minicard.c: Prefixed the ADDR_ flags. + + * contact-editor/contact-editor.glade, + contact-editor/e-contact-editor-strings.h: Edited the glade file. + Removed all the fields that we don't use. + + * contact-editor/e-contact-editor.c, + contact-editor/e-contact-editor.h: Made the phone fields work + properly. The address and email fields are temporarily turned off + until they can be made to work as the phone fields do. + +2000-04-25 Ettore Perazzoli <ettore@helixcode.com> + + * gui/minicard/Makefile.am (INCLUDES): Use + `$(BONOBO_GNOME_CFLAGS)'. + + * backend/pas/Makefile.am (idl_flags): Add `-I $(datadir)/idl' to + pick up IDL files in the installation prefix as well. + (INCLUDES): Use `$(BONOBO_GNOME_CFLAGS)'. + + * backend/ebook/Makefile.am (ORBIT_IDL): Use `-I $(datadir)/idl' + to get the IDLs from the installation prefix as well. + (INCLUDES): Add `$(BONOBO_GNOME_CFLAGS)'. + (test_client_LDADD): Use `$(BONOBO_GNOME_LIBS)' instead of + hardcoding `-lbonobo'! Also get rid of some other useless flags, + as `$(BONOBO_GNOME_LIBS)' really has all what we need. + (test_client_list_LDADD): Likewise. + (test_card_LDADD): Likewise. + +2000-04-18 Federico Mena Quintero <federico@helixcode.com> + + * gui/minicard/Makefile.am (INCLUDES): Use "e-minicard" as the log + domain. + + * gui/component/Makefile.am (INCLUDES): Use + "evolution-addressbook" as the log domain. + + * backend/pas/Makefile.am: Build libpas.a, not a shared library. + Do not install any header files. + (INCLUDES): Remove spurious include paths. + + * backend/pas/*.[ch]: Fix includes. + + * backend/ebook/Makefile.am: Do not install the test programs. + Fixed some include weirdness. + + * backend/ebook/*.[ch]: Fix includes. + + * contact-editor/Makefile.am (INCLUDES): Set the log domain to + "contact-editor". + (INCLUDES): Fix. + + * contact-editor/*.[ch]: Fix includes. + + * gui/minicard/*.[ch]: Fix includes. + + * ChangeLog: Started a ChangeLog here. |