diff --git a/src/slic3r/GUI/MultiMachineManagerPage.cpp b/src/slic3r/GUI/MultiMachineManagerPage.cpp index b24d36761..02613c252 100644 --- a/src/slic3r/GUI/MultiMachineManagerPage.cpp +++ b/src/slic3r/GUI/MultiMachineManagerPage.cpp @@ -721,5 +721,47 @@ void MultiMachineManagerPage::page_num_enter_evt() update_page_number(); } +void MultiMachineManagerPage::msw_rescale() +{ + m_printer_name->Rescale(); + m_printer_name->SetMinSize(wxSize(FromDIP(DEVICE_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->SetMaxSize(wxSize(FromDIP(DEVICE_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->Rescale(); + m_task_name->SetMinSize(wxSize(FromDIP(DEVICE_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->SetMaxSize(wxSize(FromDIP(DEVICE_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->Rescale(); + m_status->SetMinSize(wxSize(FromDIP(DEVICE_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->SetMaxSize(wxSize(FromDIP(DEVICE_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->Rescale(); + m_action->SetMinSize(wxSize(FromDIP(DEVICE_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->SetMaxSize(wxSize(FromDIP(DEVICE_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_button_add->Rescale(); + m_button_add->SetMinSize(wxSize(FromDIP(90), FromDIP(36))); + m_button_add->SetMaxSize(wxSize(FromDIP(90), FromDIP(36))); + + btn_last_page->Rescale(); + btn_last_page->SetMinSize(wxSize(FromDIP(20), FromDIP(20))); + btn_last_page->SetMaxSize(wxSize(FromDIP(20), FromDIP(20))); + btn_next_page->Rescale(); + btn_next_page->SetMinSize(wxSize(FromDIP(20), FromDIP(20))); + btn_next_page->SetMaxSize(wxSize(FromDIP(20), FromDIP(20))); + m_page_num_enter->Rescale(); + m_page_num_enter->SetMinSize(wxSize(FromDIP(25), FromDIP(25))); + m_page_num_enter->SetMaxSize(wxSize(FromDIP(25), FromDIP(25))); + + m_button_edit->Rescale(); + m_button_edit->SetMinSize(wxSize(FromDIP(90), FromDIP(36))); + m_button_edit->SetMaxSize(wxSize(FromDIP(90), FromDIP(36))); + + + for (const auto& item : m_device_items) { + item->Refresh(); + } + + Fit(); + Layout(); + Refresh(); +} + } // namespace GUI } // namespace Slic3r diff --git a/src/slic3r/GUI/MultiMachineManagerPage.hpp b/src/slic3r/GUI/MultiMachineManagerPage.hpp index 87d8d9866..c1086b472 100644 --- a/src/slic3r/GUI/MultiMachineManagerPage.hpp +++ b/src/slic3r/GUI/MultiMachineManagerPage.hpp @@ -60,6 +60,8 @@ public: void page_num_enter_evt(); + void msw_rescale(); + private: std::vector m_state_objs; std::vector m_device_items; diff --git a/src/slic3r/GUI/MultiMachinePage.cpp b/src/slic3r/GUI/MultiMachinePage.cpp index 2b029ae4e..9913095eb 100644 --- a/src/slic3r/GUI/MultiMachinePage.cpp +++ b/src/slic3r/GUI/MultiMachinePage.cpp @@ -40,6 +40,17 @@ void MultiMachinePage::on_sys_color_changed() void MultiMachinePage::msw_rescale() { + m_tabpanel->Rescale(); + if (m_local_task_manager) + m_local_task_manager->msw_rescale(); + if (m_cloud_task_manager) + m_cloud_task_manager->msw_rescale(); + if (m_machine_manager) + m_machine_manager->msw_rescale(); + + this->Fit(); + this->Layout(); + this->Refresh(); } bool MultiMachinePage::Show(bool show) diff --git a/src/slic3r/GUI/MultiTaskManagerPage.cpp b/src/slic3r/GUI/MultiTaskManagerPage.cpp index 05cef9e1f..3c78c3f97 100644 --- a/src/slic3r/GUI/MultiTaskManagerPage.cpp +++ b/src/slic3r/GUI/MultiTaskManagerPage.cpp @@ -776,7 +776,7 @@ void LocalTaskManagerPage::refresh_user_device(bool clear) MultiTaskItem* mtitem = new MultiTaskItem(m_task_list, nullptr, 0); mtitem->task_obj = task_state_info; mtitem->m_project_name = wxString::FromUTF8(task_state_info->get_task_name()); - mtitem->m_dev_name = task_state_info->get_device_name(); + mtitem->m_dev_name = wxString::FromUTF8(task_state_info->get_device_name()); mtitem->m_dev_id = task_state_info->params().dev_id; mtitem->m_send_time = task_state_info->get_sent_time(); mtitem->state_local_task = task_state_info->state(); @@ -855,6 +855,41 @@ void LocalTaskManagerPage::cancel_all(wxCommandEvent& evt) } } +void LocalTaskManagerPage::msw_rescale() +{ + m_select_checkbox->Rescale(); + m_select_checkbox->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_select_checkbox->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->Rescale(); + m_task_name->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->Rescale(); + m_printer_name->SetMinSize(wxSize(FromDIP(TASK_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->SetMaxSize(wxSize(FromDIP(TASK_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->Rescale(); + m_status->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_STATE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_STATE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_info->Rescale(); + m_info->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_info->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_send_time->Rescale(); + m_send_time->SetMinSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_send_time->SetMaxSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->Rescale(); + m_action->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + + btn_stop_all->Rescale(); + + for (auto it = m_task_items.begin(); it != m_task_items.end(); ++it) { + it->second->Refresh(); + } + + Fit(); + Layout(); + Refresh(); +} + CloudTaskManagerPage::CloudTaskManagerPage(wxWindow* parent) : wxPanel(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL) { @@ -1214,7 +1249,7 @@ void CloudTaskManagerPage::refresh_user_device(bool clear) //mtitem->task_obj = task_state_info; mtitem->m_job_id = task_state_info.get_job_id(); mtitem->m_project_name = wxString::FromUTF8(task_state_info.get_task_name()); - mtitem->m_dev_name = task_state_info.get_device_name(); + mtitem->m_dev_name = wxString::FromUTF8(task_state_info.get_device_name()); mtitem->m_dev_id = task_state_info.params().dev_id; mtitem->m_send_time = utc_time_to_date(task_state_info.start_time); @@ -1432,5 +1467,52 @@ void CloudTaskManagerPage::page_num_enter_evt() Layout();*/ } +void CloudTaskManagerPage::msw_rescale() +{ + btn_last_page->Rescale(); + btn_last_page->SetMinSize(wxSize(FromDIP(20), FromDIP(20))); + btn_last_page->SetMaxSize(wxSize(FromDIP(20), FromDIP(20))); + btn_next_page->Rescale(); + btn_next_page->SetMinSize(wxSize(FromDIP(20), FromDIP(20))); + btn_next_page->SetMaxSize(wxSize(FromDIP(20), FromDIP(20))); + m_page_num_enter->Rescale(); + m_page_num_enter->SetMinSize(wxSize(FromDIP(25), FromDIP(25))); + m_page_num_enter->SetMaxSize(wxSize(FromDIP(25), FromDIP(25))); + + m_select_checkbox->Rescale(); + m_select_checkbox->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_select_checkbox->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->Rescale(); + m_task_name->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->Rescale(); + m_printer_name->SetMinSize(wxSize(FromDIP(TASK_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->SetMaxSize(wxSize(FromDIP(TASK_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->Rescale(); + m_status->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_STATE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_STATE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_info->Rescale(); + m_info->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_info->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_send_time->Rescale(); + m_send_time->SetMinSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_send_time->SetMaxSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->Rescale(); + m_action->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + + btn_pause_all->Rescale(); + btn_continue_all->Rescale(); + btn_stop_all->Rescale(); + + for (auto it = m_task_items.begin(); it != m_task_items.end(); ++it) { + it->second->Refresh(); + } + + Fit(); + Layout(); + Refresh(); +} + } // namespace GUI } // namespace Slic3r diff --git a/src/slic3r/GUI/MultiTaskManagerPage.hpp b/src/slic3r/GUI/MultiTaskManagerPage.hpp index 40341560e..0f676d06b 100644 --- a/src/slic3r/GUI/MultiTaskManagerPage.hpp +++ b/src/slic3r/GUI/MultiTaskManagerPage.hpp @@ -85,6 +85,7 @@ public: void refresh_user_device(bool clear = false); bool Show(bool show); void cancel_all(wxCommandEvent& evt); + void msw_rescale(); private: SortItem m_sort; @@ -143,6 +144,8 @@ public: void enable_buttons(bool enable); void page_num_enter_evt(); + void msw_rescale(); + private: SortItem m_sort; bool device_name_big{ true }; diff --git a/src/slic3r/GUI/SendMultiMachinePage.cpp b/src/slic3r/GUI/SendMultiMachinePage.cpp index 7ea22f1ce..4b78f50d9 100644 --- a/src/slic3r/GUI/SendMultiMachinePage.cpp +++ b/src/slic3r/GUI/SendMultiMachinePage.cpp @@ -322,7 +322,38 @@ void SendMultiMachinePage::prepare(int plate_idx) void SendMultiMachinePage::on_dpi_changed(const wxRect& suggested_rect) { + m_select_checkbox->Rescale(); + m_printer_name->Rescale(); + m_printer_name->SetMinSize(wxSize(FromDIP(SEND_LEFT_DEV_NAME), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_printer_name->SetMaxSize(wxSize(FromDIP(SEND_LEFT_DEV_NAME), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_device_status->Rescale(); + m_device_status->SetMinSize(wxSize(FromDIP(SEND_LEFT_DEV_STATUS), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_device_status->SetMaxSize(wxSize(FromDIP(SEND_LEFT_DEV_STATUS), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_ams->Rescale(); + m_ams->SetMinSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_ams->SetMaxSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_refresh_button->Rescale(); + m_refresh_button->SetMinSize(wxSize(FromDIP(50), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_refresh_button->SetMaxSize(wxSize(FromDIP(50), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_rename_button->msw_rescale(); + print_time->msw_rescale(); + print_weight->msw_rescale(); + timeimg->SetBitmap(print_time->bmp()); + weightimg->SetBitmap(print_weight->bmp()); + m_button_add->Rescale(); + m_button_add->SetMinSize(wxSize(FromDIP(90), FromDIP(36))); + m_button_add->SetMaxSize(wxSize(FromDIP(90), FromDIP(36))); + m_button_send->Rescale(); + m_button_send->SetMinSize(wxSize(FromDIP(120), FromDIP(40))); + m_button_send->SetMinSize(wxSize(FromDIP(120), FromDIP(40))); + for (auto it = m_device_items.begin(); it != m_device_items.end(); ++it) { + it->second->Refresh(); + } + + Fit(); + Layout(); + Refresh(); } void SendMultiMachinePage::on_sys_color_changed() @@ -943,15 +974,18 @@ wxPanel* SendMultiMachinePage::create_page() m_title_sizer = new wxBoxSizer(wxHORIZONTAL); m_rename_switch_panel = new wxSimplebook(m_title_panel); + m_rename_switch_panel->SetMinSize(wxSize(FromDIP(240), FromDIP(25))); + m_rename_switch_panel->SetMaxSize(wxSize(FromDIP(240), FromDIP(25))); m_rename_normal_panel = new wxPanel(m_rename_switch_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); m_rename_normal_panel->SetBackgroundColour(*wxWHITE); rename_sizer_v = new wxBoxSizer(wxVERTICAL); rename_sizer_h = new wxBoxSizer(wxHORIZONTAL); - m_task_name = new wxStaticText(m_rename_normal_panel, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END); + m_task_name = new wxStaticText(m_rename_normal_panel, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END | wxALIGN_CENTRE); m_task_name->SetFont(::Label::Body_13); - m_task_name->SetMaxSize(wxSize(FromDIP(390), -1)); + m_task_name->SetMinSize(wxSize(FromDIP(200), -1)); + m_task_name->SetMaxSize(wxSize(FromDIP(200), -1)); m_rename_button = new ScalableButton(m_rename_normal_panel, wxID_ANY, "ams_editable"); m_rename_button->SetBackgroundColour(*wxWHITE); rename_sizer_h->Add(m_task_name, 0, wxALIGN_CENTER, 0); diff --git a/src/slic3r/GUI/SendMultiMachinePage.hpp b/src/slic3r/GUI/SendMultiMachinePage.hpp index 418f8cfa0..58014f065 100644 --- a/src/slic3r/GUI/SendMultiMachinePage.hpp +++ b/src/slic3r/GUI/SendMultiMachinePage.hpp @@ -144,8 +144,6 @@ private: wxPanel* m_title_panel{ nullptr }; wxBoxSizer* m_title_sizer{ nullptr }; wxBoxSizer* m_text_sizer{ nullptr }; - ScalableBitmap* m_print_time{ nullptr }; - wxStaticBitmap* m_time_img{ nullptr }; wxStaticText* m_stext_time{ nullptr }; wxStaticText* m_stext_weight{ nullptr }; wxStaticBitmap* timeimg{ nullptr };