[Xfce4-commits] [panel-plugins/xfce4-whiskermenu-plugin] 02/03: Fix blurry profile picture with high DPI.

noreply at xfce.org noreply at xfce.org
Fri Oct 13 14:52:38 CEST 2017


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

g   o   t   t   c   o   d   e       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository panel-plugins/xfce4-whiskermenu-plugin.

commit 5111ce13067f16ce870bc7ba8ad8c3c64df59e1a
Author: Graeme Gott <graeme at gottcode.org>
Date:   Thu Oct 12 08:41:39 2017 -0400

    Fix blurry profile picture with high DPI.
---
 panel-plugin/profile-picture.cpp | 23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git a/panel-plugin/profile-picture.cpp b/panel-plugin/profile-picture.cpp
index 348fd7f..0f08de9 100644
--- a/panel-plugin/profile-picture.cpp
+++ b/panel-plugin/profile-picture.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014, 2016 Graeme Gott <graeme at gottcode.org>
+ * Copyright (C) 2014, 2016, 2017 Graeme Gott <graeme at gottcode.org>
  *
  * This library is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ using namespace WhiskerMenu;
 ProfilePicture::ProfilePicture(Window* window) :
 	m_window(window)
 {
-	m_image = xfce_panel_image_new();
+	m_image = gtk_image_new();
 
 	gtk_widget_set_halign(m_image, GTK_ALIGN_CENTER);
 	gtk_widget_set_valign(m_image, GTK_ALIGN_CENTER);
@@ -67,24 +67,15 @@ ProfilePicture::~ProfilePicture()
 
 void ProfilePicture::on_file_changed(GFileMonitor*, GFile* file, GFile*, GFileMonitorEvent)
 {
-	gint width = 32, height = 32;
-	gtk_icon_size_lookup(GTK_ICON_SIZE_DND, &width, &height);
-
-	gchar* path = g_file_get_path(file);
-	GdkPixbuf* face = gdk_pixbuf_new_from_file_at_size(path, width, height, NULL);
-	g_free(path);
-
-	XfcePanelImage* image = XFCE_PANEL_IMAGE(m_image);
-	if (face)
+	if (g_file_query_exists(file, NULL))
 	{
-		xfce_panel_image_set_size(image, -1);
-		xfce_panel_image_set_from_pixbuf(image, face);
-		g_object_unref(face);
+		GIcon* icon = g_file_icon_new(file);
+		gtk_image_set_from_gicon(GTK_IMAGE(m_image), icon, GTK_ICON_SIZE_DND);
+		g_object_unref(icon);
 	}
 	else
 	{
-		xfce_panel_image_set_size(image, height);
-		xfce_panel_image_set_from_source(image, "avatar-default");
+		gtk_image_set_from_icon_name(GTK_IMAGE(m_image), "avatar-default", GTK_ICON_SIZE_DND);
 	}
 }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list