aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/e-shell-window-actions.c16
-rw-r--r--shell/e-shell.c4
2 files changed, 20 insertions, 0 deletions
diff --git a/shell/e-shell-window-actions.c b/shell/e-shell-window-actions.c
index a53412c00b..235456e954 100644
--- a/shell/e-shell-window-actions.c
+++ b/shell/e-shell-window-actions.c
@@ -1361,9 +1361,17 @@ action_work_offline_cb (GtkAction *action,
EShellWindow *shell_window)
{
EShell *shell;
+ EShellSettings *shell_settings;
shell = e_shell_window_get_shell (shell_window);
+ shell_settings = e_shell_get_shell_settings (shell);
+
e_shell_set_online (shell, FALSE);
+
+ /* XXX The sense of the setting is reversed. Would be more
+ * intuitive and less error-prone as "start-online". */
+ e_shell_settings_set_boolean (
+ shell_settings, "start-offline", TRUE);
}
/**
@@ -1379,9 +1387,17 @@ action_work_online_cb (GtkAction *action,
EShellWindow *shell_window)
{
EShell *shell;
+ EShellSettings *shell_settings;
shell = e_shell_window_get_shell (shell_window);
+ shell_settings = e_shell_get_shell_settings (shell);
+
e_shell_set_online (shell, TRUE);
+
+ /* XXX The sense of the setting is reversed. Would be more
+ * intuitive and less error-prone as "start-online". */
+ e_shell_settings_set_boolean (
+ shell_settings, "start-offline", FALSE);
}
/**
diff --git a/shell/e-shell.c b/shell/e-shell.c
index 5b1e3beb78..e8a95b1523 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -967,6 +967,10 @@ shell_init (EShell *shell)
* otherwise the GConf bindings will not get set up. */
e_shell_settings_install_property_for_key (
+ "start-offline",
+ "/apps/evolution/shell/start_offline");
+
+ e_shell_settings_install_property_for_key (
"disable-application-handlers",
"/desktop/gnome/lockdown/disable_application_handlers");