aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog9
-rw-r--r--shell/evolution-shell-component.c15
-rw-r--r--shell/evolution-shell-component.h2
3 files changed, 26 insertions, 0 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 9457ae4872..7b368142e5 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,12 @@
+2003-04-07 Not Zed <NotZed@Ximian.com>
+
+ [#40536]
+
+ * evolution-shell-component.c (impl_interactive): If going
+ interactive, track the view id in a private area.
+ (evolution_shell_component_get_parent_view_xid): Accessor method
+ to retrieve the current view xid.
+
2003-04-06 Ettore Perazzoli <ettore@ximian.com>
* e-shell-view.c (update_window_icon): Get the large version of
diff --git a/shell/evolution-shell-component.c b/shell/evolution-shell-component.c
index d08129c3c8..84dd2873a4 100644
--- a/shell/evolution-shell-component.c
+++ b/shell/evolution-shell-component.c
@@ -79,6 +79,8 @@ struct _EvolutionShellComponentPrivate {
populateFolderContextMenu/unpopulateFolderContextMenu. */
BonoboUIComponent *uic;
+ gulong parent_view_xid;
+
int ping_timeout_id;
void *closure;
@@ -501,6 +503,11 @@ impl_interactive (PortableServer_Servant servant,
bonobo_object = bonobo_object_from_servant (servant);
shell_component = EVOLUTION_SHELL_COMPONENT (bonobo_object);
+ if (interactive)
+ shell_component->priv->parent_view_xid = new_view_xid;
+ else
+ shell_component->priv->parent_view_xid = 0L;
+
g_signal_emit (shell_component, signals[INTERACTIVE], 0,
interactive, new_view_xid);
}
@@ -1125,6 +1132,14 @@ evolution_shell_component_get_owner (EvolutionShellComponent *shell_component)
return shell_component->priv->owner_client;
}
+gulong evolution_shell_component_get_parent_view_xid(EvolutionShellComponent *shell_component)
+{
+ g_return_val_if_fail (shell_component != NULL, 0);
+ g_return_val_if_fail (EVOLUTION_IS_SHELL_COMPONENT (shell_component), 0);
+
+ return shell_component->priv->parent_view_xid;
+}
+
void
evolution_shell_component_add_user_creatable_item (EvolutionShellComponent *shell_component,
diff --git a/shell/evolution-shell-component.h b/shell/evolution-shell-component.h
index 7cf6686ee0..53d9a4aae9 100644
--- a/shell/evolution-shell-component.h
+++ b/shell/evolution-shell-component.h
@@ -197,6 +197,8 @@ EvolutionShellComponent *evolution_shell_component_new (const EvolutionShellComp
void *closure);
EvolutionShellClient *evolution_shell_component_get_owner (EvolutionShellComponent *shell_component);
+gulong evolution_shell_component_get_parent_view_xid(EvolutionShellComponent *shell_component);
+
void evolution_shell_component_add_user_creatable_item (EvolutionShellComponent *shell_component,
const char *id,
const char *description,