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
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
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
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
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
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
2001-10-17 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-file.c (pas_backend_file_upgrade_db):
add upgrade from 0.1 to 0.2, where we make sure id dbt's match
vcard id's, fixes longstanding bug (#7406) where cards were not
modifiable or removable after having been created during a 1-2
week long window in early betas.
(PAS_BACKEND_FILE_VERSION): change to 0.2
(PAS_ID_PREFIX): #define this here.
(pas_backend_file_create_unique_id): use PAS_ID_PREFIX instead of
the string.
svn path=/trunk/; revision=13720
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
2001-10-15 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (pas_backend_ldap_add_client):
unref the book after we pass it off to evolution-addressbook.
svn path=/trunk/; revision=13691
2001-10-15 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c
(pas_backend_ldap_process_get_book_view): make sure to unref the
book_view here so we don't leak them.
svn path=/trunk/; revision=13680
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
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
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
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
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
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
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
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
001-10-01 JP Rosevear <jpr@ximian.com>
* backend/pas/pas-backend-file.c
(pas_backend_file_changes_foreach_key): if there is a db error,
assume deletion
(pas_backend_file_changes): write after all is done for efficiency
svn path=/trunk/; revision=13267
2001-09-28 JP Rosevear <jpr@ximian.com>
* backend/pas/pas-backend-file.c
(pas_backend_file_changes_foreach_key): g_strdup
(pas_backend_file_changes): ditto, make sure to free all data and
do a hash write after each add/remove
* conduit/address-conduit.c (local_record_to_pilot_record): use
the local record category
(local_record_from_ecard): ndle the fields and category we don't
sync by making sure we don't overwrite them
svn path=/trunk/; revision=13232
2001-09-26 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-book-factory.c (pas_book_factory_destroy): use
priv->iid instead of the hardcoded string here.
(pas_book_factory_activate): parameterize the factory's iid, as in
the calendar server, and provide a default if iid == NULL.
* backend/pas/pas-book-factory.h: add iid parameter for
pas_book_factory_activate.
svn path=/trunk/; revision=13180
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
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
2001-09-26 JP Rosevear <jpr@ximian.com>
* backend/pas/pas-backend-file.c (pas_backend_file_changes): set
the last_use and use_score fields of the card to known values so
the card doesn't register as changed when only they have changed
2001-09-26 Peter Williams <peterw@ximian.com>
* conduit/address-conduit.c (ecard_from_remote_record): Fix this function
to set email addresses properly, and handle multiple occurrences of
email addresses, home phone numbers, and business phone numbers.
svn path=/trunk/; revision=13153
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
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
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
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
2001-09-18 JP Rosevear <jpr@ximian.com>
* backend/pas/pas-backend-file.c
(pas_backend_file_build_cards_list): create a sexp and check if
the cards match before adding them to the list
(pas_backend_file_process_get_cursor): send extra param
svn path=/trunk/; revision=12940
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
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
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
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
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
<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
2001-09-13 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (pas_backend_ldap_connect): use
ldap_init. ldap_open is deprecated in openldap 2.x.
svn path=/trunk/; revision=12820
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
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
2001-09-06 Chris Toshok <toshok@ximian.com>
* gui/component/Makefile.am (INCLUDES): add -DEVOLUTION_IMAGESDIR.
* gui/widgets/e-addressbook-view.c (card_deleted_cb): remove
status messages from here.
(e_addressbook_view_delete_selection): same.
* gui/widgets/e-addressbook-model.c (sequence_complete): emit a
NULL status message along with the stop_state_changed. The null
status message will clear the status bar for this view.
* gui/component/addressbook.c (set_status_message): use the
EvolutionActivityClient stuff.
* backend/pas/pas-backend-ldap.c (view_destroy): remove status
message for abandoning a search.
(ldap_op_process_current): wrap status messages in _().
(ldap_op_process): same.
(create_card_handler): same, and remove the notify_status for ""
and add a notify_complete call after the card is added.
(remove_card_handler): same.
(modify_card_handler): same.
(poll_ldap): wrap status messages with _(), and remove the "Search
Complete" message.
(ldap_search_handler): wrap status message.
* backend/pas/pas-backend-file.c (pas_backend_file_search): use
_() on status messages, and make sure the last notify_* called is
notify_complete.
svn path=/trunk/; revision=12663
* 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