From 2786536d7f25b29b20a41b417896cff810368d85 Mon Sep 17 00:00:00 2001 From: Jon Trowbridge Date: Fri, 28 Dec 2001 03:08:27 +0000 Subject: When we clean, don't clean the model's last element. This helps keep 2001-12-27 Jon Trowbridge * gui/component/select-names/e-select-names.c (real_add_address_cb): When we clean, don't clean the model's last element. This helps keep things working properly when we have signal-character separators. (section_right_click_cb): Changed to work properly with our EText-emitted popup signal. (e_select_names_add_section): Use ETexts for the recipient sections, rather than tables. This lets us make them directly editable. (Bug #1721) * gui/component/select-names/e-select-names-popup.c (popup_info_new): Pass in a ESelectNamesTextModel, not a ESelectNamesModel. (e_select_names_popup): Adjust for the new signature for e_select_names_model_text_pos. * gui/component/select-names/e-select-names-manager.c (focus_out_cb): Schedule a cleaning when we focus out. (focus_in_cb): Cancel pending cleaning when we get focus. This helps us avoid bad things happening during the fast focus out/ins that happen when the completion dropdown appears. (completion_handler): Adjust for new signatures of e_select_names_model_text_pos and e_select_names_model_name_pos. (e_select_names_manager_entry_new): Pass in our ESelectNamesTextModel when constructing the ESelectNamesCompletion. (e_select_names_manager_entry_free): Cancel any pending clean-ups. * gui/component/select-names/e-select-names-bonobo.c (entry_get_property_fn): Get the text off of the text model. Which is the only way that really makes sense when you think about it. * gui/component/select-names/e-select-names-completion.c: Added a copy of the associated ESelectNamesTextModel to ESelectNamesCompletionPrivate. This replaces the ESelectNamesModel. (e_select_names_completion_destroy): Unref ->text_model. (e_select_names_completion_handle_request): Pass in our text model's separator info when calling e_select_names_model_text_pos. (e_select_names_completion_new): Pass in the text model as an arg instead of the model, and ref it as needed. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_init): Set separator as either ", " or ",", depending on the value of the EVOLUTION_DISABLE_MAGIC_COMMA environment variable. (e_select_names_text_model_destroy): Free the separator. (changed_cb): Flush our cached text on changed. (e_select_names_text_model_set_source): Use our own changed_cb callback on changed, rather than just connecting up e_text_model_changed. (e_select_names_text_model_set_separator): Added. Lets the separator between recipients be specified. (e_select_names_text_model_get_text): Cache the text we get from calling e_select_names_model_get_textification. (e_select_names_text_model_insert_length): A bunch of small changes to properly support generic separators, rather than (implicit and explicitly) assuming ", ". (e_select_names_text_model_delete): More small tweaks to handle generic separators. (e_select_names_text_model_get_nth_obj): Use new signature when calling e_select_names_model_name_pos, and use our cached text. * gui/component/select-names/e-select-names-model.c (e_select_names_model_destroy): We don't cache the text or addr_text anymore, so no need to free them here. (e_select_names_model_changed): ...and no need to reset our text and addr_text caches here. (e_select_names_model_get_textification): Take a separator as an arg, rather than just using ", ". Also, no caching. (e_select_names_model_get_address_text): Take a separator as an arg, rather than just using ", ". And no caching here either. (e_select_names_model_clean): Add arg that give us control over whether or not the last entry should get cleaned. We need this when using a one-character separator, so that new destinations that get tacked onto the end don't get immediately cleaned away for being empty. (e_select_names_model_name_pos): Take the separator length as an argument, remove implicit assumption of length 2. (e_select_names_model_text_pos): Take the separator length as an argument, remove implicit assumption of length 2.CVS: ---------------------------------------------------------------------- svn path=/trunk/; revision=15221 --- .../gui/component/select-names/e-select-names-completion.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'addressbook/gui/component/select-names/e-select-names-completion.h') diff --git a/addressbook/gui/component/select-names/e-select-names-completion.h b/addressbook/gui/component/select-names/e-select-names-completion.h index 03a30c3cc2..86522fa5ce 100644 --- a/addressbook/gui/component/select-names/e-select-names-completion.h +++ b/addressbook/gui/component/select-names/e-select-names-completion.h @@ -29,7 +29,7 @@ #include #include -#include "e-select-names-model.h" +#include "e-select-names-text-model.h" BEGIN_GNOME_DECLS @@ -54,12 +54,12 @@ struct _ESelectNamesCompletionClass { }; -GtkType e_select_names_completion_get_type (void); +GtkType e_select_names_completion_get_type (void); -ECompletion *e_select_names_completion_new (EBook *, ESelectNamesModel *); -void e_select_names_completion_add_book (ESelectNamesCompletion *, EBook *); -gboolean e_select_names_completion_get_match_contact_lists (ESelectNamesCompletion *); -void e_select_names_completion_set_match_contact_lists (ESelectNamesCompletion *, gboolean); +ECompletion *e_select_names_completion_new (EBook *, ESelectNamesTextModel *); +void e_select_names_completion_add_book (ESelectNamesCompletion *, EBook *); +gboolean e_select_names_completion_get_match_contact_lists (ESelectNamesCompletion *); +void e_select_names_completion_set_match_contact_lists (ESelectNamesCompletion *, gboolean); END_GNOME_DECLS -- cgit v1.2.3