2002-01-11 Christopher James Lahey <clahey@ximian.com>
* gui/component/addressbook.c (alphabet_state_changed): Handle
setting the search bar to "Advanced..." when the alphabet buttons
are pushed and back when they're cleared. Fixes Ximian bug
#12904.
(addressbook_menu_activated): When the user calls Search->clear,
set the search to ESB_ANY and "", don't just set the text. This
is especially useful when it's set to ESB_ADVANCED.
* gui/widgets/e-addressbook-view.c,
gui/widgets/e-addressbook-view.h (alphabet_state_change): Added
this signal which gets emitted when the alphabet buttons are
pushed.
(command_state_change): Removed the ref pair here. It's not
necessary. gtk_signal_emit refs the object itself.
svn path=/trunk/; revision=15295
2002-01-09 Christopher James Lahey <clahey@ximian.com>
* gui/contact-editor/e-contact-editor.c (set_fields): Choose the
first filled in address field here. Fixes Ximian bug #2222.
svn path=/trunk/; revision=15280
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
2001-12-18 JP Rosevear <jpr@ximian.com>
* conduit/address-conduit.c (check_for_slow_setting): go slow and
clear the map if the last uri and the current uri do not match
(post_sync): save the last uri
* conduits/address-conduit-config.h: handle a last uri config
option
2001-12-18 Chris Toshok <toshok@ximian.com>
* gui/component/addressbook.c (addressbook_default_book_open):
change this to match its e-book counterpart, and only failover to
the local addressbook if the protocol wasn't supported. that way
errors like "failure to connect" are still reported to the user.
* backend/ebook/e-book-util.h: add prototypes for
e_book_load_default_book and e_book_get_config_database.
* backend/ebook/e-book-util.c (e_book_default_book_open): new
function, basically cut and paste addressbook_default_book_open
from addressbook.c here.
(e_book_load_default_book): cut and past
addressbook_load_default_book here, pretty much, except leave off
the auth stuff.
(e_book_get_config_database): new function, returns the
Bonobo_ConfigDatabase for e_book_load_default_book to use.
* conduit/address-conduit.c (start_addressbook_server): use
e_book_load_default_book here.
svn path=/trunk/; revision=15178
2001-12-17 Chris Toshok <toshok@ximian.com>
[ fixes bug 17355 ]
* gui/component/select-names/e-select-names.c (new_folder): if
we're dealing with an LDAP folder, prepend [LDAP] to it. Now that
we have 3 different places where folders are coming from, it helps
to be able to differentiate "Contacts" in ~/evolution and a
"Contacts" ldap server and a "Contacts" exchange folder.
(add_additional_select_names_uris): loop through the bonobo conf
settings for additional folders, adding them to the option menu.
(e_select_names_hookup_shell_listeners): call
add_additional_select_names_uris.
svn path=/trunk/; revision=15143
2001-11-28 Christopher James Lahey <clahey@ximian.com>
* gui/widgets/e-minicard-view-widget.c
(e_minicard_view_widget_realize): Use an #ECanvasBackground here
instead of a #GnomeCanvasRect.
svn path=/trunk/; revision=15130
2001-12-16 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-completion.c: Added
'cache_complete' flag to ESelectNamesCompletionPrivate.
(e_select_names_completion_seq_complete_cb): Set cache_complete
to TRUE if our query wasn't interrupted.
(e_select_names_completion_start_query): Set cache_complete to
FALSE at the beginning of a potentially-cached query.
(e_select_names_completion_do_query): Only reuse cached cards
if cache_complete is TRUE. (Fixes bug #10241)
svn path=/trunk/; revision=15096
2001-12-07 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-manager.c
(e_select_names_manager_entry_new): Remove a reference to code
I don't want to commit yet. :-)
svn path=/trunk/; revision=14935
2001-12-07 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-manager.c: Extensively
refactored -- this code had gotten _really_ ugly. Untangle things
to the point where our reference counting problems are fixable.
* gui/component/select-names/e-select-names-bonobo.c
(impl_destroy): Remove all of the ugly hacks to work around our
memory management problems, and just unref the manager.
(Fixes#14412)
svn path=/trunk/; revision=14934
2001-12-05 Chris Toshok <toshok@ximian.com>
* gui/contact-editor/e-contact-editor.c (enable_writable_fields):
we need to be able to disable non-labels here as well. since
we're using enable_widget and not gtk_widget_set_sensitive, it's
okay to handle entries/text's, etc, here.
(widget_field_mappings): add label-caluri and label-fburl here.
* gui/contact-editor/contact-editor.glade: change the label names
for the freebusy/calendar urls to have more descriptive names,
since we use them in e-contact-editor.c now.
* backend/pas/pas-backend-ldap.c: add support for
caluri/calendarURI, fburl/freeBusyURI.
* backend/pas/evolutionperson.schema: add calendarURI and
freeBusyURI.
svn path=/trunk/; revision=14908
2001-12-04 Christopher James Lahey <clahey@ximian.com>
* gui/contact-editor/contact-editor.glade: Fixed up the
accelerators and such here.
* gui/contact-editor/e-contact-editor.c (file_save_as_cb):
Translate this string.
(pixmaps): Added a pixmap for the ContactEditorSaveClose command.
(setup_tab_order): Fixed up the tab order here.
* gui/contact-editor/fulladdr.glade: Made the country combo
focusable here.
svn path=/trunk/; revision=14895
2001-12-03 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-manager.c (focus_out_cb): Clean
ESelectNamesModel on focus-out. (Half of a fix for 15656)
* backend/ebook/e-destination.c (nonempty): Fix this function
and make it utf8-safe. (The other half of the fix for 15656)
svn path=/trunk/; revision=14855
2001-11-28 Christopher James Lahey <clahey@ximian.com>
* gui/contact-list-editor/e-contact-list-editor.c: Consistency
fixes with standard contact editor. Added Save As, Send As, and
Send To. Replaced Save toolbar with Save and Close and added Save
and Close menu item. Added a trash icon.
svn path=/trunk/; revision=14844
2001-11-28 Christopher James Lahey <clahey@ximian.com>
* gui/contact-editor/e-contact-editor-address.c (setup_tab_order):
Setup the tab order here. Fixes Ximian bug #13751.
svn path=/trunk/; revision=14840
2001-11-28 Christopher James Lahey <clahey@ximian.com>
* gui/component/addressbook.c (connect_master_list_changed,
make_suboptions): Changed how this list of categories gets
computed. Fixes Ximian bugs #7707 and #7708.
svn path=/trunk/; revision=14838
2001-11-12 Jon Trowbridge <trow@ximian.com>
* gui/contact-list-editor/e-contact-list-editor.c (list_added_cb):
Release callback's reference to EContactListEditor.
(list_modified_cb): Release callback's reference to
EContactListEditor.
(save_card): Ref the EContactListEditor on behalf of the
e_book_foo callback. (Fixes bug #14743)
(save_card): Set changed to false once we've saved.
(list_deleted_cb): Release callback's reference.
(delete_cb): Hold reference for the callback.
svn path=/trunk/; revision=14673
2001-11-12 Jon Trowbridge <trow@ximian.com>
* gui/contact-editor/e-contact-editor.c (categories_clicked): If
our call to e_categories_new returns NULL, put up an error dialog
and return. (Fixed#14780)
svn path=/trunk/; revision=14672
2001-11-09 Chris Toshok <toshok@ximian.com>
[ Fixes Ximian bug #14646 ]
* gui/component/addressbook.c (addressbook_default_book_open): new
function. if the default_book failed to load, load the local
addressbook in its place.
addressbook_load_default_book): if we're loading the default_book
uri, use addressbook_default_book_open as the open_response.
* backend/ebook/e-book.c (e_book_load_uri_step): reset the
load_state to NotLoaded so we can attempt another load_uri on
the book if it fails.
svn path=/trunk/; revision=14654
2001-11-08 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-bonobo.c
(impl_destroy): Explicitly destroy entries. Part of the fix for
the lingering completion window bug.
svn path=/trunk/; revision=14628
2001-11-03 Chris Toshok <toshok@ximian.com>
[ Fixes Ximian bug #14410 ]
* gui/contact-editor/e-contact-editor.c (e_contact_editor_init):
init in_async_call to FALSE.
(card_added_cb): turn the UI back on and set in_async_call to
FALSE.
(card_modified_cb): same.
(card_deleted_cb): same.
(save_card): turn off the UI by setting the dialog insensitive,
and set in_async_call to TRUE.
(delete_cb): same.
(app_delete_event_cb): if we're in an async call don't let the
window get deleted.
* gui/contact-editor/e-contact-editor.h (struct _EContactEditor):
add in_async_call flag for when we make a wombat call and need to
disable the UI.
* gui/contact-list-editor/e-contact-list-editor.c
(e_contact_list_editor_init): init in_async_call to FALSE.
(list_added_cb): turn the UI back on and set in_async_call to
FALSE.
(list_modified_cb): same.
(list_deleted_cb): same.
(save_card): turn off the UI by setting the dialog insensitive,
and set in_async_call to TRUE.
(delete_cb): same.
(app_delete_event_cb): if we're in an async call don't let the
window get deleted.
* gui/contact-list-editor/e-contact-list-editor.h (struct
_EContactListEditor): add in_async_call flag for when we make a
wombat call and need to disable the UI.
svn path=/trunk/; revision=14582
2001-11-02 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-bonobo.c
(impl_destroy): Leak select-names related data structures until
the memory management issues get sorted out. Fixed bug #14086.
svn path=/trunk/; revision=14578
2001-10-31 Christopher James Lahey <clahey@ximian.com>
* gui/component/e-cardlist-model.c,
gui/component/select-names/e-select-names-table-model.c,
gui/widgets/e-addressbook-table-adapter.c: Make the pre_changes
and changes match here.
svn path=/trunk/; revision=14526
2001-10-31 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names.c
(e_select_names_destroy): Check that local_listener and
other_contacts_listener are non-NULL before
disconnecting/unrefing.
* gui/component/select-names/e-select-names-manager.c
(entry_destroyed): The entry shouldn't unref the manager.
(e_select_names_manager_create_entry): The entry shouldn't hold a
ref to the manager. It becomes circular.
(e_select_names_manager_create_entry): On the other hand, we
should hold a ref to the entry we create.
* gui/component/select-names/e-select-names-bonobo.c
(impl_destroy): Remove the explicit dialog destroy hack.
svn path=/trunk/; revision=14519
2001-10-30 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-bonobo.c
(impl_destroy): Force the select names dialog to be destroyed.
This is a hack to fix bug #14002 -- I'll clean up the refcounting
issues post-freeze. At least now it won't crash.
svn path=/trunk/; revision=14495
2001-10-29 Chris Toshok <toshok@ximian.com>
* gui/widgets/e-addressbook-util.c
(e_addressbook_prompt_save_dialog): new function, a "Do you want
to save changes?" dialog.
* gui/widgets/e-addressbook-util.h: add prototype for
e_addressbook_prompt_save_dialog.
* gui/contact-editor/e-contact-editor.c (prompt_to_save_changes):
call e_addressbook_prompt_save_dialog and save the card if they
select save. return TRUE if the dialog should be closed, FALSE
otherwise.
(file_close_cb): check prompt_to_save_changes before closing the
dialog.
(app_delete_event_cb): same.
* gui/contact-list-editor/e-contact-list-editor.c
(prompt_to_save_changes): call e_addressbook_prompt_save_dialog
and save the card if they select save. return TRUE if the dialog
should be closed, FALSE otherwise.
(file_close_cb): check prompt_to_save_changes before closing the
dialog.
(app_delete_event_cb): same.
svn path=/trunk/; revision=14414
2001-10-29 Jon Trowbridge <trow@ximian.com>
* gui/component/addressbook.c (update_command_state): Check that
our BonoboUIComponent has a container so we don't get a lot of
annoying debug spew.
* printing/smallbook.ecps: Fixed fonts.
* printing/phonelist.ecps: Fixed fonts.
* printing/medbook.ecps: Fixed fonts.
* printing/e-contact-print.c (e_contact_get_card_size): Commented
out spew.
* gui/widgets/e-minicard.c (remodel): Check that e_minicard->card
!= NULL.
svn path=/trunk/; revision=14391
2001-10-29 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-completion.c
(e_select_names_completion_destroy): We were using
book_data->book_view immediately after unrefing it. Reordered the
code a bit to avoid this.
svn path=/trunk/; revision=14382
2001-10-29 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-completion.c
(make_match): Drop a match if either of the text fields is NULL.
This could happen if any of the utf-8 involved is invalid, for
example. (Bug #13757)
svn path=/trunk/; revision=14365
2001-10-29 Christopher James Lahey <clahey@ximian.com>
* backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h
(e_card_simple_get): Handle returning dates here.
(e_card_simple_get_allow_newlines): New function. Returns whether
it makes much sense to have newlines in this string.
* gui/component/addressbook-config.c,
gui/component/addressbook-config.h
(addressbook_create_new_source): The first argument here should
be const.
* gui/component/addressbook-storage.c: Added #include
"addressbook-config.h".
* gui/widgets/e-minicard-label.c (e_minicard_label_event): On an
escape here, cancel editing and remove the focus from the text.
* gui/widgets/e-minicard.c (add_field): Set allow_newlines here.
(field_activated): Stop editing on the activate signal and remove
the focus from the text. Fixes Ximian bug #12286.
svn path=/trunk/; revision=14335
2001-10-28 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names.c
(e_select_names_hookup_shell_listeners): Change "this should never
happen" dialog to not give my name/e-mail. Sorry translators.
But this really should never happen, thanks to my fix below.
* gui/component/addressbook-component.c: Initialize
global_shell_client to NULL. (Bug #6625)
svn path=/trunk/; revision=14282
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
2001-10-27 Chris Toshok <toshok@ximian.com>
* gui/contact-editor/e-contact-quick-add.c (merge_cb): change to
EBookCallback signature, and unref the book.
(quick_add_merge_card): use addressbook_load_default_book.
(ce_have_book): change to EBookCallback signature, and unref the
book.
(edit_card): use addressbook_load_default_book.
* gui/component/e-address-popup.c (email_table_save_card_cb):
change to EBookCallback signature, and unref the book.
(add_card_idle_cb): use addressbook_load_default_book, and call
the cb if it fails.
(e_address_popup_cleanup): fix type -- should be "pop->card =
NULL", not "pop = NULL".
(contact_editor_cb): change to EBookCallback signature.
(edit_contact_info_cb): use addressbook_load_default_book.
(start_query): change to EBookCallback signature.
(e_address_popup_query): use addressbook_load_default_book.
* gui/widgets/e-minicard-control.c (book_open_cb): change to
EBookCallback signature, and unref the book.
(save_in_addressbook): use addressbook_load_default_book instead
of e_book_use_local_address_book.
* gui/widgets/Makefile.am (INCLUDES): change includes since we're
including addressbook.h which has it's own set of funky include
path requirements.
svn path=/trunk/; revision=14269
2001-10-27 Chris Toshok <toshok@ximian.com>
* gui/component/e-address-popup.c (email_table_save_card_cb):
change to EBookCallback signature, and unref the book.
(add_card_idle_cb): use addressbook_load_default_book, and call
the cb if it fails.
(e_address_popup_cleanup): fix type -- should be "pop->card =
NULL", not "pop = NULL".
(contact_editor_cb): change to EBookCallback signature.
(edit_contact_info_cb): use addressbook_load_default_book.
(start_query): change to EBookCallback signature.
(e_address_popup_query): use addressbook_load_default_book.
* gui/widgets/e-minicard-control.c (book_open_cb): change to
EBookCallback signature, and unref the book.
(save_in_addressbook): use addressbook_load_default_book instead
of e_book_use_local_address_book.
* gui/widgets/Makefile.am (INCLUDES): change includes since we're
including addressbook.h which has it's own set of funky include
path requirements.
svn path=/trunk/; revision=14268
2001-10-27 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped required version of gal to 0.15.99.6.
From addressbook/ChangeLog:
2001-10-27 Christopher James Lahey <clahey@ximian.com>
* gui/component/select-names/e-select-names.c
(e_select_names_add_section): Turned off use_ellipsis (it breaks
emulate_label_resize) and on emulate_label_resize.
svn path=/trunk/; revision=14228
2001-10-27 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-completion.c
(make_match): Doh! We should be sorting our contacts so that the
most frequently used ones are at the top of the list, not the
bottom.
svn path=/trunk/; revision=14223
2001-10-26 Chris Toshok <toshok@ximian.com>
* gui/component/addressbook.h: add prototypes for
addressbook_config_database, and addressbook_load_default_book.
* gui/component/addressbook.c (addressbook_config_database): new
function, so we aren't activating the db everywhere we need to use
it.
(addressbook_load_default_book): load the default book, after
getting the uri from bonobo-config.
svn path=/trunk/; revision=14200
2001-10-26 Jon Trowbridge <trow@ximian.com>
* backend/ebook/e-book-util.c (simple_query_card_added_cb): Return
on cancellation.
(simple_query_sequence_complete_cb): Act if not cancelled.
(simple_query_book_view_cb): Free & return on cancellation.
(e_book_simple_query_cancel): Set cancellation flag.
* gui/component/e-address-popup.c (e_address_popup_query): Hold a
reference to ourselves for the duration of our addressbook fetch.
(start_query): Release when we've fetched our addressbook.
(e_address_popup_cleanup): Break out most of what we do in
_destroy into a separate function.
(e_address_popup_destroy): Class cleanup.
(contact_editor_cb): Paranoid clean-up.
(add_contacts_cb): Paranoid clean-up.
(e_address_popup_ambiguous_email_add): Paranoid clean-up.
svn path=/trunk/; revision=14199