From cd194b2e6d20b6eef54208010d64d7928e0b3d07 Mon Sep 17 00:00:00 2001 From: mike kowalski Date: Mon, 8 Sep 2025 12:48:14 -0700 Subject: [PATCH] Set pixel size on Image widget showing pattern tile In gtk 4.20 Image elements seem to respect icon size if pixel size is not specified. To show arbitrary images we need to modify pixel size property. --- src/ui/widget/pattern-editor.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ui/widget/pattern-editor.cpp b/src/ui/widget/pattern-editor.cpp index fa1b0d6196..1db93f0639 100644 --- a/src/ui/widget/pattern-editor.cpp +++ b/src/ui/widget/pattern-editor.cpp @@ -217,6 +217,7 @@ void PatternEditor::bind_store(Gtk::FlowBox& list, PatternStore& pat) { auto const box = Gtk::make_managed(Gtk::Orientation::VERTICAL); auto const image = Gtk::make_managed(to_texture(item->pix)); image->set_size_request(_tile_size, _tile_size); + image->set_pixel_size(_tile_size); box->append(*image); auto name = Glib::ustring(item->label.c_str()); if (_show_names.get_active()) { @@ -470,6 +471,7 @@ void PatternEditor::set_active(Gtk::FlowBox& gallery, PatternStore& pat, Glib::R // update preview, it might be stale for_each_descendant(*box, [&](Widget &widget){ if (auto const image = dynamic_cast(&widget)) { + image->set_pixel_size(_tile_size); image->set(to_texture(item->pix)); return ForEachResult::_break; } -- GitLab