diff options
author | JP Rosevear <jpr@ximian.com> | 2002-04-19 02:57:45 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2002-04-19 02:57:45 +0800 |
commit | bd6359c660895ea0765c216563957c3a2f44e112 (patch) | |
tree | debd12250550fe90aed6a37ec6455ea4dd479f7f /shell/evolution-shell-view.c | |
parent | b997798e3573be6e4e8051807ca66a03756d4bec (diff) | |
download | gsoc2013-evolution-bd6359c660895ea0765c216563957c3a2f44e112.tar.gz gsoc2013-evolution-bd6359c660895ea0765c216563957c3a2f44e112.tar.zst gsoc2013-evolution-bd6359c660895ea0765c216563957c3a2f44e112.zip |
emit show_settings signal (corba_class_init): assign epv method
2002-04-18 JP Rosevear <jpr@ximian.com>
* evolution-shell-view.c (impl_ShellView_show_settings): emit
show_settings signal
(corba_class_init): assign epv method
(class_init): add signal
* evolution-shell-view.h: new signal
* e-shell.c (init): init settings_dialog private member
(settings_dialog_destroy_cb): reset dialog pointer
(e_shell_show_settings): show the settings dialog, bring it to the
front if one already exists for this shell
* e-shell.h: new proto
* e-shell-view.c (corba_interface_show_settings): implement
showSettings method
(setup_corba_interface): listen for show_settings signal
(e_shell_view_show_settings): show the settings dialog
* e-shell-view.h: new proto
* e-shell-view-menu.c (command_settings): call
e_shell_view_show_settings instead
* Evolution-ShellView.idl: add showSettings method
svn path=/trunk/; revision=16510
Diffstat (limited to 'shell/evolution-shell-view.c')
-rw-r--r-- | shell/evolution-shell-view.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/shell/evolution-shell-view.c b/shell/evolution-shell-view.c index f0d3eb32f5..8925438b5a 100644 --- a/shell/evolution-shell-view.c +++ b/shell/evolution-shell-view.c @@ -44,6 +44,7 @@ enum { CHANGE_VIEW, SET_TITLE, SET_FOLDER_BAR_LABEL, + SHOW_SETTINGS, LAST_SIGNAL }; static int signals[LAST_SIGNAL] = { 0 }; @@ -133,6 +134,16 @@ impl_ShellView_set_folder_bar_label (PortableServer_Servant servant, text); } +static void +impl_ShellView_show_settings (PortableServer_Servant servant, + CORBA_Environment *ev) +{ + BonoboObject *bonobo_object; + + bonobo_object = bonobo_object_from_servant (servant); + gtk_signal_emit (GTK_OBJECT (bonobo_object), signals[SHOW_SETTINGS]); +} + /* GtkObject methods. */ static void @@ -168,6 +179,7 @@ corba_class_init (void) epv->changeCurrentView = impl_ShellView_change_current_view; epv->setTitle = impl_ShellView_set_title; epv->setFolderBarLabel = impl_ShellView_set_folder_bar_label; + epv->showSettings = impl_ShellView_show_settings; vepv = &ShellView_vepv; vepv->_base_epv = base_epv; @@ -228,6 +240,14 @@ class_init (EvolutionShellViewClass *klass) GTK_TYPE_NONE, 1, GTK_TYPE_STRING); + signals[SHOW_SETTINGS] + = gtk_signal_new ("show_settings", + GTK_RUN_FIRST, + object_class->type, + GTK_SIGNAL_OFFSET (EvolutionShellViewClass, show_settings), + gtk_marshal_NONE__NONE, + GTK_TYPE_NONE, 0); + gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); parent_class = gtk_type_class (bonobo_object_get_type ()); |