[gtksourceview/wip/chergert/gsv-gtk4: 208/259] completion: add helper for GIcon icons




commit 1c4b35154025d2da7f8ec59ca7b757ab36cd65d8
Author: Christian Hergert <chergert redhat com>
Date:   Sun Aug 30 14:44:37 2020 -0700

    completion: add helper for GIcon icons

 gtksourceview/gtksourcecompletioncell.c | 16 ++++++++++++++++
 gtksourceview/gtksourcecompletioncell.h |  3 +++
 2 files changed, 19 insertions(+)
---
diff --git a/gtksourceview/gtksourcecompletioncell.c b/gtksourceview/gtksourcecompletioncell.c
index 2c2d67a7..ef8d3bfe 100644
--- a/gtksourceview/gtksourcecompletioncell.c
+++ b/gtksourceview/gtksourcecompletioncell.c
@@ -418,6 +418,22 @@ gtk_source_completion_cell_set_icon_name (GtkSourceCompletionCell *self,
        gtk_image_set_from_icon_name (GTK_IMAGE (self->child), icon_name);
 }
 
+void
+gtk_source_completion_cell_set_gicon (GtkSourceCompletionCell *self,
+                                      GIcon                   *gicon)
+{
+       g_return_if_fail (GTK_SOURCE_IS_COMPLETION_CELL (self));
+       g_return_if_fail (!gicon || G_IS_ICON (gicon));
+
+       if (!GTK_IS_IMAGE (self->child))
+       {
+               GtkWidget *image = gtk_image_new ();
+               gtk_source_completion_cell_set_widget (self, image);
+       }
+
+       gtk_image_set_from_gicon (GTK_IMAGE (self->child), gicon);
+}
+
 gboolean
 _gtk_source_completion_cell_is_empty (GtkSourceCompletionCell *self)
 {
diff --git a/gtksourceview/gtksourcecompletioncell.h b/gtksourceview/gtksourcecompletioncell.h
index 6e5ff291..8c490443 100644
--- a/gtksourceview/gtksourcecompletioncell.h
+++ b/gtksourceview/gtksourcecompletioncell.h
@@ -56,6 +56,9 @@ GTK_SOURCE_AVAILABLE_IN_5_0
 void                      gtk_source_completion_cell_set_icon_name            (GtkSourceCompletionCell *self,
                                                                                const char              
*icon_name);
 GTK_SOURCE_AVAILABLE_IN_5_0
+void                      gtk_source_completion_cell_set_gicon                (GtkSourceCompletionCell *self,
+                                                                               GIcon                   
*gicon);
+GTK_SOURCE_AVAILABLE_IN_5_0
 void                      gtk_source_completion_cell_set_paintable            (GtkSourceCompletionCell *self,
                                                                                GdkPaintable            
*paintable);
 GTK_SOURCE_AVAILABLE_IN_5_0


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