[gtk: 5/40] Convert trivial users of icon theme loading to use info as paintable
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 5/40] Convert trivial users of icon theme loading to use info as paintable
- Date: Thu, 30 Jan 2020 17:31:33 +0000 (UTC)
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]