Commit Graph

306 Commits

Author SHA1 Message Date
e981cabe35 Added $(BONOBO_CONF_LIBS).
2001-07-02  Christopher James Lahey  <clahey@ximian.com>

	* gui/component/Makefile.am (evolution_addressbook_LDADD): Added
	$(BONOBO_CONF_LIBS).

	* gui/component/select-names/e-select-names.c
	(e_select_names_create_categories),
	gui/contact-editor/e-contact-editor.c (categories_clicked):
	Switched to an ECategoriesMasterListWombat instead of an
	ECategoriesMasterListArray here.

svn path=/trunk/; revision=10722
2001-07-03 03:33:54 +00:00
353946a818 Added related_contacts field.
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
2001-07-02 04:54:22 +00:00
a03b5cb797 Marked strings for translation.
* gui/component/e-address-popup.c (e_address_popup_construct): Marked
strings for translation.

svn path=/trunk/; revision=10628
2001-06-30 12:07:06 +00:00
7c5dd95cd7 Make the standard for considering two cards to be match stricter.
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
2001-06-30 05:23:09 +00:00
028af96877 Added a search field to the query here. (e_select_names_init): Update the
2001-06-29  Christopher James Lahey  <clahey@ximian.com>

	* gui/component/select-names/e-select-names.c (update_query):
	Added a search field to the query here.
	(e_select_names_init): Update the query on a number of signals here.

	* gui/component/select-names/e-select-names.h: Added search_entry
	here.

	* gui/component/select-names/select-names.glade: Added the search
	entry here.  Added some labels.  Removed the update button.

svn path=/trunk/; revision=10624
2001-06-30 03:27:33 +00:00
a0619157c2 Change the uri here to have addressbook.db at the end.
2001-06-29  Christopher James Lahey  <clahey@ximian.com>

	* gui/component/select-names/e-select-names.c
	(e_select_names_option_activated): Change the uri here to have
	addressbook.db at the end.

	* gui/component/select-names/select-names.glade: Changed the name
	of the folder option menu here to match the name used in the code.

svn path=/trunk/; revision=10623
2001-06-30 02:56:45 +00:00
e464ef3034 Change the query when the "Update List" button is pushed.
2001-06-29  Christopher James Lahey  <clahey@ximian.com>

	* gui/component/select-names/e-select-names.c (update_query):
	Change the query when the "Update List" button is pushed.

	* gui/component/select-names/e-select-names.h: Removed
	currently_selected field.  Added categories_entry field.

	* gui/component/select-names/select-names.glade: Added "Update
	List" button.

