diff options
author | Dan Winship <danw@src.gnome.org> | 2003-03-25 22:01:46 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2003-03-25 22:01:46 +0800 |
commit | 7733348dcc86add1bdd241e20f7b3afeb66250ec (patch) | |
tree | c2d300796ffc9e9822af582f509ab2ecfaad39cf /shell/e-shell.c | |
parent | 5d40c589ac1f330e06d6384ebd150f24f15c04a9 (diff) | |
download | gsoc2013-evolution-7733348dcc86add1bdd241e20f7b3afeb66250ec.tar.gz gsoc2013-evolution-7733348dcc86add1bdd241e20f7b3afeb66250ec.tar.zst gsoc2013-evolution-7733348dcc86add1bdd241e20f7b3afeb66250ec.zip |
add a "new_view_xid" arg, so the component has a window id to make use of
* Evolution-ShellComponent.idl (interactive): add a "new_view_xid"
arg, so the component has a window id to make use of as a parent
if it needs to pop up a dialog.
* e-shell.c (set_interactive): Pass the new_view_xid when going
interactive.
(e_shell_set_interactive): Remove this since it wasn't being used,
and couldn't be used for anything except lying to the components.
* evolution-shell-component.c
(evolution_shell_component_class_init): Update "interactive"
signal definition
(impl_interactive): Update prototype and signal emission
* e-shell-marshal.list (NONE:BOOL,INT): add
svn path=/trunk/; revision=20493
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r-- | shell/e-shell.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c index ff7a844ae3..69c959fbcb 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -204,6 +204,7 @@ set_interactive (EShell *shell, { EShellPrivate *priv; GList *id_list, *p; + Window new_view_xid; priv = shell->priv; @@ -212,6 +213,16 @@ set_interactive (EShell *shell, priv->is_interactive = interactive; + if (interactive) { + GtkWidget *new_view; + + g_return_if_fail (priv->views && priv->views->data); + new_view = priv->views->data; + + new_view_xid = GDK_WINDOW_XWINDOW (new_view->window); + } else + new_view_xid = None; + id_list = e_component_registry_get_id_list (priv->component_registry); for (p = id_list; p != NULL; p = p->next) { EvolutionShellComponentClient *shell_component_client; @@ -225,7 +236,7 @@ set_interactive (EShell *shell, CORBA_exception_init (&ev); - GNOME_Evolution_ShellComponent_interactive (shell_component_objref, interactive, &ev); + GNOME_Evolution_ShellComponent_interactive (shell_component_objref, interactive, new_view_xid, &ev); if (ev._major != CORBA_NO_EXCEPTION) g_warning ("Error changing interactive status of component %s to %s -- %s\n", id, interactive ? "TRUE" : "FALSE", BONOBO_EX_REPOID (&ev)); @@ -649,16 +660,6 @@ impl_Shell_setLineStatus (PortableServer_Servant servant, } -void -e_shell_set_interactive (EShell *shell, - gboolean interactive) -{ - g_return_if_fail (E_IS_SHELL (shell)); - - set_interactive (shell, interactive); -} - - /* Set up the ::Activity interface. */ static void |