From c862d81db1e0ae1ce1f62a3aac1d915f5036c81c Mon Sep 17 00:00:00 2001 From: Victor Kareh Date: Thu, 1 Feb 2018 09:20:32 -0500 Subject: Add HiDPI support for lock screen (#148) * Password dialog is now scaled * Background of lock screen is now scaled --- src/gs-lock-plug.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'src/gs-lock-plug.c') diff --git a/src/gs-lock-plug.c b/src/gs-lock-plug.c index 07993c5..5bea72a 100644 --- a/src/gs-lock-plug.c +++ b/src/gs-lock-plug.c @@ -980,6 +980,30 @@ set_face_image (GSLockPlug *plug) return TRUE; } +static void +gs_lock_plug_get_preferred_width (GtkWidget *widget, gint *minimum_width, gint *natural_width) +{ + gint scale; + + GTK_WIDGET_CLASS (gs_lock_plug_parent_class)->get_preferred_width (widget, minimum_width, natural_width); + + scale = gtk_widget_get_scale_factor (widget); + *minimum_width /= scale; + *natural_width /= scale; +} + +static void +gs_lock_plug_get_preferred_height_for_width (GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height) +{ + gint scale; + + GTK_WIDGET_CLASS (gs_lock_plug_parent_class)->get_preferred_height_for_width (widget, width, minimum_height, natural_height); + + scale = gtk_widget_get_scale_factor (widget); + *minimum_height /= scale; + *natural_height /= scale; +} + static void gs_lock_plug_show (GtkWidget *widget) { @@ -1251,9 +1275,11 @@ gs_lock_plug_class_init (GSLockPlugClass *klass) object_class->get_property = gs_lock_plug_get_property; object_class->set_property = gs_lock_plug_set_property; - widget_class->style_set = gs_lock_plug_style_set; - widget_class->show = gs_lock_plug_show; - widget_class->hide = gs_lock_plug_hide; + widget_class->style_set = gs_lock_plug_style_set; + widget_class->show = gs_lock_plug_show; + widget_class->hide = gs_lock_plug_hide; + widget_class->get_preferred_width = gs_lock_plug_get_preferred_width; + widget_class->get_preferred_height_for_width = gs_lock_plug_get_preferred_height_for_width; klass->close = gs_lock_plug_close; -- cgit v1.2.1