diff options
author | Andrew P. <pan.pav.7c5@gmail.com> | 2014-08-09 07:51:16 +0300 |
---|---|---|
committer | Andrew P. <pan.pav.7c5@gmail.com> | 2014-08-09 07:51:16 +0300 |
commit | d8ccd45bd6bf07a53bedfc98a1b6a04d8e7d6884 (patch) | |
tree | 2bab295dd184edb45703e05a62900b2666e1da79 | |
parent | 1cd2dead81f92294984ea53218b7ab3f538bd9ce (diff) | |
parent | bd5ad540f9a070da60ddc353a815d4c4273109c2 (diff) | |
download | lightdm-gtk-greeter-git-d8ccd45bd6bf07a53bedfc98a1b6a04d8e7d6884.tar.gz |
Merge "hide-user-image" branch
-rw-r--r-- | data/lightdm-gtk-greeter.conf | 1 | ||||
-rw-r--r-- | src/lightdm-gtk-greeter.c | 36 |
2 files changed, 26 insertions, 11 deletions
diff --git a/data/lightdm-gtk-greeter.conf b/data/lightdm-gtk-greeter.conf index f9c435d..442e84b 100644 --- a/data/lightdm-gtk-greeter.conf +++ b/data/lightdm-gtk-greeter.conf @@ -15,6 +15,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] diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c index c6b7045..1a7a553 100644 --- a/src/lightdm-gtk-greeter.c +++ b/src/lightdm-gtk-greeter.c @@ -853,6 +853,9 @@ set_user_image (const gchar *username) 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) @@ -2492,7 +2495,7 @@ main (int argc, char **argv) #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 @@ -2521,21 +2524,32 @@ main (int argc, char **argv) init_indicators (config); #endif - value = g_key_file_get_value (config, "greeter", "default-user-image", NULL); - if (value) + if (g_key_file_get_boolean(config, "greeter", "hide-user-image", NULL)) { - if (value[0] == '#') - default_user_icon = g_strdup (value + 1); - else + 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 must be replaced with GtkGrid after dropping gtk2 support */ + 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 */ |