mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-01-25 22:47:30 -07:00
FIX:update dialog position when mainframe position changed
jira: STUDIO-10397 Change-Id: I86cb4698518119903dd7fa3f7c2ad1945804f533 (cherry picked from commit 2e0a9536105867bbd5b95f0a9596fd79733bd5e6)
This commit is contained in:
parent
9ad372f3f5
commit
ab3f0336e2
4 changed files with 44 additions and 25 deletions
|
|
@ -346,6 +346,7 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_
|
|||
#endif
|
||||
Refresh();
|
||||
Layout();
|
||||
wxQueueEvent(wxGetApp().plater(), new SimpleEvent(EVT_NOTICE_CHILDE_SIZE_CHANGED));
|
||||
});
|
||||
|
||||
//BBS
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ wxDEFINE_EVENT(EVT_MODIFY_FILAMENT, SimpleEvent);
|
|||
wxDEFINE_EVENT(EVT_ADD_FILAMENT, SimpleEvent);
|
||||
wxDEFINE_EVENT(EVT_DEL_FILAMENT, SimpleEvent);
|
||||
wxDEFINE_EVENT(EVT_ADD_CUSTOM_FILAMENT, ColorEvent);
|
||||
|
||||
wxDEFINE_EVENT(EVT_NOTICE_CHILDE_SIZE_CHANGED, SimpleEvent);
|
||||
bool Plater::has_illegal_filename_characters(const wxString& wxs_name)
|
||||
{
|
||||
std::string name = into_u8(wxs_name);
|
||||
|
|
@ -2767,6 +2767,15 @@ int Sidebar::get_sidebar_pos_right_x()
|
|||
return this->GetScreenPosition().x + this->GetSize().x;
|
||||
}
|
||||
|
||||
void Sidebar::on_size(SimpleEvent &e) {
|
||||
if (m_sna_dialog && m_sna_dialog->IsShown()) {
|
||||
pop_sync_nozzle_and_ams_dialog();
|
||||
}
|
||||
if (m_fna_dialog && m_fna_dialog->IsShown()) {
|
||||
pop_finsish_sync_ams_dialog();
|
||||
}
|
||||
}
|
||||
|
||||
void Sidebar::get_big_btn_sync_pos_size(wxPoint &pt, wxSize &size)
|
||||
{
|
||||
size =btn_sync->GetSize();
|
||||
|
|
@ -2997,24 +3006,7 @@ void Sidebar::sync_ams_list(bool is_from_big_sync_btn)
|
|||
}
|
||||
Layout();
|
||||
|
||||
wxPoint small_btn_pt;
|
||||
wxSize small_btn_size;
|
||||
get_small_btn_sync_pos_size(small_btn_pt, small_btn_size);
|
||||
|
||||
FinishSyncAmsDialog::InputInfo temp_fsa_info;
|
||||
auto same_dialog_pos_x = get_sidebar_pos_right_x() + FromDIP(5);
|
||||
temp_fsa_info.dialog_pos.x = same_dialog_pos_x;
|
||||
temp_fsa_info.dialog_pos.y = small_btn_pt.y;
|
||||
temp_fsa_info.ams_btn_pos = small_btn_pt + wxPoint(small_btn_size.x / 2, small_btn_size.y/2);
|
||||
if (m_fna_dialog) {
|
||||
if (m_sna_dialog) {
|
||||
m_sna_dialog->on_hide();
|
||||
}
|
||||
m_fna_dialog->update_info(temp_fsa_info);
|
||||
} else {
|
||||
m_fna_dialog = std::make_shared<FinishSyncAmsDialog>(temp_fsa_info);
|
||||
}
|
||||
m_fna_dialog->on_show();
|
||||
pop_finsish_sync_ams_dialog();
|
||||
}
|
||||
|
||||
void Sidebar::show_SEMM_buttons(bool bshow)
|
||||
|
|
@ -3116,12 +3108,12 @@ void Sidebar::deal_btn_sync() {
|
|||
bool only_external_material;
|
||||
auto ok = p->sync_extruder_list(only_external_material);
|
||||
if (ok) {
|
||||
pop_sync_nozzle_and_ams_ialog();
|
||||
pop_sync_nozzle_and_ams_dialog();
|
||||
}
|
||||
m_begin_sync_printer_status = false;
|
||||
}
|
||||
|
||||
void Sidebar::pop_sync_nozzle_and_ams_ialog() {
|
||||
void Sidebar::pop_sync_nozzle_and_ams_dialog() {
|
||||
SyncNozzleAndAmsDialog::InputInfo temp_na_info;
|
||||
wxPoint big_btn_pt;
|
||||
wxSize big_btn_size;
|
||||
|
|
@ -3148,6 +3140,26 @@ void Sidebar::pop_sync_nozzle_and_ams_ialog() {
|
|||
m_sna_dialog->on_show();
|
||||
}
|
||||
|
||||
void Sidebar::pop_finsish_sync_ams_dialog()
|
||||
{
|
||||
wxPoint small_btn_pt;
|
||||
wxSize small_btn_size;
|
||||
get_small_btn_sync_pos_size(small_btn_pt, small_btn_size);
|
||||
|
||||
FinishSyncAmsDialog::InputInfo temp_fsa_info;
|
||||
auto same_dialog_pos_x = get_sidebar_pos_right_x() + FromDIP(5);
|
||||
temp_fsa_info.dialog_pos.x = same_dialog_pos_x;
|
||||
temp_fsa_info.dialog_pos.y = small_btn_pt.y;
|
||||
temp_fsa_info.ams_btn_pos = small_btn_pt + wxPoint(small_btn_size.x / 2, small_btn_size.y / 2);
|
||||
if (m_fna_dialog) {
|
||||
if (m_sna_dialog) { m_sna_dialog->on_hide(); }
|
||||
m_fna_dialog->update_info(temp_fsa_info);
|
||||
} else {
|
||||
m_fna_dialog = std::make_shared<FinishSyncAmsDialog>(temp_fsa_info);
|
||||
}
|
||||
m_fna_dialog->on_show();
|
||||
}
|
||||
|
||||
static std::vector<Search::InputInfo> get_search_inputs(ConfigOptionMode mode)
|
||||
{
|
||||
std::vector<Search::InputInfo> ret {};
|
||||
|
|
@ -4098,6 +4110,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
|||
this->q->Bind(wxEVT_SYS_COLOUR_CHANGED, &priv::on_apple_change_color_mode, this);
|
||||
this->q->Bind(EVT_CREATE_FILAMENT, &priv::on_create_filament, this);
|
||||
this->q->Bind(EVT_MODIFY_FILAMENT, &priv::on_modify_filament, this);
|
||||
this->q->Bind(EVT_NOTICE_CHILDE_SIZE_CHANGED, &Sidebar::on_size, sidebar);
|
||||
this->q->Bind(EVT_ADD_CUSTOM_FILAMENT, &priv::on_add_custom_filament, this);
|
||||
main_frame->m_tabpanel->Bind(wxEVT_NOTEBOOK_PAGE_CHANGING, &priv::on_tab_selection_changing, this);
|
||||
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ wxDECLARE_EVENT(EVT_CREATE_FILAMENT, SimpleEvent);
|
|||
wxDECLARE_EVENT(EVT_MODIFY_FILAMENT, SimpleEvent);
|
||||
wxDECLARE_EVENT(EVT_ADD_FILAMENT, SimpleEvent);
|
||||
wxDECLARE_EVENT(EVT_DEL_FILAMENT, SimpleEvent);
|
||||
wxDECLARE_EVENT(EVT_NOTICE_CHILDE_SIZE_CHANGED, SimpleEvent);
|
||||
using ColorEvent = Event<wxColour>;
|
||||
wxDECLARE_EVENT(EVT_ADD_CUSTOM_FILAMENT, ColorEvent);
|
||||
const wxString DEFAULT_PROJECT_NAME = "Untitled";
|
||||
|
|
@ -183,6 +184,7 @@ public:
|
|||
bool need_auto_sync_extruder_list_after_connect_priner(const MachineObject* obj);
|
||||
void update_sync_status(const MachineObject* obj);
|
||||
int get_sidebar_pos_right_x();
|
||||
void on_size(SimpleEvent &e);
|
||||
void get_big_btn_sync_pos_size(wxPoint &pt, wxSize &size);
|
||||
void get_small_btn_sync_pos_size(wxPoint &pt, wxSize &size);
|
||||
// Orca
|
||||
|
|
@ -211,7 +213,8 @@ public:
|
|||
bool get_eject_shown() const;
|
||||
bool is_multifilament();
|
||||
void deal_btn_sync();
|
||||
void pop_sync_nozzle_and_ams_ialog();
|
||||
void pop_sync_nozzle_and_ams_dialog();
|
||||
void pop_finsish_sync_ams_dialog();
|
||||
void update_mode();
|
||||
bool is_collapsed();
|
||||
void collapse(bool collapse);
|
||||
|
|
|
|||
|
|
@ -324,9 +324,11 @@ bool SyncAmsInfoDialog::is_need_show()
|
|||
if (m_is_empty_project && !is_dirty_filament()) {
|
||||
return false;
|
||||
}
|
||||
auto mode =PageType::ptColorMap;
|
||||
update_panel_status(mode);
|
||||
update_when_change_map_mode(mode);
|
||||
auto mode = PageType::ptColorMap;
|
||||
if (m_colormap_btn) {
|
||||
update_panel_status(mode);
|
||||
update_when_change_map_mode(mode);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue