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 /composer/e-msg-composer-hdrs.c | |
parent | e0368460a3f69462db41f41ef3b7c66461daa301 (diff) | |
download | gsoc2013-evolution-62a2dc7c2e5c5a11184ac23fc626aa22f499ab03.tar.gz 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 'composer/e-msg-composer-hdrs.c')
-rw-r--r-- | composer/e-msg-composer-hdrs.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/composer/e-msg-composer-hdrs.c b/composer/e-msg-composer-hdrs.c index af22dcf611..834d63214a 100644 --- a/composer/e-msg-composer-hdrs.c +++ b/composer/e-msg-composer-hdrs.c @@ -191,6 +191,18 @@ create_optionmenu (EMsgComposerHdrs *hdrs, return omenu; } +static void +addressbook_entry_changed (BonoboListener *listener, + char *event_name, + CORBA_any *arg, + CORBA_Environment *ev, + gpointer user_data) +{ + EMsgComposerHdrs *hdrs = E_MSG_COMPOSER_HDRS (user_data); + + hdrs->has_changed = TRUE; +} + static GtkWidget * create_addressbook_entry (EMsgComposerHdrs *hdrs, const char *name) @@ -200,6 +212,8 @@ create_addressbook_entry (EMsgComposerHdrs *hdrs, Bonobo_Control corba_control; GtkWidget *control_widget; CORBA_Environment ev; + BonoboControlFrame *cf; + Bonobo_PropertyBag pb = CORBA_OBJECT_NIL; priv = hdrs->priv; corba_select_names = priv->corba_select_names; @@ -223,6 +237,13 @@ create_addressbook_entry (EMsgComposerHdrs *hdrs, control_widget = bonobo_widget_new_control_from_objref (corba_control, CORBA_OBJECT_NIL); + cf = bonobo_widget_get_control_frame (BONOBO_WIDGET (control_widget)); + pb = bonobo_control_frame_get_control_property_bag (cf, NULL); + + bonobo_event_source_client_add_listener (pb, addressbook_entry_changed, + "Bonobo/Property:change:entry_changed", + NULL, hdrs); + return control_widget; } @@ -232,7 +253,7 @@ entry_changed (GtkWidget *entry, EMsgComposerHdrs *hdrs) gchar *tmp; gchar *subject; - /* Mark the headers as changed */ + /* Mark the composer as changed so it prompts to save on close */ hdrs->has_changed = TRUE; tmp = e_msg_composer_hdrs_get_subject (hdrs); |