[gnome-system-tools] Remove PolkitLockButton in services-admin



commit f5bcff19e761c0429f2564fc2669588b6427494e
Author: Milan Bouchet-Valat <nalimilan club fr>
Date:   Thu Jan 28 15:06:06 2010 +0100

    Remove PolkitLockButton in services-admin
    
    No need to grey out the whole list and require clicking to authenticate: we now use gst_tool_authenticate() when we're going to need authorizations. This happends notably when toggling a service in the list.

 src/services/callbacks.c     |   13 +++++++++++++
 src/services/main.c          |    5 -----
 src/services/services-tool.c |    1 +
 3 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/src/services/callbacks.c b/src/services/callbacks.c
index 56c5565..90b7946 100644
--- a/src/services/callbacks.c
+++ b/src/services/callbacks.c
@@ -56,6 +56,12 @@ show_settings (void)
 			    COL_OBJECT, &service,
 			    -1);
 
+	/* Don't try to commit if not allowed */
+	if (!gst_tool_authenticate (tool, OOBS_OBJECT (service))) {
+		g_object_unref (service);
+		return;
+	}
+
 	title = g_strdup_printf (_("Settings for service \"%s\""),
 				 oobs_service_get_name (service));
 
@@ -154,6 +160,12 @@ on_service_toggled (GtkCellRenderer *renderer, gchar *path_str, gpointer data)
 			    COL_DANGEROUS, &dangerous,
 			    -1);
 
+	/* Don't try to commit if not allowed */
+	if (!gst_tool_authenticate (tool, OOBS_OBJECT (service))) {
+		g_object_unref (service);
+		return;
+	}
+
 	if (new_value || !dangerous || show_warning_dialog (tool, service)) {
 		OobsServicesRunlevel *rl;
 		
@@ -172,6 +184,7 @@ on_service_toggled (GtkCellRenderer *renderer, gchar *path_str, gpointer data)
 	}
 
 	gtk_tree_path_free (path);
+	g_object_unref (service);
 }
 
 void
diff --git a/src/services/main.c b/src/services/main.c
index 600334e..4e1e644 100644
--- a/src/services/main.c
+++ b/src/services/main.c
@@ -39,10 +39,6 @@ static GstDialogSignal signals [] = {
 	{ NULL }
 };
 
-static const gchar *policy_widgets [] = {
-	"services_list",
-	NULL
-};
 
 int 
 main (int argc, char *argv[])
@@ -51,7 +47,6 @@ main (int argc, char *argv[])
 	tool = gst_services_tool_new ();
 
 	gst_dialog_connect_signals (tool->main_dialog, signals);
-	gst_dialog_require_authentication_for_widgets (tool->main_dialog, policy_widgets);
 	table_create ();
 	service_settings_table_create ();
 
diff --git a/src/services/services-tool.c b/src/services/services-tool.c
index a6ca2e9..9df5129 100644
--- a/src/services/services-tool.c
+++ b/src/services/services-tool.c
@@ -105,5 +105,6 @@ gst_services_tool_new (void)
 			     "name", "services",
 			     "title", _("Services Settings"),
 			     "icon", "network-server",
+	                     "lock-button", FALSE,
 			     NULL);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]