diff options
author | Christian Neumair <chris@gnome-de.org> | 2006-06-21 16:26:23 +0000 |
---|---|---|
committer | Christian Neumair <cneumair@src.gnome.org> | 2006-06-21 16:26:23 +0000 |
commit | ac97cb95cff3581865342e2d64507906896f42e5 (patch) | |
tree | ecb54050a23d4703e9263ec4e3c27a4e3f9ecdd3 /src/nautilus-shell.c | |
parent | c98d766500ba4533fb759ba83ad20045d81ae39e (diff) | |
download | nautilus-ac97cb95cff3581865342e2d64507906896f42e5.tar.gz |
Add complete session management, remember maximization state and type of
2006-06-21 Christian Neumair <chris@gnome-de.org>
Add complete session management, remember maximization state and type
of open windows, save history on quit.
* libnautilus-private/nautilus-global-preferences.c
* libnautilus-private/nautilus-global-preferences.h:
Add NAUTILUS_PREFERENCES_NAVIGATION_WINDOW_MAXIMIZED setting.
* libnautilus-private/nautilus-metadata.h:
Add NAUTILUS_METADATA_KEY_WINDOW_MAXIMIZED key.
* src/nautilus-application.c:
* src/nautilus-application.h:
Save session on session save request, add
nautilus_application_load_session(), move
initial navigational geometry handling to
nautilus_application_create_navigation_window,
maximize window if
NAUTILUS_PREFERENCES_NAVIGATION_WINDOW_MAXIMIZED
is set.
* src/nautilus-main.c:
Add "--load-session" parameter.
* src/nautilus-shell-interface.idl:
* src/nautilus-shell.c:
Add load_session CORBA method.
* src/nautilus-navigation-window.c:
* src/nautilus-spatial-window.c:
Save maximized state when appropriate.
* src/nautilus-window-manage-views.c:
Load maximized state for spatial windows,
remove navigation window geometry handling.
* src/nautilus-window.c:
* src/nautilus-window-private.h:
Add nautilus_add_to_history_list_no_notify.
Diffstat (limited to 'src/nautilus-shell.c')
-rw-r--r-- | src/nautilus-shell.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/nautilus-shell.c b/src/nautilus-shell.c index 47fc457cf..36ea70931 100644 --- a/src/nautilus-shell.c +++ b/src/nautilus-shell.c @@ -72,6 +72,9 @@ static void corba_open_default_window (PortableServer_Servant servant const CORBA_char *geometry, CORBA_boolean browser_window, CORBA_Environment *ev); +static void corba_load_session (PortableServer_Servant servant, + const CORBA_char *filename, + CORBA_Environment *ev); static void corba_start_desktop (PortableServer_Servant servant, CORBA_Environment *ev); static void corba_stop_desktop (PortableServer_Servant servant, @@ -93,6 +96,7 @@ nautilus_shell_class_init (NautilusShellClass *klass) klass->epv.open_windows = corba_open_windows; klass->epv.open_default_window = corba_open_default_window; + klass->epv.load_session = corba_load_session; klass->epv.start_desktop = corba_start_desktop; klass->epv.stop_desktop = corba_stop_desktop; klass->epv.quit = corba_quit; @@ -205,6 +209,20 @@ corba_open_default_window (PortableServer_Servant servant, } static void +corba_load_session (PortableServer_Servant servant, + const CORBA_char *filename, + CORBA_Environment *ev) +{ + NautilusShell *shell; + NautilusApplication *application; + + shell = NAUTILUS_SHELL (bonobo_object_from_servant (servant)); + application = NAUTILUS_APPLICATION (shell->details->application); + + nautilus_application_load_session (application, filename); +} + +static void corba_start_desktop (PortableServer_Servant servant, CORBA_Environment *ev) { |