summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew P. <pan.pav.7c5@gmail.com>2014-08-09 07:51:16 +0300
committerAndrew P. <pan.pav.7c5@gmail.com>2014-08-09 07:51:16 +0300
commitd8ccd45bd6bf07a53bedfc98a1b6a04d8e7d6884 (patch)
tree2bab295dd184edb45703e05a62900b2666e1da79
parent1cd2dead81f92294984ea53218b7ab3f538bd9ce (diff)
parentbd5ad540f9a070da60ddc353a815d4c4273109c2 (diff)
downloadlightdm-gtk-greeter-git-d8ccd45bd6bf07a53bedfc98a1b6a04d8e7d6884.tar.gz
Merge "hide-user-image" branch
-rw-r--r--data/lightdm-gtk-greeter.conf1
-rw-r--r--src/lightdm-gtk-greeter.c36
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 */