aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/select-names/e-select-names-completion.h
Commit message (Collapse)AuthorAgeFilesLines
* [ fixes the non-ui portion of #36183 ] use the entry'sChris Toshok2003-01-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-01 Chris Toshok <toshok@ximian.com> [ fixes the non-ui portion of #36183 ] * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_start_query): use the entry's minimum_query_length instead of a constant here. (e_select_names_completion_set_minimum_query_length): new function, set the entry's minimum_query_length. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_entry_new): set the minimum_query length after setting the completion books. (read_completion_settings_from_db): rename read_completion_books_from_db to this, and read the minimum_query_length too. (db_listener): rename uris_listener to this, and listen for changes on both the uris and minimum_query_length settings. * gui/component/select-names/e-select-names-completion.h: add prototype for e_select_names_completion_set_minimum_query_length. * gui/component/select-names/e-select-names-manager.h: add minimum_query_length to struct _ESelectNamesManager. svn path=/trunk/; revision=19199
* more porting work.Chris Toshok2002-11-081-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-07 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-bonobo.[ch]: more porting work. * gui/component/select-names/e-select-names-completion.[ch]: more porting work. * gui/component/select-names/e-select-names-manager.[ch]: more porting work. * gui/component/select-names/e-select-names-model.[ch]: more porting work. * gui/component/select-names/e-select-names-popup.c: more porting work. * gui/component/select-names/e-select-names-table-model.[ch]: more porting work. * gui/component/select-names/e-select-names-text-model.[ch]: more porting work. * gui/component/select-names/e-select-names.[ch]: more porting work. svn path=/trunk/; revision=18657
* Port to GObject/gnome2.Chris Toshok2002-11-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-05 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-simple-card-bonobo.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names-text-model.c: Port to GObject/gnome2. * gui/component/select-names/e-select-names-table-model.c: Port to GObject/gnome2. * gui/component/select-names/e-select-names-popup.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names-model.c: Port to GObject/gnome2. * gui/component/select-names/e-select-names-manager.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names-factory.c: Port to GObject/gnome2. * gui/component/select-names/e-select-names-completion.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names-bonobo.[ch]: Port to GObject/gnome2. * gui/component/select-names/Makefile.am: typical port stuff. add marshaller generation foo, dist it, and switch the .oaf to .server * gui/component/select-names/.cvsignore: ignore the marshaller stuff. svn path=/trunk/; revision=18587
* [ #24189 ] ifdef out the body of this because it only works with a singleChris Toshok2002-05-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* When we clean, don't clean the model's last element. This helps keepJon Trowbridge2001-12-281-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-27 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names.c (real_add_address_cb): When we clean, don't clean the model's last element. This helps keep things working properly when we have signal-character separators. (section_right_click_cb): Changed to work properly with our EText-emitted popup signal. (e_select_names_add_section): Use ETexts for the recipient sections, rather than tables. This lets us make them directly editable. (Bug #1721) * gui/component/select-names/e-select-names-popup.c (popup_info_new): Pass in a ESelectNamesTextModel, not a ESelectNamesModel. (e_select_names_popup): Adjust for the new signature for e_select_names_model_text_pos. * gui/component/select-names/e-select-names-manager.c (focus_out_cb): Schedule a cleaning when we focus out. (focus_in_cb): Cancel pending cleaning when we get focus. This helps us avoid bad things happening during the fast focus out/ins that happen when the completion dropdown appears. (completion_handler): Adjust for new signatures of e_select_names_model_text_pos and e_select_names_model_name_pos. (e_select_names_manager_entry_new): Pass in our ESelectNamesTextModel when constructing the ESelectNamesCompletion. (e_select_names_manager_entry_free): Cancel any pending clean-ups. * gui/component/select-names/e-select-names-bonobo.c (entry_get_property_fn): Get the text off of the text model. Which is the only way that really makes sense when you think about it. * gui/component/select-names/e-select-names-completion.c: Added a copy of the associated ESelectNamesTextModel to ESelectNamesCompletionPrivate. This replaces the ESelectNamesModel. (e_select_names_completion_destroy): Unref ->text_model. (e_select_names_completion_handle_request): Pass in our text model's separator info when calling e_select_names_model_text_pos. (e_select_names_completion_new): Pass in the text model as an arg instead of the model, and ref it as needed. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_init): Set separator as either ", " or ",", depending on the value of the EVOLUTION_DISABLE_MAGIC_COMMA environment variable. (e_select_names_text_model_destroy): Free the separator. (changed_cb): Flush our cached text on changed. (e_select_names_text_model_set_source): Use our own changed_cb callback on changed, rather than just connecting up e_text_model_changed. (e_select_names_text_model_set_separator): Added. Lets the separator between recipients be specified. (e_select_names_text_model_get_text): Cache the text we get from calling e_select_names_model_get_textification. (e_select_names_text_model_insert_length): A bunch of small changes to properly support generic separators, rather than (implicit and explicitly) assuming ", ". (e_select_names_text_model_delete): More small tweaks to handle generic separators. (e_select_names_text_model_get_nth_obj): Use new signature when calling e_select_names_model_name_pos, and use our cached text. * gui/component/select-names/e-select-names-model.c (e_select_names_model_destroy): We don't cache the text or addr_text anymore, so no need to free them here. (e_select_names_model_changed): ...and no need to reset our text and addr_text caches here. (e_select_names_model_get_textification): Take a separator as an arg, rather than just using ", ". Also, no caching. (e_select_names_model_get_address_text): Take a separator as an arg, rather than just using ", ". And no caching here either. (e_select_names_model_clean): Add arg that give us control over whether or not the last entry should get cleaned. We need this when using a one-character separator, so that new destinations that get tacked onto the end don't get immediately cleaned away for being empty. (e_select_names_model_name_pos): Take the separator length as an argument, remove implicit assumption of length 2. (e_select_names_model_text_pos): Take the separator length as an argument, remove implicit assumption of length 2.CVS: ---------------------------------------------------------------------- svn path=/trunk/; revision=15221
* free up all the book_data list stuff.Chris Toshok2001-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-27 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_destroy): free up all the book_data list stuff. (e_select_names_completion_got_book_view_cb): deal with book_data being passed as the closure, and increment the pending_completion_seq counter. (e_select_names_completion_card_added_cb): deal with book_data being passwd as the closure. (e_select_names_completion_seq_complete_cb): same, and decrement the pending_completion_seq if we haven't gotten one for this book view before. (e_select_names_completion_stop_query): cancel all the book_data's. (e_select_names_completion_start_query): use the books_not_ready counter instead of book_ready. also, do e_book_get_book_view on each of the book's in our list. (e_select_names_completion_do_query): change to deal with our list. (e_select_names_completion_book_ready): decrement the book_not_ready counter. (e_select_names_completion_new): add the book we're created with to our list. (e_select_names_completion_add_book): implement. * gui/component/select-names/e-select-names-completion.h: add prototype for e_select_names_completion_add_book. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_new): use addressbook_config_data, and don't unref the db. (e_select_names_manager_create_entry): always add NULL for a book (which corresponds to the local book), and if the completion_book is present, add it to the list of books to complete again. svn path=/trunk/; revision=14270
* Fixing the license text.Ettore Perazzoli2001-10-281-1/+0
| | | | svn path=/trunk/; revision=14211
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-271-2/+2
| | | | | | explicitly. svn path=/trunk/; revision=14188
* Removed some debugging chatter.Jon Trowbridge2001-07-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Change for new EDestination/ESelectNamesModel API.Jon Trowbridge2001-03-021-0/+65
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