aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-shell-component.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-10-23 03:09:24 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-10-23 03:09:24 +0800
commit367221fa5e99f7cd2b687b18b367ddf167f2377f (patch)
tree606c13d3fb66c3370728223a400c21bb24d50e5a /shell/evolution-shell-component.c
parentfd9cceb0d77c9d5e6a53cdf08f42cf44008246d5 (diff)
downloadgsoc2013-evolution-367221fa5e99f7cd2b687b18b367ddf167f2377f.tar
gsoc2013-evolution-367221fa5e99f7cd2b687b18b367ddf167f2377f.tar.gz
gsoc2013-evolution-367221fa5e99f7cd2b687b18b367ddf167f2377f.tar.bz2
gsoc2013-evolution-367221fa5e99f7cd2b687b18b367ddf167f2377f.tar.lz
gsoc2013-evolution-367221fa5e99f7cd2b687b18b367ddf167f2377f.tar.xz
gsoc2013-evolution-367221fa5e99f7cd2b687b18b367ddf167f2377f.tar.zst
gsoc2013-evolution-367221fa5e99f7cd2b687b18b367ddf167f2377f.zip
New member `is_interactive' in `EShellPrivate'. (init): Init to %FALSE.
* e-shell.c: New member `is_interactive' in `EShellPrivate'. (init): Init to %FALSE. (set_interactive): New. (e_shell_create_view): Make interactive. (view_destroy_cb): If no views are left, make non-interactive. * evolution-shell-component.c (class_init): Set up the "interactive" signal. (impl_interactive): New implementation for the ::interactive method. (class_init): Install. * evolution-shell-component.h: New signal `interactive'. * Evolution-ShellComponent.idl: New method ::interactive. svn path=/trunk/; revision=13890
Diffstat (limited to 'shell/evolution-shell-component.c')
-rw-r--r--shell/evolution-shell-component.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/shell/evolution-shell-component.c b/shell/evolution-shell-component.c
index 793e579732..2526ba61b6 100644
--- a/shell/evolution-shell-component.c
+++ b/shell/evolution-shell-component.c
@@ -79,6 +79,7 @@ enum {
OWNER_UNSET,
OWNER_DIED,
DEBUG,
+ INTERACTIVE,
HANDLE_EXTERNAL_URI,
USER_CREATE_NEW_ITEM,
LAST_SIGNAL
@@ -436,6 +437,20 @@ impl_debug (PortableServer_Servant servant,
gtk_signal_emit (GTK_OBJECT (shell_component), signals[DEBUG]);
}
+static void
+impl_interactive (PortableServer_Servant servant,
+ CORBA_boolean interactive,
+ CORBA_Environment *ev)
+{
+ BonoboObject *bonobo_object;
+ EvolutionShellComponent *shell_component;
+
+ bonobo_object = bonobo_object_from_servant (servant);
+ shell_component = EVOLUTION_SHELL_COMPONENT (bonobo_object);
+
+ gtk_signal_emit (GTK_OBJECT (shell_component), signals[INTERACTIVE], interactive);
+}
+
static Bonobo_Control
impl_createView (PortableServer_Servant servant,
const CORBA_char *physical_uri,
@@ -738,6 +753,15 @@ class_init (EvolutionShellComponentClass *klass)
gtk_marshal_NONE__NONE,
GTK_TYPE_NONE, 0);
+ signals[INTERACTIVE]
+ = gtk_signal_new ("interactive",
+ GTK_RUN_FIRST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (EvolutionShellComponentClass, interactive),
+ gtk_marshal_NONE__BOOL,
+ GTK_TYPE_NONE, 1,
+ GTK_TYPE_BOOL);
+
signals[HANDLE_EXTERNAL_URI]
= gtk_signal_new ("handle_external_uri",
GTK_RUN_FIRST,
@@ -767,7 +791,8 @@ class_init (EvolutionShellComponentClass *klass)
epv->_get_userCreatableItemTypes = impl__get_userCreatableItemTypes;
epv->setOwner = impl_setOwner;
epv->unsetOwner = impl_unsetOwner;
- epv->debug = impl_debug;
+ epv->debug = impl_debug;
+ epv->interactive = impl_interactive;
epv->createView = impl_createView;
epv->handleExternalURI = impl_handleExternalURI;
epv->createFolderAsync = impl_createFolderAsync;