From 92a8b0b43e043feb27655a09f0520ffe4ece48d3 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Tue, 8 Jul 2025 20:21:47 +0800 Subject: [PATCH] FIX: ScalableButton size Change-Id: I944dc4fb96a58641aa8502233ffe87dedc128657 Jira: STUDIO-13262 (cherry picked from commit c78a697f0ee4a40009373cb560def12e4553fd40) --- src/slic3r/GUI/Plater.cpp | 6 ++++-- src/slic3r/GUI/wxExtensions.cpp | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 7d538fe7c7..727394c78c 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1031,20 +1031,22 @@ ExtruderGroup::ExtruderGroup(wxWindow * parent, int index, wxString const &title hsizer_ams->Add(btn_edit, 0, wxLEFT | wxALIGN_CENTER, FromDIP(2)); hsizer_ams->Add(ams_not_installed_msg, 0, wxALIGN_CENTER); - btn_up = new ScalableButton(this, wxID_ANY, "page_up", "", {-1, FromDIP(14)}); + btn_up = new ScalableButton(this, wxID_ANY, "page_up", "", {FromDIP(14), FromDIP(14)}, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, false, 14); btn_up->SetBackgroundColour(*wxWHITE); btn_up->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [this, index](auto &evt) { if (page_cur > 0) --page_cur; update_ams(); }); - btn_down = new ScalableButton(this, wxID_ANY, "page_down", "", {-1, FromDIP(14)}); + btn_up->Hide(); + btn_down = new ScalableButton(this, wxID_ANY, "page_down", "", {FromDIP(14), FromDIP(14)}, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, false, 14); btn_down->SetBackgroundColour(*wxWHITE); btn_down->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [this, index](auto &evt) { if (page_cur + 1 < page_num) ++page_cur; update_ams(); }); + btn_down->Hide(); wxBoxSizer *hsizer_diameter = new wxBoxSizer(wxHORIZONTAL); hsizer_diameter->Add(label_diameter, 0, wxALIGN_CENTER); diff --git a/src/slic3r/GUI/wxExtensions.cpp b/src/slic3r/GUI/wxExtensions.cpp index 0ff321509a..1ce8d258b2 100644 --- a/src/slic3r/GUI/wxExtensions.cpp +++ b/src/slic3r/GUI/wxExtensions.cpp @@ -1088,8 +1088,8 @@ ScalableButton::ScalableButton( wxWindow * parent, if (size != wxDefaultSize) { const int em = em_unit(parent); - m_width = size.x/em; - m_height= size.y/em; + m_width = size.x * 10 / em; + m_height= size.y * 10 / em; } } @@ -1178,7 +1178,7 @@ void ScalableButton::msw_rescale() if (m_width > 0 || m_height>0) { const int em = em_unit(m_parent); - wxSize size(m_width * em, m_height * em); + wxSize size(m_width * em / 10, m_height * em / 10); SetMinSize(size); } }