From 53f213800bdfdbe7decdff6e22e8ccb982df3b40 Mon Sep 17 00:00:00 2001 From: Ay1nDas Date: Wed, 19 Nov 2025 23:20:10 +0530 Subject: [PATCH] Fix variable font interface doesn't expand Allow 'font_variations' to expand, makes it easier to use the options. Imidiately show sliders for fonts that have sliders, rather than waiting for an Apply. Add margins to variation sliders. Fixed: https://gitlab.com/inkscape/inkscape/-/issues/5968 --- src/ui/widget/font-list.cpp | 3 +++ src/ui/widget/font-selector.cpp | 6 +++++- src/ui/widget/font-variations.cpp | 6 ++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/ui/widget/font-list.cpp b/src/ui/widget/font-list.cpp index ad45df8d12..956a606c8e 100644 --- a/src/ui/widget/font-list.cpp +++ b/src/ui/widget/font-list.cpp @@ -247,6 +247,9 @@ FontList::FontList(Glib::ustring preferences_path) : _font_list_store = Gtk::ListStore::create(g_column_model); get_widget(_builder, "variants").append(_font_variations); + // takes up available space in the dialog instead of collapsing. + _font_variations.set_vexpand(true); + _font_variations.set_valign(Gtk::Align::FILL); _font_variations.get_size_group(0)->add_widget(get_widget(_builder, "font-size-label")); _font_variations.get_size_group(1)->add_widget(_font_size); _font_variations.connectChanged([this]{ diff --git a/src/ui/widget/font-selector.cpp b/src/ui/widget/font-selector.cpp index b18680eba5..573191919d 100644 --- a/src/ui/widget/font-selector.cpp +++ b/src/ui/widget/font-selector.cpp @@ -149,7 +149,7 @@ FontSelector::FontSelector(bool with_size, bool with_variations) font_variations.connectChanged(sigc::mem_fun(*this, &FontSelector::on_variations_changed)); family_treeview.signal_realize().connect(sigc::mem_fun(*this, &FontSelector::on_realize_list)); - font_variations_scroll.set_vexpand(false); + font_variations_scroll.set_vexpand(true); // Initialize font family lists. (May already be done.) Should be done on document change. font_lister->update_font_list(SP_ACTIVE_DESKTOP->getDocument()); @@ -449,6 +449,10 @@ FontSelector::on_family_changed() { style_treeview.get_selection()->select (it_best); } + // variation sliders are refreshed immediately, + // rather than waiting for an Apply. + update_variations(get_fontspec(false)); + signal_block = false; // Let world know diff --git a/src/ui/widget/font-variations.cpp b/src/ui/widget/font-variations.cpp index 097c062540..8ff29f0140 100644 --- a/src/ui/widget/font-variations.cpp +++ b/src/ui/widget/font-variations.cpp @@ -212,6 +212,12 @@ FontVariations::FontVariations() { // std::cout << "FontVariations::FontVariations" << std::endl; set_name("FontVariations"); + + set_margin_start(10); + set_margin_end(10); + set_margin_top(10); + set_margin_bottom(10); + _size_group = Gtk::SizeGroup::create(Gtk::SizeGroup::Mode::HORIZONTAL); _size_group_edit = Gtk::SizeGroup::create(Gtk::SizeGroup::Mode::HORIZONTAL); } -- GitLab