From 292723065d5f6f742d11bec3498ef60b33979daa Mon Sep 17 00:00:00 2001 From: kotontrion <141950090+kotontrion@users.noreply.github.com> Date: Mon, 2 Sep 2024 09:39:07 +0200 Subject: core: add g_icon property to icon widget (#2) --- core/src/widget/icon.vala | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'core/src') diff --git a/core/src/widget/icon.vala b/core/src/widget/icon.vala index ef43baf..ccd20f3 100644 --- a/core/src/widget/icon.vala +++ b/core/src/widget/icon.vala @@ -10,6 +10,7 @@ public class Icon : Gtk.Image { public new Gdk.Pixbuf pixbuf { get; set; } public string icon { get; set; default = ""; } + public GLib.Icon g_icon {get; set;} private async void display_icon() { switch(type) { @@ -45,6 +46,11 @@ public class Icon : Gtk.Image { set_from_surface(cs); } break; + case IconType.GICON: + pixel_size = (int)size; + gicon = g_icon; + break; + } } @@ -71,6 +77,11 @@ public class Icon : Gtk.Image { display_icon.begin(); }); + notify["g-icon"].connect(() => { + type = IconType.GICON; + display_icon.begin(); + }); + size_allocate.connect(() => { size = get_style_context() .get_property("font-size", Gtk.StateFlags.NORMAL).get_double(); @@ -91,5 +102,6 @@ private enum IconType { NAMED, FILE, PIXBUF, + GICON, } } -- cgit v1.2.3