diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2003-11-11 09:01:11 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2003-11-11 09:01:11 +0800 |
commit | a99f0c42908ca1d5e923164c624f34cc770bef4f (patch) | |
tree | 133ea3ae8f73acf6649ee8c1f2aeda120206144d /shell/e-shell-window.c | |
parent | b1c26ce2bde7fffcd39cc185cc8670e767d190ba (diff) | |
download | gsoc2013-evolution-a99f0c42908ca1d5e923164c624f34cc770bef4f.tar.gz gsoc2013-evolution-a99f0c42908ca1d5e923164c624f34cc770bef4f.tar.zst gsoc2013-evolution-a99f0c42908ca1d5e923164c624f34cc770bef4f.zip |
Added a new "-c" command-line arg. (idle_cb): If the arg is specified,
* main.c: Added a new "-c" command-line arg.
(idle_cb): If the arg is specified, open the component with that
id/alias.
* e-shell.c (impl_Shell_createNewView): New, implementation for
the Shell::createNewView() CORBA method.
(e_shell_class_init): Install.
(e_shell_create_window): Get a component_id arg.
* e-shell-window.c (e_shell_window_new): Get a component_id arg
and create the window with that component activated if not NULL.
* Evolution-Shell.idl (createNewView): Remove.
(createNewWindow): New.
svn path=/trunk/; revision=23274
Diffstat (limited to 'shell/e-shell-window.c')
-rw-r--r-- | shell/e-shell-window.c | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c index 0e8dea989e..158ef3b485 100644 --- a/shell/e-shell-window.c +++ b/shell/e-shell-window.c @@ -389,13 +389,12 @@ init (EShellWindow *shell_window) /* Instantiation. */ GtkWidget * -e_shell_window_new (EShell *shell) +e_shell_window_new (EShell *shell, + const char *component_id) { EShellWindow *window = g_object_new (e_shell_window_get_type (), NULL); EShellWindowPrivate *priv = window->priv; BonoboUIContainer *ui_container; - GConfClient *gconf_client; - char *default_component_id; if (bonobo_window_construct (BONOBO_WINDOW (window), bonobo_ui_container_new (), @@ -428,17 +427,24 @@ e_shell_window_new (EShell *shell) gtk_window_set_default_size (GTK_WINDOW (window), 640, 480); - gconf_client = gconf_client_get_default (); - default_component_id = gconf_client_get_string (gconf_client, - "/apps/evolution/shell/view_defaults/component_id", - NULL); - g_object_unref (gconf_client); - - if (default_component_id == NULL) { - e_shell_window_switch_to_component (window, "mail"); + if (component_id != NULL) { + e_shell_window_switch_to_component (window, component_id); } else { - e_shell_window_switch_to_component (window, default_component_id); - g_free (default_component_id); + GConfClient *gconf_client; + char *default_component_id; + + gconf_client = gconf_client_get_default (); + default_component_id = gconf_client_get_string (gconf_client, + "/apps/evolution/shell/view_defaults/component_id", + NULL); + g_object_unref (gconf_client); + + if (default_component_id == NULL) { + e_shell_window_switch_to_component (window, "mail"); + } else { + e_shell_window_switch_to_component (window, default_component_id); + g_free (default_component_id); + } } return GTK_WIDGET (window); |