[gnome-system-tools] Fix handling of long user names



commit 6d22d346f750eab9e0e262b64ba9e1dca67bf2b1
Author: Milan Bouchet-Valat <nalimilan club fr>
Date:   Tue Feb 2 11:55:48 2010 +0100

    Fix handling of long user names
    
    Don't resize dialog when users with long Real names are selected. The users table now ellipsizes names at a reasonable width (200px), and never grows beyond this, which is necessary to avoid ever resizing the window (e.g. when creating an user). All labels showing Real name are now 170px long and don't grow either. They now wrap on word if the name is too long, to ensure it is fully shown at least in one place. Remove some padding in the table and between main view widgets.

 interfaces/users.ui     |   17 ++++++++++++++++-
 src/users/users-table.c |    8 ++++----
 2 files changed, 20 insertions(+), 5 deletions(-)
---
diff --git a/interfaces/users.ui b/interfaces/users.ui
index 394c342..da0c2b0 100644
--- a/interfaces/users.ui
+++ b/interfaces/users.ui
@@ -80,6 +80,7 @@
         <property name="spacing">24</property>
         <child>
           <object class="GtkVBox" id="vbox2">
+            <property name="width_request">200</property>
             <property name="visible">True</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
@@ -153,7 +154,7 @@
             <property name="visible">True</property>
             <property name="n_rows">6</property>
             <property name="n_columns">4</property>
-            <property name="column_spacing">12</property>
+            <property name="column_spacing">6</property>
             <property name="row_spacing">12</property>
             <child>
               <object class="GtkImage" id="user_settings_face">
@@ -204,9 +205,11 @@
             </child>
             <child>
               <object class="GtkLabel" id="user_settings_real_name">
+                <property name="width_request">170</property>
                 <property name="visible">True</property>
                 <property name="xalign">0</property>
                 <property name="label">Real Name</property>
+                <property name="wrap">True</property>
                 <attributes>
                   <attribute name="weight" value="bold"/>
                   <attribute name="size" value="13000"/>
@@ -1719,9 +1722,12 @@
                 </child>
                 <child>
                   <object class="GtkLabel" id="user_name_name">
+                    <property name="width_request">170</property>
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
                     <property name="label">Real Name</property>
+                    <property name="wrap">True</property>
+                    <property name="wrap_mode">word-char</property>
                     <attributes>
                       <attribute name="weight" value="bold"/>
                       <attribute name="size" value="14000"/>
@@ -2032,9 +2038,12 @@
                 </child>
                 <child>
                   <object class="GtkLabel" id="user_passwd_name">
+                    <property name="width_request">170</property>
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
                     <property name="label">Real Name</property>
+                    <property name="wrap">True</property>
+                    <property name="wrap_mode">word-char</property>
                     <attributes>
                       <attribute name="weight" value="bold"/>
                       <attribute name="size" value="14000"/>
@@ -2242,9 +2251,12 @@
                 </child>
                 <child>
                   <object class="GtkLabel" id="user_profile_name">
+                    <property name="width_request">170</property>
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
                     <property name="label">Real Name</property>
+                    <property name="wrap">True</property>
+                    <property name="wrap_mode">word-char</property>
                     <attributes>
                       <attribute name="weight" value="bold"/>
                       <attribute name="size" value="14000"/>
@@ -2636,9 +2648,12 @@
                 </child>
                 <child>
                   <object class="GtkLabel" id="user_advanced_name">
+                    <property name="width_request">170</property>
                     <property name="visible">True</property>
                     <property name="xalign">0</property>
                     <property name="label">Real Name</property>
+                    <property name="wrap">True</property>
+                    <property name="wrap_mode">word-char</property>
                     <attributes>
                       <attribute name="weight" value="bold"/>
                       <attribute name="size" value="14000"/>
diff --git a/src/users/users-table.c b/src/users/users-table.c
index 240288e..71fa6d6 100644
--- a/src/users/users-table.c
+++ b/src/users/users-table.c
@@ -47,8 +47,7 @@ add_user_columns (GtkTreeView *treeview)
 					     "pixbuf", COL_USER_FACE,
 					     NULL);
 	g_object_set (G_OBJECT (renderer),
-		      "xpad", 3,
-		      "ypad", 6,
+		      "ypad", 3,
 		      NULL);
 	/* User full name and login, on two lines */
 	renderer = gtk_cell_renderer_text_new ();
@@ -57,8 +56,9 @@ add_user_columns (GtkTreeView *treeview)
 					     "markup", COL_USER_LABEL,
 					     NULL);
 	g_object_set (G_OBJECT (renderer),
-		      "xpad", 3,
-		      "ypad", 6,
+		      "ypad", 3,
+	              "ellipsize", PANGO_ELLIPSIZE_END,
+	              "ellipsize-set", TRUE,
 		      NULL);
 
 	gtk_tree_view_insert_column (treeview, column, -1);



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