From 8b6c074c69ca81071e06bcd4105fa325d54e6ad8 Mon Sep 17 00:00:00 2001 From: Lam Wei Lun Date: Fri, 16 Oct 2026 15:37:17 +0800 Subject: [PATCH] Fix publish dialog tab clipping and extruder switch distortion (#16543) * Fix TabCtrl clipping titles and indicator dots Button measures a label plus icon without the icon gap that render draws, so icon tabs were ellipsized and the indicator dot was cut off. Widen the horizontal padding so the measured width covers the gap. * Re-layout publish dialog when extruder switch labels change Setting the indicator bullet on a switch option changed its width without laying out the page, leaving the switch distorted until the next layout. --- src/slic3r/GUI/PublishSettingsDialog.cpp | 4 +++- src/slic3r/GUI/Widgets/TabCtrl.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/PublishSettingsDialog.cpp b/src/slic3r/GUI/PublishSettingsDialog.cpp index 080182a1b6..4020eedee4 100644 --- a/src/slic3r/GUI/PublishSettingsDialog.cpp +++ b/src/slic3r/GUI/PublishSettingsDialog.cpp @@ -2225,8 +2225,10 @@ void PublishSettingsDialog::refresh_tab_indicators() if (section.variant_switch != nullptr) { const wxString& title = m_categories[section.categories[i]].title; const wxString text = on ? title + wxString(" ") + wxString(wxUniChar(0x2022)) : title; - if (section.variant_switch->GetOptionText(static_cast(i)) != text) + if (section.variant_switch->GetOptionText(static_cast(i)) != text) { section.variant_switch->SetOptionText(static_cast(i), text); + section.page->Layout(); + } } any = any || on; } diff --git a/src/slic3r/GUI/Widgets/TabCtrl.cpp b/src/slic3r/GUI/Widgets/TabCtrl.cpp index 6b970929e5..2135a695e1 100644 --- a/src/slic3r/GUI/Widgets/TabCtrl.cpp +++ b/src/slic3r/GUI/Widgets/TabCtrl.cpp @@ -32,7 +32,7 @@ END_EVENT_TABLE() */ #define TAB_BUTTON_SPACE 2 -#define TAB_BUTTON_PADDING_X 2 +#define TAB_BUTTON_PADDING_X 3 #define TAB_BUTTON_PADDING_Y 2 #define TAB_BUTTON_PADDING TAB_BUTTON_PADDING_X, TAB_BUTTON_PADDING_Y