Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNickolay V. Shmyrev <nshmyrev@src.gnome.org>2005-08-03 06:02:35 (GMT)
committer Nickolay V. Shmyrev <nshmyrev@src.gnome.org>2005-08-03 06:02:35 (GMT)
commite696cbc50e77b79a49ff35d5964da2153681c345 (patch)
treef385faf4c76a6b864a98917397549935a5d65d91
parent5cc8e92ad9fb04792682b474a670aaa803666f78 (diff)
Disable save and print respect to lockdown gconf keys
-rw-r--r--ChangeLog7
-rw-r--r--shell/ev-window.c14
2 files changed, 20 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b802221..6feae0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2005-08-03 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+ * shell/ev-window.c: (update_action_sensitivity):
+
+ Disable print and save respect to lockdown gconf keys. Fix
+ for 312342.
+
+2005-08-03 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+
* configure.ac:
* shell/ev-utils.c: (rename_file), (set_umask_permissions),
(write_to_temp_file), (ev_file_set_contents):
diff --git a/shell/ev-window.c b/shell/ev-window.c
index e039781..fac6047 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -153,7 +153,8 @@ static const GtkTargetEntry ev_drop_types[] = {
#define GCONF_CHROME_TOOLBAR "/apps/evince/show_toolbar"
#define GCONF_CHROME_SIDEBAR "/apps/evince/show_sidebar"
#define GCONF_CHROME_STATUSBAR "/apps/evince/show_statusbar"
-
+#define GCONF_LOCKDOWN_SAVE "/desktop/gnome/lockdown/disable_save_to_disk"
+#define GCONF_LOCKDOWN_PRINT "/desktop/gnome/lockdown/disable_printing"
#define GCONF_SIDEBAR_SIZE "/apps/evince/sidebar_size"
#define SIDEBAR_DEFAULT_SIZE 132
@@ -213,6 +214,7 @@ update_action_sensitivity (EvWindow *ev_window)
gboolean ok_to_print = TRUE;
gboolean ok_to_copy = TRUE;
gboolean has_properties = TRUE;
+ GConfClient *client;
view = EV_VIEW (ev_window->priv->view);
@@ -241,6 +243,16 @@ update_action_sensitivity (EvWindow *ev_window)
if (!info || info->fields_mask == 0) {
has_properties = FALSE;
}
+
+ client = gconf_client_get_default ();
+
+ if (gconf_client_get_bool (client, GCONF_LOCKDOWN_SAVE, NULL)) {
+ ok_to_copy = FALSE;
+ }
+
+ if (gconf_client_get_bool (client, GCONF_LOCKDOWN_PRINT, NULL)) {
+ ok_to_print = FALSE;
+ }
/* File menu */
/* "FileOpen": always sensitive */