[Xfce4-commits] [xfce/xfce4-session] 01/01: settings: Better app icon lookup

noreply at xfce.org noreply at xfce.org
Tue Jan 14 00:41:40 CET 2020


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

o   c   h   o   s   i       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 xfce/xfce4-session.

commit 72f723d9c300e2ec71d13d0d7f7de14bb7c697bf
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date:   Mon Jan 13 22:30:21 2020 +0100

    settings: Better app icon lookup
    
    Bump libxfce4ui dependency to 4.15.1
---
 configure.ac.in           |  2 +-
 settings/session-editor.c | 17 +++++++++++------
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/configure.ac.in b/configure.ac.in
index 3c3a60a..0d97244 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -101,7 +101,7 @@ XDT_I18N([@LINGUAS@])
 
 dnl Check for required packages
 XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.12.0])
-XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.12.0])
+XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.15.1])
 XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.22.0])
 XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.42.0])
 XDT_CHECK_PACKAGE([GMODULE], [gmodule-2.0], [2.42.0])
diff --git a/settings/session-editor.c b/settings/session-editor.c
index d8e412e..3e69293 100644
--- a/settings/session-editor.c
+++ b/settings/session-editor.c
@@ -328,6 +328,7 @@ session_editor_set_from_desktop_file(GtkTreeModel *model,
 {
     XfceRc *rcfile;
     const gchar *name, *icon;
+    GIcon *gicon;
 
     TRACE("entering\n");
 
@@ -349,11 +350,12 @@ session_editor_set_from_desktop_file(GtkTreeModel *model,
         return;
     }
 
-    icon = xfce_rc_read_entry(rcfile, "Icon", NULL);
+    icon = xfce_rc_read_entry (rcfile, "Icon", NULL);
+    gicon = g_themed_icon_new_with_default_fallbacks (icon);
 
     gtk_list_store_set(GTK_LIST_STORE(model), iter,
                        COL_NAME, name,
-                       COL_ICON_NAME, icon,
+                       COL_ICON_NAME, gicon,
                        COL_HAS_DESKTOP_FILE, TRUE,
                        -1);
 
@@ -461,6 +463,7 @@ manager_client_registered(XfsmManager *proxy,
     GVariant *variant, *variant_value;
     GVariantIter *variant_iter;
     gchar *property;
+    GIcon *gicon;
     GError *error = NULL;
 
     TRACE("entering\n");
@@ -548,10 +551,12 @@ manager_client_registered(XfsmManager *proxy,
     {
         session_editor_set_from_desktop_file (model, &iter, desktop_file);
     }
-    else if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), name))
+    else
     {
+        gicon = xfce_gicon_from_name (name);
+
         gtk_list_store_set (GTK_LIST_STORE (model), &iter,
-                            COL_ICON_NAME, name,
+                            COL_ICON_NAME, gicon,
                             -1);
     }
 
@@ -781,7 +786,7 @@ session_editor_populate_treeview(GtkTreeView *treeview)
     render = gtk_cell_renderer_pixbuf_new();
     gtk_tree_view_column_pack_start(col, render, FALSE);
     gtk_tree_view_column_set_attributes(col, render,
-                                        "icon-name", COL_ICON_NAME,
+                                        "gicon", COL_ICON_NAME,
                                         NULL);
 
     render = gtk_cell_renderer_text_new();
@@ -811,7 +816,7 @@ session_editor_populate_treeview(GtkTreeView *treeview)
         return;
 
     ls = gtk_list_store_new(N_COLS, G_TYPE_STRING, G_TYPE_STRING,
-                            G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UCHAR,
+                            G_TYPE_THEMED_ICON, G_TYPE_STRING, G_TYPE_UCHAR,
                             G_TYPE_STRING, G_TYPE_UCHAR, G_TYPE_STRING,
                             G_TYPE_OBJECT, G_TYPE_BOOLEAN);
     gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(ls));

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


More information about the Xfce4-commits mailing list