From a8d2a0e589a6b570d71240e70b2e099dbbf2f085 Mon Sep 17 00:00:00 2001 From: "zhou.xu" Date: Mon, 20 Jan 2025 15:52:39 +0800 Subject: [PATCH] ENH:add "pop_sync_nozzle_and_ams_ialog" api jira: STUDIO-10016 Change-Id: I000fa5719cf631ff0c63b6379850e1915f78ddaa (cherry picked from commit 170687352efa3e87605a2bc37eafbed3679417f9) --- src/slic3r/GUI/Plater.cpp | 33 +++++++++++++++++---------------- src/slic3r/GUI/Plater.hpp | 1 + 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 68db970d73..e2f32d8724 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -3008,25 +3008,26 @@ void Sidebar::deal_btn_sync() { bool only_external_material; auto ok = p->sync_extruder_list(only_external_material); if (ok) { - SyncNozzleAndAmsDialog::InputInfo temp_na_info; - wxPoint big_btn_pt; - wxSize big_btn_size; - wxGetApp().plater()->sidebar().get_big_btn_sync_pos_size(big_btn_pt, big_btn_size); - temp_na_info.dialog_pos = big_btn_pt + wxPoint(big_btn_size.x, big_btn_size.y) + wxPoint(FromDIP(big_btn_size.x / 10.f - 5), FromDIP(big_btn_size.y / 10.f)); - - int same_dialog_pos_x = get_sidebar_pos_right_x()+ FromDIP(5); - temp_na_info.dialog_pos.x = same_dialog_pos_x; - temp_na_info.dialog_pos.y += FromDIP(2); - temp_na_info.only_external_material = only_external_material; - if (m_sna_dialog) { - m_sna_dialog.reset(); - } - m_sna_dialog = std::make_shared(this, temp_na_info); - m_sna_dialog->Show(); - m_sna_dialog->Raise(); + pop_sync_nozzle_and_ams_ialog(); } } +void Sidebar::pop_sync_nozzle_and_ams_ialog() { + SyncNozzleAndAmsDialog::InputInfo temp_na_info; + wxPoint big_btn_pt; + wxSize big_btn_size; + wxGetApp().plater()->sidebar().get_big_btn_sync_pos_size(big_btn_pt, big_btn_size); + temp_na_info.dialog_pos = big_btn_pt + wxPoint(big_btn_size.x, big_btn_size.y) + wxPoint(FromDIP(big_btn_size.x / 10.f - 5), FromDIP(big_btn_size.y / 10.f)); + + int same_dialog_pos_x = get_sidebar_pos_right_x() + FromDIP(5); + temp_na_info.dialog_pos.x = same_dialog_pos_x; + temp_na_info.dialog_pos.y += FromDIP(2); + if (m_sna_dialog) { m_sna_dialog.reset(); } + m_sna_dialog = std::make_shared(this, temp_na_info); + m_sna_dialog->Show(); + m_sna_dialog->Raise(); +} + static std::vector get_search_inputs(ConfigOptionMode mode) { std::vector ret {}; diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index 40947fd6d1..b094ffcd4d 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -204,6 +204,7 @@ public: bool get_eject_shown() const; bool is_multifilament(); void deal_btn_sync(); + void pop_sync_nozzle_and_ams_ialog(); void update_mode(); bool is_collapsed(); void collapse(bool collapse);