Thanks -- Sarfraaz Ahmed <asarfraaz novell com> |
Index: e-shell.c =================================================================== RCS file: /cvs/gnome/evolution/shell/e-shell.c,v retrieving revision 1.246 diff -u -r1.246 e-shell.c --- e-shell.c 12 May 2004 03:33:51 -0000 1.246 +++ e-shell.c 19 May 2004 07:17:09 -0000 @@ -151,7 +151,41 @@ set_interactive (EShell *shell, gboolean interactive) { - /* FIXME TODO */ + GSList *component_list; + GSList *p; + GList *first_element; + int num_windows; + EShellWindow *window; + + g_return_if_fail (E_IS_SHELL (shell)); + + shell->priv->is_interactive = interactive; + + num_windows = g_list_length (shell->priv->windows); + + /* We want to send the "interactive" message only when the first + window is created */ + if (num_windows != 1) + return; + + first_element = g_list_first (shell->priv->windows); + window = E_SHELL_WINDOW (first_element->data); + + component_list = e_component_registry_peek_list (shell->priv->component_registry); + + for (p = component_list; p != NULL; p = p->next) { + EComponentInfo *info = p->data; + CORBA_Environment ev; + + CORBA_exception_init (&ev); + + GNOME_Evolution_Component_interactive (info->iface, interactive,GPOINTER_TO_INT (BONOBO_WINDOW (window)), &ev); + + /* Ignore errors, the components can decide to not implement + this interface. */ + + CORBA_exception_free (&ev); + } } @@ -716,7 +750,6 @@ for (p = component_infos; success && p != NULL; p = p->next) { const EComponentInfo *info = p->data; CORBA_Environment ev; - gboolean component_upgraded; CORBA_exception_init (&ev);