aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/select-names/e-select-names-text-model.c
Commit message (Collapse)AuthorAgeFilesLines
* Clean up #includes. Replace <gnome.h>, <bonobo.h> and <gtk/gtk.h> withKjartan Maraas2001-03-301-1/+2
| | | | | | | | | 2001-03-29 Kjartan Maraas <kmaraas@gnome.org> * *.*: Clean up #includes. Replace <gnome.h>, <bonobo.h> and <gtk/gtk.h> with more finegrained headers where needed. svn path=/trunk/; revision=9026
* add is_read_only param.Chris Toshok2001-03-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-12 Chris Toshok <toshok@ximian.com> * gui/widgets/e-minicard.c (supported_fields_cb): add is_read_only param. * gui/widgets/e-minicard-view.c (supported_fields_cb): add is_read_only param. * gui/widgets/e-addressbook-view.c (supported_fields_cb): add is_read_only param. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_activate_obj): add is_read_only param. also, include a little policy here and make it TRUE, as the user shouldn't be editting in this context anyway (imo). * gui/component/addressbook.c (supported_fields_cb): add is_read_only param. * contact-editor/test-editor.c (main): add is_read_only param. * contact-editor/e-contact-editor.c (set_read_only): new function, that either enables or disables all the text fields, combo boxes, and some buttons, depending on the state of is_read_only. (e_contact_editor_class_init): add read/write arg "is_read_only". (full_name_clicked): set the is_read_only of the fullname dialog to the editor's. (full_addr_clicked): same. (e_contact_editor_new): add is_read_only param, that gets set along with the other params. (e_contact_editor_set_arg): add setter for is_read_only. (e_contact_editor_get_arg): add getter for is_read_only. (_phone_arrow_pressed): change TRUE to !editor->is_read_only for entry. (_email_arrow_pressed): same. (_address_arrow_pressed): same. (enable_writable_fields): same. * contact-editor/e-contact-editor-fullname.c (e_contact_editor_fullname_class_init): add read/write arg "is_read_only". (e_contact_editor_fullname_set_arg): add setter for is_read_only that enables/disables all the entries/combos. (e_contact_editor_fullname_get_arg): add getter for is_read_only. * contact-editor/e-contact-editor-fullname.h (struct _EContactEditorFullname): add is_read_only flag. * contact-editor/e-contact-editor-address.c (e_contact_editor_address_class_init): add read/write arg "is_read_only". (e_contact_editor_address_set_arg): add setter for is_read_only that disables/enables all the entries/combos. (e_contact_editor_address_get_arg): add getter for is_read_only. * contact-editor/e-contact-editor-address.h (struct _EContactEditorAddress): add is_read_only flag. svn path=/trunk/; revision=8662
* Switched to use e_contact_quick_add_free_form. Removed debugging code,Jon Trowbridge2001-03-091-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-08 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-popup.c (quick_add_cb): Switched to use e_contact_quick_add_free_form. Removed debugging code, hopefully without introducing any bugs in the process. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): Fix bug with commas inside of name/address combos. As long as the comma is inside of quotes, it will be treated as part of the name rather than as a break between addresses. * gui/component/select-names/e-select-names-completion.c (match_nickname): Use e_card_name_to_string for nickname match strings. (match_email): Use e_card_name_to_string for email match strings. (e_select_names_completion_begin): Strip quotes out of query text, so we don't produce malformed sexps. Added William Blake quote easter egg. * contact-editor/e-contact-quick-add.c: Further attempts to fix... mostly unsuccessful. (e_contact_quick_add_free_form): Added. Takes a single string and tries to parse out (using some simple, loose rules) the name and e-mail -- then calls e_contact_quick_add. An attempt to get the computer to automatically Do The Right Thing. * backend/ebook/e-book.c: Fixed some broken indentation. Yes, I'm anal. * gui/component/GNOME_Evolution_Addressbook.oafinfo: Added oaf_server info for EAddressWidget. * gui/component/GNOME_Evolution_Addressbook.oaf.in: Added oaf_server info for EAddressWidget. * gui/component/addressbook-factory.c (main): Add call to e_address_widget_factory_init. * gui/component/e-address-widget.h: * gui/component/e-address-widget.c: Added. A little widget (and a Bonobo control, BTW) for displaying addresses, with a left-click menu. Used to display addresses in the mail viewer (as embedded GtkHTML objects, replacing the text previously used). Still quite incomplete. 2001-03-08 Jon Trowbridge <trow@ximian.com> * mail-format.c (write_field_row_begin): Added. Table row HTML broken out into its own function. (write_subject): Added. Emits the proper HTML for the subject line. (write_field_to_stream): #ifdef-ed out of existence. (write_address): Take a CamelInternetAddress and spit out an <object> tag with the appropriate <param>s. * mail-display.c (on_object_requested): Check for an "address" object. If found, call... (handle_embedded_address_object): ...this function, which creates an AddressWidget bonobo control and passes in the necessary info. I never really realized just quite how much GtkHTML kicks ass until I figured out how to make this work. svn path=/trunk/; revision=8607
* Fix glitch with inserting comma-delimited stuff when length > 1.Jon Trowbridge2001-03-071-0/+2
| | | | | | | | | | 2001-03-06 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): Fix glitch with inserting comma-delimited stuff when length > 1. svn path=/trunk/; revision=8571
* Cleaned up the formatting in this file a bit.Christopher James Lahey2001-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-04 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c: Cleaned up the formatting in this file a bit. * contact-editor/e-contact-editor.c (e_contact_editor_set_arg): Made it so that passing in NULL to the writable_fields arg sets the set of writable fields to the empty set. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_activate_obj): Pass NULL as the writable_fields argument here. * gui/widgets/e-addressbook-model.c: Don't offset by one here. This way we will get the file_as field as one of our ETableColumns. * gui/widgets/e-addressbook-view.c (SPEC): Updated this for the changes in ECardSimple. * gui/widgets/e-minicard.c (remodel): Don't remodel if the item isn't realized. svn path=/trunk/; revision=8538
* track change to e_contact_editor_new.Chris Toshok2001-03-021-1/+1
| | | | | | | | | | 2001-03-02 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_activate_obj): track change to e_contact_editor_new. svn path=/trunk/; revision=8518
* Oops, we do need to be able to write to "text" after all (for things likeJon Trowbridge2001-03-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | 2001-03-01 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-bonobo.c (entry_set_property_fn): Oops, we do need to be able to write to "text" after all (for things like Reply-to: to work properly). Fixed. (impl_SelectNames_get_entry_for_section): Made "text" a writeable property again. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): Increment pos so that we don't reverse strings when length > 1 (a particularly amusing bug). * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_destroy): Check for NULL before calling gtk_object_unref (GTK_OBJECT (---)), to get rid of annoying error messages. svn path=/trunk/; revision=8512
* Change for new EDestination/ESelectNamesModel API.Jon Trowbridge2001-03-021-270/+527
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Made this pay attention to the return value of e_sexp_parse.Christopher James Lahey2001-02-221-2/+3
| | | | | | | | | | | | | 2001-02-21 Christopher James Lahey <clahey@ximian.com> * backend/pas/pas-backend-file.c (pas_backend_file_search): Made this pay attention to the return value of e_sexp_parse. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_activate_obj): Fixed a const inconsistency here. svn path=/trunk/; revision=8321
* When creating the entry, open up an ebook (corresponding to the localJon Trowbridge2001-02-201-16/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-19 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_create_entry): When creating the entry, open up an ebook (corresponding to the local addressbook) and make the entry use an EAddressCompletion. (completion_handler): Added; this is the actual completion handler, which manipulates the entry when the user selects something from the drop-down. * gui/component/select-names/e-select-names-model.c: Various hacks by clahey to unbreak e_select_names_model_add_item, e_select_names_model_replace_item (which I added) and e_select_names_model_remove_item. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_obj_count, e_select_names_text_model_get_nth_obj): Make chunks of text that correspond to ECards in the ESelectNamesModel be embedded objects. (e_select_names_text_model_activate_obj): On activation, pop up a contact editor for the embedded object's card. (e_select_names_text_model_model_changed): Fixed to work with ETextModel API changes. (e_select_names_text_model_set_text): Make const correct. (e_select_names_text_model_insert): Make const correct. (e_select_names_text_model_insert_length): Make const correct. * backend/ebook/e-address-completion.h, backend/ebook/e-address-completion.c: Added. EAddressCompletion is a derived class of ECompletion that does asynchronous address lookups for completions. svn path=/trunk/; revision=8282
* Removed unused do_nothing_cb function.Christopher James Lahey2000-07-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-09 Christopher James Lahey <clahey@helixcode.com> * gui/component/addressbook.c: Removed unused do_nothing_cb function. * gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-manager.h: Made the OK and Cancel buttons in the ESelectNames dialog we create work properly. * gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-model.h: Added e_select_names_model_duplicate. * gui/component/select-names/e-select-names-text-model.c: Made the text be set correctly if there's already data in the source when the text model is created. * gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h: Removed handling of the buttons (the user of this dialog will have to handle them.) Added e_select_names_get_source. Fixed some typos. svn path=/trunk/; revision=4007
* Include e-select-names-factory.h.Christopher James Lahey2000-07-091-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-08 Christopher James Lahey <clahey@helixcode.com> * gui/component/addressbook-factory.c: Include e-select-names-factory.h. * gui/component/select-names/e-select-names-model.c: Handle a NULL iterator properly in the replace function. * gui/component/select-names/e-select-names-table-model.c: Fill in info properly in the value_at function. * gui/component/select-names/e-select-names-text-model.c: Don't strlen a NULL text object. * gui/component/select-names/e-select-names.c: Close if the person hits ok or cancel (doesn't yet actually undo changes if Cancel is hit.) Handle removing addresses when they're double clicked on. * gui/component/select-names/select-names.glade, gui/component/select-names/select-names.glade.h: Hid some unused fields and changed the text at the top of the dialog. svn path=/trunk/; revision=3989
* Make the entry widgets we create editable.Christopher James Lahey2000-07-081-9/+31
| | | | | | | | | | | | | | | | | | | | | | | 2000-07-07 Christopher James Lahey <clahey@helixcode.com> * gui/component/select-names/e-select-names-manager.c: Make the entry widgets we create editable. * gui/component/select-names/e-select-names-model.c: Use e_strsplit instead of g_strsplit. Fixed an off by 1 error. * gui/component/select-names/e-select-names-table-model.c: When the model changes, send a model changed signal. * gui/component/select-names/e-select-names-text-model.c: Made changing this work correctly if it's empty. Made change signals propagate properly. Is a bit better about freeing iterators when done. * gui/component/select-names/e-select-names.c: Made the finished lists be in order instead of being sorted. svn path=/trunk/; revision=3955
* Since ELDAPServer->port is a char *, allocate a string with the number 389Christopher James Lahey2000-07-081-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-07 Christopher James Lahey <clahey@helixcode.com> * gui/component/addressbook.c (new_server_cb): Since ELDAPServer->port is a char *, allocate a string with the number 389 contained. * gui/component/addressbook.c: Make the select names test test the new code instead of the old way of getting to an ESelectNames dialog. * gui/component/select-names/e-select-names-manager.c: Coded storing the model for each section, creating an entry and returning it, and for activating the dialog. Wrote a bit of the get_cards code, but not all of it. * gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-model.h: Coded all of the code needed to make ESelectNamesTextModel work (it doesn't yet, but all the code should be there.) Removed E_SELECT_NAMES_MODEL_DATA_TYPE_SEPARATION_MATERIAL. * gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-text-model.c: Changed these to compensate for removal of E_SELECT_NAMES_MODEL_DATA_TYPE_SEPARATION_MATERIAL. * gui/component/select-names/e-select-names-table-model.h, gui/component/select-names/e-select-names-text-model.h: Fixed some silly typos. * gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h: Added a parameter to add_section that lets you specify the source ESelectNamesModel. svn path=/trunk/; revision=3948
* Changed "FIXME: Save and Close" to "Save and Close". Removed some toolbarChristopher James Lahey2000-07-061-4/+60
| | | | | | | | | | | | | | | | | | | | | | 2000-07-06 Christopher James Lahey <clahey@helixcode.com> * contact-editor/e-contact-editor.c: Changed "FIXME: Save and Close" to "Save and Close". Removed some toolbar items that will never be used. * gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-model.h: Added functions to allow you to modify the model (not implemented yet.) * gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-table-model.h: Finished this. Doesn't support changing the model at all. * gui/component/select-names/e-select-names-text-model.c: Finished this. Changing the model by typing is done, but doesn't work since none of the functions in the base model are implemented. svn path=/trunk/; revision=3918
* Fixed more compile errors.Christopher James Lahey2000-07-041-0/+2
| | | | | | | | | | | 2000-07-03 Christopher James Lahey <clahey@helixcode.com> * gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-text-model.c, gui/component/select-names/e-select-names.c: Fixed more compile errors. svn path=/trunk/; revision=3878
* Removed e-card-iterator.c, e-card-iterator.h, e-card-list-iterator.c,Christopher James Lahey2000-07-041-0/+263
2000-07-03 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am: Removed e-card-iterator.c, e-card-iterator.h, e-card-list-iterator.c, e-card-list-iterator.h, e-card-list.c, e-card-list.h. * backend/ebook/e-card-iterator.c, backend/ebook/e-card-iterator.h, backend/ebook/e-card-list-iterator.c, backend/ebook/e-card-list-iterator.h, backend/ebook/e-card-list.c, backend/ebook/e-card-list.h: Removed in favor or versions without the -card in the e-util directory since these classes are not specific to cards at all. * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h, backend/ebook/e-card.c, backend/ebook/e-card.h, backend/ebook/load-pine-addressbook.c, backend/ebook/test-card.c, backend/pas/pas-backend-file.c: Changed the references to e-card-list.c and friends to e-list.c and friends. * contact-editor/e-contact-editor.c: Added #include <e-contact-save-as.h> to fix a warning. * gui/component/Makefile.am: Moved a number of classes associated with the select-names object to the new select-names directory. * gui/component/addressbook.c: Changed the reference to e-select-names.h. * gui/component/e-select-names.c, gui/component/e-select-names.h, gui/component/select-names.glade, gui/component/select-names.glade.h: Moved these files into select-names/. * gui/component/select-names/.cvsignore, gui/component/select-names/Makefile.am, gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-manager.h, gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-model.h, gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-table-model.h, gui/component/select-names/e-select-names-text-model.c, gui/component/select-names/e-select-names-text-model.h, gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h, gui/component/select-names/recipient.glade, gui/component/select-names/select-names.glade, gui/component/select-names/select-names.glade.h: New files for select names dialog (e-select-names.c, e-select-names.h, select-names.glade, select-names.glade.h and recipient.glade moved from gui/component/.) svn path=/trunk/; revision=3876