Index: gnome-background-properties.glade
===================================================================
RCS file: /cvs/gnome/gnome-control-center/capplets/background/gnome-background-properties.glade,v
retrieving revision 1.8
diff -u -r1.8 gnome-background-properties.glade
--- gnome-background-properties.glade	11 Feb 2006 07:18:39 -0000	1.8
+++ gnome-background-properties.glade	23 Jul 2006 17:59:22 -0000
@@ -136,6 +136,59 @@
 	  <property name="visible">True</property>
 	  <property name="homogeneous">False</property>
 	  <property name="spacing">6</property>
+	  <child>
+	    <widget class="GtkHBox" id="lockdown_hbox">
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">6</property>
+
+	      <child>
+		<widget class="GtkImage" id="image23">
+		  <property name="visible">True</property>
+		  <property name="stock">gtk-dialog-warning</property>
+		  <property name="icon_size">4</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="lockdown_label">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;You do not have permission to change theme settings&lt;/b&gt;</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
 
 	  <child>
 	    <widget class="GtkLabel" id="label1">
Index: gnome-wp-capplet.c
===================================================================
RCS file: /cvs/gnome/gnome-control-center/capplets/background/gnome-wp-capplet.c,v
retrieving revision 1.43
diff -u -r1.43 gnome-wp-capplet.c
--- gnome-wp-capplet.c	11 Feb 2006 06:28:53 -0000	1.43
+++ gnome-wp-capplet.c	23 Jul 2006 17:59:22 -0000
@@ -1071,6 +1071,16 @@
 
   gnome_wp_set_sensitivities (capplet);
 
+
+  
+  if (get_lockdown_status ())
+  {
+    /* show message: theme changing has been disabled by the system administrator */
+    gtk_widget_show (glade_xml_get_widget (dialog, "lockdown_hbox"));
+  }
+
+
+
   /* Create the file chooser dialog stuff here */
   capplet->filesel = gtk_file_chooser_dialog_new_with_backend (_("Add Wallpaper"),
 							       GTK_WINDOW (capplet->window),
@@ -1108,6 +1118,21 @@
 		    G_CALLBACK (gnome_wp_update_preview), capplet);
 }
 
+/* Find out if the lockdown key has been set. Currently returns false on error... */
+static gboolean
+get_lockdown_status ()
+{
+  GConfClient *client;
+  gboolean result;
+
+  client = gconf_client_get_default ();
+  result = gconf_client_get_bool (client, WP_LOCKDOWN_KEY, NULL);
+  g_object_unref (client);
+
+  return result;
+}
+
+
 static void gnome_wp_set_sensitivities (GnomeWPCapplet* capplet) {
   GtkTreeIter iter;
   GtkTreeModel * model;
@@ -1115,6 +1140,7 @@
   GnomeWPItem * item;
   gchar * wpfile;
   gchar * filename = NULL;
+  gboolean lockdown = get_lockdown_status();
 
   selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (capplet->treeview));
   if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
@@ -1125,28 +1151,28 @@
     g_free (wpfile);
   }
 
-  if (!gconf_client_key_is_writable (capplet->client, WP_OPTIONS_KEY, NULL)
+  if (lockdown || !gconf_client_key_is_writable (capplet->client, WP_OPTIONS_KEY, NULL)
       || (filename && !strcmp (filename, "(none)"))) 
     gtk_widget_set_sensitive (capplet->wp_opts, FALSE);
   else
     gtk_widget_set_sensitive (capplet->wp_opts, TRUE);
   
-  if (!gconf_client_key_is_writable (capplet->client, WP_SHADING_KEY, NULL))
+  if (lockdown || !gconf_client_key_is_writable (capplet->client, WP_SHADING_KEY, NULL))
     gtk_widget_set_sensitive (capplet->color_opt, FALSE);
   else
     gtk_widget_set_sensitive (capplet->color_opt, TRUE);
 
-  if (!gconf_client_key_is_writable (capplet->client, WP_PCOLOR_KEY, NULL))
+  if (lockdown || !gconf_client_key_is_writable (capplet->client, WP_PCOLOR_KEY, NULL))
     gtk_widget_set_sensitive (capplet->pc_picker, FALSE);
   else
     gtk_widget_set_sensitive (capplet->pc_picker, TRUE);
 
-  if (!gconf_client_key_is_writable (capplet->client, WP_SCOLOR_KEY, NULL))
+  if (lockdown || !gconf_client_key_is_writable (capplet->client, WP_SCOLOR_KEY, NULL))
     gtk_widget_set_sensitive (capplet->sc_picker, FALSE);
   else
     gtk_widget_set_sensitive (capplet->sc_picker, TRUE);
 
-  if (!filename || !strcmp (filename, "(none)"))
+  if (lockdown || !filename || !strcmp (filename, "(none)"))
     gtk_widget_set_sensitive (capplet->rm_button, FALSE);
   else
     gtk_widget_set_sensitive (capplet->rm_button, TRUE);    
Index: gnome-wp-utils.h
===================================================================
RCS file: /cvs/gnome/gnome-control-center/capplets/background/gnome-wp-utils.h,v
retrieving revision 1.5
diff -u -r1.5 gnome-wp-utils.h
--- gnome-wp-utils.h	14 Jan 2006 20:53:58 -0000	1.5
+++ gnome-wp-utils.h	23 Jul 2006 17:59:22 -0000
@@ -32,6 +32,7 @@
 #define WP_SCOLOR_KEY WP_PATH_KEY "/secondary_color"
 #define WP_KEYBOARD_PATH "/desktop/gnome/peripherals/keyboard"
 #define WP_DELAY_KEY WP_KEYBOARD_PATH "/delay"
+#define WP_LOCKDOWN_KEY "/desktope/gnome/lockdown/disable_background_settings"
 
 G_BEGIN_DECLS
 
