← Back to team overview

lightdm-gtk-greeter-team team mailing list archive

[Merge] lp:~lightdm-gtk-greeter-team/lightdm-gtk-greeter/lp-1334019-hide-user-image into lp:lightdm-gtk-greeter

 

Andrew P. has proposed merging lp:~lightdm-gtk-greeter-team/lightdm-gtk-greeter/lp-1334019-hide-user-image into lp:lightdm-gtk-greeter.

Requested reviews:
  LightDM Gtk+ Greeter Development Team (lightdm-gtk-greeter-team)
Related bugs:
  Bug #1334019 in LightDM GTK+ Greeter: "Greeter portraits cannot be disabled"
  https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/1334019

For more details, see:
https://code.launchpad.net/~lightdm-gtk-greeter-team/lightdm-gtk-greeter/lp-1334019-hide-user-image/+merge/225738

New option: hide-user-image=false|true (false by default).

-- 
https://code.launchpad.net/~lightdm-gtk-greeter-team/lightdm-gtk-greeter/lp-1334019-hide-user-image/+merge/225738
Your team LightDM Gtk+ Greeter Development Team is requested to review the proposed merge of lp:~lightdm-gtk-greeter-team/lightdm-gtk-greeter/lp-1334019-hide-user-image into lp:lightdm-gtk-greeter.
=== modified file 'data/lightdm-gtk-greeter.conf'
--- data/lightdm-gtk-greeter.conf	2014-02-09 20:03:35 +0000
+++ data/lightdm-gtk-greeter.conf	2014-07-05 17:43:15 +0000
@@ -13,6 +13,7 @@
 # keyboard = command to launch on-screen keyboard
 # position = main window position: x y
 # default-user-image = Image used as default user icon, path or #icon-name
+# hide-user-image = true|false, false by default
 # screensaver-timeout = Timeout (in seconds) until the screen blanks when the greeter is called as lockscreen
 # 
 [greeter]

=== modified file 'src/lightdm-gtk-greeter.c'
--- src/lightdm-gtk-greeter.c	2014-07-05 16:46:13 +0000
+++ src/lightdm-gtk-greeter.c	2014-07-05 17:43:15 +0000
@@ -868,6 +868,9 @@
     GdkPixbuf *image = NULL;
     GError *error = NULL;
 
+    if(!gtk_widget_get_visible (GTK_WIDGET (user_image)))
+        return;
+
     if (username)
         user = lightdm_user_list_get_user_by_name (lightdm_user_list_get_instance (), username);
     if (user)
@@ -2805,7 +2808,7 @@
 #else
     gtk_container_set_border_width (GTK_CONTAINER(gtk_builder_get_object (builder, "vbox2")), 18);
     gtk_container_set_border_width (GTK_CONTAINER(gtk_builder_get_object (builder, "content_frame")), 14);
-    gtk_container_set_border_width (GTK_CONTAINER(gtk_builder_get_object (builder, "buttonbox_frame")), 8);
+    gtk_container_set_border_width (GTK_CONTAINER(gtk_builder_get_object (builder, "buttonbox_frame")), 14);
     gtk_widget_set_tooltip_text(GTK_WIDGET(password_entry), _("Enter your password"));
     gtk_widget_set_tooltip_text(GTK_WIDGET(username_entry), _("Enter your username"));
 #endif
@@ -2834,21 +2837,32 @@
     init_indicators (config);
 #endif
 
-    value = g_key_file_get_value (config, "greeter", "default-user-image", NULL);
-    if (value)
-    {
-        if (value[0] == '#')
-            default_user_icon = g_strdup (value + 1);
-        else
+    if(g_key_file_get_boolean(config, "greeter", "hide-user-image", NULL))
+    {
+        gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, "user_image_border")));
+        gtk_widget_hide (GTK_WIDGET (user_image));  /* Hide to mark image is disabled */
+        gtk_widget_set_size_request (GTK_WIDGET (user_combo), 250, -1);
+        /* Deprecated, but table will be replaced with GtkGrid */
+        gtk_table_set_col_spacings (GTK_TABLE (gtk_builder_get_object (builder, "table1")), 0);
+    }
+    else
+    {
+        value = g_key_file_get_value (config, "greeter", "default-user-image", NULL);
+        if (value)
         {
-            default_user_pixbuf = gdk_pixbuf_new_from_file (value, &error);
-            if (!default_user_pixbuf)
+            if (value[0] == '#')
+                default_user_icon = g_strdup (value + 1);
+            else
             {
-                g_warning ("Failed to load default user image: %s", error->message);
-                g_clear_error (&error);
+                default_user_pixbuf = gdk_pixbuf_new_from_file (value, &error);
+                if (!default_user_pixbuf)
+                {
+                    g_warning ("Failed to load default user image: %s", error->message);
+                    g_clear_error (&error);
+                }
             }
+            g_free (value);
         }
-        g_free (value);
     }
 
     /* Session menu */


Follow ups