[gnome-control-center] region: Hide system tab if no localed



commit e26c19da415bd0c5746fa14c06170e199af722fe
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Sep 29 14:46:39 2011 +0100

    region: Hide system tab if no localed
    
    As localed will be required to set the system-wide layouts.

 panels/region/gnome-region-panel-system.c |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)
---
diff --git a/panels/region/gnome-region-panel-system.c b/panels/region/gnome-region-panel-system.c
index 12532a3..a0e26bf 100644
--- a/panels/region/gnome-region-panel-system.c
+++ b/panels/region/gnome-region-panel-system.c
@@ -334,12 +334,20 @@ setup_system (GtkBuilder *dialog)
         GtkWidget *button;
 
         localed_permission = polkit_permission_new_sync ("org.freedesktop.locale1.set-locale", NULL, NULL, NULL);
-        if (localed_permission != NULL) {
-	        g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, localed_permission);
-
-                g_signal_connect (localed_permission, "notify",
-                                  G_CALLBACK (on_permission_changed), dialog);
+        if (localed_permission == NULL) {
+                GtkWidget *tab_widget, *notebook;
+                int num;
+
+                tab_widget = WID ("table3");
+                notebook = WID ("region_notebook");
+                num = gtk_notebook_page_num (GTK_NOTEBOOK (notebook), tab_widget);
+                gtk_notebook_remove_page (GTK_NOTEBOOK (notebook), num);
+                return;
         }
+
+        g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, localed_permission);
+        g_signal_connect (localed_permission, "notify",
+                          G_CALLBACK (on_permission_changed), dialog);
         on_permission_changed (localed_permission, NULL, dialog);
 
 



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