svn path=/trunk/; revision=10622
2001-06-30 02:40:27 +00:00
d82d5a7997 Add method `ShellComponent::handleExternalURI' and an
`external_uri_schemas' attribute.  Update the EvolutionShellComponent
GTK+ wrapper accordingly.  Update all the components to pass a NULL
`external_uri_schemas' list when initializing themselves as
EvolutionShellComponents.

svn path=/trunk/; revision=10548
2001-06-27 23:17:41 +00:00
202810cc38 Oops. Can't use the wombat version of the master categories list yet.
2001-06-26  Christopher James Lahey  <clahey@ximian.com>

	* gui/component/select-names/e-select-names.c
	(e_select_names_create_categories): Oops.  Can't use the wombat
	version of the master categories list yet.

svn path=/trunk/; revision=10527
2001-06-27 03:23:53 +00:00
2ac2af6d4b Added a categories combo here. It's not used yet.
2001-06-26  Christopher James Lahey  <clahey@ximian.com>

	* gui/component/select-names/e-select-names.c,
	gui/component/select-names/e-select-names.h,
	gui/component/select-names/select-names.glade
	(e_select_names_create_categories): Added a categories combo here.
	It's not used yet.

svn path=/trunk/; revision=10524
2001-06-27 03:15:53 +00:00
7728e7dbd2 Added category searching to the file backend.
2001-06-26  Christopher James Lahey  <clahey@ximian.com>

	* backend/pas/pas-backend-file.c (compare_category): Added
	category searching to the file backend.

	* gui/component/addressbook.c (addressbook_query_changed): Added
	category searching to the search bar.

svn path=/trunk/; revision=10520
2001-06-27 00:22:02 +00:00
d11dd5c6a7 Add a huge steaming pile of code to handle the case of single-address
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
2001-06-25 05:48:45 +00:00
8cb68557ae correct path to libecontacteditor.a. (minicard_widget_test_LDADD): same.
2001-06-24  Chris Toshok  <toshok@ximian.com>

	* gui/widgets/Makefile.am (minicard_test_LDADD): correct path to
	libecontacteditor.a.
	(minicard_widget_test_LDADD): same.
	(INCLUDES): same, for the includes.

	* gui/widgets/e-minicard.h: correct e-contact-editor.h path.

	* gui/widgets/e-addressbook-util.h: correct path to
	e-contact-editor.h, and add e-contact-list-editor.h.  Add
	prototype for e_addressbook_show_contact_list_editor.

	* gui/widgets/e-addressbook-util.c: remove #include
	"e-contact-editor.h" (our header includes it.)
	(added_cb): rename card_added_cb to this, and make it so it can be
	reused in both the list and card cases.  remove the g_print too.
	(modified_cb): same for modified case.
	(deleted_cb): same for deleted case.
	(editor_closed_cb): change first arg to GtkObject* so we can reuse
	this for both list and card.
	(e_addressbook_show_contact_editor): use added_cb, modified_cb,
	deleted_cb, and pass FALSE as user_data.
	(e_addressbook_show_contact_list_editor): new function, same as
	above but creating a contact-list-editor, and pass TRUE as
	user_data.

	* gui/component/e-address-popup.c: correct path to contact-editor.

	* gui/component/e-address-widget.c: same.

	* gui/component/select-names/e-select-names-popup.c: same.

	* gui/component/select-names/e-select-names-text-model.c: same.

	* gui/component/addressbook.c (new_contact_list_cb): new function.
	(update_command_state): update ContactNewList command.
	(verbs): remove ViewAll from the toolbar from the verb list.  Add
	ContactNewList.
	(pixmaps): same for pixmaps.

	* gui/component/Makefile.am (evolution_addressbook_LDADD): new
	path for contact-editor.
	(INCLUDES): same.

	* gui/contact-list-editor/e-contact-list-model.h:
	* gui/contact-list-editor/e-contact-list-model.c:
	* gui/contact-list-editor/e-contact-list-editor.h:
	* gui/contact-list-editor/e-contact-list-editor.c:
	* gui/contact-list-editor/Makefile.am: Initial contact-list editor
	  commit.

	* gui/Makefile.am (SUBDIRS): add contact-editor.

	* Makefile.am: (SUBDIRS): remove contact-editor.

svn path=/trunk/; revision=10463
2001-06-25 01:09:43 +00:00
91cc026904 Update the copyrights, replacing Helix Code with Ximian and
helixcode.com with ximian.com all over the place.

svn path=/trunk/; revision=10440
2001-06-23 08:52:02 +00:00
e061c100c7 Renamed. (The old name, edit_contact_info_have_book_cb was a hold-over
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
2001-06-21 18:58:15 +00:00
649bc025db track change to e_addressbook_show_contact_editor signature.
2001-06-19  Chris Toshok  <toshok@ximian.com>

	* gui/widgets/e-addressbook-view.c (table_double_click): track
	change to e_addressbook_show_contact_editor signature.

	* gui/widgets/e-minicard-view.c (e_minicard_view_event): same.

	* gui/widgets/e-minicard.c (e_minicard_event): same.

	* gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog):
	add an entry for "Card ID already exists".
	(e_addressbook_show_contact_editor): track the change to signal
	names and e_contact_editor_new signature here.

	* gui/widgets/e-addressbook-util.h: change
	e_addressbook_show_contact_editor's signature to match
	e_contact_editor_new more closely.

	* gui/widgets/e-addressbook-table-adapter.c (unlink_model): free
	up the simple mapping to plug a potentially sizeable memory leak.

	* gui/component/select-names/e-select-names-text-model.c
	(e_select_names_text_model_activate_obj): call
	e_addressbook_show_contact_editor here.

	* gui/component/select-names/e-select-names-popup.c
	(edit_contact_info_have_book_cb): remove the get_supported_fields
	stuff, since the contact editor handles it for us now, and call
	e_addressbook_show_contact_editor.

	* gui/component/e-address-popup.c (edit_contact_info_cb): same.

	* gui/component/addressbook.c (new_contact_cb): track change to
	e_addressbook_show_contact_editor.

svn path=/trunk/; revision=10318
2001-06-20 00:45:48 +00:00
681b9172bc Set the "expoted_dnd_types" to NULL in the folder_types.
2001-06-14  Jeffrey Stedfast  <fejj@ximian.com>

	* gui/component/addressbook-component.c: Set the
	"expoted_dnd_types" to NULL in the folder_types.

svn path=/trunk/; revision=10237
2001-06-14 20:17:43 +00:00
85a98452d4 Add a workaround for an EText bug. (e_select_names_completion_begin): Fix
* gui/component/select-names/e-select-names-completion.c
	(search_override_check): Add a workaround for an EText bug.
	(e_select_names_completion_begin): Fix up the match scoring in the
	search_override case so the lines are offered in the correct
	order.

svn path=/trunk/; revision=10194
2001-06-11 23:16:21 +00:00
4b58038f45 Made e_card_simple_get_id return const char *.
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
2001-06-11 09:29:36 +00:00
519a31197a Removed unused email variable.
2001-06-09  Christopher James Lahey  <clahey@ximian.com>

	* gui/component/select-names/e-select-names-completion.c
	(match_name): Removed unused email variable.

svn path=/trunk/; revision=10173
2001-06-09 10:21:49 +00:00
5c58686c8e Null terminate the strv here. (e_card_locate_match): ref here instead of
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
2001-06-09 06:31:55 +00:00
01b6f4ee32 remove the gtk_widget_show call... (e_contact_editor_show): and put it
2001-06-08  Chris Toshok  <toshok@ximian.com>

	* contact-editor/e-contact-editor.c (e_contact_editor_new): remove
	the gtk_widget_show call...
	(e_contact_editor_show): and put it here.

	* contact-editor/e-contact-editor.h: add prototype for
	e_contact_editor_show.

	* gui/widgets/e-minicard.c (e_minicard_event): call
	e_addressbook_show_contact_editor.
	(card_modified_cb): call e_addressbook_error_dialog if status !=
	SUCCESS.

	* gui/widgets/e-minicard-view.c (e_minicard_view_event): call
	e_addressbook_show_contact_editor.  also, use card_modified_cb as
	the commit_card callback.

	* gui/widgets/e-addressbook-view.c (table_double_click): clean
	this area up alot, call e_addressbook_show_contact_editor.
	(card_deleted_cb): call e_addressbook_error_dialog.

	* gui/widgets/e-addressbook-table-adapter.c
	(card_modified_cb): new function, call e_addressbook_error_dialog
	if the status != SUCCESS.
	(addressbook_set_value_at): use card_modified_cb as the callback
	for e_book_commit_card.

	* gui/widgets/Makefile.am (libeminicard_a_SOURCES): add
	e-addressbook-util.[ch].

	* gui/component/addressbook.c (new_contact_cb): use
	e_addressbook_show_contact_editor here.

svn path=/trunk/; revision=10164
2001-06-08 21:36:58 +00:00
70c01c8bb7 Make this work when multiple names are selected then right click->Remove.
2001-06-05  Jason Leach  <jleach@ximian.com>

	* gui/component/select-names/e-select-names.c (remove_cb): Make
	this work when multiple names are selected then right
	click->Remove.

svn path=/trunk/; revision=10127
2001-06-05 23:59:31 +00:00
e18a8f328c Move an #include to the top, it's ugly to have it in the middle of the
Move an #include to the top, it's ugly to have it in the middle of the file.

svn path=/trunk/; revision=10124
2001-06-05 22:03:23 +00:00
07a23dc4a6 (Fix bug #655: SelectNames doesn't let you remove addresses after you add
2001-06-05  Jason Leach  <jleach@ximian.com>

	(Fix bug #655: SelectNames doesn't let you remove addresses after
	 you add them)

	 * gui/component/select-names/e-select-names.c
	 (section_right_click_cb): New function, provides a popup menu
	 with just "Remove" in it.
	 (remove_cb): New callback to do the remove.
	 (e_select_names_add_section): Attach the "right_click" signal to
	 the section_right_click_cb above.

svn path=/trunk/; revision=10123
2001-06-05 22:00:16 +00:00
7b226f961c Change the completion handler to use the ECompletionMatch.
2001-06-05  Jon Trowbridge  <trow@ximian.com>

        * gui/component/select-names/e-select-names-manager.c
        (completion_handler): Change the completion handler to use the
        ECompletionMatch.

        * gui/component/select-names/e-select-names-completion.c
        General changes to convert for ECompletionMatch use.
        (emailify_match): Use extra sort keys in ECompletionMatch to let
        us ensure that the primary email address is always the first
        option, the secondary comes second, etc.  There was no nice way to
        do this previously.
        (match_name): Removed code that adjusted score based on
        similarities between the "real name" and the e-mail address.  It
        seemed like a good idea at the time, but produced unexpected and
        confusing results.

svn path=/trunk/; revision=10120
2001-06-05 17:53:04 +00:00
484d91f1f5 remove spew, and don't call the ShellView CORBA method if the interface
2001-06-03  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook.c (set_status_message): remove spew,
	and don't call the ShellView CORBA method if the interface doesn't
	exist (for whatever reason.)

	* gui/widgets/e-addressbook-view.c (e_addressbook_view_destroy):
	unref the EAddressbookModel.
	(create_minicard_view): unref the adapter.
	(card_added_cb): call e_book_error_dialog if status != SUCCESS.
	(card_modified_cb): same.
	(card_removed_cb): new function, and same.
	(delete_card_cb): pass card_removed_cb as the callback.
	(emit_status_message): new function, just emit status_message.
	(status_message): change to call emit_status_message.
	(card_deleted_cb): emit_status_message ("Done."), and call
	e_book_error_dialog if status != SUCCESS.
	(do_remove): pass view in the closure arg.
	(e_addressbook_view_delete_selection): emit status "Removing
	cards..." before starting the removal.
	(e_book_error_dialog): new function - pop up a (possibly) helpful
	message about why an operation failed.

	* gui/widgets/e-minicard-view-widget.c
	(e_minicard_view_widget_new): ref the EAddressbookReflowAdapter.
	(e_minicard_view_widget_destroy): unref the adapter.
	(e_minicard_view_widget_get_selection_model): if there isn't a
	minicard view return NULL.

	* gui/widgets/e-addressbook-table-adapter.c
	(e_addressbook_table_adapter_construct): ref the
	EAddressbookModel.

	* gui/widgets/e-addressbook-reflow-adapter.c
	(addressbook_finalize): rename this from addressbook_destroy, to
	reflect the method change.
	(e_addressbook_reflow_adapter_class_init): same.
	(e_addressbook_reflow_adapter_construct): ref the
	EAddressbookModel.

	* gui/widgets/e-addressbook-model.h: add editable_set flag.

	* gui/widgets/e-addressbook-model.c (writable_status): only record
	the writable state of the addressbook if the user hasn't set it.
	(e_addressbook_model_init): init editable_set to FALSE.
	(e_addressbook_model_set_arg): set editable_set to TRUE.

svn path=/trunk/; revision=10107
2001-06-03 23:45:20 +00:00
be88a44705 Added fields for the GalViewMenus and GalViewCollection; we need to keep
2001-05-31  Federico Mena Quintero  <federico@ximian.com>

	* gui/widgets/e-addressbook-view.h (EAddressbookView): Added
	fields for the GalViewMenus and GalViewCollection; we need to keep
	them around while the component is active.

	* gui/widgets/e-addressbook-view.c
	(e_addressbook_view_setup_menus): Plug leak; unref the spec.
	Unref the factories.  Do not unref the collection, since we need
	it for the signal emission (okay, so the views object adds a
	reference to it, but if we are interested in it we should keep a
	reference anyways).
	(e_addressbook_view_setup_menus): Create the collection and views
	on the EAddressbookView's fields so that we can keep them around.
	(e_addressbook_view_discard_menus): New function; gets rid of the
	collection and views objects.

	* gui/component/addressbook.c (control_activate_cb): Call
	e_addressbook_view_discard_menus().

svn path=/trunk/; revision=10074
2001-05-31 23:05:41 +00:00
69e9359204 add the EAddressbookModel* and change the ETableModel's name to "adapter".
2001-05-31  Chris Toshok  <toshok@ximian.com>

	* gui/component/select-names/e-select-names.h (struct
	_ESelectNames): add the EAddressbookModel* and change the
	ETableModel's name to "adapter".

	* gui/component/select-names/e-select-names.c (set_book),
	(addressbook_model_set_uri): these two things take an
	EAddressbookModel* instead of an ETableModel now.
	(e_addressbook_create_ebook_table): don't case the
	EAddressbookModel* to ETableModel*, create an EAddressbookTableAdapter
	on the EAddressbookModel instead.
	(e_select_names_init): set e_select_names->adapter.

svn path=/trunk/; revision=10072
2001-05-31 22:27:56 +00:00
9e7473e1de Print Preview => ContactsPrintPreview. Changed peter's change so that the
2001-05-31  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook.c: Print Preview =>
	ContactsPrintPreview.  Changed peter's change so that the node
	name is more in line with "Print.."'s

svn path=/trunk/; revision=10064
2001-05-31 20:03:20 +00:00
c12a1660bd Use the correct path to the print preview menu item.
2001-05-30  Peter Williams  <peterw@ximian.com>

       * gui/component/addressbook.c: Use the correct path to the print
       preview menu item.

svn path=/trunk/; revision=10054
2001-05-30 21:13:19 +00:00
0660722baa new function, for the Cut verb. (copy_contacts_cb): new function, for the
2001-05-30  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook.c (cut_contacts_cb): new function, for
	the Cut verb.
	(copy_contacts_cb): new function, for the Copy verb.
	(paste_contacts_cb): new function, for the Paste verb.
	(select_all_contacts_cb): new function, for the Select All verb.
	(update_command_state): add handling for sensitivity of
	Cut/Copy/Paste/Select All.

	* gui/widgets/e-addressbook-view.c (e_addressbook_view_init): init
	the invisible and set up selection/destroy signals.
	(get_selection_model): new function, so we can get the
	ETableSelectionModel from either view type.  makes lots of the
	other functions easier, since we can get the list of selected
	cards using the same code regardless of view type.
	(invisible_destroyed): new function.
	(selection_get): new function.  convert the clipboard list to
	string.
	(selection_clear_event): new function - free up the list of
	ECards.
	(selection_received): if the selection data is valid and
	well-formed, add the corresponding cards to the ebook.
	(add_to_list): new function.
	(get_selected_cards): new function.
	(e_addressbook_view_cut): new function, implement in terms of
	_copy and _delete_selection.
	(e_addressbook_view_copy): claim ownership of the CLIPBOARD
	selection after saving the list of selected ECards.
	(e_addressbook_view_paste): call gtk_selection_convert.
	(e_addressbook_view_select_all): new function, using
	e_selection_model_select_all.
	(e_addressbook_view_can_print): re-implement in terms of
	get_selection_model.
	(e_addressbook_view_can_delete): same.
	(e_addressbook_view_can_cut): new function.
	(e_addressbook_view_can_copy): new function.
	(e_addressbook_view_can_paste): new function.  hmm, always return
	TRUE here.
	(e_addressbook_view_can_select_all): new function.

	* gui/widgets/e-addressbook-view.h (struct _EAddressbookView): add
	selection stuff - the list of selected cards, and the GtkInvisible
	selection owner, and add prototypes for
	e_addressbook_view_[can]_{cut,copy,paste,select_all}.

	* gui/widgets/e-minicard-view-widget.h: add a prototype for
	e_minicard_view_widget_get_selection_model.

	* gui/widgets/e-minicard-view-widget.c
	(e_minicard_view_widget_get_selection_model): new function.

svn path=/trunk/; revision=10050
2001-05-30 08:47:00 +00:00
5e44950c28 #include "evolution-shell-component-utils.h" rather than "e-gui-utils.h"
* gui/component/addressbook.c: #include
	"evolution-shell-component-utils.h" rather than "e-gui-utils.h"
	for e_pixmaps_update.

svn path=/trunk/; revision=10020
2001-05-27 18:02:03 +00:00
a58c7b50e9 Reference libeshell.la instead of libeshell.a.
2001-05-25  Peter Williams  <peterw@ximian.com>

       * gui/component/Makefile.am: Reference libeshell.la instead of libeshell.a.

2001-05-25  Peter Williams  <peterw@ximian.com>

       * gui/Makefile.am: Reference libeshell.la instead of libeshell.a.

2001-05-25  Peter Williams  <peterw@ximian.com>

       * component/Makefile.am: Reference libeshell.la instead of libeshell.a.

2001-05-25  Peter Williams  <peterw@ximian.com>

       * Makefile.am: Reference libeshell.la instead of libeshell.a.

2001-05-25  Peter Williams  <peterw@ximian.com>

       * Makefile.am: Change libeshell from a noinst_LIBRARIES to
       a lib_LTLIBRARIES. Install its headers in
       $includedir/evolution/shell.

       * evolution-storage.c (safe_corba_string): New, copy of e_safe_corba_string
       in libeutil. This way libeshell doesn't have a missing symbol when programs
       that don't have libeutil link to it.
       (evolution_storage_register): s,e_safe_corba_string,safe_corba_string,g.

svn path=/trunk/; revision=10007
2001-05-26 04:59:00 +00:00
be19c59c2e add sequence_complete_id to EAddressbookModel and stop_state_changed to
2001-05-23  Chris Toshok  <toshok@ximian.com>

	* gui/widgets/e-addressbook-model.h: add sequence_complete_id to
	EAddressbookModel and stop_state_changed to
	EAddressbookModelClass.  also, add prototype for
	e_addressbook_model_can_stop.

	* gui/widgets/e-addressbook-model.c (remove_book_view): disconnect
	from "sequence_complete", and set search_in_progress to FALSE.
	(sequence_complete): set search_in_progress to FALSE and emit
	"stop_state_changed."
	(e_addressbook_model_class_init): create the "stop_state_changed"
	signal.
	(e_addressbook_model_init): init stuff.
	(book_view_loaded): connect to "sequence_complete" signal.
	(book_view_loaded): set search_in_progress to TRUE and emit
	"stop_state_changed"
	(e_addressbook_model_stop): set search_in_progress to false, emit
	"stop_state_changed", and set our status to "Search Interrupted."
	(e_addressbook_model_can_stop): return search_in_progress.

	* gui/widgets/e-addressbook-view.c (e_addressbook_view_init):
	connect to the stop_state_changed signal on EAddressbookModel.
	(stop_state_changed): new function.
	(e_addressbook_view_can_stop): call e_addressbook_model_can_stop.

	* gui/component/addressbook.c (update_command_state): use
	e_addressbook_view_can_stop to set the sensitivity of the stop
	button.

svn path=/trunk/; revision=9940
2001-05-23 09:19:07 +00:00
1b425f45ab track the change in evolution-addressbook.xml's bonobo ui path's.
2001-05-22  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook.c: track the change in
	evolution-addressbook.xml's bonobo ui path's.

svn path=/trunk/; revision=9921
2001-05-22 11:08:49 +00:00
90d1371457 update_view_type is gone, since the menu item is gone.
2001-05-21  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook.c (change_view_type): update_view_type
	is gone, since the menu item is gone.

	* gui/widgets/e-addressbook-table-adapter.c (create_card): use
	e_table_model_rows_inserted here.

svn path=/trunk/; revision=9914
2001-05-21 23:52:06 +00:00
794615c90e Removed an unused variable.
2001-05-20  Christopher James Lahey  <clahey@ximian.com>

        * gui/component/addressbook-config.c
        (addressbook_source_item_new): Removed an unused variable.

        * gui/component/select-names/e-select-names-bonobo.c
        (entry_get_property_fn): Made text here non-const.

        * gui/component/select-names/e-select-names-popup.c
        (edit_contact_info_cb): Cast to a gpointer here.

        * gui/component/select-names/e-select-names.c
        (e_addressbook_create_ebook_table): Cast to E_TABLE_MODEL here.

svn path=/trunk/; revision=9902
2001-05-21 01:18:52 +00:00
d4a2e9f382 Do a better job constructing match strings, so we never try to use a
2001-05-18  Jon Trowbridge  <trow@ximian.com>

	* gui/component/select-names/e-select-names-completion.c
	(match_name): Do a better job constructing match strings, so we
	never try to use a segment of the name that isn't there (resulting
	in ugly (null)'s in the string).  Boost our score if some part of
	the name also matches the front part of the e-mail address, so the
	name match will always trump the e-mail match.

svn path=/trunk/; revision=9882
2001-05-18 17:09:31 +00:00
3ca3f79dbe Return the serialized EDestinations (rather than just a string w/ e-mail
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
2001-05-18 07:10:04 +00:00
fce0233ba9 no more ContactFind command.
2001-05-17  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook.c (update_command_state): no more
	ContactFind command.

svn path=/trunk/; revision=9876
2001-05-17 23:42:30 +00:00
bb0671f820 add our selection_change signal. (e_minicard_view_widget_realize): connect
2001-05-17  Chris Toshok  <toshok@ximian.com>

	* gui/widgets/e-minicard-view-widget.c
	(e_minicard_view_widget_class_init): add our selection_change
	signal.
	(e_minicard_view_widget_realize): connect to the ESelectionModel's
	selection_changed signal.
	(e_minicard_view_widget_selected_count): new function.
	(selection_change): new function - emit our "selection_change"
	signal.

	* gui/widgets/e-minicard-view-widget.h (struct
	_EMinicardViewWidgetClass): add selection_change signal.  also,
	add prototype for e_minicard_view_widget_selected_count.  *
	gui/widgets/e-addressbook-view.c

	(e_addressbook_view_class_init): add our command_state_change
	signal.
	(e_addressbook_view_init): connect to the writable_status signal
	on the EAddressbookModel.
	(minicard_selection_change): new function - calls
	command_state_change.
	(create_minicard_view): connect to selection_change on the
	minicard_view so we know when to update command state.
	(table_selection_change): new function - calls
	command_state_change.
	(writable_status): new function - calls command_state_change.
	(command_state_change): new function - emits our
	"command_state_change" signal.
	(create_table_view): connect to the selection_change signal so we
	know to update the command state.
	(change_view_type): update the command state every time we change
	view types.
	(e_addressbook_view_can_create): new function.
	(e_addressbook_view_can_print): new function.
	(e_addressbook_view_can_delete): new function.
	(e_addressbook_view_can_stop): new function.

	* gui/widgets/e-addressbook-view.h (struct
	_EAddressbookViewClass): add command_state_change signal, and
	prototypes of functions the component can use to test the state of
	commands.

	* gui/widgets/e-addressbook-model.c (addressbook_destroy): unlink
	the writable_status signal on the EBook.
	(writable_status): new function.
	(e_addressbook_model_class_init): add our writable_status signal.
	(e_addressbook_model_init): init writable_status_id.
	(e_addressbook_model_set_arg): unlink the writable_status signal
	on the old EBook, and connect it on the new one.

	* gui/widgets/e-addressbook-model.h: add writable_status signal.

	* gui/component/addressbook.c (update_command_state): new
	function, set the sensitivity of the bonobo commands.
	(control_activate): update our command state immediately upon
	activating the control.
	(addressbook_factory_new_control): register command_state_change
	to update the commands.

svn path=/trunk/; revision=9874
2001-05-17 23:30:57 +00:00
9953071e22 add prototype for addressbook_expand_uri.
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
2001-05-14 00:46:29 +00:00
206210499b spew the data passed to us. (destination_folder_handle_motion): the
2001-05-12  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook-component.c
	(destination_folder_handle_drop): spew the data passed to us.
	(destination_folder_handle_motion): the suggested_action is not an
	ActionSet, but an Action, so don't or together multiple actions.

svn path=/trunk/; revision=9781
2001-05-12 08:29:46 +00:00
9f45bb787b correct bug causing the Ok button to never be enabled.
2001-05-11  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook-config.c (addressbook_source_dialog):
	correct bug causing the Ok button to never be enabled.

svn path=/trunk/; revision=9779
2001-05-12 04:39:10 +00:00
19f8760e0d example.
2001-05-11  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook-component.c (populate_context_menu):
	example.

svn path=/trunk/; revision=9776
2001-05-11 23:00:56 +00:00
95651fe828 use e_card_list_get_vcard to build up the data to send.
2001-05-11  Chris Toshok  <toshok@ximian.com>

	* gui/widgets/e-minicard-view.c (e_minicard_view_drag_data_get):
	use e_card_list_get_vcard to build up the data to send.
	(e_minicard_view_init): connect to the model's drag_begin signal.
	(e_minicard_view_drag_begin): gather the list of cards being
	dragged and call gtk_drag_begin.
	(add_to_list): new function.
	(get_card_list): same.
	(disconnect_signals): disconnect the drag_data_get signal.
	(e_minicard_view_init): connect to the drag_begin signal on our
	model.

	* gui/widgets/e-minicard-view.h (struct _EMinicardView): change
	drag_card to drag_list.

	* gui/widgets/e-minicard-view-model.c (minicard_drag_begin): new
	function, emit our drag_begin signal.
	(addressbook_incarnate): connect to the item's drag_begin signal.
	(e_minicard_view_model_class_init): init our drag_begin signal.

	* gui/widgets/e-minicard-view-model.h: add drag_begin signal.

	* gui/component/addressbook-config.c (addressbook_source_dialog):
	always loop through all source types here, making LDAP first so
	it's forces as the first notebook item.
	(addressbook_config_auth_label): remove SASL case.
	(addressbook_source_edit_changed): same.
	(addressbook_source_item_new): flag the area of code that needs to
	go into the advanced dialog (if we add one before someone
	graciously redesigns the entire addressbook gui :)


	* gui/component/addressbook-storage.c (ldap_unparse_auth): remove
	SASL case.
	(ldap_parse_auth): same.

	* gui/component/addressbook-storage.h: make LDAP come first in our
	source type enumeration, and remove the SASL auth type.

svn path=/trunk/; revision=9774
2001-05-11 21:03:42 +00:00
0f0089d684 flesh out the function more. It should work now, but there's no way to
2001-05-07  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook-component.c (remove_folder): flesh out
	the function more.  It should work now, but there's no way to
	invoke this method from the ui at the moment, heh.

svn path=/trunk/; revision=9704
2001-05-07 22:26:19 +00:00
37341be278 Use a different error message in the ldap support/no ldap support/file
2001-05-07  Chris Toshok  <toshok@ximian.com>

	* gui/component/addressbook.c (book_open_cb): Use a different
	error message in the ldap support/no ldap support/file cases.

svn path=/trunk/; revision=9700
2001-05-07 21:13:09 +00:00
a703c61b47 use define from widgets/misc/e-filter-bar.h instead of own enumeration and
2001-05-07  Gediminas Paulauskas <menesis@delfi.lt>

	* gui/component/addressbook.c: use define from
	widgets/misc/e-filter-bar.h instead of own enumeration and search menu
	names.

	* gui/component/Makefile.am, gui/component/select-names/Makefile.am:
	removed EVOLUTION_VERSION.

2001-05-07  Gediminas Paulauskas <menesis@delfi.lt>

	* gui/event-editor.c (make_title_from_comp): conversion summary
	from utf8 here, use translated strings as is.
	(set_title_from_comp): reflect this, simplify.

	* gui/dialogs/task-editor.c: updated copies of above functions here.

	* gui/gnome-cal.c: use defines from widgets/misc/e-filter-bar.h for
	consistency in "Show all".

svn path=/trunk/; revision=9693
2001-05-07 17:33:31 +00:00