* e-search-bar.c (clear_verb_cb): New.
(setup_standard_verbs): New.
(e_search_bar_set_ui_component): Call it if a new
BonoboUIComponent is set.
(append_xml_menu_item): New helper function.
(update_bonobo_menus): Use it. Also add a "Clear" menu item.
(e_search_bar_construct): @menu_items can be NULL now.
(e_search_bar_new): Same here.
(set_menu): Work with NULL items.
* e-filter-bar.c (menubar_activated): Don't handle
E_FILTERBAR_RESET_ID anymore.
* e-filter-bar.h: Remove `E_FILTERBAR_RESET_ID' and `E_FILTERBAR_RESET'.
* folder-browser.c: Remove E_FILTERBAR_RESET menu entry.
* gui/cal-search-bar.c: Removed `search_menu_items'.
(cal_search_bar_menu_activated): Removed.
(cal_search_bar_class_init): Don't install.
(cal_search_bar_construct): No menu items here.
* gui/component/addressbook.c (addressbook_menu_activated):
Removed.
(addressbook_factory_new_control): Don't connect anymore, as this
signal has been removed from the ESearchBar.
(addressbook_factory_new_control): No more custom menu items here.
svn path=/trunk/; revision=16194
2002-03-15 Jeffrey Stedfast <fejj@ximian.com>
* gui/widgets/e-addressbook-view.c (table_right_click): Update to
use new EPopupMenu API.
* gui/widgets/e-addressbook-reflow-adapter.c
(e_addressbook_reflow_adapter_right_click): Update to use new
EPopupMenu API.
* gui/component/select-names/e-select-names.c
(section_right_click_cb): Update to match new EPopupMenu api.
svn path=/trunk/; revision=16183
* e-search-bar.c (init): Init various members to NULL.
(set_dropdown): Removed.
(add_dropdown): Removed.
(set_menu): New.
(add_menu_items): New.
(set_option): No need to setup the dropdown size here anymore.
(verb_cb): Function implementing the search menu verbs.
(update_bonobo_menus): New.
(e_search_bar_set_ui_component): New.
* e-search-bar.h: Remove the dropdown button stuff from struct
ESearchBar. Add `uic' and `items' members.
* e-filter-bar.c (e_filter_bar_new): Get a @uic arg.
* folder-browser-factory.c (control_activate): Set the UI
component on the search bar.
* gui/tasks-control.c (tasks_control_activate): Call
`e_tasks_set_ui_component()' here to give it the
BonoboUIComponent.
(tasks_control_deactivate): Likewise, call it here to unset the
BonoboUIComponent.
* gui/e-tasks.c (e_tasks_set_ui_component): New.
* gui/calendar-commands.c (calendar_control_activate): Call
gnome_calendar_set_ui_component() here.
(calendar_control_deactivate): ...And here, with a NULL
BonoboUIComponent.
* gui/gnome-cal.c (gnome_calendar_set_ui_component): New.
* gui/component/addressbook.c (control_activate): Call
`e_search_bar_set_ui_component()' to set the BonoboUIComponent for
the search bar.
* gui/component/GNOME_Evolution_Addressbook.oaf.in: Add an icon
for the LDAP sources configuration control.
svn path=/trunk/; revision=16178
* gui/component/addressbook.c: Remove verb "AddressbookConfig".
(config_cb): Removed.
* gui/component/addressbook-config.c: Remove `dialog' member from
`AddresbookDialog'. Instead, add a `config_control' member.
(config_control_new): New.
(addressbook_config): Removed.
(addressbook_config_register_factory): New.
(config_control_factory_fn): New, factory function for the
ConfigControl page.
(addressbook_source_edit_changed): Don't change the sensitivity of
the dialog. Rather, invoke ::changed on the ConfigPage.
(auth_checkbutton_changed): No need to manually change the
sensitiviness of the buttons here either.
(add_source_clicked): Likewise, just invoke
evolution_config_control_changed().
(edit_source_clicked): Likewise.
(addressbook_dialog_close): Removed.
(config_control_destroy_callback): New, callback for when the
config control gets destroyed.
(addressbook_dialog_apply): Removed.
(config_control_apply_callback): New callback for
EvolutionConfigControl::apply.
(addressbook_dialog_ok): Removed.
(addressbook_config_control_new): Set up ->config_control and
connect the signals.
* gui/component/addressbook-config.glade: Call the main hbox in
the addressbook_sources dialog `addressbook_sources_main_hbox'.
* gui/component/addressbook-component.c (owner_set_cb): Call
`addresbook_config_register_factory'.
* gui/component/GNOME_Evolution_Addressbook.oaf.in: Add items for
OAFIID:GNOME_Evolution_Addresbook_ConfigControl and
OAFIID:GNOME_Evolution_Addressbook_ConfigControlFactory.
svn path=/trunk/; revision=16136
2002-03-11 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names.c (update_query):
change contains x-evolution-any-field to beginswith on email,
full_name, and nickname. faster, and more applicable to this
dialog.
svn path=/trunk/; revision=16103
2002-03-09 Chris Toshok <toshok@ximian.com>
* gui/widgets/e-addressbook-view.c (jump_to_letter): since I've
gone ahead and made the file backend (by way of
pas-backend-card-sexp.c) use case insensitive searches for
beginswith, there's no need to list upper and lower case here.
* gui/component/addressbook.c (addressbook_search_option_items):
reorder things to put "Any field contains" at the end, since it's
the least efficient search. Also reorder the enum to the same
ordering. Change "Name contains" to "Name begins with" and change
"Email contains" to "Email is".
(addressbook_search_activated): change FULL_NAME to beginswith,
and change EMAIL to is to match the labels.
* backend/pas/pas-backend-card-sexp.c (compare_name): new
function, so we can compare both full and family names (so
beginswith can operate on them both.)
(endswith_helper): use e_utf8_strstrcase here, since all the
backends backends use case insensitive searching.
(func_endswith): same.
svn path=/trunk/; revision=16004
2002-03-05 Chris Toshok <toshok@ximian.com>
* gui/widgets/e-minicard-view-widget.c
(e_minicard_view_widget_realize): don't set "editable" here, as
the way things work the backend isn't able to override a setting
from the UI, so writable books never show up as writable.
svn path=/trunk/; revision=15917
2002-03-04 Chris Toshok <toshok@ximian.com>
[fixes bug #20871]
* gui/component/select-names/select-names.glade: add the
status-message label.
* gui/component/select-names/e-select-names.h (struct
_ESelectNames): add status_message field.
* gui/component/select-names/e-select-names.c (status_message):
new function, set the label's text from the message.
(e_select_names_init): get the status-message label, and if it's
valid, connect to the status_message signal of the
EAddressbookModel.
svn path=/trunk/; revision=15913
2002-02-24 Chris Toshok <toshok@ximian.com>
* gui/component/addressbook.c (addressbook_query_changed): only
handle the ESB_ADVANCED case here now. the actual query work is
done in addressbook_search_activated.
(addressbook_search_activated): split out all the searching
functionality here.
(addressbook_factory_new_control): hook up "search_activated" to
addressbook_search_activated.
svn path=/trunk/; revision=15828
2002-02-24 Chris Toshok <toshok@ximian.com>
* gui/component/addressbook-config.c
(addressbook_source_dialog_set_source): make the right auth page
start up open.
* gui/component/addressbook-storage.c (addressbook_source_free):
free the binddn.
(addressbook_source_copy): copy the binddn;
svn path=/trunk/; revision=15819
2002-02-22 Chris Toshok <toshok@ximian.com>
[ Fixes bugs 20740, 16680, and god knows what else :) ]
* gui/widgets/e-addressbook-model.c (create_card): double the
allocated size every time we need more space instead of using a
fixed size increment. this helps huge queries. Also, remove the
gtk_object_get of "file_as", as it was dead code.
(book_view_loaded): handle errors here (by popping up a dialog).
* backend/pas/pas-backend-ldap.c (view_destroy): search_idle ->
search_timeout.
(build_card_from_entry): comment out some spew, and unref ecard
when we're done to plug a memory leak.
(send_pending_adds): send along to the client all the cards we've
been saving up.
(poll_ldap): use a timeout for ldap_result to keep the backend
from blocking (and it turns out keep the frontend from hanging
waiting on a ref to complete) on large db's with few matches.
Also, add some fairly smart, self-tuning aggregating of cards.
Keep track of the number of cards we've sent the last time through
as well as this time, and estimate the number we want to aggregate
the next time based on them (we average them at the moment),
subject to maximum/minimum number of cards. also, we have a
maximum aggregation time, after which we force a flush if there
are pending cards and recalculate our target pending number.
there's a minimum wait time to possibly keep outselves from
spamming the ui, although it's 0 at the moment.
Lastly, make sure to only notify the GUI of status messages when
we need to. this results in a *huge* savings.
(ldap_search_handler): initialize all the pending card stuff, and
use a timeout instead of an idle function for poll_ldap.
* backend/ebook/e-book-view-listener.c
(e_book_view_listener_queue_response): performance optimization
for large adds. If we're a CardAddedEvent and there's an existing
CardAddedEvent at the end of the queue, just concat the lists of
cards together. This is to keep the gui from falling further and
further behind the ldap backend, which is merrily spewing updates
at the gui.
svn path=/trunk/; revision=15807
* gui/component/Makefile.am: Define $(iconsdir).
* gui/component/addressbook-component.c (add_creatable_item): New
helper function.
(create_component): Add the icons for the user creatable items as
well.
svn path=/trunk/; revision=15789
2002-02-13 Christopher James Lahey <clahey@ximian.com>
* gui/component/select-names/e-select-names.c (set_book): Keep a
ref of the model in this case as well.
svn path=/trunk/; revision=15716
2002-02-13 Christopher James Lahey <clahey@ximian.com>
* gui/component/select-names/e-select-names.c (set_book): Make
sure to only set the query once when creating a new book and not
at all on addressbook model creation. This prevents an accidental
pair of changes from making the addressbook model load a remote
addressbook.
* gui/widgets/e-addressbook-model.c (get_view): If this is the
first_get_view and the addressbook is remote, empty the view
instead of leaving it in the state it used to be in. This only
occurs if you set the book after the model has existed for a
while.
(e_addressbook_model_set_arg): When setting the book, set
first_get_view to TRUE.
svn path=/trunk/; revision=15715
2002-02-13 Christopher James Lahey <clahey@ximian.com>
* gui/widgets/e-addressbook-view.c (display_view): Attach to the
emvw instead of the emv here.
* gui/widgets/e-minicard-view-widget.c, e-minicard-view-widget.h:
Made this object have a "column_width" argument and a
"column_width_changed" signal which are a simple layer down to the
EMinicardView contained within.
* gui/widgets/gal-view-minicard.c, gui/widgets/gal-view-minicard.h
(gal_view_minicard_attach): Made this attach to an
EMinicardViewWidget instead of a EMinicardView.
svn path=/trunk/; revision=15714
2002-02-13 Christopher James Lahey <clahey@ximian.com>
* backend/ebook/e-book-util.c, backend/ebook/e-book-util.h
(e_book_expand_uri, e_book_load_address_book_by_uri,
e_book_use_address_book_by_uri): New functions that take a file://
url ending in the directory name and automatically append the
addressbook.db and do the appropriate thing.
* backend/pas/pas-backend-card-sexp.c,
backend/pas/pas-backend-card-sexp.h: Added copyright notice here.
* gui/component/addressbook-component.c
(destination_folder_handle_drop), gui/component/addressbook.c
(set_prop): Use e_book_expand_uri instead of
addressbook_expand_uri.
* gui/component/addressbook-storage.c: Fixed the fcntl include
here.
* gui/component/addressbook.c (ContactsCopyToFolder,
ContactsMoveToFolder): Added handlers for these two verbs.
* gui/component/addressbook.h: Removed addressbook_expand_uri in
favor of e_book_expand_uri.
* gui/widgets/e-addressbook-reflow-adapter.c (transfer_cards):
Added code to handle Move to and Copy to right click menu items.
* gui/widgets/e-addressbook-util.c,
gui/widgets/e-addressbook-util.h (e_addressbook_transfer_cards):
New function to pop up a dialog and transfer a set of cards to the
given folder.
* gui/widgets/e-addressbook-view.c,
gui/widgets/e-addressbook-view.h (display_view): Don't attach to
the view if it doesn't exist yet. We have to make this then
attach later.
(e_addressbook_view_copy_to_folder,
e_addressbook_view_move_to_folder): New functions utilizing
e_addressbook_transfer_cards.
(table_right_click): Add copy_to_folder and move_to_folder to the
right click menu for tables here.
(e_addressbook_view_discard_menus): Handle menu unmerging here.
* gui/widgets/e-minicard-view-widget.h (struct
_EMinicardViewWidget): Removed unused field.
svn path=/trunk/; revision=15711
2002-02-13 Christopher James Lahey <clahey@ximian.com>
* gui/widgets/e-addressbook-view.c (display_view): Attach the
GalViewMinicard to the EMinicardView here.
* gui/widgets/gal-view-minicard.c, gui/widgets/gal-view-minicard.h
(gal_view_minicard_load, gal_view_minicard_save): Made these save
the column width of the view.
(gal_view_minicard_attach, gal_view_minicard_detach): Added these
functions to allow the GalViewMinicard to set the column width of
a EMinicardView and to monitor its changes.
svn path=/trunk/; revision=15707
2002-02-12 Christopher James Lahey <clahey@ximian.com>
* gui/widgets/e-addressbook-reflow-adapter.c
(addressbook_get_arg): Added an argument to get the model.
* gui/widgets/e-addressbook-view.c (writable_status): Don't bother
connecting to the writable_status callback on the book, simply
rely on the writable_status callback on the addressbook model.
* gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h
(set_empty_message): Handle the case of a read only view here.
svn path=/trunk/; revision=15698
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped the required version of gal.
From addressbook/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* gui/widgets/e-addressbook-view.c
(e_addressbook_view_setup_menus): Changed this function to use the
new GalViewMenus which takes a GalViewInstance, instead of a
GalViewCollection.
From calendar/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c
(gnome_calendar_setup_view_menus): Made these use the new
GalViewMenus stuff.
From mail/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* folder-browser.c, folder-browser.h, folder-browser-ui.c,
folder-browser-ui.h
(folder_browser_ui_setup_view_menus,
folder_browser_ui_discard_view_menus): Changed this to use the new
GalViewMenus stuff. Made these exported functions.
* mail-callbacks.c, message-browser.c: Changed these to not pass
the now removed row parameter to message_list_select.
* mail-config.c, mail-config.h (mail_config_folder_to_safe_url):
Refactored this out of mail_config_folder_to_cachename.
* message-list.c, message-list.h (message_list_select): Removed
the row argument. Changed this to use the new function in ETree
for finding the next cursor row that matches a test.
(message_list_construct): Handle a failed construction of the
ETree here.
(message_list_setup_etree, save_tree_state): Don't load or save
the header state. folder-browser-ui.c deals with this now.
From views/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* addressbook/galview.xml, calendar/galview.xml, mail/galview.xml,
tasks/galview.xml: Added default-view parameters.
* mail/As_Sent_Folder.galview: New galview.
* mail/Makefile.am, mail/galview.xml: Added As_Sent_Folder
galview.
From widgets/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* menus/gal-view-menus.c, menus/gal-view-menus.h
(gal_view_menus_new): Made this take a GalViewInstance instead of
a GalViewCollection. Reworked most of this to utilize the
interfaces provided by GalViewInstance.
svn path=/trunk/; revision=15592
2002-02-04 JP Rosevear <jpr@ximian.com>
* gui/contact-editor/e-contact-editor.c (find_address_mailing): tidy
* conduit/address-conduit.c (addrconduit_load_configuration): load
default address setting
(addrconduit_save_configuration): save default address setting
(e_addr_gui_new): new gui routine for conduit settings
(e_addr_gui_fill_widgets): ditto
(e_addr_gui_fill_config): ditto
(e_addr_gui_destroy): ditto
(e_addr_context_destroy): destroy the gui and new_cfg
(local_record_from_ecard): reinstate commented out bits, determine
which address to sync to pilot
(ecard_from_remote_record): determine which address to sync from
pilot
(fill_widgets): put the gui widgets in
(create_settings_window): create gui
(save_settings): fill gui
svn path=/trunk/; revision=15568
2002-02-04 JP Rosevear <jpr@ximian.com>
* gui/contact-editor/e-contact-editor.c (address_text_changed): if
the shown address in the mailing address or there is no mailing
address, set the default flag and make sure the button is checked
(address_mailing_changed): set the flags properly when the mailing
address changes
(e_contact_editor_init): listen for the check button being toggled
(find_address_mailing): find the address (if any) with the default
flag
(set_address_field): set the mailing address button appropriately
(fill_in_info): find the mailing address
* gui/contact-editor/e-contact-editor.h: add new class data member
* gui/contact-editor/contact-editor.glade: show mailing address
check button
svn path=/trunk/; revision=15561
2002-01-24 Chris Toshok <toshok@ximian.com>
[ fixes bug 16097 ]
* gui/component/addressbook-config.glade: gui love for the new
auth stuff.
* gui/component/addressbook.c (load_uri_cb): track change to auth,
and offer up different prompt strings depending on which method
(binddn or email) we're using.
* gui/component/addressbook-storage.c (ldap_unparse_auth): use the
new auth types for ldap.
(ldap_parse_auth): same.
(addressbook_storage_auth_type_to_string): new function.
(load_source_data): get the binddn too.
(ldap_source_foreach): store out binddn or emailaddr, depending on
the auth type chosen.
* gui/component/addressbook-storage.h: add the more detailed auth
types, add "binddn" to the source structure, and add a prototype
for addressbook_storage_auth_type_to_string.
* gui/component/addressbook-config.c (auth_checkbutton_changed):
set the auth stuff (in)sensitive.
(auth_optionmenu_activated): new function.
(addressbook_source_dialog_set_source): track UI change.
(addressbook_source_dialog_get_source): same.
(add_scope_activate_cb): rename add_activate_cb to this to
distinguish it from the auth stuff.
(add_auth_activate_cb): new function.
(addressbook_source_dialog): track change to auth UI stuff.
(addressbook_storage_auth_type_to_string): new function.
* backend/ebook/e-book.h: add auth_method arg to
e_book_authenticate_user.
* backend/ebook/e-book.c (e_book_authenticate_user): track change
to prototype - add auth_method arg, and pass it along to the CORBA
call.
* backend/ebook/test-client.c (book_open_cb): track api change -
keep this building.
* backend/pas/pas-book.h: add auth_method slot in PASRequest.
* backend/pas/pas-book.c (pas_book_queue_authenticate_user): add
auth_method arg and add it to the PASRequest.
(impl_GNOME_Evolution_Addressbook_Book_authenticateUser): track
idl change, add auth_method and pass it along to
pas_book_queue_authenticate_user.
* backend/pas/pas-backend-ldap.c
(pas_backend_ldap_process_authenticate_user): support both
"ldap/simple-email" and "ldap/simple-binddn" auth methods.
* backend/idl/addressbook.idl: add "in string authMethod" to
authenticateUser.
svn path=/trunk/; revision=15475
2002-01-24 Chris Toshok <toshok@ximian.com>
[ fixes bug 16097 ]
* gui/component/addressbook-config.glade: gui love for the new
auth stuff.
* gui/component/addressbook.c (load_uri_cb): track change to auth,
and offer up different prompt strings depending on which method
(binddn or email) we're using.
* gui/component/addressbook-storage.c (ldap_unparse_auth): use the
new auth types for ldap.
(ldap_parse_auth): same.
(addressbook_storage_auth_type_to_string): new function.
(load_source_data): get the binddn too.
(ldap_source_foreach): store out binddn or emailaddr, depending on
the auth type chosen.
* gui/component/addressbook-storage.h: add the more detailed auth
types, add "binddn" to the source structure, and add a prototype
for addressbook_storage_auth_type_to_string.
* gui/component/addressbook-config.c (auth_checkbutton_changed):
set the auth stuff (in)sensitive.
(auth_optionmenu_activated): new function.
(addressbook_source_dialog_set_source): track UI change.
(addressbook_source_dialog_get_source): same.
(add_scope_activate_cb): rename add_activate_cb to this to
distinguish it from the auth stuff.
(add_auth_activate_cb): new function.
(addressbook_source_dialog): track change to auth UI stuff.
(addressbook_storage_auth_type_to_string): new function.
* backend/ebook/e-book.h: add auth_method arg to
e_book_authenticate_user.
* backend/ebook/e-book.c (e_book_authenticate_user): track change
to prototype - add auth_method arg, and pass it along to the CORBA
call.
* backend/ebook/test-client.c (book_open_cb): track api change -
keep this building.
* backend/pas/pas-book.h: add auth_method slot in PASRequest.
* backend/pas/pas-book.c (pas_book_queue_authenticate_user): add
auth_method arg and add it to the PASRequest.
(impl_GNOME_Evolution_Addressbook_Book_authenticateUser): track
idl change, add auth_method and pass it along to
pas_book_queue_authenticate_user.
* backend/pas/pas-backend-ldap.c
(pas_backend_ldap_process_authenticate_user): support both
"ldap/simple-email" and "ldap/simple-binddn" auth methods.
* backend/idl/addressbook.idl: add "in string authMethod" to
authenticateUser.
svn path=/trunk/; revision=15467
2002-01-21 Christopher James Lahey <clahey@ximian.com>
* backend/pas/pas-backend-ldap.c (ldap_search_handler): Set the
number of cards to return to the value specified in the ldap uri,
leaving the default at 100. Fixes Ximian bug #13953.
* gui/component/addressbook-config.c (addressbook_source_dialog),
gui/component/addressbook-config.glade: Added a limit entry here
to edit the limit field of the source.
* gui/component/addressbook-storage.c,
gui/component/addressbook-storage.h
(addressbook_storage_init_source_uri): Added a limit field to this
class and pass that value through in the uri that's generated.
svn path=/trunk/; revision=15415
2002-01-18 Christopher James Lahey <clahey@ximian.com>
* gui/component/addressbook.c (view_contact_cb): New verb to open
a bunch of cards.
* gui/widgets/e-addressbook-reflow-adapter.c (open_card): Call
e_addressbook_show_multiple_cards instead of doing this ourselves.
* gui/widgets/e-addressbook-util.c,
gui/widgets/e-addressbook-util.h
(e_addressbook_show_multiple_cards): Added this function to show a
bunch of cards, including a dialog if lots of windows are going to
appear.
* gui/widgets/e-addressbook-view.c (e_addressbook_view_view,
e_addressbook_view_can_view): e_addressbook_view_view calls
e_addressbook_show_multiple_cards on the appropriate list of
cards.
From ui/ChangeLog:
2002-01-18 Christopher James Lahey <clahey@ximian.com>
* evolution-addressbook.xml: Added File->Open which calls the
ContactsView command.
svn path=/trunk/; revision=15355
2002-01-18 Christopher James Lahey <clahey@ximian.com>
* gui/contact-editor/e-contact-editor-address.c
(fill_in_countries), gui/contact-editor/fulladdr.glade: Sort
country list. Country list moves from fulladdr.glade to
e-contact-editor-address.c, but only a few country names have
actually changed. Fixes Ximian bug #16545.
svn path=/trunk/; revision=15354
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