[gnome-system-tools] Remove PolkitLockButton in services-admin
- From: Milan Bouchet-Valat <milanbv src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-system-tools] Remove PolkitLockButton in services-admin
- Date: Fri, 29 Jan 2010 14:15:08 +0000 (UTC)
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]