gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [gnunet-gtk] branch master updated: scale adjustment to dpi


From: gnunet
Subject: [GNUnet-SVN] [gnunet-gtk] branch master updated: scale adjustment to dpi of screen for qr code
Date: Mon, 07 Jan 2019 10:25:28 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository gnunet-gtk.

The following commit(s) were added to refs/heads/master by this push:
     new 590a2281 scale adjustment to dpi of screen for qr code
590a2281 is described below

commit 590a22810efe6ad3c87b0e85dc8042c01f81e5e1
Author: Christian Grothoff <address@hidden>
AuthorDate: Mon Jan 7 10:25:13 2019 +0100

    scale adjustment to dpi of screen for qr code
---
 src/namestore/gnunet-namestore-gtk.c | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

diff --git a/src/namestore/gnunet-namestore-gtk.c 
b/src/namestore/gnunet-namestore-gtk.c
index 9732088a..3f87799a 100644
--- a/src/namestore/gnunet-namestore-gtk.c
+++ b/src/namestore/gnunet-namestore-gtk.c
@@ -613,20 +613,39 @@ setup_qrcode ()
 {
   GdkPixbuf *pb;
   GtkImage *image;
+  GdkScreen *screen; 
+  GtkSettings *settings;
+  gint dpi;
+  int scale;
 
-  pb = create_qrcode (2);
-  if (NULL == pb)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                _("Failed to initialize QR-code pixbuf\n"));
-    return;
-  }
   image = GTK_IMAGE (get_object ("gnunet_namestore_gtk_qr_image"));
   if (NULL == image)
   {
     GNUNET_break (0);
     return;
   }
+  /* adjust scale to screen resolution */
+  screen = gtk_widget_get_screen (GTK_WIDGET (image));
+  settings = gtk_settings_get_for_screen (screen);
+  g_object_get (G_OBJECT (settings),
+               "gtk-xft-dpi",
+               &dpi,
+               NULL);
+  if (-1 == dpi)
+    scale = 2;
+  else if (dpi >= 122800)
+    scale = 4;
+  else if (dpi >= 98304)
+    scale = 3;
+  else
+    scale = 2;
+  pb = create_qrcode (scale);
+  if (NULL == pb)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                _("Failed to initialize QR-code pixbuf\n"));
+    return;
+  }
   gtk_image_set_from_pixbuf (image, pb);
   g_object_unref (pb);
 }

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]