aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-shell-view.c
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2002-04-19 02:57:45 +0800
committerJP Rosevear <jpr@src.gnome.org>2002-04-19 02:57:45 +0800
commitbd6359c660895ea0765c216563957c3a2f44e112 (patch)
treedebd12250550fe90aed6a37ec6455ea4dd479f7f /shell/evolution-shell-view.c
parentb997798e3573be6e4e8051807ca66a03756d4bec (diff)
downloadgsoc2013-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.c20
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 ());