2003-03-18 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names-table-model.c
(e_select_names_table_model_col_count): up the column count by one
for the underline.
(e_select_names_table_model_value_at): add handling for underline.
svn path=/trunk/; revision=20355
2003-03-18 Chris Toshok <toshok@ximian.com>
* gui/component/e-address-popup.c (email_menu_add_option): fix use
of deprecated gtk_menu_append.
(card_picker_selection_changed): change this to be used with the
"changed" signal on GtkTreeSelection.
(free_str): yeah, gross. i know.
(card_picker_init): this needed some fixing, so the strings don't
go away after we insert them into the model. also, connect to the
"changed" GtkTreeSelection signal instead of using the nonexistant
gtk_tree_selection_set_func.
(e_address_popup_construct): gtk_style_unref -> g_object_unref.
(popup_size_allocate_cb): nuke.
(e_address_popup_ambiguous_email_add): use gtk_window_set_position
and let the window manager place the window instead of doing it
ourself.
svn path=/trunk/; revision=20352
2003-03-18 Chris Toshok <toshok@ximian.com>
[ Fixes addressbook bug #39730 ]
* gui/component/ldap-config.glade: add response ids to the search
base dialog.
* gui/component/addressbook-config.c
(addressbook_source_dialog_destroy): use g_object_unref, not
gtk_widget_destroy, on the GladeXML.
(addressbook_add_server_druid): call gtk_window_set_type_hint
GDK_WINDOW_TYPE_HINT_DIALOG so this window looks like a dialog.
(editor_modify_cb): no more apply button.
(edit_dialog_apply_clicked): nuked.
(edit_dialog_close_clicked): rename to _cancal_clicked.
(edit_dialog_ok_clicked): call gtk_widget_destroy here instead of
calling _cancel_clicked.
(addressbook_edit_server_dialog): no more apply button, and
close_button -> cancel_button. Also, set the hint to
GDK_WINDOW_TYPE_HINT_DIALOG.
(ldap_dialog_new): fix compiler warning.
(addressbook_dialog_create_sources_table): same.
svn path=/trunk/; revision=20351
2003-03-18 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names-section.etspec: use
alternating-row-colors="false"
* gui/component/select-names/e-select-names.h: nuke prototypes for
e_select_names_get_source/section.
* gui/component/select-names/e-select-names.c (set_book): remove
the signal disconnect from here.
(addressbook_model_set_uri): same.
(e_select_names_init): connect to the search_result signal on the
addressbook model.
(e_select_names_child_free): disconnect the changed_id signal.
(e_select_names_add_section): set the underline column so the
recipient tables look like they did when they were EEntry.
(e_select_names_add_section): store off the changed_id.
(e_select_names_get_section): nuke.
(e_select_names_get_source): nuke.
svn path=/trunk/; revision=20345
2003-03-18 Not Zed <NotZed@Ximian.com>
* gui/component/select-names/e-select-names.c (set_book,
addressbook_model_set_uri): disconnect/keep track of search result
signal id.
(e_select_names_init): Keep track of various signals, particularly
status signal.
(e_select_names_dispose): disconnect from any signals that are
still active. Fixes crash for #38202.
svn path=/trunk/; revision=20334
2003-03-13 Chris Toshok <toshok@ximian.com>
* gui/contact-editor/e-contact-editor.c
(set_entry_changed_signals): use set_entry_changed_signal_email
for the email entry so the email gets saved out.
(set_entry_changed_signal_email): new function, analogous to
set_entry_changed_signal_phone, but for email.
svn path=/trunk/; revision=20282
2003-03-12 Chris Toshok <toshok@ximian.com>
[ fixes bug #20210 ]
* gui/component/select-names/e-select-names-popup.c
(popup_menu_card): change "Edit Contact Info" to "View Contact
Info", as you can't always edit the contact (if the book is read
only).
(popup_menu_list): same, but for a contact list.
svn path=/trunk/; revision=20270
2003-03-11 Chris Toshok <toshok@ximian.com>
[ fixes bug #39507 ]
* gui/component/select-names/e-select-names.c (search_result): new
function, sync the models after we do a search.
(addressbook_model_set_uri): connect to search_result.
svn path=/trunk/; revision=20260
2003-03-11 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names.c
(e_select_names_init): fix compiler warnings about deprecated
functions.
(e_select_names_child_free): unref the table model.
(remove_address): re-enable.
(section_right_click_cb): this is an ETable callback now.
(e_select_names_add_section): remove a gross gross awful hack, and
make the recipient tables ETables instead EEntry's. We lose the
nice underlining, but we can add that back in as another ETable
style (like strikeout and bold), and we also fix the longstanding
scrolling problems (like bug #25148) and can finally remove
addresses by double clicking on them (which is also a bug
someplace I think.. dunno the # offhand.)
* gui/component/select-names/e-select-names-table-model.c
(clear_info): always set the count to -1, regardless of what
model->data is.
* gui/component/select-names/e-select-names-model.c: remove some
unused enums.
* gui/component/select-names/Makefile.am (etspec_DATA): add
e-select-names-section.etspec
* gui/component/select-names/e-select-names-section.etspec: new
file, spec for the To:/Cc:/Bcc: etable's in the select-names
dialog.
svn path=/trunk/; revision=20259
2003-03-11 Not Zed <NotZed@Ximian.com>
* gui/widgets/e-addressbook-util.c (e_addressbook_send_card_list):
re-enable in build, include e-destination.h. For #39256.
svn path=/trunk/; revision=20229
2003-03-05 Not Zed <NotZed@Ximian.com>
* gui/component/addressbook-component.c (bonobo_main_quit_cb):
removed.
(owner_unset_cb): Basically a noop, the shell does the quit, we
just note we have no owner anymore.
svn path=/trunk/; revision=20164
2003-03-04 JP Rosevear <jpr@ximian.com>
Fixes#37881
* gui/component/select-names/e-simple-card-bonobo.c
(impl_SimpleCard_get): if we get a null value, send back the empty
string
svn path=/trunk/; revision=20159
remove the widget from the container using gtk_container_remove().
This fixes a bunch of crashers in all the places using the
ESelectNames widget/control.
svn path=/trunk/; revision=20127
* gui/contact-editor/Makefile.am: Build libecontacteditor as an
uninstalled shared library.
* gui/contact-list-editor/Makefile.am: Likewise for
libecontactlisteditor
* gui/merging/Makefile.am: and libecardmerging
* gui/search/Makefile.am: and libeaddressbooksearch
* gui/widgets/Makefile.am: and libeminicard
* printing/Makefile.am: and libecontactprint
* gui/component/Makefile.am (libevolution_addressbook_la_LIBADD):
Update for new library names (and get rid of libtool portability
warnings).
svn path=/trunk/; revision=20112
* backend/ebook/e-card.c (e_card_list_send, e_card_send): Remove
these from here; talking to the mailer doesn't really belong at
the libebook level anyway.
* backend/ebook/Makefile.am: Remove Evolution-Composer CORBA
stuff, which fixes some linking problems on OS X.
* gui/widgets/e-addressbook-util.c (e_addressbook_send_card_list,
e_addressbook_send_card): Move from e-card.c and rename.
* gui/widgets/Makefile.am: move Evolution-Composer CORBA stuff
here
* gui/widgets/e-addressbook-view.c (send_as, send_to,
e_addressbook_view_send, e_addressbook_view_send_to): Update for
new function names.
* gui/contact-list-editor/e-contact-list-editor.c (file_send_as_cb,
file_send_to_cb): Likewise
* gui/contact-editor/e-contact-editor.c (file_send_as_cb,
file_send_to_cb): Likewise
svn path=/trunk/; revision=20103
2003-02-27 Chris Toshok <toshok@ximian.com>
* gui/component/addressbook.c (book_open_cb): use g_signal_connect
here, not swapped... although since we pass the widget as the
closure it really doesn't matter.
(load_uri_auth_cb): use a GtkDialog here.
(search_result): same.
* gui/component/select-names/e-simple-card-bonobo.h: add prototype
for e_simple_card_bonobo_construct to fix warning.
* gui/widgets/e-addressbook-view.c (create_alphabet): remove call
to gtk_widget_set_usize.
* gui/contact-editor/e-contact-editor-address.c
(e_contact_editor_address_init): gtk_window_set_policy =>
gtk_window_set_resizable.
* gui/contact-editor/e-contact-editor-fullname.c
(e_contact_editor_fullname_init): same.
svn path=/trunk/; revision=20095
2003-02-26 Chris Toshok <toshok@ximian.com>
* backend/ebook/e-book.c (e_book_load_uri): if we fail to activate
factories for a given protocol, return.
* gui/component/ldap-config.glade: remove the two unused custom
widgets to cut down on gtk warning spam.
svn path=/trunk/; revision=20080
* gui/component/Makefile.am:
* gui/contact-editor/Makefile.am:
* gui/contact-list-editor/Makefile.am:
* gui/search/Makefile.am:
* gui/widgets/Makefile.am:
* printing/Makefile.am: Build the subparts as (noinst) shared
libraries rather than static libraries, so they can be portably
linked into libevolution-addressbook.so
svn path=/trunk/; revision=19963
2003-02-19 Chris Toshok <toshok@ximian.com>
[ fix#38074 ]
* gui/component/e-address-popup.c (add_contacts_cb): first arg is
a GtkWidget. duh.
svn path=/trunk/; revision=19952
2003-02-17 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names-completion.c
(e_select_names_completion_start_query): if we can complete solely
from our cached cards, call e_completion_end_search from here when
we're done.
svn path=/trunk/; revision=19925
2003-02-16 Chris Toshok <toshok@ximian.com>
* gui/widgets/e-addressbook-reflow-adapter.c (unlink_model):
disconnect search_started and search_result.
(addressbook_compare): if we're loading, just compare model
positions (so we just append while loading).
(remove_card): use e_reflow_model_item_removed.
(search_started): new function, set loading = TRUE.
(search_result): new function, set loading = FALSE and emit
"comparison_changed".
(e_addressbook_reflow_adapter_init): init loading and the new
signal ids.
(e_addressbook_reflow_adapter_construct): connect "search_started"
and "search_result".
* gui/widgets/e-addressbook-model.h (struct
_EAddressbookModelClass): add search_started signal.
* gui/widgets/e-addressbook-model.c
(e_addressbook_model_class_init): new signal "search_started".
(book_view_loaded): emit "search_started" after "model_changed".
(remove_card): simplify this, and use CARD_REMOVED all the time,
instead of just in the single card case.
svn path=/trunk/; revision=19916
2003-02-10 Chris Toshok <toshok@ximian.com>
[ fixes bug #33066 ]
* gui/contact-editor/e-contact-editor.c
(set_urlentry_changed_signal_field): new function
(set_entry_changed_signals): call
set_urlentry_changed_signal_field for entry-web, entry-caluri, and
entry-fburl.
(fill_in_field): add handling for EUrlEntry's.
(extract_field): same.
(enable_widget): same.
(e_contact_editor_create_date): show the widget.
(e_contact_editor_create_web): same, create a url entry.
(set_urlentry_changed_signal_field): new function
* gui/contact-editor/contact-editor.glade: entry-web,
entry-caluri, and entry-fburl are all custom widgets now.
svn path=/trunk/; revision=19879
2003-02-09 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names-completion.c
(sexp_initials): gone.
(match_initials): gone.
(book_query_sexp): remove the primary handling.
(book_query_score): same.
* backend/ebook/e-card.c (e_card_set_property):
g_value_get_pointer => g_value_get_object for "category_list".
* backend/ebook/e-book.c (struct _EBookPrivate): add a comment.
* backend/pas/pas-backend-ldap.c (func_beginswith): performance at
the cost of a tiny bit of correctness. If the ldap server doesn't
support evolutionPerson don't query on fileAs, use sn (since
that's effectively what gets used in the display when fileAs isn't
supported.)
svn path=/trunk/; revision=19863
2003-02-09 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names-completion.c: lots of
changes here. should be a big performance gain. god i hope this
is finally right.
svn path=/trunk/; revision=19860
2003-02-08 Chris Toshok <toshok@ximian.com>
[ huge change, all for 1 little performance problem :) fixes#18207 ]
* gui/widgets/e-addressbook-model.c (get_view): use
e_book_check_static_capability here to make things a little
prettier.
(remove_card): complain about my life, and add code to use one
"model_changed" signal if we get back a list of cards instead of
multiple "card_removed" signals.
* gui/widgets/e-addressbook-model.h: little clean up.
* gui/widgets/e-addressbook-view.c (delete): write a bulk-remove
case for this. if the backend supports it, send all the ids at
once. otherwise loop over the ids.
(e_addressbook_view_delete_selection): fake a CardAndBook
structure and call delete, instead of duplicating the code in 2
places.
* gui/component/addressbook.c (delete_contact_cb): don't call
e_contact_editor_confirm_delete here, it's handled by the
EAddressbookView.
* backend/pas/pas-card-cursor.c (pas_card_cursor_construct): fix a
compiler warning about a stupid crash.
* backend/pas/pas-book.h (PASOperation): RemoveCard ->
RemoveCards.
(PASRemoveCardsReques): char *id -> GList *ids.
(PASRequest): PASRemoveCardRequest -> PASRemoveCardsRequest.
* backend/pas/pas-book.c (pas_book_queue_remove_cards): build up a
GList from the id sequence.
(pas_book_respond_remove): notifyCardRemoved ->
notifyCardsRemoved.
(impl_GNOME_Evolution_Addressbook_Book_removeCards): rename.
(pas_book_free_request): free the idlist for RemoveCards.
(pas_book_class_init): removeCard -> removeCards.
* backend/pas/pas-book-view.h: change prototype for
pas_book_view_notify_remove, and add prototype for
pas_book_view_notify_remove_1.
* backend/pas/pas-book-view.c (pas_book_view_notify_remove_1):
build up a list and call pas_book_view_notify_remove.
(pas_book_view_notify_remove): build up the corba id sequence and
call BookViewListener::notifyCardsRemoved.
* backend/pas/pas-backend.h: remove_card -> remove_cards.
* backend/pas/pas-backend.c (pas_backend_remove_cards): rename
from _remove_card.
(process_client_requests): RemoveCard -> RemoveCards and
_remove_card -> _remove_cards.
* backend/pas/pas-backend-ldap.c (check_schema_support):
g_strcasecmp -> g_ascii_strcasecmp.
(remove_card_handler): _remove => _remove_1.
(modify_card_modify_handler): same.
(pas_backend_ldap_process_remove_cards): rename from _remove_card.
(pas_backend_ldap_class_init): _remove_card -> _remove_cards.
* backend/pas/pas-backend-file.c (pas_backend_file_class_init):
remove_card -> remove_cards.
(pas_backend_file_get_static_capabilities): add "bulk-removes".
(pas_backend_file_process_remove_cards): rewrite this function
largely, so that it handles lists of ids. first we loop through
and for every successful deletion we build a list of deleted
ECards. Then for each view we build a list (a subset of the
deleted ECard list) and pass back that list to the view.
(pas_backend_file_process_modify_card): use _remove_1 instead of
_remove.
(ecard_matches_search): new function.
* backend/pas/pas-backend-card-sexp.c
(pas_backend_card_sexp_match_vcard): rewrite in terms of
_match_ecard.
(pas_backend_card_sexp_match_ecard): new function, the guts from
_match_vcard.
* backend/pas/pas-backend-card-sexp.h: add prototype for
pas_backend_card_sexp_match_ecard.
* backend/idl/addressbook.idl: the card removal stuff now takes
CardIdList.
* backend/ebook/e-book.c (e_book_get_static_capabilities): cache
successful capability queries (since they're static).
(e_book_check_static_capability): new, convenience function to
check if a particular capability is supported.
(e_book_remove_card_by_id): build a single element GList and call
e_book_remove_cards.
(e_book_remove_cards): build up a CORBA sequence from the GList
and call Book::removeCards.
(e_book_dispose): free the cached capabilities string.
* backend/ebook/e-book.h: add new prototypes for
e_book_check_static_capability and e_book_remove_cards.
* backend/ebook/e-book-view.h (struct _EBookViewClass): rename
"card_removed" signal to "cards_removed".
* backend/ebook/e-book-view.c (e_book_view_do_removed_event): id
-> ids, and free the id list.
(e_book_view_check_listener_queue): CardRemovedEvent ->
CardsRemovedEvent.
* backend/ebook/e-book-view-listener.c
(e_book_view_listener_queue_response): free the id list.
(e_book_view_listener_queue_idlist_event): new function, used for
cards_removed.
(e_book_view_listener_queue_status_event): id -> ids.
(e_book_view_listener_queue_sequence_event): same.
(e_book_view_listener_queue_message_event): same.
(impl_BookViewListener_notify_cards_removed): call
queue_idlist_event.
(e_book_view_listener_dispose): free the id list.
(e_book_view_listener_class_init): track change to idl call.
* backend/ebook/e-book-view-listener.h
(EBookViewListenerOperation): CardRemovedEvent ->
CardsRemovedEvent.
(EBookViewListenerResponse): char *id -> GList *ids.
* backend/ebook/e-book-listener.c
(impl_BookListener_respond_r
svn path=/trunk/; revision=19854
2003-02-06 Chris Toshok <toshok@ximian.com>
* gui/component/e-address-popup.c (email_table_save_card_cb):
check the status, not the book, and unref the book here.
(contact_editor_cb): same.
(start_query): unref the book in the failure case.
(add_card_idle_cb): addressbook_load_default_book returns void
now.
(edit_contact_info_cb): same.
(e_address_popup_query): same.
* gui/component/addressbook.c (control_activate_cb): track change
to addressbook_load_uri return type.
(set_prop): same.
(addressbook_load_uri): return type is void now.
(addressbook_load_default_book): same.
* gui/component/addressbook.h:
addressbook_load_uri/addressbook_load_default_book return void
now.
* conduit/address-conduit.c (start_addressbook_server):
e_book_load_default_book returns void now.
* backend/ebook/e-book-util.h: track changes to return types.
* backend/ebook/e-book-util.c (e_book_load_address_book_by_uri):
fallout from change to e_book_load_uri. return type for this
function is void now too.
(e_book_use_address_book_by_uri): same.
(e_book_use_default_book): same.
(e_book_load_default_book): same.
(got_uri_book_cb): if unsuccessful and book is non-NULL, unref it
here.
(got_default_book_cb): same.
* backend/ebook/e-book.c (e_book_load_uri): no longer return a
gboolean. any error is communicated to the callback.
* backend/ebook/e-book.h: e_book_load_uri no longer returns a
gboolean (it's void.)
* backend/ebook/evolution-ldif-importer.c (ebook_create): track
change to the e_book_load_uri family of functions.
* backend/ebook/test-client-list.c (ebook_create): same.
* backend/ebook/test-client.c (ebook_create): same.
* backend/ebook/load-pine-addressbook.c (ebook_create): same.
* backend/ebook/evolution-vcard-importer.c (ebook_create): same.
svn path=/trunk/; revision=19839
* backend/ebook/Makefile.am (e-book-marshal.c, e-book-marshal.h):
Use different tmp file names so these rules can be executed in
parallel without interfering with each otehr.
* backend/pas/Makefile.am: Make the ORBit compilation work
properly with parallel makes (i.e. make sure it does not spawn
multiple orbit-idl processes on the same IDL file at the same
time).
* gui/component/select-names/Makefile.am: Likewise.
* backend/ebook/Makefile.am: Likewise.
svn path=/trunk/; revision=19834