From 638ad0ba0b02766c7e48a92d72366cf6fc39e4c1 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Thu, 13 Sep 2001 23:46:03 +0000 Subject: [Fix #5990, Remembering Evolution window geometry.] * e-shell.c (impl_Shell_createNewView): gtk_widget_show() the new view returned by `e_shell_create_view()'. (e_shell_restore_from_settings): Same here, after loading the settings. * e-shell-view.c (activate_shortcut_cb): gtk_widget_show() the new view returned by `e_shell_create_view()'. * e-shell-view-menu.c (command_open_folder_in_new_window): gtk_widget_show() the view returned by `e_shell_create_view()'. * e-shell-folder-commands.c (e_shell_command_open_folder_in_other_window): gtk_widget_show() the view returned by `e_shell_create_view()'. * e-shell.c (e_shell_create_view): Don't show the view automatically anymore. * e-shell-view.c (e_shell_view_save_settings): Save the width and height of the window. (e_shell_view_load_settings): Restore the width and the height and gtk_window_set_default_size() based on them. svn path=/trunk/; revision=12816 --- shell/ChangeLog | 27 +++++++++++++++++++++++++++ shell/e-shell-folder-commands.c | 6 +++++- shell/e-shell-view-menu.c | 5 +++-- shell/e-shell-view.c | 33 ++++++++++++++++++++++++++------- shell/e-shell.c | 7 ++++++- 5 files changed, 67 insertions(+), 11 deletions(-) diff --git a/shell/ChangeLog b/shell/ChangeLog index f87c9410e3..d96c0eb209 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,30 @@ +2001-09-13 Ettore Perazzoli + + [Fix #5990, Remembering Evolution window geometry.] + + * e-shell.c (impl_Shell_createNewView): gtk_widget_show() the new + view returned by `e_shell_create_view()'. + (e_shell_restore_from_settings): Same here, after loading the + settings. + + * e-shell-view.c (activate_shortcut_cb): gtk_widget_show() the new + view returned by `e_shell_create_view()'. + + * e-shell-view-menu.c (command_open_folder_in_new_window): + gtk_widget_show() the view returned by `e_shell_create_view()'. + + * e-shell-folder-commands.c + (e_shell_command_open_folder_in_other_window): gtk_widget_show() + the view returned by `e_shell_create_view()'. + + * e-shell.c (e_shell_create_view): Don't show the view + automatically anymore. + + * e-shell-view.c (e_shell_view_save_settings): Save the width and + height of the window. + (e_shell_view_load_settings): Restore the width and the height and + gtk_window_set_default_size() based on them. + 2001-09-13 Ettore Perazzoli [Remove a bunch of debugging messages, as per #7741.] diff --git a/shell/e-shell-folder-commands.c b/shell/e-shell-folder-commands.c index b1cc047f85..a9bc540ca3 100644 --- a/shell/e-shell-folder-commands.c +++ b/shell/e-shell-folder-commands.c @@ -256,11 +256,15 @@ void e_shell_command_open_folder_in_other_window (EShell *shell, EShellView *shell_view) { + EShellView *view; + g_return_if_fail (shell != NULL); g_return_if_fail (E_IS_SHELL (shell)); g_return_if_fail (shell_view != NULL && E_IS_SHELL_VIEW (shell_view)); - e_shell_create_view (shell, e_shell_view_get_current_uri (shell_view)); + view = e_shell_create_view (shell, e_shell_view_get_current_uri (shell_view)); + + gtk_widget_show (GTK_WIDGET (view)); } diff --git a/shell/e-shell-view-menu.c b/shell/e-shell-view-menu.c index 1d4d4c1671..5f3520993f 100644 --- a/shell/e-shell-view-menu.c +++ b/shell/e-shell-view-menu.c @@ -308,7 +308,7 @@ command_open_folder_in_new_window (BonoboUIComponent *uih, gpointer data, const char *path) { - EShellView *shell_view; + EShellView *shell_view, *new_view; EShell *shell; const char *current_uri; @@ -316,7 +316,8 @@ command_open_folder_in_new_window (BonoboUIComponent *uih, shell = e_shell_view_get_shell (shell_view); current_uri = e_shell_view_get_current_uri (shell_view); - e_shell_create_view (shell, current_uri); + new_view = e_shell_create_view (shell, current_uri); + gtk_widget_show (GTK_WIDGET (new_view)); } diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c index 974da73007..db6237d2aa 100644 --- a/shell/e-shell-view.c +++ b/shell/e-shell-view.c @@ -597,10 +597,14 @@ activate_shortcut_cb (EShortcutsView *shortcut_view, shell_view = E_SHELL_VIEW (data); - if (in_new_window) - e_shell_create_view (e_shell_view_get_shell (shell_view), uri); - else + if (in_new_window) { + EShellView *new_view; + + new_view = e_shell_create_view (e_shell_view_get_shell (shell_view), uri); + gtk_widget_show (GTK_WIDGET (new_view)); + } else { e_shell_view_display_uri (shell_view, uri); + } } /* Callback when user chooses "Hide shortcut bar" via a right click */ @@ -2322,13 +2326,20 @@ e_shell_view_save_settings (EShellView *shell_view, prefix = g_strdup_printf ("/Shell/Views/%d/", view_num); + key = g_strconcat (prefix, "Width", NULL); + bonobo_config_set_long (db, key, GTK_WIDGET (shell_view)->allocation.width, NULL); + g_free (key); + + key = g_strconcat (prefix, "Height", NULL); + bonobo_config_set_long (db, key, GTK_WIDGET (shell_view)->allocation.height, NULL); + g_free (key); + key = g_strconcat (prefix, "CurrentShortcutsGroupNum", NULL); bonobo_config_set_long (db, key, e_shell_view_get_current_shortcuts_group_num (shell_view), NULL); g_free (key); - key = g_strconcat (prefix, "FolderBarShown", NULL); bonobo_config_set_long (db, key, e_shell_view_folder_bar_shown (shell_view), NULL); g_free (key); @@ -2347,7 +2358,6 @@ e_shell_view_save_settings (EShellView *shell_view, e_paned_get_position (E_PANED (priv->view_hpaned)), NULL); g_free (key); - key = g_strconcat (prefix, "DisplayedURI", NULL); uri = e_shell_view_get_current_uri (shell_view); if (uri != NULL) @@ -2403,6 +2413,7 @@ e_shell_view_load_settings (EShellView *shell_view, EShellViewPrivate *priv; EShortcutBar *shortcut_bar; int num_groups, group, val; + long width, height; char *stringval, *prefix, *filename, *key; g_return_val_if_fail (shell_view != NULL, FALSE); @@ -2417,6 +2428,16 @@ e_shell_view_load_settings (EShellView *shell_view, prefix = g_strdup_printf ("/Shell/Views/%d/", view_num); + key = g_strconcat (prefix, "Width", NULL); + width = bonobo_config_get_long (db, key, NULL); + g_free (key); + + key = g_strconcat (prefix, "Height", NULL); + height = bonobo_config_get_long (db, key, NULL); + g_free (key); + + gtk_window_set_default_size (GTK_WINDOW (shell_view), width, height); + key = g_strconcat (prefix, "CurrentShortcutsGroupNum", NULL); val = bonobo_config_get_long (db, key, NULL); e_shell_view_set_current_shortcuts_group_num (shell_view, val); @@ -2472,10 +2493,8 @@ e_shell_view_load_settings (EShellView *shell_view, filename = g_strdup_printf ("%s/config/storage-set-view-expanded:view_%d", e_shell_get_local_directory (priv->shell), view_num); - e_tree_load_expanded_state (E_TREE (priv->storage_set_view), filename); - g_free (filename); return TRUE; diff --git a/shell/e-shell.c b/shell/e-shell.c index 8ebb607f65..812b585387 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -268,6 +268,8 @@ impl_Shell_createNewView (PortableServer_Servant servant, return CORBA_OBJECT_NIL; } + gtk_widget_show (GTK_WIDGET (shell_view)); + shell_view_interface = e_shell_view_get_corba_interface (shell_view); if (shell_view_interface == CORBA_OBJECT_NIL) { CORBA_exception_set (ev, CORBA_USER_EXCEPTION, @@ -1063,7 +1065,6 @@ e_shell_create_view (EShell *shell, view = e_shell_view_new (shell); - gtk_widget_show (GTK_WIDGET (view)); gtk_signal_connect (GTK_OBJECT (view), "delete_event", GTK_SIGNAL_FUNC (view_delete_event_cb), shell); gtk_signal_connect (GTK_OBJECT (view), "destroy", @@ -1354,6 +1355,10 @@ e_shell_restore_from_settings (EShell *shell) if (! e_shell_view_load_settings (view, i)) retval = FALSE; + + /* This needs to be done after loading the settings as the + default size is in the settings as well. */ + gtk_widget_show (GTK_WIDGET (view)); } return retval; -- cgit v1.2.3