[gtk: 5/40] Convert trivial users of icon theme loading to use info as paintable



commit c42977af0407b6cc2ade76f4954b6114af45f9b5
Author: Alexander Larsson <alexl redhat com>
Date:   Mon Jan 27 15:40:58 2020 +0100

    Convert trivial users of icon theme loading to use info as paintable

 demos/gtk-demo/clipboard.c          |  2 +-
 demos/icon-browser/iconbrowserwin.c |  2 +-
 gtk/gtkcalendar.c                   |  8 ++++----
 gtk/gtkdragsource.c                 |  4 ++--
 gtk/gtkwindow.c                     |  6 +-----
 tests/testicontheme.c               | 26 +++++++++-----------------
 6 files changed, 18 insertions(+), 30 deletions(-)
---
diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c
index c8e5323bab..6f817750d7 100644
--- a/demos/gtk-demo/clipboard.c
+++ b/demos/gtk-demo/clipboard.c
@@ -110,7 +110,7 @@ get_image_paintable (GtkImage *image)
       icon_info = gtk_icon_theme_lookup_icon (icon_theme, icon_name, 48, GTK_ICON_LOOKUP_GENERIC_FALLBACK);
       if (icon_info == NULL)
         return NULL;
-      return gtk_icon_info_load_icon (icon_info, NULL);
+      return GDK_PAINTABLE (icon_info);
     default:
       g_warning ("Image storage type %d not handled",
                  gtk_image_get_storage_type (image));
diff --git a/demos/icon-browser/iconbrowserwin.c b/demos/icon-browser/iconbrowserwin.c
index d31a635b4b..7532831573 100644
--- a/demos/icon-browser/iconbrowserwin.c
+++ b/demos/icon-browser/iconbrowserwin.c
@@ -363,7 +363,7 @@ get_image_paintable (GtkImage *image)
                                               GTK_ICON_LOOKUP_FORCE_SIZE | GTK_ICON_LOOKUP_GENERIC_FALLBACK);
       if (icon_info == NULL)
         return NULL;
-      return gtk_icon_info_load_icon (icon_info, NULL);
+      return GDK_PAINTABLE (icon_info);
     default:
       g_warning ("Image storage type %d not handled",
                  gtk_image_get_storage_type (image));
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index 4a3e8f3b0a..494a72fda8 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -2585,7 +2585,7 @@ gtk_calendar_drag_update (GtkGestureDrag *gesture,
   GdkDevice *device;
   GdkDrag *drag;
   GtkIconTheme *theme;
-  GdkPaintable *paintable;
+  GtkIconInfo *icon;
   GdkSurface *surface;
 
   if (!priv->in_drag)
@@ -2604,9 +2604,9 @@ gtk_calendar_drag_update (GtkGestureDrag *gesture,
   drag = gdk_drag_begin (surface, device, content, GDK_ACTION_COPY, start_x, start_y);
 
   theme = gtk_icon_theme_get_for_display (gtk_widget_get_display (widget));
-  paintable = gtk_icon_theme_load_icon (theme, "text-x-generic", 32, 0, NULL);
-  gtk_drag_icon_set_from_paintable (drag, paintable, 0, 0);
-  g_clear_object (&paintable);
+  icon = gtk_icon_theme_lookup_icon (theme, "text-x-generic", 32, 0);
+  gtk_drag_icon_set_from_paintable (drag, GDK_PAINTABLE (icon), 0, 0);
+  g_clear_object (&icon);
 
   g_object_unref (content);
   g_object_unref (drag);
diff --git a/gtk/gtkdragsource.c b/gtk/gtkdragsource.c
index 3ef11dc7e6..6bf730401c 100644
--- a/gtk/gtkdragsource.c
+++ b/gtk/gtkdragsource.c
@@ -484,9 +484,9 @@ gtk_drag_source_drag_begin (GtkDragSource *source)
   if (!source->paintable)
     {
       GtkIconTheme *theme;
- 
+
       theme = gtk_icon_theme_get_for_display (gtk_widget_get_display (widget));
-      source->paintable = gtk_icon_theme_load_icon (theme, "text-x-generic", 32, 0, NULL);
+      source->paintable = GDK_PAINTABLE(gtk_icon_theme_lookup_icon (theme, "text-x-generic", 32, 0));
       source->hot_x = 0;
       source->hot_y = 0;
     }
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index a396f9e991..8846f57820 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -4102,7 +4102,6 @@ gtk_window_get_icon_for_size (GtkWindow *window,
 {
   const char *name;
   GtkIconInfo *info;
-  GdkPaintable *paintable;
 
   name = gtk_window_get_icon_name (window);
 
@@ -4117,10 +4116,7 @@ gtk_window_get_icon_for_size (GtkWindow *window,
   if (info == NULL)
     return NULL;
 
-  paintable = gtk_icon_info_load_icon (info, NULL);
-  g_object_unref (info);
-
-  return paintable;
+  return GDK_PAINTABLE (info);
 }
 
 static void
diff --git a/tests/testicontheme.c b/tests/testicontheme.c
index 8b3d462864..c6211be8e0 100644
--- a/tests/testicontheme.c
+++ b/tests/testicontheme.c
@@ -90,8 +90,7 @@ main (int argc, char *argv[])
 
   if (strcmp (argv[1], "display") == 0)
     {
-      GError *error;
-      GdkPaintable *paintable;
+      GtkIconInfo *icon;
       GtkWidget *window, *image;
 
       if (argc < 4)
@@ -107,22 +106,21 @@ main (int argc, char *argv[])
       if (argc >= 6)
        scale = atoi (argv[5]);
 
-      error = NULL;
-      paintable = gtk_icon_theme_load_icon_for_scale (icon_theme, argv[3], size, scale, flags, &error);
-      if (!paintable)
+      icon = gtk_icon_theme_lookup_icon_for_scale (icon_theme, argv[3], size, scale, flags);
+      if (!icon)
         {
-          g_print ("%s\n", error->message);
+          g_print ("Icon '%s' not found\n", argv[3]);
           return 1;
         }
 
       window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
       image = gtk_image_new ();
-      gtk_image_set_from_paintable (GTK_IMAGE (image), paintable);
-      g_object_unref (paintable);
+      gtk_image_set_from_paintable (GTK_IMAGE (image), GDK_PAINTABLE (icon));
+      g_object_unref (icon);
       gtk_container_add (GTK_CONTAINER (window), image);
       g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
       gtk_widget_show (window);
-      
+
       gtk_main ();
     }
   else if (strcmp (argv[1], "display-async") == 0)
@@ -199,16 +197,10 @@ main (int argc, char *argv[])
 
       if (icon_info)
        {
-          GdkTexture *texture;
+          GdkPaintable *paintable = GDK_PAINTABLE (icon_info);
 
           g_print ("Base size: %d, Scale: %d\n", gtk_icon_info_get_base_size (icon_info), 
gtk_icon_info_get_base_scale (icon_info));
-
-          texture = GDK_TEXTURE (gtk_icon_info_load_icon (icon_info, NULL));
-          if (texture != NULL)
-            {
-              g_print ("texture size: %dx%d\n", gdk_texture_get_width (texture), gdk_texture_get_height 
(texture));
-              g_object_unref (texture);
-            }
+          g_print ("texture size: %dx%d\n", gdk_paintable_get_intrinsic_width (paintable), 
gdk_paintable_get_intrinsic_height (paintable));
 
          g_object_unref (icon_info);
        }


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