| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-10-29 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-bonobo.c (init):
Connect to manager's "ok" signal.
(manager_ok_cb): Emit "ok" bonobo-signal.
* gui/component/select-names/e-select-names-manager.c
(e_select_names_manager_class_init): Added "ok" signal.
(e_select_names_clicked): Emit 'ok' signal.
svn path=/trunk/; revision=14415
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-26 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names-manager.h: add
completion_book.
* gui/component/select-names/e-select-names-manager.c
(e_select_names_manager_new): get /Addressbook/Completion/uri, and
if it's present, use the corresponding EBook for completing
addresses.
(focus_out_cb): use manager->completion_book here instead of NULL,
which corresponds to the local addressbook.
(completion_popup_cb): same.
(e_select_names_manager_create_entry): same.
svn path=/trunk/; revision=13161
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-08 Jon Trowbridge <trow@ximian.com>
* backend/ebook/e-book-view-listener.c
(e_book_view_listener_check_queue): See
e_book_listener_check_queue below.
(e_book_view_listener_queue_response): See
e_book_listener_queue_response below.
* backend/ebook/e-book-listener.c (e_book_listener_check_queue):
Explicitly prohibit reentrancy. Use gtk-unref rather than
bobobo-unref.
(e_book_listener_queue_response): Hold a gtk-ref to the listener
while the idle function runs, not a bonobo-ref. As far as I can
tell, it is impossible to avoid a race condition here when we have
to worry about bonobo reentrancy.
* gui/component/select-names/e-select-names-text-model.c
(e_select_names_text_model_insert_length): Alter a copy of the
original EDestination, rather than just using a new one. We need
to do this to preserve prior-card information for possible
reversion later.
(e_select_names_text_model_delete): Ditto.
* backend/ebook/e-destination.c (e_destination_clear_card): When
clearing a destination where ->card != NULL, store it for possible
reversion later.
(e_destination_revert): If we have an old card stored, go back to
using it for the destination.
(e_destination_is_valid): Tries to detect obviously broken
addresses.
(e_destination_cardify): If our destination is invalid, first try
to cardify simply by reverting to an older card.
(e_destination_destroy): Unref any cached old card.
(e_destination_copy): Copy the old card information.
2001-09-07 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names.c
(sync_table_and_models): Show all rows in the table, and then
remove the rows that correspond to entries in the
ESelectNamesModels in the children.
(real_add_address): Freeze/thaw our ESelectNamesModel, so that we
don't change our table while we are in the middle of iterating
over the selection.
(remove_address): Just delete the address from the
ESelectNamesModel, the signal handler will do the rest.
(selected_rows_foreach_cb): Call remove_address to do our dirty
work.
(e_select_names_add_section): Connect to the 'changed' signal from
the ESelectNamesModel, and call sync_table_and_models explicitly to
get our initial state correct.
* gui/component/select-names/e-select-names-table-model.c
(fill_in_info): Deal with EDestinations in our table that don't
come from cards.
* gui/component/select-names/e-select-names-manager.c: Added
another ESelectNamesModel* to the ESelectNamesManagerSection
struct. Called 'original_model', this contains a copy of the
model as it is when we begin using the SelectNames dialog.
(section_copy): Copy the original model.
(section_free): Free the original model.
(e_select_names_manager_add_section_with_limit): Initialize the
original model.
(e_select_names_clicked): I've changed the semantics of this
dialog quite a bit... no UI freeze can stop me! If OK is clicked,
we do nothing. If Cancel is clicked, we revert to the
'original_model' copy of our address entry state before we started
editting. Finally, we close the dialog before any of thing. Doing
it last caused problems, because signals were being triggered
which had dangling pointers as their closures.
(e_select_names_manager_activate_dialog): Copy our current state
to the original model, and share the same ESelectNamesModel
between the dialog and the address entry in the composer..
(e_select_names_manager_get_cards): Removed. It had been
#if 0/#endif-ed out for a while.
* gui/component/select-names/e-select-names-model.c
(e_select_names_model_freeze): Added.
(e_select_names_model_thaw): Added.
(e_select_names_model_uncardify): Added. If possible,
"uncardifies" a specific model entry.
(e_select_names_model_changed): Changed to pay attention
to the freeze count.
* gui/component/select-names/e-select-names-completion.c
(clean_query_text): Strip leading/trailing whitespace from
queries.
* backend/ebook/e-destination.c (e_destination_uncardify): Added.
Converts a card-associated destination into a text-associated
destination w/ the e-mail address.
(e_destination_list_to_vector): Added. A convenience routine.
(e_destination_freev): Added. A convenience routine.
(e_destination_touchv): Added. I'm lazy.
svn path=/trunk/; revision=12710
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-16 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/Evolution-Addressbook-SelectNames.idl:
Added addSectionWithLimit to the SelectNames interface.
* gui/component/select-names/e-select-names-bonobo.c
(impl_SelectNames_add_section_with_limit): Added. Implements
addSectionWithLimit.
(e_select_names_bonobo_construct): Set up as a BonoboEventSource.
(init): Listen for "changed" signals from our manager.
(manager_changed_cb): Notify our listeners if we get a changed
signal from our manager.
* gui/component/select-names/e-select-names-manager.c
(e_select_names_manager_class_init): Added a "changed" signal".
(section_copy): Propogate the signal connection.
(section_free): Disconnect the changed handler.
(e_select_names_manager_add_section_with_limit): Connect to the
new section's model, listening for changes.
(e_select_names_manager_activate_dialog): Connect to the "working
copy" model, listening for changes.
(e_select_names_manager_add_section_with_limit): Added.
(e_select_names_manager_add_section): Changed to just be a special
case of e_select_names_manager_add_section_with_limit.
* gui/component/select-names/e-select-names-model.c
(e_select_names_model_set_limit): Added. Allows a max number of
names allowed in the model.
(e_select_names_model_get_limit): Added. Returns the limit.
(e_select_names_model_at_limit): Added. Returns TRUE if the
model is "full".
(e_select_names_model_insert): Check that we aren't at the
limit before inserting. Silently return if we are.
(e_select_names_model_append): Check that we aren't at the
limit before appending. Silently return if we are.
svn path=/trunk/; revision=11150
|
|
|
|
|
|
| |
helixcode.com with ximian.com all over the place.
svn path=/trunk/; revision=10440
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/trunk/; revision=5991
|
|
|
|
| |
svn path=/trunk/; revision=5910
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
call it from the message composer in evolution-mail. The Bonobo
interface is physically implemented in evolution-addressbook.
svn path=/trunk/; revision=3972
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
2000-06-28 Christopher James Lahey <clahey@helixcode.com>
* gui/component/select-names/,
gui/component/select-names/e-select-names-manager.c,
gui/component/select-names/e-select-names-manager.h: New select
names manager interface (Not complete.)
svn path=/trunk/; revision=3785
|