[nautilus/wip/antoniof/gtk4-preparation-drop-outgoing-api: 1/8] autorun-software: Don't use gtk_window_set_icon()




commit 9714039fda1b91f6a7edb55656b6d2e301e976df
Author: António Fernandes <antoniof gnome org>
Date:   Tue Aug 10 20:32:05 2021 +0100

    autorun-software: Don't use gtk_window_set_icon()
    
    It's gone in GTK4.
    
    We get an icon from GMount. Assuming it's a GThemedIcon, so we can
    simply get its first name and use gtk_window_set_icon_name() which is
    still going to work in GTK4.

 src/nautilus-autorun-software.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
---
diff --git a/src/nautilus-autorun-software.c b/src/nautilus-autorun-software.c
index f989e3d9a..e0043ca30 100644
--- a/src/nautilus-autorun-software.c
+++ b/src/nautilus-autorun-software.c
@@ -31,8 +31,6 @@
 
 #include <glib/gi18n.h>
 
-#include "nautilus-icon-info.h"
-
 typedef struct
 {
     GtkWidget *dialog;
@@ -172,8 +170,6 @@ static void
 present_autorun_for_software_dialog (GMount *mount)
 {
     GIcon *icon;
-    g_autoptr (NautilusIconInfo) icon_info = NULL;
-    g_autoptr (GdkPixbuf) pixbuf = NULL;
     g_autofree char *mount_name = NULL;
     GtkWidget *dialog;
     AutorunSoftwareDialogData *data;
@@ -202,11 +198,17 @@ present_autorun_for_software_dialog (GMount *mount)
 
 
     icon = g_mount_get_icon (mount);
-    icon_info = nautilus_icon_info_lookup (icon, 48,
-                                           gtk_widget_get_scale_factor (GTK_WIDGET (dialog)));
-    pixbuf = nautilus_icon_info_get_pixbuf_at_size (icon_info, 48);
+    if (G_IS_THEMED_ICON (icon))
+    {
+        const gchar * const *names;
+
+        names = g_themed_icon_get_names (G_THEMED_ICON (icon));
 
-    gtk_window_set_icon (GTK_WINDOW (dialog), pixbuf);
+        if (names != NULL)
+        {
+            gtk_window_set_icon_name (GTK_WINDOW (dialog), names[0]);
+        }
+    }
 
     data = g_new0 (AutorunSoftwareDialogData, 1);
     data->dialog = dialog;


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