mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-11 19:17:33 +00:00
ENH: update how to load_ams_list
JIRA: [STUDIO-14255] Change-Id: I204f881b72185ee16f8ff204feb6469504f9f86b (cherry picked from commit 4150ff5c178de02dfa67e6bd90765e35c6a64e99)
This commit is contained in:
@@ -642,9 +642,6 @@ bool CalibrationPanel::Show(bool show) {
|
|||||||
obj = dev->get_selected_machine();
|
obj = dev->get_selected_machine();
|
||||||
if (obj == nullptr) {
|
if (obj == nullptr) {
|
||||||
dev->load_last_machine();
|
dev->load_last_machine();
|
||||||
obj = dev->get_selected_machine();
|
|
||||||
if (obj)
|
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
obj->reset_update_time();
|
obj->reset_update_time();
|
||||||
@@ -682,7 +679,6 @@ void CalibrationPanel::set_default()
|
|||||||
{
|
{
|
||||||
obj = nullptr;
|
obj = nullptr;
|
||||||
last_conn_type = "undefined";
|
last_conn_type = "undefined";
|
||||||
wxGetApp().sidebar().load_ams_list({}, {});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CalibrationPanel::msw_rescale()
|
void CalibrationPanel::msw_rescale()
|
||||||
|
|||||||
@@ -430,6 +430,8 @@ namespace Slic3r
|
|||||||
selected_machine = "";
|
selected_machine = "";
|
||||||
local_selected_machine = "";
|
local_selected_machine = "";
|
||||||
|
|
||||||
|
OnSelectedMachineChanged(selected_machine, "");
|
||||||
|
|
||||||
// clean user list
|
// clean user list
|
||||||
for (auto it = userMachineList.begin(); it != userMachineList.end(); it++)
|
for (auto it = userMachineList.begin(); it != userMachineList.end(); it++)
|
||||||
{
|
{
|
||||||
@@ -533,6 +535,11 @@ namespace Slic3r
|
|||||||
data.second.checked_filament.clear();
|
data.second.checked_filament.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (selected_machine != dev_id) {
|
||||||
|
OnSelectedMachineChanged(selected_machine, dev_id);
|
||||||
|
}
|
||||||
|
|
||||||
selected_machine = dev_id;
|
selected_machine = dev_id;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -825,7 +832,16 @@ namespace Slic3r
|
|||||||
void DeviceManager::OnSelectedMachineLost()
|
void DeviceManager::OnSelectedMachineLost()
|
||||||
{
|
{
|
||||||
GUI::wxGetApp().sidebar().update_sync_status(nullptr);
|
GUI::wxGetApp().sidebar().update_sync_status(nullptr);
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(string(), nullptr);
|
GUI::wxGetApp().sidebar().load_ams_list(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DeviceManager::OnSelectedMachineChanged(const std::string& /*pre_dev_id*/,
|
||||||
|
const std::string& /*new_dev_id*/)
|
||||||
|
{
|
||||||
|
if (MachineObject* obj_ = get_selected_machine()) {
|
||||||
|
GUI::wxGetApp().sidebar().update_sync_status(obj_);
|
||||||
|
GUI::wxGetApp().sidebar().load_ams_list(obj_);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeviceManager::reload_printer_settings()
|
void DeviceManager::reload_printer_settings()
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ private:
|
|||||||
|
|
||||||
void OnMachineBindStateChanged(MachineObject* obj, const std::string& new_state);
|
void OnMachineBindStateChanged(MachineObject* obj, const std::string& new_state);
|
||||||
void OnSelectedMachineLost();
|
void OnSelectedMachineLost();
|
||||||
|
void OnSelectedMachineChanged(const std::string& pre_dev_id, const std::string& new_dev_id);
|
||||||
|
|
||||||
|
|
||||||
/*TODO*/
|
/*TODO*/
|
||||||
|
|||||||
@@ -1726,7 +1726,6 @@ void GUI_App::init_networking_callbacks()
|
|||||||
obj->command_get_access_code();
|
obj->command_get_access_code();
|
||||||
if (m_agent)
|
if (m_agent)
|
||||||
m_agent->install_device_cert(obj->get_dev_id(), obj->is_lan_mode_printer());
|
m_agent->install_device_cert(obj->get_dev_id(), obj->is_lan_mode_printer());
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -1765,7 +1764,6 @@ void GUI_App::init_networking_callbacks()
|
|||||||
obj->command_get_version();
|
obj->command_get_version();
|
||||||
event.SetInt(0);
|
event.SetInt(0);
|
||||||
event.SetString(obj->get_dev_id());
|
event.SetString(obj->get_dev_id());
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
|
||||||
} else if (state == ConnectStatus::ConnectStatusFailed) {
|
} else if (state == ConnectStatus::ConnectStatusFailed) {
|
||||||
// Orca: only update status if same device id
|
// Orca: only update status if same device id
|
||||||
if (m_device_manager->selected_machine != dev_id) return;
|
if (m_device_manager->selected_machine != dev_id) return;
|
||||||
@@ -1831,13 +1829,10 @@ void GUI_App::init_networking_callbacks()
|
|||||||
auto sel = this->m_device_manager->get_selected_machine();
|
auto sel = this->m_device_manager->get_selected_machine();
|
||||||
if (sel && sel->get_dev_id() == dev_id) {
|
if (sel && sel->get_dev_id() == dev_id) {
|
||||||
obj->parse_json("cloud", msg);
|
obj->parse_json("cloud", msg);
|
||||||
|
GUI::wxGetApp().sidebar().load_ams_list(obj);
|
||||||
} else {
|
} else {
|
||||||
obj->parse_json("cloud", msg, true);
|
obj->parse_json("cloud", msg, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sel == obj || sel == nullptr) {
|
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GUI::wxGetApp().plater())
|
if (GUI::wxGetApp().plater())
|
||||||
@@ -1881,7 +1876,7 @@ void GUI_App::init_networking_callbacks()
|
|||||||
if (MachineObject* obj = m_device_manager->get_my_machine(dev_id)) {
|
if (MachineObject* obj = m_device_manager->get_my_machine(dev_id)) {
|
||||||
obj->parse_json("lan", msg);
|
obj->parse_json("lan", msg);
|
||||||
if (this->m_device_manager->get_selected_machine() == obj) {
|
if (this->m_device_manager->get_selected_machine() == obj) {
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
GUI::wxGetApp().sidebar().load_ams_list(obj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3942,7 +3937,6 @@ void GUI_App::request_user_logout()
|
|||||||
wxGetApp().check_and_keep_current_preset_changes(_L("User logged out"), header, ActionButtons::KEEP | ActionButtons::SAVE, &transfer_preset_changes);
|
wxGetApp().check_and_keep_current_preset_changes(_L("User logged out"), header, ActionButtons::KEEP | ActionButtons::SAVE, &transfer_preset_changes);
|
||||||
|
|
||||||
m_device_manager->clean_user_info();
|
m_device_manager->clean_user_info();
|
||||||
GUI::wxGetApp().sidebar().load_ams_list({}, {});
|
|
||||||
remove_user_presets();
|
remove_user_presets();
|
||||||
enable_user_preset_folder(false);
|
enable_user_preset_folder(false);
|
||||||
preset_bundle->load_user_presets(DEFAULT_USER_FOLDER_NAME, ForwardCompatibilitySubstitutionRule::Enable);
|
preset_bundle->load_user_presets(DEFAULT_USER_FOLDER_NAME, ForwardCompatibilitySubstitutionRule::Enable);
|
||||||
|
|||||||
@@ -161,12 +161,6 @@ void MonitorPanel::init_timer()
|
|||||||
m_refresh_timer->SetOwner(this);
|
m_refresh_timer->SetOwner(this);
|
||||||
m_refresh_timer->Start(REFRESH_INTERVAL);
|
m_refresh_timer->Start(REFRESH_INTERVAL);
|
||||||
wxPostEvent(this, wxTimerEvent());
|
wxPostEvent(this, wxTimerEvent());
|
||||||
|
|
||||||
Slic3r::DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager();
|
|
||||||
if (!dev) return;
|
|
||||||
MachineObject *obj_ = dev->get_selected_machine();
|
|
||||||
if (obj_)
|
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj_->get_dev_id(), obj_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MonitorPanel::init_tabpanel()
|
void MonitorPanel::init_tabpanel()
|
||||||
@@ -215,9 +209,6 @@ void MonitorPanel::set_default()
|
|||||||
|
|
||||||
/* reset side tool*/
|
/* reset side tool*/
|
||||||
//m_bitmap_wifi_signal->SetBitmap(wxNullBitmap);
|
//m_bitmap_wifi_signal->SetBitmap(wxNullBitmap);
|
||||||
|
|
||||||
wxGetApp().sidebar().load_ams_list({}, {});
|
|
||||||
wxGetApp().sidebar().update_sync_status(nullptr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wxWindow* MonitorPanel::create_side_tools()
|
wxWindow* MonitorPanel::create_side_tools()
|
||||||
@@ -295,7 +286,6 @@ void MonitorPanel::on_select_printer(wxCommandEvent& event)
|
|||||||
obj_->reset_pa_cali_history_result();
|
obj_->reset_pa_cali_history_result();
|
||||||
obj_->reset_pa_cali_result();
|
obj_->reset_pa_cali_result();
|
||||||
Sidebar &sidebar = GUI::wxGetApp().sidebar();
|
Sidebar &sidebar = GUI::wxGetApp().sidebar();
|
||||||
sidebar.load_ams_list(obj_->get_dev_id(), obj_);
|
|
||||||
sidebar.update_sync_status(obj_);
|
sidebar.update_sync_status(obj_);
|
||||||
sidebar.set_need_auto_sync_after_connect_printer(sidebar.need_auto_sync_extruder_list_after_connect_priner(obj_));
|
sidebar.set_need_auto_sync_after_connect_printer(sidebar.need_auto_sync_extruder_list_after_connect_priner(obj_));
|
||||||
}
|
}
|
||||||
@@ -428,12 +418,8 @@ bool MonitorPanel::Show(bool show)
|
|||||||
obj = dev->get_selected_machine();
|
obj = dev->get_selected_machine();
|
||||||
if (obj == nullptr) {
|
if (obj == nullptr) {
|
||||||
dev->load_last_machine();
|
dev->load_last_machine();
|
||||||
obj = dev->get_selected_machine();
|
|
||||||
if (obj && obj->is_info_ready(false))
|
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
|
||||||
} else {
|
} else {
|
||||||
obj->reset_update_time();
|
obj->reset_update_time();
|
||||||
//select_machine(obj->get_dev_id());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -3010,10 +3010,12 @@ void Sidebar::get_small_btn_sync_pos_size(wxPoint &pt, wxSize &size) {
|
|||||||
pt = ams_btn->GetScreenPosition();
|
pt = ams_btn->GetScreenPosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sidebar::load_ams_list(std::string const &device, MachineObject* obj)
|
void Sidebar::load_ams_list(MachineObject* obj)
|
||||||
{
|
{
|
||||||
std::map<int, DynamicPrintConfig> filament_ams_list = build_filament_ams_list(obj);
|
std::map<int, DynamicPrintConfig> filament_ams_list = build_filament_ams_list(obj);
|
||||||
|
|
||||||
bool device_change = false;
|
bool device_change = false;
|
||||||
|
const std::string& device = obj ? obj->get_dev_id() : "";
|
||||||
if (p->ams_list_device != device) {
|
if (p->ams_list_device != device) {
|
||||||
p->ams_list_device = device;
|
p->ams_list_device = device;
|
||||||
device_change = true;
|
device_change = true;
|
||||||
@@ -3041,7 +3043,7 @@ void Sidebar::sync_ams_list(bool is_from_big_sync_btn)
|
|||||||
// Force load ams list
|
// Force load ams list
|
||||||
auto obj = wxGetApp().getDeviceManager()->get_selected_machine();
|
auto obj = wxGetApp().getDeviceManager()->get_selected_machine();
|
||||||
if (obj)
|
if (obj)
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
GUI::wxGetApp().sidebar().load_ams_list(obj);
|
||||||
|
|
||||||
auto & list = wxGetApp().preset_bundle->filament_ams_list;
|
auto & list = wxGetApp().preset_bundle->filament_ams_list;
|
||||||
if (list.empty()) {
|
if (list.empty()) {
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ public:
|
|||||||
bool is_new_project_in_gcode3mf();
|
bool is_new_project_in_gcode3mf();
|
||||||
// BBS
|
// BBS
|
||||||
void on_bed_type_change(BedType bed_type);
|
void on_bed_type_change(BedType bed_type);
|
||||||
void load_ams_list(std::string const & device, MachineObject* obj);
|
void load_ams_list(MachineObject* obj);
|
||||||
std::map<int, DynamicPrintConfig> build_filament_ams_list(MachineObject* obj);
|
std::map<int, DynamicPrintConfig> build_filament_ams_list(MachineObject* obj);
|
||||||
void sync_ams_list(bool is_from_big_sync_btn = false);
|
void sync_ams_list(bool is_from_big_sync_btn = false);
|
||||||
bool sync_extruder_list();
|
bool sync_extruder_list();
|
||||||
|
|||||||
@@ -3031,7 +3031,6 @@ void SelectMachineDialog::on_selection_changed(wxCommandEvent &event)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Has changed machine unrecoverably
|
// Has changed machine unrecoverably
|
||||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
|
||||||
m_check_flag = false;
|
m_check_flag = false;
|
||||||
} else {
|
} else {
|
||||||
BOOST_LOG_TRIVIAL(error) << "on_selection_changed dev_id not found";
|
BOOST_LOG_TRIVIAL(error) << "on_selection_changed dev_id not found";
|
||||||
@@ -4522,6 +4521,13 @@ bool SelectMachineDialog::Show(bool show)
|
|||||||
EnableEditing(true);
|
EnableEditing(true);
|
||||||
m_options_other->Show();
|
m_options_other->Show();
|
||||||
m_refresh_timer->Start(LIST_REFRESH_INTERVAL);
|
m_refresh_timer->Start(LIST_REFRESH_INTERVAL);
|
||||||
|
|
||||||
|
//set a default machine when obj is null
|
||||||
|
if (DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager()) {
|
||||||
|
if (!dev->get_selected_machine()) {
|
||||||
|
dev->load_last_machine();
|
||||||
|
}
|
||||||
|
};
|
||||||
} else {
|
} else {
|
||||||
m_refresh_timer->Stop();
|
m_refresh_timer->Stop();
|
||||||
return DPIDialog::Show(false);
|
return DPIDialog::Show(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user