[gnome-control-center] user-accounts: fix wrong label padding



commit 6ce59765dc188dec231b9a5e35c5e5bdfe194425
Author: Ondrej Holy <oholy redhat com>
Date:   Thu Aug 28 19:41:34 2014 +0200

    user-accounts: fix wrong label padding
    
    Hardcoded value is avoided and the label offset is calculated from
    style context now.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=736009

 panels/user-accounts/data/user-accounts-dialog.ui |    4 ----
 panels/user-accounts/um-user-panel.c              |   21 +++++++++++++++++++++
 2 files changed, 21 insertions(+), 4 deletions(-)
---
diff --git a/panels/user-accounts/data/user-accounts-dialog.ui 
b/panels/user-accounts/data/user-accounts-dialog.ui
index 071922d..534cc17 100644
--- a/panels/user-accounts/data/user-accounts-dialog.ui
+++ b/panels/user-accounts/data/user-accounts-dialog.ui
@@ -458,10 +458,6 @@
                               <object class="GtkLabel" id="last-login-value-label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="margin_start">6</property>
-                                <property name="margin_end">6</property>
-                                <property name="margin_top">6</property>
-                                <property name="margin_bottom">6</property>
                                 <property name="hexpand">True</property>
                                 <property name="xalign">0</property>
                               </object>
diff --git a/panels/user-accounts/um-user-panel.c b/panels/user-accounts/um-user-panel.c
index 49271bd..d304101 100644
--- a/panels/user-accounts/um-user-panel.c
+++ b/panels/user-accounts/um-user-panel.c
@@ -1327,6 +1327,26 @@ match_user (GtkTreeModel *model,
 }
 
 static void
+update_padding (GtkWidget *button, GtkWidget *label)
+{
+        GtkStyleContext *context;
+        GtkStateFlags state;
+        GtkBorder padding, border;
+        gint offset;
+
+        context = gtk_widget_get_style_context (button);
+        state = gtk_style_context_get_state (context);
+
+        gtk_style_context_get_padding (context, state, &padding);
+        gtk_style_context_get_border (context, state, &border);
+
+        offset = padding.left + border.left;
+
+        gtk_widget_set_margin_start (label, offset);
+        gtk_widget_set_margin_end (label, offset);
+}
+
+static void
 setup_main_window (CcUserPanelPrivate *d)
 {
         GtkWidget *userlist;
@@ -1433,6 +1453,7 @@ setup_main_window (CcUserPanelPrivate *d)
         button = get_widget (d, "last-login-history-button");
         g_signal_connect (button, "clicked",
                           G_CALLBACK (show_history), d);
+        update_padding (button, get_widget (d, "last-login-value-label"));
 
         d->permission = (GPermission *)polkit_permission_new_sync (USER_ACCOUNTS_PERMISSION, NULL, NULL, 
&error);
         if (d->permission != NULL) {


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