diff options
author | Jason Leach <jasonleach@usa.net> | 2001-01-19 23:58:02 +0800 |
---|---|---|
committer | Jacob Leach <jleach@src.gnome.org> | 2001-01-19 23:58:02 +0800 |
commit | 62a2dc7c2e5c5a11184ac23fc626aa22f499ab03 (patch) | |
tree | 678a10d973d6ccc6a6309893ebd8a433b2d6402e /addressbook/gui/component | |
parent | e0368460a3f69462db41f41ef3b7c66461daa301 (diff) | |
download | gsoc2013-evolution-62a2dc7c2e5c5a11184ac23fc626aa22f499ab03.tar gsoc2013-evolution-62a2dc7c2e5c5a11184ac23fc626aa22f499ab03.tar.gz gsoc2013-evolution-62a2dc7c2e5c5a11184ac23fc626aa22f499ab03.tar.bz2 gsoc2013-evolution-62a2dc7c2e5c5a11184ac23fc626aa22f499ab03.tar.lz gsoc2013-evolution-62a2dc7c2e5c5a11184ac23fc626aa22f499ab03.tar.xz gsoc2013-evolution-62a2dc7c2e5c5a11184ac23fc626aa22f499ab03.tar.zst gsoc2013-evolution-62a2dc7c2e5c5a11184ac23fc626aa22f499ab03.zip |
(Adding a boolean "entry_changed" BonoboPropertyBag arg)
2001-01-19 Jason Leach <jasonleach@usa.net>
(Adding a boolean "entry_changed" BonoboPropertyBag arg)
* gui/component/select-names/e-select-names-bonobo.c
(entry_set_property_fn): Use a gtk_object_set_data to set the
property to TRUE here.
(entry_changed): New function, calls bonobo_control_set_property
if entry_changed hasn't been set to TRUE yet.
(impl_SelectNames_get_entry_for_section): Connect "changed" on
each entry_widget to the new entry_changed() func.
2001-01-19 Jason Leach <jasonleach@usa.net>
* e-msg-composer-hdrs.c (create_addressbook_entry): Listen for
property bag changes to "entry_changed" on here, which means on
the To, Cc, and Bcc entries.
(addressbook_entry_changed): New function that gets called when
"entry_changed" property is changed (to TRUE).
svn path=/trunk/; revision=7649
Diffstat (limited to 'addressbook/gui/component')
-rw-r--r-- | addressbook/gui/component/select-names/e-select-names-bonobo.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/addressbook/gui/component/select-names/e-select-names-bonobo.c b/addressbook/gui/component/select-names/e-select-names-bonobo.c index 7014cddc22..87be63c3db 100644 --- a/addressbook/gui/component/select-names/e-select-names-bonobo.c +++ b/addressbook/gui/component/select-names/e-select-names-bonobo.c @@ -46,7 +46,8 @@ struct _ESelectNamesBonoboPrivate { }; enum _EntryPropertyID { - ENTRY_PROPERTY_ID_TEXT + ENTRY_PROPERTY_ID_TEXT, + ENTRY_PROPERTY_ID_ENTRY_CHANGED }; typedef enum _EntryPropertyID EntryPropertyID; @@ -92,6 +93,9 @@ entry_set_property_fn (BonoboPropertyBag *bag, text = BONOBO_ARG_GET_STRING (arg); gtk_object_set (GTK_OBJECT (widget), "text", text, NULL); break; + case ENTRY_PROPERTY_ID_ENTRY_CHANGED: + gtk_object_set_data (GTK_OBJECT (widget), "entry_property_id_changed", GUINT_TO_POINTER (1)); + break; default: break; } @@ -142,6 +146,15 @@ impl_SelectNames_add_section (PortableServer_Servant servant, e_select_names_manager_add_section (priv->manager, id, title); } +static void +entry_changed (GtkWidget *widget, BonoboControl *control) +{ + gboolean changed = GPOINTER_TO_UINT (gtk_object_get_data (GTK_OBJECT (widget), "entry_property_id_changed")); + + if (!changed) + bonobo_control_set_property (control, "entry_changed", TRUE, NULL); +} + static Bonobo_Control impl_SelectNames_get_entry_for_section (PortableServer_Servant servant, const CORBA_char *section_id, @@ -175,9 +188,15 @@ impl_SelectNames_get_entry_for_section (PortableServer_Servant servant, bonobo_property_bag_add (property_bag, "text", ENTRY_PROPERTY_ID_TEXT, BONOBO_ARG_STRING, NULL, NULL, BONOBO_PROPERTY_READABLE | BONOBO_PROPERTY_WRITEABLE); + bonobo_property_bag_add (property_bag, "entry_changed", ENTRY_PROPERTY_ID_ENTRY_CHANGED, + BONOBO_ARG_BOOLEAN, NULL, NULL, + BONOBO_PROPERTY_WRITEABLE); bonobo_control_set_properties (control, property_bag); + gtk_signal_connect (GTK_OBJECT (entry_widget), "changed", + GTK_SIGNAL_FUNC (entry_changed), control); + return CORBA_Object_duplicate (bonobo_object_corba_objref (BONOBO_OBJECT (control)), ev); } |