diff options
author | Jon Trowbridge <trow@ximian.com> | 2001-10-30 11:48:43 +0800 |
---|---|---|
committer | Jon Trowbridge <trow@src.gnome.org> | 2001-10-30 11:48:43 +0800 |
commit | 1fc908bfb1f00c66e636b91e5e5b4ec30bc013eb (patch) | |
tree | abd70b6318e318ba2b100a26e6b2da9b7af86359 /addressbook/gui/component | |
parent | ac8cf2c210f655675c49f04fb7c3c679db4f1fae (diff) | |
download | gsoc2013-evolution-1fc908bfb1f00c66e636b91e5e5b4ec30bc013eb.tar.gz gsoc2013-evolution-1fc908bfb1f00c66e636b91e5e5b4ec30bc013eb.tar.zst gsoc2013-evolution-1fc908bfb1f00c66e636b91e5e5b4ec30bc013eb.zip |
Connect to manager's "ok" signal. (manager_ok_cb): Emit "ok"
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
Diffstat (limited to 'addressbook/gui/component')
3 files changed, 51 insertions, 21 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 ca37ccce21..70cacc6c6e 100644 --- a/addressbook/gui/component/select-names/e-select-names-bonobo.c +++ b/addressbook/gui/component/select-names/e-select-names-bonobo.c @@ -243,6 +243,37 @@ entry_changed (GtkWidget *widget, BonoboControl *control) bonobo_control_set_property (control, "entry_changed", TRUE, NULL); } +static void +manager_changed_cb (ESelectNamesManager *manager, const gchar *section_id, gint changed_working_copy, gpointer closure) +{ + ESelectNamesBonobo *select_names = E_SELECT_NAMES_BONOBO (closure); + BonoboArg *arg; + + arg = bonobo_arg_new (BONOBO_ARG_STRING); + BONOBO_ARG_SET_STRING (arg, section_id); + + bonobo_event_source_notify_listeners_full (select_names->priv->event_source, + "GNOME/Evolution", + "changed", + changed_working_copy ? "working_copy" : "model", + arg, NULL); + + bonobo_arg_release (arg); +} + +static void +manager_ok_cb (ESelectNamesManager *manager, gpointer closure) +{ + ESelectNamesBonobo *select_names = E_SELECT_NAMES_BONOBO (closure); + + bonobo_event_source_notify_listeners_full (select_names->priv->event_source, + "GNOME/Evolution", + "ok", + "dialog", + NULL, + NULL); +} + static Bonobo_Control impl_SelectNames_get_entry_for_section (PortableServer_Servant servant, const CORBA_char *section_id, @@ -288,8 +319,7 @@ impl_SelectNames_get_entry_for_section (PortableServer_Servant servant, bonobo_control_set_properties (control, property_bag); - gtk_signal_connect (GTK_OBJECT (entry_widget), "changed", - GTK_SIGNAL_FUNC (entry_changed), control); + 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); } @@ -365,24 +395,6 @@ class_init (ESelectNamesBonoboClass *klass) } static void -manager_changed_cb (ESelectNamesManager *manager, const gchar *section_id, gint changed_working_copy, gpointer closure) -{ - ESelectNamesBonobo *select_names = E_SELECT_NAMES_BONOBO (closure); - BonoboArg *arg; - - arg = bonobo_arg_new (BONOBO_ARG_STRING); - BONOBO_ARG_SET_STRING (arg, section_id); - - bonobo_event_source_notify_listeners_full (select_names->priv->event_source, - "GNOME/Evolution", - "changed", - changed_working_copy ? "working_copy" : "model", - arg, NULL); - - bonobo_arg_release (arg); -} - -static void init (ESelectNamesBonobo *select_names) { ESelectNamesBonoboPrivate *priv; @@ -397,6 +409,11 @@ init (ESelectNamesBonobo *select_names) GTK_SIGNAL_FUNC (manager_changed_cb), select_names); + gtk_signal_connect (GTK_OBJECT (priv->manager), + "ok", + GTK_SIGNAL_FUNC (manager_ok_cb), + select_names); + select_names->priv = priv; } diff --git a/addressbook/gui/component/select-names/e-select-names-manager.c b/addressbook/gui/component/select-names/e-select-names-manager.c index 10b7662b31..2ba538b63f 100644 --- a/addressbook/gui/component/select-names/e-select-names-manager.c +++ b/addressbook/gui/component/select-names/e-select-names-manager.c @@ -34,6 +34,7 @@ enum { enum { CHANGED, + OK, LAST_SIGNAL }; @@ -161,6 +162,15 @@ e_select_names_manager_class_init (ESelectNamesManagerClass *klass) GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_INT); + + e_select_names_manager_signals[OK] = + gtk_signal_new ("ok", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (ESelectNamesManagerClass, ok), + gtk_marshal_NONE__NONE, + GTK_TYPE_NONE, 0); + gtk_object_class_add_signals (object_class, e_select_names_manager_signals, LAST_SIGNAL); } @@ -526,7 +536,9 @@ e_select_names_clicked(ESelectNames *dialog, gint button, ESelectNamesManager *m switch(button) { case 0: - /* We don't need to do anything if they click on OK */ + /* We don't need to do much if they click on OK */ + + gtk_signal_emit (GTK_OBJECT (manager), e_select_names_manager_signals[OK]); break; case 1: { diff --git a/addressbook/gui/component/select-names/e-select-names-manager.h b/addressbook/gui/component/select-names/e-select-names-manager.h index 99f01cb818..1304a13a71 100644 --- a/addressbook/gui/component/select-names/e-select-names-manager.h +++ b/addressbook/gui/component/select-names/e-select-names-manager.h @@ -39,6 +39,7 @@ struct _ESelectNamesManagerClass { GtkObjectClass parent_class; void (*changed) (ESelectNamesManager *, const gchar *section_id, gint changed_working_copy); + void (*ok) (ESelectNamesManager *); }; ESelectNamesManager *e_select_names_manager_new (void); |