aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook
Commit message (Collapse)AuthorAgeFilesLines
* prepend /apps/Evolution to config db paths.Chris Toshok2002-11-081-1/+1
| | | | | | | | | | | | | 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. svn path=/trunk/; revision=18664
* tests are linking now, and link in libcamel.la.Chris Toshok2002-11-083-77/+40
| | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=18655
* add prototypes for e_utf8_casefold_collate{_len}Chris Toshok2002-11-082-0/+26
| | | | | | | | | | | | 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. svn path=/trunk/; revision=18654
* use g_type_class_peek_parent.Chris Toshok2002-11-073-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=18623
* call g_build_filename, not g_build_path.Chris Toshok2002-11-061-1/+1
| | | | | | | | | 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. svn path=/trunk/; revision=18600
* fix the gnome-xml headers.Chris Toshok2002-11-062-3/+4
| | | | | | | | 2002-11-06 Chris Toshok <toshok@ximian.com> * backend/ebook/e-destination.[ch]: fix the gnome-xml headers. svn path=/trunk/; revision=18599
* ignore the generated marshaller files.Chris Toshok2002-11-066-51/+62
| | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=18586
* g_date_* => g_date_get_*, fixes G_DISABLE_DEPRECATED build.Chris Toshok2002-11-055-252/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=18548
* don't call bonobo_activation_init directly.Chris Toshok2002-11-058-65/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=18543
* just include glib.h instead of the gtk stuff.Chris Toshok2002-11-0330-1205/+1498
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=18505
* never set the charset on an item without also encoding it. Mime messagesLarry Ewing2002-10-281-6/+2
| | | | | | | | | | 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. svn path=/trunk/; revision=18451
* [ probable fix for #25477, and memory leak fix ] if the dialog isn't inChris Toshok2002-10-211-0/+2
| | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=18396
* Return right away rather than crashing if card->email is NULL.Dan Winship2002-10-161-0/+6
| | | | | | | | * 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. svn path=/trunk/; revision=18370
* [ Fixes #31321 ] add VERSION:2.1 to exported vCards.Chris Toshok2002-10-011-0/+2
| | | | | | | | | | 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. svn path=/trunk/; revision=18274
* update for Composer_setHeaders change.Dan Winship2002-09-301-2/+2
| | | | | | | * backend/ebook/e-card.c (e_card_list_send): update for Composer_setHeaders change. svn path=/trunk/; revision=18261
* [ Fixes bug #30250 ] handle "Unnamed Lists" here by setting their name toChris Toshok2002-09-132-3/+12
| | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=18059
* return g_strdup("true"), not "true".Dan Winship2002-09-131-1/+1
| | | | | | | * backend/ebook/e-card-simple.c (e_card_simple_get): return g_strdup("true"), not "true". svn path=/trunk/; revision=18056
* add QueryRefused, for when the backend refuses to perform a query. (partDan Winship2002-08-312-0/+3
| | | | | | | | | | | | | | * 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. svn path=/trunk/; revision=17934
* [ fixes #20347 ] hook up the backend_died signal. (backend_died): newChris Toshok2002-08-292-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=17918
* take and pass the CallStatus to our listener.Chris Toshok2002-08-206-9/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=17814
* Import into the default book not the local oneIain Holmes2002-08-162-1/+12
| | | | svn path=/trunk/; revision=17788
* If invoked from a non-contact folder, add the contact to the defaultDan Winship2002-08-136-80/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. svn path=/trunk/; revision=17764
* Use "\r" rather than including literal CRs in the string, which confusesDan Winship2002-08-072-54/+28
| | | | | | | | | * 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. svn path=/trunk/; revision=17722
* (activate_factories_for_uri): Don'tEttore Perazzoli2002-07-311-2/+0
| | | | | | double free protocol and query. svn path=/trunk/; revision=17653
* Install libversit.a so that people compiling against the addressbook canPeter Williams2002-07-181-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-09 Peter Williams <peterw@ximian.com> * libversit/Makefile.am (privlib_LIBRARIES): Install libversit.a so that people compiling against the addressbook can do so successfully. * Makefile.am: create our *Conf.sh files and dist them and install them. * configure.in: Define and subst some variables that the Conf.sh file need. 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> * cal-util/Makefile.am: Install libcal-util-static.la and fix the -all-static flag to make it install statically. * pcs/Makefile.am: Install libpcs.a and its headers. * pcs/cal-backend-util.h: Same sort of include namespacing fix, but for pcs. * pcs/cal.h: * pcs/query.h: * pcs/cal-factory.h: * pcs/cal-backend.h: * pcs/cal-backend-file.h: Same. 2002-07-17 Peter Williams <peterw@ximian.com> * calendar/cal-util/Makefile.am (GTKDOC_LIBS): Because we're using libtool as our LD, we can reference .la's and libtool will DTRT for us. * calendar/cal-client/Makefile.am (GTKDOC_LIBS): Same here. 2002-07-03 Peter Williams <peterw@ximian.com> * Makefile.am: Install libeutil, libeconduit, and libedb3util and their headers. 2002-07-08 Peter Williams <peterw@ximian.com> * Makefile.am: Reference the new libefilterbar.a. 2002-07-12 Peter Williams <peterw@ximian.com> * Makefile.am (INCLUDES): Add -I$(builddir)/libical/src/libical for the generated ical.h (some headers rely on this because they too get installed.) 2002-07-09 Peter Williams <peterw@ximian.com> * e-timezone-dialog/Makefile.am: Add -I$(top_builddir)/libical/src/libical; some headers that we rely on get installed, so they point to the ical.h that gets generated and installed; consequently we need to be able to find the generated ical.h * misc/Makefile.am: Install libemiscwidgets.a and its headers. However, break EFilterBar into a separate libefilterbar.a because we don't want the installed library to depend on libfilter. svn path=/trunk/; revision=17496
* Oops, missed this one.Peter Williams2002-07-112-2/+3
| | | | | | | | | | | 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. svn path=/trunk/; revision=17412
* Add include lines to get ebook headers relative to <ebook/foo.h>, notPeter Williams2002-07-116-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-09 Peter Williams <peterw@ximian.com> * tools/Makefile.am (INCLUDES): Add include lines to get ebook headers relative to <ebook/foo.h>, not "foo.h". addressbook: 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 * 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. calendar: 2002-07-08 Peter Williams <peterw@ximian.com> * gui/Makefile.am (INCLUDES): Change the -I flags to get it to play nicely with the new Ebook header paradigm. * gui/dialogs/Makefile.am: Same. * gui/e-meeting-model.c: More of the same. * gui/dialogs/e-delegate-dialog.c: * gui/dialogs/e-meeting-model.c: * gui/dialogs/comp-editor-util.c: Fix include lines to get ebook headers. * pcs/Makefile.am: Same. composer: 2002-07-08 Peter Williams <peterw@ximian.com> * Makefile.am (INCLUDES): Fix cflags for ebook header namespacing. importers: 2002-07-08 Peter Williams <peterw@ximian.com> * Makefile.am: Fix cflags to get at ebook headers correctly. * pine-importer.c: Fix include lines to get ebook headers the "right" way. * evolution-gnomecard-importer.c: Same. mail: 2002-07-08 Peter Williams <peterw@ximian.com> * Makefile.am (INCLUDES): Add -I flags to get the ebook headers. svn path=/trunk/; revision=17411
* add Book.getCompletionView.Chris Toshok2002-07-102-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=17402
* Made "" compare as not equal to "" for addresses. (use_common_book_cb):Christopher James Lahey2002-06-151-4/+6
| | | | | | | | | | | | 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. svn path=/trunk/; revision=17191
* [ fixes bug #17332 ] we shouldn't ever return NULL here. in error cases weChris Toshok2002-06-121-1/+1
| | | | | | | | | | | 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(""); svn path=/trunk/; revision=17173
* Made expand_uri a bit more robust and readable.Christopher James Lahey2002-06-111-18/+18
| | | | | | | | | | | | | | 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. svn path=/trunk/; revision=17159
* [ #24189 ] ifdef out the body of this because it only works with a singleChris Toshok2002-05-242-22/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=16999
* make sure we map status -> string correctly (add missing strings).Chris Toshok2002-05-212-2/+5
| | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=16958
* finally remove the #if 0's and use the oaf query stuff to get backendsChris Toshok2002-05-041-2/+0
| | | | | | | | | | 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. svn path=/trunk/; revision=16681
* Changed this to set a subject when sending a contact. This makes theChristopher James Lahey2002-05-011-1/+58
| | | | | | | | | | 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. svn path=/trunk/; revision=16648
* oops, should have done a search to make sure I had gotten all of the libibexesJeffrey Stedfast2002-04-271-6/+0
| | | | svn path=/trunk/; revision=16614
* Don't link to libibex anymore.Jeffrey Stedfast2002-04-271-1/+0
| | | | | | | | | | | | | | 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. svn path=/trunk/; revision=16612
* Append /addressbook.db to the end of the default URI if it starts withDan Winship2002-04-192-3/+10
| | | | | | | | | | | * 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. svn path=/trunk/; revision=16519
* Update for new-and-improved consistent default folder uri.Dan Winship2002-04-101-1/+1
| | | | | | | | | | | | | * 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. svn path=/trunk/; revision=16409
* Fix spelling of E_CARD_SIMPLE_PHONE_ID_TTYTDD andDan Winship2002-04-022-6/+6
| | | | | | | | | | | | * 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 svn path=/trunk/; revision=16321
* Update for libversit change: Use .a rather than .la now.Dan Winship2002-03-201-7/+7
| | | | | | | | | | | * backend/ebook/Makefile.am: Update for libversit change: Use .a rather than .la now. * printing/Makefile.am: Likewise * gui/component/Makefile.am: Likewise svn path=/trunk/; revision=16210
* add TLSNotAvailable to BookLister_CallStatus.Chris Toshok2002-03-102-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=16005
* [ Fixes bugs 20740, 16680, and god knows what else :) ] double theChris Toshok2002-02-231-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=15807
* track change to signature, and (for now) just change all the returnChris Toshok2002-02-212-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=15779
* New functions that take a file:// url ending in the directory name andChristopher James Lahey2002-02-142-38/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=15710
* New function to find out if a destination was one which was auto-maticallyJeffrey Stedfast2002-02-022-273/+304
| | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=15550
* Made this preserve addressbook flags other than the first three.Christopher James Lahey2002-02-024-1638/+87
| | | | | | | | | | | | | | | | | 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". svn path=/trunk/; revision=15546
* Revert my previous change as trow says this will break auto-completionJeffrey Stedfast2002-01-291-1/+1
| | | | | | | | | | 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. svn path=/trunk/; revision=15496
* Don't check for an @ in the email address. This is to fix bug #10960.Jeffrey Stedfast2002-01-261-1/+6
| | | | | | | | | 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. svn path=/trunk/; revision=15477
* [ fixes bug 16097 ] gui love for the new auth stuff.Chris Toshok2002-01-253-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=15467
* Clean up some of the Makefiles so we dont' link every library multipleEttore Perazzoli2002-01-251-46/+29
| | | | | | times, causing big libtool 1.4 pain. svn path=/trunk/; revision=15461
* [ fixes bug # 16864 ] create and return a GString here, instead of writingChris Toshok2002-01-231-24/+25
| | | | | | | | | | | 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. svn path=/trunk/; revision=15427
* Made username match with no domain match be vague instead of partial.Christopher James Lahey2002-01-181-1/+1
| | | | | | | | | | 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. svn path=/trunk/; revision=15356
* ChangeLog change.Chris Lahey2002-01-111-0/+3
| | | | svn path=/trunk/; revision=15293
* Add a test for getting arbitrary fields.Joe Shaw2002-01-102-2/+13
| | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=15275
* go slow and clear the map if the last uri and the current uri do not matchJP Rosevear2001-12-192-0/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=15178
* Used g_strdup_printf to dup a string. Doh! Changed to g_strdup. (BugJon Trowbridge2001-12-141-1/+1
| | | | | | | | | | 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) svn path=/trunk/; revision=15031
* Make address comparisons case-insensitive. (Fixes 11776)Jon Trowbridge2001-12-042-6/+7
| | | | | | | | | | | | 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) svn path=/trunk/; revision=14856
* Clean ESelectNamesModel on focus-out. (Half of a fix for 15656)Jon Trowbridge2001-12-041-3/+5
| | | | | | | | | | | | 2001-12-03 Jon Trowbridge <trow@ximian.com> * 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) svn path=/trunk/; revision=14855
* [ Fixes Ximian bug #14646 ] new function. if the default_book failed toChris Toshok2001-11-101-0/+4
| | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=14654
* Check for NULL dates before converting them to strings. Fixes Ximian bugChristopher James Lahey2001-11-031-10/+14
| | | | | | | | | | 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. svn path=/trunk/; revision=14579
* Require gal 0.15.99.8Joe Shaw2001-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-29 Joe Shaw <joe@ximian.com> * configure.in: Require gal 0.15.99.8 * addressbook/backend/ebook/e-card-simple.c, addressbook/gui/component/addressbook-storage.c, addressbook/gui/widgets/e-addressbook-view.c, calendar/gui/e-calendar-table.c, calendar/gui/e-itip-control.c, calendar/gui/e-meeting-model.c, calendar/gui/itip-utils.c, calendar/gui/print.c, calendar/gui/alarm-notify/alarm-notify-dialog.c, filter/rule-editor.c, mail/mail-config.c, mail/mail-folder-cache.c, mail/mail-format.c, mail/mail-local.c, mail/mail-ops.c, mail/mail-vfolder.c, shell/e-local-storage.c, shell/e-summary-storage.c: Change includes of e-util/e-unicode-i18n.h to gal/util/e-unicode-i18n.h svn path=/trunk/; revision=14427
* Use the actual ECardName in the ECard instead of parsing the full_nameChristopher James Lahey2001-10-291-14/+7
| | | | | | | | | | 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. svn path=/trunk/; revision=14338
* New function to set the ECardName on this card and fix the file_as ifChristopher James Lahey2001-10-292-0/+13
| | | | | | | | | | 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. svn path=/trunk/; revision=14337
* Handle returning dates here. (e_card_simple_get_allow_newlines): NewChristopher James Lahey2001-10-292-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=14335
* Expose this function. (e_card_date_to_string): ...and this one. FixesJon Trowbridge2001-10-282-4/+7
| | | | | | | | | | | 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. svn path=/trunk/; revision=14284
* Don't leak stuff. (Bug #13709)Jon Trowbridge2001-10-281-10/+15
| | | | | | | | | 2001-10-27 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book.c (activate_factories_for_uri): Don't leak stuff. (Bug #13709) svn path=/trunk/; revision=14267
* Fix the address of the FSF in the licensing comments.Ettore Perazzoli2001-10-281-3/+4
| | | | svn path=/trunk/; revision=14243
* Set book_uri when cardification occurs.Christopher James Lahey2001-10-281-12/+25
| | | | | | | | | 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. svn path=/trunk/; revision=14230
* Fixing the license text.Ettore Perazzoli2001-10-281-4/+3
| | | | svn path=/trunk/; revision=14214
* Fixing the license text.Ettore Perazzoli2001-10-286-6/+0
| | | | svn path=/trunk/; revision=14211
* Return on cancellation. (simple_query_sequence_complete_cb): Act if notJon Trowbridge2001-10-271-4/+16
| | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=14199
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-276-12/+12
| | | | | | explicitly. svn path=/trunk/; revision=14188
* Fix command paths when we specify our pixmaps, so we don't get a lot ofJon Trowbridge2001-10-241-1/+5
| | | | | | | | | | | | | 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. svn path=/trunk/; revision=13973
* We shouldn't leak the info returned by oaf_query.Jon Trowbridge2001-10-211-0/+2
| | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=13834
* Filter out empty destinations. (also Bug #13036)Jon Trowbridge2001-10-211-5/+16
| | | | | | | | | | | | | | | | | | | | | 2001-10-20 Jon Trowbridge <trow@ximian.com> * 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) svn path=/trunk/; revision=13826
* Made this take a const GList.Christopher James Lahey2001-10-192-4/+4
| | | | | | | | | 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. svn path=/trunk/; revision=13773
* Lag our cardification on focus-out. This seems to help with the unintendedJon Trowbridge2001-10-191-4/+0
| | | | | | | | | | | | | | 2001-10-18 Jon Trowbridge <trow@ximian.com> * 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. svn path=/trunk/; revision=13757
* Did a bit of clean up here. Might fix some crashes, specifically XimianChristopher James Lahey2001-10-171-9/+11
| | | | | | | | | | | | 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. svn path=/trunk/; revision=13721
* Check for no extensionIain Holmes2001-10-171-0/+4
| | | | svn path=/trunk/; revision=13710
* If card->id is NULL, return an empty string. (e_card_set_id): Don't allowJon Trowbridge2001-10-171-3/+3
| | | | | | | | | | | | | 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) svn path=/trunk/; revision=13705
* Properly decide whether a property needs to be marked as QP by searchingChristopher James Lahey2001-10-151-9/+100
| | | | | | | | | | 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. svn path=/trunk/; revision=13675
* commit the importer originally from Michael M. Morrison, with fixups byChris Toshok2001-10-136-4/+676
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=13627
* Added a boolean type here.Christopher James Lahey2001-10-132-0/+30
| | | | | | | | | 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. svn path=/trunk/; revision=13624
* On second thought, that should be a less-than-or-equal... :)Jon Trowbridge2001-10-121-1/+1
| | | | svn path=/trunk/; revision=13612
* Added. Heuristic for whether or not we want to revert to an earlierJon Trowbridge2001-10-121-6/+38
| | | | | | | | | | | | 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) svn path=/trunk/; revision=13610
* Changed these to use the new ref and unref functions for ECard auxillaryChristopher James Lahey2001-10-125-132/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=13604
* Check that view->view != NULL. (save_contact_cb): Check that view->view !=Jon Trowbridge2001-10-112-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=13578
* for some reason, matching on protocol is causing problems for me.Chris Toshok2001-10-051-2/+5
| | | | | | | | | | 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. svn path=/trunk/; revision=13415
* Strip out commas before forming our query. (match_name): UseJon Trowbridge2001-10-043-45/+132
| | | | | | | | | | | | | | | | | | | | | | 2001-10-02 Jon Trowbridge <trow@gnu.org> * 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. svn path=/trunk/; revision=13384
* remove most of the oaf stuff from here. we do it in load_uri, where we'llChris Toshok2001-10-031-35/+162
| | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=13358
* Use camel_address_format, not camel_address_encode.Jon Trowbridge2001-09-271-1/+1
| | | | | | | | | 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. svn path=/trunk/; revision=13173
* Properly handle names when the individual elements (given, addition,Jon Trowbridge2001-09-272-30/+70
| | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=13158
* add getters for the additional name fields. (field_data): move FAMILY_NAMEChris Toshok2001-09-232-2/+32
| | | | | | | | | | | | | 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. svn path=/trunk/; revision=13082
* I'm slowly losing my mind.Jon Trowbridge2001-09-201-1/+0
| | | | | | OK, maybe it isn't such a slow process after all. svn path=/trunk/; revision=13006
* Yikes... fixing accidental breakage.Jon Trowbridge2001-09-201-1/+1
| | | | svn path=/trunk/; revision=13005
* Use the default e-mail address if we have nothing else to go on.Jon Trowbridge2001-09-206-167/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=13003
* Freeing name[i] instead of namev[i] is a bad idea. (bug #10270)Jon Trowbridge2001-09-201-1/+1
| | | | | | | | | 2001-09-19 Jon Trowbridge <trow@ximian.com> * 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) svn path=/trunk/; revision=12980
* add caluri field dataJP Rosevear2001-09-194-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 svn path=/trunk/; revision=12945
* use g_strfreev. (match_name): s/g_free/g_strfreev. (match_file_as):Larry Ewing2001-09-182-6/+6
| | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=12936
* We want to assume that a destination that comes from a card isJon Trowbridge2001-09-181-1/+1
| | | | | | | | | | | | 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) svn path=/trunk/; revision=12930
* Do the right thing if the card we are trying to send to has no validJon Trowbridge2001-09-181-53/+56
| | | | | | | | | | 2001-09-17 Jon Trowbridge <trow@ximian.com> * 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) svn path=/trunk/; revision=12927
* No loose name matches on family names. (#8802)Jon Trowbridge2001-09-151-1/+2
| | | | | | | | | 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) svn path=/trunk/; revision=12857
* Make "stop" do nothing but set the stopped flag, as inJon Trowbridge2001-09-155-208/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-15 Jon Trowbridge <trow@ximian.com> * 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. svn path=/trunk/; revision=12851
* [Automake 1.5 fixes pointed out by Richard BoultonEttore Perazzoli2001-09-151-1/+1
| | | | | | | | | | | | <richard@tartarus.org>, as per #9258.] * backend/pas/Makefile.am: Rename `LDAP_BACKEND_SOURCES' to `LDAP_BACKEND_FILES'. * backend/ebook/Makefile.am: Set CLEANFILES directly instead of using `+='. svn path=/trunk/; revision=12839
* Fix vcard importingIain Holmes2001-09-131-1/+3
| | | | svn path=/trunk/; revision=12784
* free the values that are being leaked here.Larry Ewing2001-09-131-4/+15
| | | | | | | | | 2001-09-12 Larry Ewing <lewing@ximian.com> * backend/ebook/e-destination.c: free the values that are being leaked here. svn path=/trunk/; revision=12783
* See e_book_listener_check_queue below.Jon Trowbridge2001-09-094-91/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-08 Jon Trowbridge <trow@ximian.com> * 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. svn path=/trunk/; revision=12709
* Check if the file is a VCard before importingIain Holmes2001-09-051-0/+4
| | | | svn path=/trunk/; revision=12610
* I18n fixes (mainly making buttons on the right side less Anglocentric :-)Chyla Zbigniew2001-09-031-47/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. svn path=/trunk/; revision=12563
* Use e_card_get_vcard_assume_utf8 instead of e_card_get_vcard here sinceChristopher James Lahey2001-09-0211-292/+416
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=12558
* Use e_select_names_model_merge to combine the selected names with anyJon Trowbridge2001-08-303-2/+41
| | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=12526
* This function can be re-entrant during the signal emission; Added extraJon Trowbridge2001-08-301-4/+14
| | | | | | | | | | | | 2001-08-29 Jon Trowbridge <trow@ximian.com> * 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) svn path=/trunk/; revision=12523
* Added ref/unref pair to make sure that our listener doesn't get finalizedJon Trowbridge2001-08-281-2/+14
| | | | | | | | | | | 2001-08-27 Jon Trowbridge <trow@ximian.com> * 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) svn path=/trunk/; revision=12493
* Removed some debugging spew that I left in by mistake.Jon Trowbridge2001-08-281-2/+0
| | | | | | | | | | | | 2001-08-27 Jon Trowbridge <trow@ximian.com> * 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. svn path=/trunk/; revision=12492
* Do the right thing if the card we are trying to send to is a contact list.Jon Trowbridge2001-08-281-23/+86
| | | | | | | | | 2001-08-27 Jon Trowbridge <trow@ximian.com> * 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) svn path=/trunk/; revision=12491
* Put a freeze/thaw around our the set of operations that changes theJon Trowbridge2001-08-251-14/+18
| | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=12466
* In the GUI, the toggle is labelled "hide addresses", not "show addresses"Jon Trowbridge2001-08-232-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Jon Trowbridge <trow@ximian.com> * e-msg-composer-hdrs.c (set_recipients_from_destv): Added. Try to properly handle contact lists in which the addresses of the list members should be hidden. (e_msg_composer_hdrs_to_message): Changed to extract the destination data from the entries and pass it along to set_recipients_from_destv. 2001-08-22 Jon Trowbridge <trow@ximian.com> * mail-callbacks.c (ask_confirm_for_only_bcc): Provide alternative text for this dialog for the case when a message has only Bcc recipients because of a hidden contact list's addresses being moved from To/Cc to Bcc. (composer_get_message): Try to detect when our message has only Bcc recipients because of moving addresses around due to a hidden contact list, and show the dialog with the revised wording in this case. svn path=/trunk/; revision=12414
* make sure we don't get into a situation where priv->email == NULL.Chris Toshok2001-08-231-12/+20
| | | | | | | | | 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. svn path=/trunk/; revision=12393
* Wrap our addressbook table adapter in an ETableWithout, so that we canJon Trowbridge2001-08-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=12334
* Call e_card_set_book here.Christopher James Lahey2001-08-146-172/+177
| | | | | | | | | | | | | | | | | | | 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. * backend/ebook/e-destination.c, backend/ebook/e-destination.h: Change this to use ECard's split uids and uris. svn path=/trunk/; revision=11991
* Changed get_card to be asyncronous.Christopher James Lahey2001-08-146-94/+141
| | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=11984
* Hook up some magic to (basically) cardify an entry on focus-out. (What weJon Trowbridge2001-08-106-26/+441
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=11837
* new EBookOp destructor (e_book_unqueue_op): use e_book_op_freeRadek Doulik2001-08-071-16/+22
| | | | | | | | | | | | | | | | 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 svn path=/trunk/; revision=11696
* set op->listener to NULL to catch possible use of freed opRadek Doulik2001-08-052-1/+8
| | | | | | | | | | | | | | | | | 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 svn path=/trunk/; revision=11692
* Made it so that if there's one less match than possible compares areChristopher James Lahey2001-08-051-1/+1
| | | | | | | | | | 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. svn path=/trunk/; revision=11685
* Changed the criteria of whether the first part of each iteration matchedChristopher James Lahey2001-08-041-29/+25
| | | | | | | | | | | 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. svn path=/trunk/; revision=11641
* Made the list of E_CARD_PHONE types in phone_correspondences more completeChristopher James Lahey2001-08-033-51/+86
| | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=11612
* Add camel dependency.Jon Trowbridge2001-08-033-129/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Jon Trowbridge <trow@ximian.com> * Makefile.am: Added camel dependency (now needed by ebook). 2001-08-02 Jon Trowbridge <trow@ximian.com> * gui/Makefile.am: Added camel dependency (now needed by ebook). 2001-08-02 Jon Trowbridge <trow@ximian.com> * Makefile.am: Added camel dependency (now needed by ebook). svn path=/trunk/; revision=11602
* Removed thrash checking code here since thrashing shouldn't happen nowChristopher James Lahey2001-08-012-83/+78
| | | | | | | | | | | | | | 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. svn path=/trunk/; revision=11539
* Added #include <e-util/e-path.h>.Christopher James Lahey2001-07-311-0/+2
| | | | | | | | | | | | | | 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. svn path=/trunk/; revision=11496
* Properly handle the case where our "cleaned" completion is the emptyJon Trowbridge2001-07-311-19/+81
| | | | | | | | | | | | | | | | | 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) svn path=/trunk/; revision=11487
* Removed some debugging chatter.Jon Trowbridge2001-07-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-26 Jon Trowbridge <trow@ximian.com> * 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-26 Jon Trowbridge <trow@ximian.com> * e-msg-composer-hdrs.c (set_recipients): Get "destinations", rather than "text" from the entry_widget. (The getters/setters in the control have been made more symmetric.) svn path=/trunk/; revision=11422
* Properly dup the results of e_destination_get_email.Jon Trowbridge2001-07-252-3/+3
| | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=11395
* Added fallbacks for the name in the case of an e-card, to avoid theJon Trowbridge2001-07-251-1/+13
| | | | | | | | | | 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. svn path=/trunk/; revision=11358
* Don't stop the idle_queue and unref from here, since this might be calledDan Winship2001-07-251-11/+0
| | | | | | | | | | | | | | | | | * 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. svn path=/trunk/; revision=11346
* Re-fix for my 07-18 not-quite-fix.Dan Winship2001-07-244-8/+63
| | | | | | | | | | | | | | | | | | | | | * 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. svn path=/trunk/; revision=11306
* Flush the listener's queue before unreffing it to ensure that it doesn'tDan Winship2001-07-193-5/+8
| | | | | | | | | | | | | | | | * 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. svn path=/trunk/; revision=11216
* prune the list of cards that match our query using the avoid list here,Chris Toshok2001-07-191-17/+20
| | | | | | | | | | | | | 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. svn path=/trunk/; revision=11211
* Hold a reference to our listener while the idle function is active.Jon Trowbridge2001-07-183-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=11165
* Removed old, broken code and annoying g_messages.Jon Trowbridge2001-07-182-50/+9
| | | | | | | | | | | | | | | | | 2001-07-17 Jon Trowbridge <trow@ximian.com> * 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) svn path=/trunk/; revision=11164
* Use other folders to import intoIain Holmes2001-07-171-2/+9
| | | | svn path=/trunk/; revision=11135
* Commented out some unused variables and labels. (e_destination_importv):Christopher James Lahey2001-07-151-0/+7
| | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=11112
* Oops. I introduced my own bug, accidently set `email' to a g_free'dJeffrey Stedfast2001-07-131-1/+1
| | | | | | | | | | 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! svn path=/trunk/; revision=11073
* Optimized the same way I optimized g_strsplit. If you use a GPtrArrayJeffrey Stedfast2001-07-131-94/+63
| | | | | | | | | | | | | | 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! svn path=/trunk/; revision=11069
* Check the file even if the extension is NULLIain Holmes2001-07-131-6/+3
| | | | svn path=/trunk/; revision=11066
* Crash fix because strcmp() hates NULL arguments. Bug #3777.Jason Leach2001-07-121-1/+9
| | | | | | | | | 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. svn path=/trunk/; revision=11034
* Check that str isn't the empty string before doing an insert.Jon Trowbridge2001-07-091-11/+41
| | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10901
* Detect the embedded EDestination XML, and convert it to a nice-lookingJon Trowbridge2001-07-079-374/+774
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10882
* Set info->avoid = NULL. This shouldn't make a difference, but it can'tChristopher James Lahey2001-07-051-0/+1
| | | | | | | | | | 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. svn path=/trunk/; revision=10802
* added $(BONOBO_CONF_LIBS) to get it to compile.Damon Chaplin2001-07-031-0/+1
| | | | | | | | | 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. svn path=/trunk/; revision=10734
* use ECARD_UID_LINK_PREFIX.Chris Toshok2001-07-023-0/+52
| | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10667
* Added related_contacts field.Christopher James Lahey2001-07-022-6/+30
| | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10666
* Fall back to use the name field if all else fails (which can happen withJon Trowbridge2001-07-021-0/+6
| | | | | | | | | | 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). svn path=/trunk/; revision=10665
* Fix for the "recipient not specified" bug --- we were not correctlyJon Trowbridge2001-07-021-1/+7
| | | | | | | | | | 2001-07-01 Jon Trowbridge <trow@ximian.com> * 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. svn path=/trunk/; revision=10664
* Check args. Somewhere in the code (somewhere in the minicard stuff) thisJon Trowbridge2001-07-011-0/+2
| | | | | | | | | | | 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. svn path=/trunk/; revision=10644
* I was accidentally comparing characters and strings here, and didn't seeJon Trowbridge2001-07-011-13/+21
| | | | | | | | | | | | 2001-06-30 Jon Trowbridge <trow@ximian.com> * 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). svn path=/trunk/; revision=10635
* Make the standard for considering two cards to be match stricter.Jon Trowbridge2001-06-305-46/+361
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10626
* sJose Maria Celorio2001-06-291-0/+1
| | | | svn path=/trunk/; revision=10593
* add support for X-EVOLUTION-LIST and X-EVOLUTION-LIST-SHOW-ADDRESSES.Chris Toshok2001-06-292-0/+81
| | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10585
* Add a huge steaming pile of code to handle the case of single-addressJon Trowbridge2001-06-251-4/+7
| | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10469
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-2318-37/+37
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Renamed. (The old name, edit_contact_info_have_book_cb was a hold-overJon Trowbridge2001-06-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10374
* fix memory leak.Chris Toshok2001-06-211-1/+1
| | | | | | | | | | 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. svn path=/trunk/; revision=10350
* Changed attachData to accept a sequence of chars rather than a string.Dave Camp2001-06-211-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-20 Dave Camp <dave@ximian.com> * Evolution-Composer.idl: Changed attachData to accept a sequence of chars rather than a string. * evolution-composer.c (impl_Composer_attach_data): Changed the 'data' argument to a GNOME_Evolution_Composer_AttachmentData, and pass data->_buffer and data->_length to camel_mime_part_set_content(). 2001-06-20 Dave Camp <dave@ximian.com> * gui/itip-utils.c (itip_send_comp): Changed attach_data to be a GNOME_Evolution_Composer_AttachmentData rather than a CORBA_char*. 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*. svn path=/trunk/; revision=10343
* rename ce_book_found_fields to this, remove the fetching of fields (theChris Toshok2001-06-202-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10317
* Made e_card_simple_get_id return const char *.Christopher James Lahey2001-06-114-4/+4
| | | | | | | | | | | | | | | | | | | 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 *. svn path=/trunk/; revision=10183
* Rolled back the change 2 ago, dated 06/11/2001 01:51 in CVS, involvingChristopher James Lahey2001-06-113-101/+62
| | | | | | | | | | | 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. svn path=/trunk/; revision=10181
* Made it so that all of these functions queue their ops before callingChristopher James Lahey2001-06-111-16/+58
| | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10180
* Added this function to put a response back into the queue.Christopher James Lahey2001-06-113-62/+101
| | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10179
* Added this function to let you do slightly more complicated searches.Christopher James Lahey2001-06-112-5/+59
| | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10178
* Null terminate the strv here. (e_card_locate_match): ref here instead ofChristopher James Lahey2001-06-092-26/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10170
* Copy dates as they come in.Christopher James Lahey2001-06-061-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=10125
* Added. Code for testing if two ECards appear to pertain to the sameJon Trowbridge2001-06-053-0/+513
| | | | | | | | | | | 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. svn path=/trunk/; revision=10114
* Fix linking order for `$(DB3_LDADD)'s so that we avoid pullingEttore Perazzoli2001-06-031-3/+3
| | | | | | | functions from a different Berkeley DB library when we really don't mean to. svn path=/trunk/; revision=10105
* Add a bunch of missing `$(DB3_LDADD)'s.Ettore Perazzoli2001-06-021-8/+9
| | | | svn path=/trunk/; revision=10085
* ref the listener for the duration of this function, since emittingDan Winship2001-05-231-0/+6
| | | | | | | | | | | * 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. svn path=/trunk/; revision=9935
* Return the serialized EDestinations (rather than just a string w/ e-mailJon Trowbridge2001-05-184-16/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-18 Jon Trowbridge <trow@ximian.com> * 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-18 Jon Trowbridge <trow@ximian.com> * Makefile.am (evolution_mail_LDADD): Added libebook.la (which is now required by the composer.) 2001-05-18 Jon Trowbridge <trow@ximian.com> * e-msg-composer-hdrs.c (set_recipients): Properly unserialize the string returned by the "text" property of the bonobo control, convert it into EDestinations, and use them to get the e-mail addresses of our recipients. 22001-05-18 Jon Trowbridge <trow@ximian.com> * Makefile.am (SUBDIRS): Changed build order. Now addressbook gets built before mail. svn path=/trunk/; revision=9878
* add prototype for addressbook_expand_uri.Chris Toshok2001-05-142-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=9788
* load pixmaps for MessageCopy and MessageForwardAttached. Thanks WayneGediminas Paulauskas2001-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 2001-05-12 Gediminas Paulauskas <menesis@delfi.lt> * folder-browser-factory.c: load pixmaps for MessageCopy and MessageForwardAttached. Thanks Wayne Davis <wfdavis@seas.upenn.edu> for a patch. 2001-05-12 Gediminas Paulauskas <menesis@delfi.lt> * evolution-mail.xml: add pixmaps for MessageCopy and MessageForwardAttached. Thanks Wayne Davis <wfdavis@seas.upenn.edu> for a patch. 2001-05-12 Gediminas Paulauskas <menesis@delfi.lt> * po/POTFILES.in: update with new/moved files. Also: remove duplicated DATADIR from mail/Makefile.am fix warning in e-search-bar.c svn path=/trunk/; revision=9782
* If the name is set and the full_name or file_as haven't been yet, setChristopher James Lahey2001-05-121-0/+18
| | | | | | | | | 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. svn path=/trunk/; revision=9770
* Importer changesIain Holmes2001-05-093-30/+59
| | | | svn path=/trunk/; revision=9722
* Removed e-card-pairs.h since we're not using it.Christopher James Lahey2001-05-086-83/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=9711
* Added.Jon Trowbridge2001-04-172-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=9390
* Added the function e_book_view_listener_stop to tell the book viewChristopher James Lahey2001-04-153-5/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=9313
* Ref the cursor here when we receive it.Christopher James Lahey2001-04-153-74/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=9311
* Do this everywhere, also fixup CLEANFILESMichael Meeks2001-04-141-0/+3
| | | | | | | | | | Do this everywhere, also fixup CLEANFILES 2001-04-14 Michael Meeks <michael@ximian.com> * Makefile.am (dist-hook): remove built sources from dist. svn path=/trunk/; revision=9309
* put the business address into the pilot record as that is what we put intoJP Rosevear2001-04-133-70/+0
| | | | | | | | | | | | | | | | | | 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 svn path=/trunk/; revision=9279
* Added E_CARD_SIMPLE_FIELD_LAST_SIMPLE_STRING.Christopher James Lahey2001-04-111-1/+2
| | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=9230
* i18n fixes, added missing includes.Gediminas Paulauskas2001-04-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-10 Gediminas Paulauskas <menesis@delfi.lt> * AUTHORS: /me is a translator. * configure.in (EVO_CHECK_LIB): fail with AC_MSG_ERROR, not echo && exit 1. 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-10 Gediminas Paulauskas <menesis@delfi.lt> * widgets/e-summary-subwindow.c: added some missing includes. * widgets/e-summary-title-button.h: same. 2001-04-10 Gediminas Paulauskas <menesis@delfi.lt> * menus/gal-view-menus.c: convert label to utf8. svn path=/trunk/; revision=9215
* Unref and unregister the factory on exitIain Holmes2001-04-031-0/+2
| | | | svn path=/trunk/; revision=9106
* Call e_select_names_model_clean after adding address. This should dealJon Trowbridge2001-03-312-0/+10
| | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=9067
* Added #include <libgnome/gnome-paper.h>Jon Trowbridge2001-03-301-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> * 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 Jon Trowbridge <trow@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_message): Save the source URL using camel_mime_message_set_source. * camel-mime-message.c (camel_mime_message_set_source): Renamed camel_mime_message_set_identity to this. Sets the X-Evolution-Source header. (camel_mime_message_get_source): Returns the X-Evolution-Source header. 2001-03-29 Jon Trowbridge <trow@ximian.com> * mail-callbacks.c: Added #include <time.h> to get things to compile. * mail-callbacks.c (mail_generate_reply): Look at the X-Evolution-Source header, and try to find a corresponding account. If this works, send the mail from this account. If not, use the default account. * mail-ops.c (send_queue_send): Strip out the X-Evolution-Source header before sending. * mail-config.c (mail_config_get_account_by_source_url): Added. Look up accounts by source URL. svn path=/trunk/; revision=9032
* Clean up #includes. Replace <gnome.h>, <bonobo.h> and <gtk/gtk.h> withKjartan Maraas2001-03-3017-35/+61
| | | | | | | | | 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. svn path=/trunk/; revision=9026
* Fixed some crashes.Christopher James Lahey2001-03-291-0/+14
| | | | | | | | 2001-03-28 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c (e_card_set_arg): Fixed some crashes. svn path=/trunk/; revision=9001
* Added. Call me old-fashioned, but I just prefer to have a real API ratherJon Trowbridge2001-03-231-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-23 Jon Trowbridge <trow@ximian.com> * mail-display.c (handle_embedded_address_object): #ifdef away some code I don't quite want to delete yet. (html_button_press_event): Remove some of Radek's placeholder code, replace it with code to create my AddressPopup bonobo control. * mail-format.c: Remove some obsolete code that if #ifdef-ed out a while ago. * mail-ops.c (send_queue_send): Strip out the X-Evolution-Identity header when sending. 2001-03-23 Jon Trowbridge <trow@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_message): Don't call camel_mime_message_set_identity. (The call is commented out, left over from some earlier experimentation that I want to be able to remember later...) * camel-mime-message.c (camel_mime_message_set_identity): Added. A function to set the X-Evolution-Identity header. svn path=/trunk/; revision=8916
* Fix some warnings, Allow the importers to import into any folder. UpdateIain Holmes2001-03-231-0/+1
| | | | | | | | | | Fix some warnings, Allow the importers to import into any folder. Update all importers for this change. Don't emit the create_folder callback if the folder to be created already exists. This should fix the libibex crash when importing. svn path=/trunk/; revision=8912
* Tag all queued ops. (e_book_cancel_op): Added. Search for a pending opJon Trowbridge2001-03-183-43/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Jon Trowbridge <trow@ximian.com> * 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. svn path=/trunk/; revision=8790
* new function. (impl_BookListener_report_writable): new function.Chris Toshok2001-03-184-2/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.) svn path=/trunk/; revision=8787
* Added addressbook querying and "cardification" functions, which are turnedJon Trowbridge2001-03-168-190/+737
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Jon Trowbridge <trow@ximian.com> * wombat.c (main): If we can't initialize a service on startup, tell us which one before terminating. svn path=/trunk/; revision=8754
* Removed .oafinfo files -- they are obsolete. Moved pixmaps fromGediminas Paulauskas2001-03-151-29/+0
| | | | | | | | | | | | 2001-03-15 Gediminas Paulauskas <menesis@delfi.lt> Removed .oafinfo files -- they are obsolete. Moved pixmaps from calendar/gui/ to art/ Moved evolution.png to art/ Moved evolution.desktop.in to data/ Generate doc/devel/executive-summary/Makefile svn path=/trunk/; revision=8727
* add E_STRING_PROP for categories.Chris Toshok2001-03-132-0/+2
| | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=8664
* All my changes to get the folder creation working, and the magic NetscapeIain Holmes2001-03-132-4/+4
| | | | | | importer. svn path=/trunk/; revision=8661
* Added. A simplified, cancellable query mechanism that lets you avoidJon Trowbridge2001-03-113-0/+171
| | | | | | | | | | | | | 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. svn path=/trunk/; revision=8627
* Switched to use e_contact_quick_add_free_form. Removed debugging code,Jon Trowbridge2001-03-091-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Jon Trowbridge <trow@ximian.com> * mail-format.c (write_field_row_begin): Added. Table row HTML broken out into its own function. (write_subject): Added. Emits the proper HTML for the subject line. (write_field_to_stream): #ifdef-ed out of existence. (write_address): Take a CamelInternetAddress and spit out an <object> tag with the appropriate <param>s. * mail-display.c (on_object_requested): Check for an "address" object. If found, call... (handle_embedded_address_object): ...this function, which creates an AddressWidget bonobo control and passes in the necessary info. I never really realized just quite how much GtkHTML kicks ass until I figured out how to make this work. svn path=/trunk/; revision=8607
* Added. Just encapsulates openingJon Trowbridge2001-03-072-2/+33
| | | | | | | | | | | 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. svn path=/trunk/; revision=8570
* Fix a reference counting bug.Jon Trowbridge2001-03-062-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=8567
* Cleaned up the formatting in this file a bit.Christopher James Lahey2001-03-041-42/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-04 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c: Cleaned up the formatting in this file a bit. * contact-editor/e-contact-editor.c (e_contact_editor_set_arg): Made it so that passing in NULL to the writable_fields arg sets the set of writable fields to the empty set. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_activate_obj): Pass NULL as the writable_fields argument here. * gui/widgets/e-addressbook-model.c: Don't offset by one here. This way we will get the file_as field as one of our ETableColumns. * gui/widgets/e-addressbook-view.c (SPEC): Updated this for the changes in ECardSimple. * gui/widgets/e-minicard.c (remodel): Don't remodel if the item isn't realized. svn path=/trunk/; revision=8538
* add new entries for phone enums, and fill in the ecard_field with (bogusChris Toshok2001-03-025-33/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-02 Chris Toshok <toshok@ximian.com> * backend/ebook/e-card-simple.c (field_data): add new entries for phone enums, and fill in the ecard_field with (bogus in all but a few cases) strings. these are the strings sent from wombat to evolution-addressbook for supported_fields. (e_card_simple_get_ecard_field): new function. (e_card_simple_map_phone_to_field): new function. (e_card_simple_map_email_to_field): new function. (e_card_simple_map_address_to_field): new function. * backend/ebook/e-card-simple.h: add a few phone entries to the ECardSimpleField enum, and add prototypes for mapping the list types (phone, email, address) to ECardSimpleField. Also, add prototype for e_card_simple_get_ecard_field. * backend/ebook/e-book.c (e_book_do_response_get_supported_fields): don't build the EList here, it's already built. * backend/ebook/e-book-listener.h: change fields from the CORBA sequence to the EList in our reponse struct. * backend/ebook/e-book-listener.c (e_book_listener_queue_get_supported_fields_response): we make the EList here, since after we return the CORBA list is freed up. svn path=/trunk/; revision=8515
* Change for new EDestination/ESelectNamesModel API.Jon Trowbridge2001-03-025-384/+361
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-01 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-table-model.c (fill_in_info): Change for new EDestination/ESelectNamesModel API. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_get_source): Added. A function for looking up the ESelectNamesModel by id. (I didn't end up using this function, but it might come in handy later.) (e_select_names_manager_get_cards): #if 0/#endif out this function. (e_select_names_manager_create_entry): Modified to attach an ESelectNamesCompletion to the entry we create. (completion_handler): A post-completion handler for our EEntry, to take the completion's extra data (an EDestination) and properly stick it into our ESelectNamesModel. * gui/component/select-names/e-select-names.c (real_add_address_cb): Changed to operate on EDestinations rather than ECards and to use the new ESelectNamesModel API. This leads to a rather nice code simplication. (remove_address): Changed for new ESelectNamesModel API. * gui/component/select-names/e-select-names-bonobo.c (entry_get_property_fn): Rather than just passing the entry's text through the property bag, get the "address text" from the model. This returns a nice, verbose string of addresses with names expanded when the address is tied to an ECard (i.e. "Jon Trowbridge <trow@ximian.com>"). (impl_SelectNames_get_entry_for_section): Make the text property read-only. (entry_set_property_fn): ...and since it is read-only now, chop out the setter code. * gui/component/select-names/e-select-names-text-model.h: * gui/component/select-names/e-select-names-text-model.c: Again, this code has been (pretty much) totally rewritten to convert all text operations into changes on the ESelectNamesModel. This lets us give the associated EEntry some (IMHO) nice semantics regarding whitespace, etc. Includes object activation, so destinations tied to ECards are underlined and can be double-clicked to bring up a contact editor. * gui/component/select-names/e-select-names-model.h: * gui/component/select-names/e-select-names-model.c: I've heavily modified this object to both hide all implementation details (which the old version exposed a bit too much for my peculiar tastes) and to act as an EDestination container. The old code put the text model operations here. I've moved them all to ESelectNamesTextModel --- so the text model actions (insert, delete, etc.) are all done through the API rather than operating on ESelectNamesModel internals. * gui/component/select-names/e-select-names-completion.c: Added. A fairly complicated object derived from ECompletion that searches our local addressbook in various and sundry ways. * gui/component/select-names/e-select-names-completion.h: * backend/ebook/e-destination.h: * backend/ebook/e-destination.c: Added. This object encapsulates a place to sent an email to, which can either be just a address as a string ("trow@ximian.com"), a fancier string ("Jon Trowbridge <trow@ximian.com>"), or an ECard and a specific address within that ECard. svn path=/trunk/; revision=8459
* new function. (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields):Chris Toshok2001-02-215-24/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=8316
* new function.Chris Toshok2001-02-203-1/+66
| | | | | | | | | | | | | | 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. svn path=/trunk/; revision=8303
* Removed entry to nonexistant program.Jon Trowbridge2001-02-201-12/+1
| | | | svn path=/trunk/; revision=8286
* When creating the entry, open up an ebook (corresponding to the localJon Trowbridge2001-02-203-1/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=8282
* Ignore generated .oaf filesDan Winship2001-02-151-0/+1
| | | | | | * various .cvsignore files: Ignore generated .oaf files svn path=/trunk/; revision=8237
* Translations.Kjartan Maraas2001-02-131-2/+2
| | | | | | | | 2001-02-12 Kjartan Maraas <kmaraas@gnome.org> * backend/ebook/GNOME_Evolution_Addressbook_GnomeCard_Importer.oaf.in: Translations. svn path=/trunk/; revision=8195
* Marked strings for translation in this newly created file. Hook up theKjartan Maraas2001-02-132-36/+39
| | | | | | | | | | | | | | 2001-02-12 Kjartan Maraas <kmaraas@gnome.org> * 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. svn path=/trunk/; revision=8183
* Make the Note field be quoted printable.Christopher James Lahey2001-02-051-2/+6
| | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=7971
* always free the delivery elements and correct embarrassingly stupid memoryJP Rosevear2001-01-191-0/+3
| | | | | | | | | | | | | | | | | 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 svn path=/trunk/; revision=7641
* add evolution-gnomecard-importer.Larry Ewing2001-01-181-0/+1
| | | | | | | | 2001-01-17 Larry Ewing <lewing@helixcode.com> * backend/ebook/.cvsignore: add evolution-gnomecard-importer. svn path=/trunk/; revision=7598
* add the doc/devel/importer/Makefile as a target.Larry Ewing2001-01-181-2/+4
| | | | | | | | | | | | | 2001-01-17 Larry Ewing <lewing@helixcode.com> * configure.in (EVOLUTION_DIR): add the doc/devel/importer/Makefile as a target. * backend/ebook/Makefile.am (oaf_DATA): don't require the pine oainfo file until it is actually added to the repository. We need to keep the build working for nightlies to work. svn path=/trunk/; revision=7597
* Forgot...Iain Holmes2001-01-181-1/+2
| | | | svn path=/trunk/; revision=7592
* Support the new interfacesIain Holmes2001-01-183-26/+16
| | | | svn path=/trunk/; revision=7591
* Fix make distIain Holmes2001-01-121-0/+3
| | | | svn path=/trunk/; revision=7417
* Try againIain Holmes2001-01-121-1/+1
| | | | svn path=/trunk/; revision=7406
* GnomeCard importerIain Holmes2001-01-124-1/+293
| | | | svn path=/trunk/; revision=7399
* if we're setting the full name regenerate ecard->name.Chris Toshok2001-01-101-0/+3
| | | | | | | | | 2001-01-09 Chris Toshok <toshok@helixcode.com> * backend/ebook/e-card.c (e_card_set_arg): if we're setting the full name regenerate ecard->name. svn path=/trunk/; revision=7342
* new function. (impl_BookListener_respond_authentication_result): newChris Toshok2001-01-054-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=7265
* When setting the "name" argument, copy the incoming name. This fixes aChristopher James Lahey2000-12-101-1/+1
| | | | | | | | | 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. svn path=/trunk/; revision=6887
* Fixed some formatting.Christopher James Lahey2000-12-091-4/+4
| | | | | | | | | | | | | | 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. svn path=/trunk/; revision=6872
* return NULL if we can't create a view.Michael Meeks2000-12-052-2/+2
| | | | | | | | | | | | | | 2000-12-04 Michael Meeks <michael@helixcode.com> * e-shell-view.c (get_control_for_uri): return NULL if we can't create a view. (setup_evolution_shell_view_interface): add precondition. + lots of cleans. svn path=/trunk/; revision=6778
* Changed the mime type from "text/vcard" to "text/x-vcard".Christopher James Lahey2000-11-131-1/+1
| | | | | | | | | 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". svn path=/trunk/; revision=6548
* Add idl-generated files.Matt Bissiri2000-11-123-17/+21
| | | | | | | | | | | 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; svn path=/trunk/; revision=6546
* Link in composer bonobo code.Christopher James Lahey2000-11-123-32/+179
| | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=6543
* A very, long, very tedious IDL API rename and re-scoping;Michael Meeks2000-11-1110-119/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this script + some grunt approximates the work: s/Evolution_MessageList/GNOME_Evolution_MessageList/g; s/GNOME_Evolution_MessageList_select_message/GNOME_Evolution_MessageList_selectMessage/g; s/GNOME_Evolution_MessageList_open_message/GNOME_Evolution_MessageList_openMessage/g; s/Evolution_Folder([ \t])/GNOME_Evolution_Folder$1/g; s/Evolution_FolderTypeList/GNOME_Evolution_FolderTypeList/g; s/Evolution_FolderBrowser/GNOME_Evolution_FolderBrowser/g; s/GNOME_Evolution_FolderBrowser_get_message_list/GNOME_Evolution_FolderBrowser_getMessageList/g; s/Evolution_LocalStorage/GNOME_Evolution_LocalStorage/g; s/GNOME_Evolution_LocalStorage_update_folder/GNOME_Evolution_LocalStorage_updateFolder/g; s/Evolution_ShellView/GNOME_Evolution_ShellView/g; s/GNOME_Evolution_ShellView_set_message/GNOME_Evolution_ShellView_setMessage/g; s/GNOME_Evolution_ShellView_unset_message/GNOME_Evolution_ShellView_unsetMessage/g; s/GNOME_Evolution_ShellView_change_current_view/GNOME_Evolution_ShellView_changeCurrentView/g; s/Evolution_StorageSetViewListener/GNOME_Evolution_StorageSetViewListener/g; s/GNOME_Evolution_StorageSetViewListener_folder_selected/GNOME_Evolution_StorageSetViewListener_notifyFolderSelected/g; s/GNOME_Evolution_StorageSetViewListener_storage_selected/GNOME_Evolution_StorageSetViewListener_notifyStorageSelected/g; s/Evolution_StorageSetView/GNOME_Evolution_StorageSetView/g; s/GNOME_Evolution_StorageSetView_add_listener/GNOME_Evolution_StorageSetView_addListener/g; s/GNOME_Evolution_StorageSetView_remove_listener/GNOME_Evolution_StorageSetView_removeListener/g; s/Evolution_Shell/GNOME_Evolution_Shell/g; s/GNOME_Evolution_Shell_get_component_for_type/GNOME_Evolution_Shell_getComponentByType/g; s/GNOME_Evolution_Shell_user_select_folder/GNOME_Evolution_Shell_selectUserFolder/g; s/GNOME_Evolution_Shell_get_local_storage/GNOME_Evolution_Shell_getLocalStorage/g; s/GNOME_Evolution_Shell_create_storage_set_view/GNOME_Evolution_Shell_createStorageSetView/g; s/Evolution_FolderSelectionListener/GNOME_Evolution_FolderSelectionListener/g; s/GNOME_Evolution_FolderSelectionListener_selected/GNOME_Evolution_FolderSelectionListener_notifySelected/g; s/GNOME_Evolution_FolderSelectionListener_cancel/GNOME_Evolution_FolderSelectionListener_notifyCanceled/g; s/Evolution_Storage/GNOME_Evolution_Storage/g; s/GNOME_Evolution_Storage_add_listener/GNOME_Evolution_Storage_addListener/g; s/GNOME_Evolution_Storage_remove_listener/GNOME_Evolution_Storage_removeListener/g; s/GNOME_Evolution_StorageListener_destroyed/GNOME_Evolution_StorageListener_notifyDestroyed/g; s/GNOME_Evolution_StorageListener_new_folder/GNOME_Evolution_StorageListener_notifyFolderCreated/g; s/GNOME_Evolution_StorageListener_update_folder/GNOME_Evolution_StorageListener_notifyFolderUpdated/g; s/GNOME_Evolution_StorageListener_removed_folder/GNOME_Evolution_StorageListener_notifyFolderRemoved/g; s/GNOME_Evolution_StorageRegistry_register_storage/GNOME_Evolution_StorageRegistry_addStorage/g; s/GNOME_Evolution_StorageRegistry_unregister_storage/GNOME_Evolution_StorageRegistry_removeStorageByName/g; s/Evolution_ShellComponent/GNOME_Evolution_ShellComponent/g; s/GNOME_Evolution_ShellComponent_set_owner/GNOME_Evolution_ShellComponent_setOwner/g; s/GNOME_Evolution_ShellComponent_unset_owner/GNOME_Evolution_ShellComponent_unsetOwner/g; s/GNOME_Evolution_ShellComponent_create_view/GNOME_Evolution_ShellComponent_createView/g; s/GNOME_Evolution_ShellComponent_async_create_folder/GNOME_Evolution_ShellComponent_addFolderAsync/g; s/GNOME_Evolution_ShellComponent_async_remove_folder/GNOME_Evolution_ShellComponent_removeFolderAsync/g; s/GNOME_Evolution_ShellComponent_populate_folder_context_menu/GNOME_Evolution_ShellComponent_populateFolderContextMenu/g; s/GNOME_Evolution_ShellComponentListener_report_result/GNOME_Evolution_ShellComponentListener_notifyResult/g; s/Evolution_Session/GNOME_Evolution_Session/g; s/GNOME_Evolution_Session_save_configuration/GNOME_Evolution_Session_saveConfiguration/g; s/GNOME_Evolution_Session_load_configuration/GNOME_Evolution_Session_loadConfiguration/g; s/Evolution_Calendar_Cal/GNOME_Evolution_Calendar_Cal/g; s/GNOME_Evolution_Calendar_Cal_get_n_objects/GNOME_Evolution_Calendar_Cal_countObjects/g; s/GNOME_Evolution_Calendar_Cal_get_object/GNOME_Evolution_Calendar_Cal_getObject/g; s/GNOME_Evolution_Calendar_Cal_get_uids/GNOME_Evolution_Calendar_Cal_getUIds/g; s/GNOME_Evolution_Calendar_Cal_get_changed_uids/GNOME_Evolution_Calendar_Cal_getChangedUIds/g; s/GNOME_Evolution_Calendar_Cal_get_objects_in_range/GNOME_Evolution_Calendar_Cal_getObjectsInRange/g; s/GNOME_Evolution_Calendar_Cal_get_alarms_in_range/GNOME_Evolution_Calendar_Cal_getAlarmsInRange/g; s/GNOME_Evolution_Calendar_Cal_get_alarms_for_object/GNOME_Evolution_Calendar_Cal_getAlarmsForObject/g; s/GNOME_Evolution_Calendar_Cal_update_object/GNOME_Evolution_Calendar_Cal_updateObject/g; s/GNOME_Evolution_Calendar_Cal_remove_object/GNOME_Evolution_Calendar_Cal_removeObject/g; s/Evolution_Calendar_Listener/GNOME_Evolution_Calendar_Listener/g; s/GNOME_Evolution_Calendar_Listener_cal_loaded/GNOME_Evolution_Calendar_Listener_notifyCalLoaded/g; s/GNOME_Evolution_Calendar_Listener_obj_updated/GNOME_Evolution_Calendar_Listener_notifyObjUpdated/g; s/GNOME_Evolution_Calendar_Listener_obj_removed/GNOME_Evolution_Calendar_Listener_notifyObjRemoved/g; s/Evolution_Calendar_CalFactory/GNOME_Evolution_Calendar_CalFactory/g; s/GNOME_Evolution_Calendar_CalFactory_load/GNOME_Evolution_Calendar_CalFactory_load/g; s/GNOME_Evolution_Calendar_CalFactory_create/GNOME_Evolution_Calendar_CalFactory_create/g; s/Evolution_Composer/GNOME_Evolution_Composer/g; s/GNOME_Evolution_Composer_set_headers/GNOME_Evolution_Composer_setHeaders/g; s/GNOME_Evolution_Composer_set_body_text/GNOME_Evolution_Composer_setBodyText/g; s/GNOME_Evolution_Composer_attach_MIME/GNOME_Evolution_Composer_attachMIME/g; s/GNOME_Evolution_Composer_attach_data/GNOME_Evolution_Composer_attachData/g; s/GNOME_Evolution_Composer_show/GNOME_Evolution_Composer_show/g; s/Evolution_Addressbook_SelectNames/GNOME_Evolution_Addressbook_SelectNames/g; s/GNOME_Evolution_Addressbook_SelectNames_add_section/GNOME_Evolution_Addressbook_SelectNames_addSection/g; s/GNOME_Evolution_Addressbook_SelectNames_get_entry_for_section/GNOME_Evolution_Addressbook_SelectNames_getEntryBySection/g; s/GNOME_Evolution_Addressbook_SelectNames_activate_dialog/GNOME_Evolution_Addressbook_SelectNames_activateDialog/g; s/Evolution_CardCursor/GNOME_Evolution_Addressbook_CardCursor/g; s/GNOME_Evolution_Addressbook_CardCursor_get_length/GNOME_Evolution_Addressbook_CardCursor_getLength/g; s/GNOME_Evolution_Addressbook_CardCursor_get_nth/GNOME_Evolution_Addressbook_CardCursor_getNth/g; s/Evolution_BookViewListener/GNOME_Evolution_Addressbook_BookViewListener/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_added/GNOME_Evolution_Addressbook_BookViewListener_notifyCardAdded/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_removed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardRemoved/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_changed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardChanged/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_sequence_complete/GNOME_Evolution_Addressbook_BookViewListener_notifySequenceComplete/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_status_message/GNOME_Evolution_Addressbook_BookViewListener_notifyStatusMessage/g; s/Evolution_BookView/GNOME_Evolution_Addressbook_BookView/g; s/Evolution_Book/GNOME_Evolution_Addressbook_Book/g; s/GNOME_Evolution_Addressbook_Book_get_vcard/GNOME_Evolution_Addressbook_Book_getVCard/g; s/GNOME_Evolution_Addressbook_Book_can_write/GNOME_Evolution_Addressbook_Book_isWriteable/g; s/GNOME_Evolution_Addressbook_Book_can_write_card/GNOME_Evolution_Addressbook_Book_isCardWriteable/g; s/GNOME_Evolution_Addressbook_Book_create_card/GNOME_Evolution_Addressbook_Book_addCard/g; s/GNOME_Evolution_Addressbook_Book_remove_card/GNOME_Evolution_Addressbook_Book_removeCard/g; s/GNOME_Evolution_Addressbook_Book_modify_card/GNOME_Evolution_Addressbook_Book_modifyCard/g; s/GNOME_Evolution_Addressbook_Book_get_cursor/GNOME_Evolution_Addressbook_Book_getCursor/g; s/GNOME_Evolution_Addressbook_Book_get_book_view/GNOME_Evolution_Addressbook_Book_getBookView/g; s/GNOME_Evolution_Addressbook_Book_get_changes/GNOME_Evolution_Addressbook_Book_getChanges/g; s/GNOME_Evolution_Addressbook_Book_check_connection/GNOME_Evolution_Addressbook_Book_checkConnection/g; s/GNOME_Evolution_Addressbook_Book_get_static_capabilities/GNOME_Evolution_Addressbook_Book_getStaticCapabilities/g; s/GNOME_Evolution_Addressbook_Book_get_name/GNOME_Evolution_Addressbook_Book_getName/g; s/Evolution_BookListener/GNOME_Evolution_Addressbook_BookListener/g; s/GNOME_Evolution_Addressbook_BookListener_respond_create_card/GNOME_Evolution_Addressbook_BookListener_notifyCardCreated/g; s/GNOME_Evolution_Addressbook_BookListener_respond_remove_card/GNOME_Evolution_Addressbook_BookListener_notifyCardRemoved/g; s/GNOME_Evolution_Addressbook_BookListener_respond_modify_card/GNOME_Evolution_Addressbook_BookListener_notifyCardModified/g; s/GNOME_Evolution_Addressbook_BookListener_report_open_book_progress/GNOME_Evolution_Addressbook_BookListener_notifyOpenBookProgress/g; s/GNOME_Evolution_Addressbook_BookListener_respond_open_book/GNOME_Evolution_Addressbook_BookListener_notifyBookOpened/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_cursor/GNOME_Evolution_Addressbook_BookListener_notifyCursorRequested/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_view/GNOME_Evolution_Addressbook_BookListener_notifyViewRequested/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_changes/GNOME_Evolution_Addressbook_BookListener_notifyChangesRequested/g; s/GNOME_Evolution_Addressbook_BookListener_report_connection_status/GNOME_Evolution_Addressbook_BookListener_notifyConnectionStatus/g; s/Evolution_BookFactory/GNOME_Evolution_Addressbook_BookFactory/g; s/GNOME_Evolution_Addressbook_BookFactory_open_book/GNOME_Evolution_Addressbook_BookFactory_openBook/g; s/Evolution_SummaryComponent/GNOME_Evolution_Summary_Component/g; s/GNOME_Evolution_Summary_SummaryComponent_set_owner/GNOME_Evolution_Summary_Component_setOwner/g; s/GNOME_Evolution_Summary_SummaryComponent_unset_owner/GNOME_Evolution_Summary_Component_unsetOwner/g; s/GNOME_Evolution_Summary_SummaryComponent_create_view/GNOME_Evolution_Summary_Component_createView/g; s/GNOME_Evolution_Summary_SummaryComponent_destroy_view/GNOME_Evolution_Summary_Component_destroyView/g; s/Evolution_Summary([ \t])/GNOME_Evolution_Summary_ViewFrame$1/g; s/Evolution_Summary_set_title/GNOME_Evolution_Summary_ViewFrame_setTitle/g; s/Evolution_Summary_set_icon/GNOME_Evolution_Summary_ViewFrame_setIcon/g; s/Evolution_Summary_update_component/GNOME_Evolution_Summary_ViewFrame_updateComponent/g; s/GNOME_GNOME/GNOME/g; s/GNOME_GNOME/GNOME/g; s/GNOME_GNOME/GNOME/g; svn path=/trunk/; revision=6535
* Add changed_hash, change list and complete boolJP Rosevear2000-11-103-0/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 svn path=/trunk/; revision=6524
* Let the warning make sense (compute_pid): removeJP Rosevear2000-11-012-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-31 JP Rosevear <jpr@helixcode.com> * conduits/todo/todo-conduit.h: Remove add/del/mod hashes and add changed_hash. * conduits/calendar/calendar-conduit.h: ditto * conduits/todo/todo-conduit.c (next_changed_item): Utility function to get the next "really" changed item (changed status can be cleared now) (compute_status): Compute status based on changed_hash (pre_sync): Fill changed_hash and counts adds/mods/dels (set_status_cleared): New callback handler - avoid double syncing (for_each_modified): Use next_changed_item to iterate (add_archive_record): kill (delete_archive_record): kill (archive_record): New callback handler - mark/unmark archive status (conduit_get_gpilot_conduit): Adjust signal connects * conduits/calendar/calendar-conduit.c: ditto svn path=/trunk/; revision=6297
* Fixed marking of strings for translation. Use "_(" instead of "_ (". AddKjartan Maraas2000-10-311-35/+35
| | | | | | | | | | | | | 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. svn path=/trunk/; revision=6282
* AM_GNOME_GETTEXT doesn't use $(datadir)/locale as the locale dir. (ItDan Winship2000-10-241-1/+1
| | | | | | | uses either $(prefix)/share/locale or $(prefix)/lib/locale.) Cope with this. svn path=/trunk/; revision=6141
* Change how the extension field acts when converting delivery addresses toChristopher James Lahey2000-10-191-3/+3
| | | | | | | | | 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. svn path=/trunk/; revision=6024
* Added the function e_card_delivery_address_to_label.Christopher James Lahey2000-10-192-0/+12
| | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=6023
* Change NAME_OR_ORG to return the email address if both name andChristopher James Lahey2000-10-191-0/+4
| | | | | | | | | | | | | 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. svn path=/trunk/; revision=6003
* Make sure that card->name and card->full_name are always valid.Matt Bissiri2000-09-271-17/+18
| | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=5596
* Look for ename in /e-util/ename instead of /addressbook/enameJeffrey Stedfast2000-09-262-7/+7
| | | | | | | | | | | | | | | | | | 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 svn path=/trunk/; revision=5578
* add E_CARD_SIMPLE_FIELD_FAMILY_NAME to the enum.Chris Toshok2000-09-232-0/+8
| | | | | | | | | | | 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. svn path=/trunk/; revision=5553
* Fixed some warnings. Fixed a bug where quoted printable fields wereChristopher James Lahey2000-09-221-2/+0
| | | | | | | | | | | | | | | | | | 2000-09-22 Christopher James Lahey <clahey@helixcode.com> * libversit/vcc.y: Fixed some warnings. Fixed a bug where quoted printable fields were reading in semi-colons that should have been field separators. From addressbook/ChangeLog: 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. svn path=/trunk/; revision=5550
* Added a function to set the status message associated with a given view.Christopher James Lahey2000-09-224-6/+73
| | | | | | | | | | | | | 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. svn path=/trunk/; revision=5549
* Added evolution-addressbook-ldap.xml.Christopher James Lahey2000-09-222-46/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-22 Christopher James Lahey <clahey@helixcode.com> * ui/Makefile.am: Added evolution-addressbook-ldap.xml. * ui/evolution-addressbook-ldap.xml: New file. (A Variation on evolution-addressbook.xml) * ui/evolution-addressbook.xml: Added View All and Stop buttons. From addressbook/ChangeLog: 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. svn path=/trunk/; revision=5547
* Oh my god! Chris Lahey killed Kenny! You bastard!Christopher James Lahey2000-09-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Well, not anymore. Yes. That's right. We can stop calling the wombat Kenny now. It doesn't seem to crash anymore when exiting evolution after selecting an addressbook card. Having to write reentrant code with list iterations is fun. Have fun, all. 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. svn path=/trunk/; revision=5534
* Make this work when a field is spread across multiple lines.Christopher James Lahey2000-09-211-20/+50
| | | | | | | | | 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. svn path=/trunk/; revision=5531