From 3b6bb46d3606d4bdf158fe7e80967fcbe48bce3a Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Tue, 5 Aug 2025 17:42:32 +0200 Subject: [PATCH] app: add gimp_viewable_has_preview() and use it in GimpRow, instead of peeking around in GimpViewableClass manually. --- app/core/gimpviewable.c | 9 +++++++++ app/core/gimpviewable.h | 1 + app/widgets/gimprow.c | 6 ++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/core/gimpviewable.c b/app/core/gimpviewable.c index c93e985874..c593891f56 100644 --- a/app/core/gimpviewable.c +++ b/app/core/gimpviewable.c @@ -696,6 +696,15 @@ gimp_viewable_calc_preview_size (gint aspect_width, if (scaling_up) *scaling_up = (xratio > 1.0) || (yratio > 1.0); } +gboolean +gimp_viewable_has_preview (GimpViewable *viewable) +{ + g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), FALSE); + + return (GIMP_VIEWABLE_GET_CLASS (viewable)->get_preview != NULL || + GIMP_VIEWABLE_GET_CLASS (viewable)->get_new_preview != NULL); +} + gboolean gimp_viewable_get_size (GimpViewable *viewable, gint *width, diff --git a/app/core/gimpviewable.h b/app/core/gimpviewable.h index a902815cc1..8e63f56daa 100644 --- a/app/core/gimpviewable.h +++ b/app/core/gimpviewable.h @@ -124,6 +124,7 @@ void gimp_viewable_calc_preview_size (gint aspect_width, gint *return_height, gboolean *scaling_up); +gboolean gimp_viewable_has_preview (GimpViewable *viewable); gboolean gimp_viewable_get_size (GimpViewable *viewable, gint *width, gint *height); diff --git a/app/widgets/gimprow.c b/app/widgets/gimprow.c index 74678e24d6..16c2916a4f 100644 --- a/app/widgets/gimprow.c +++ b/app/widgets/gimprow.c @@ -261,8 +261,7 @@ gimp_row_constructed (GObject *object) gtk_box_pack_start (GTK_BOX (priv->box), priv->view, FALSE, FALSE, 0); if (priv->viewable) - preview = (GIMP_VIEWABLE_GET_CLASS (priv->viewable)->get_preview != NULL || - GIMP_VIEWABLE_GET_CLASS (priv->viewable)->get_new_preview != NULL); + preview = gimp_viewable_has_preview (priv->viewable); gtk_widget_set_visible (priv->icon, ! preview); gtk_widget_set_visible (priv->view, preview); @@ -516,8 +515,7 @@ gimp_row_real_set_viewable (GimpRow *row, G_CALLBACK (gimp_row_viewable_icon_changed), row); - preview = (GIMP_VIEWABLE_GET_CLASS (priv->viewable)->get_preview != NULL || - GIMP_VIEWABLE_GET_CLASS (priv->viewable)->get_new_preview != NULL); + preview = gimp_viewable_has_preview (priv->viewable); } gimp_row_viewable_name_changed (priv->viewable, row);