mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-23 13:15:13 +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();
|
||||
if (obj == nullptr) {
|
||||
dev->load_last_machine();
|
||||
obj = dev->get_selected_machine();
|
||||
if (obj)
|
||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
||||
}
|
||||
else {
|
||||
obj->reset_update_time();
|
||||
@@ -682,7 +679,6 @@ void CalibrationPanel::set_default()
|
||||
{
|
||||
obj = nullptr;
|
||||
last_conn_type = "undefined";
|
||||
wxGetApp().sidebar().load_ams_list({}, {});
|
||||
}
|
||||
|
||||
void CalibrationPanel::msw_rescale()
|
||||
|
||||
@@ -430,6 +430,8 @@ namespace Slic3r
|
||||
selected_machine = "";
|
||||
local_selected_machine = "";
|
||||
|
||||
OnSelectedMachineChanged(selected_machine, "");
|
||||
|
||||
// clean user list
|
||||
for (auto it = userMachineList.begin(); it != userMachineList.end(); it++)
|
||||
{
|
||||
@@ -533,6 +535,11 @@ namespace Slic3r
|
||||
data.second.checked_filament.clear();
|
||||
}
|
||||
}
|
||||
|
||||
if (selected_machine != dev_id) {
|
||||
OnSelectedMachineChanged(selected_machine, dev_id);
|
||||
}
|
||||
|
||||
selected_machine = dev_id;
|
||||
return true;
|
||||
}
|
||||
@@ -825,7 +832,16 @@ namespace Slic3r
|
||||
void DeviceManager::OnSelectedMachineLost()
|
||||
{
|
||||
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()
|
||||
|
||||
@@ -101,6 +101,7 @@ private:
|
||||
|
||||
void OnMachineBindStateChanged(MachineObject* obj, const std::string& new_state);
|
||||
void OnSelectedMachineLost();
|
||||
void OnSelectedMachineChanged(const std::string& pre_dev_id, const std::string& new_dev_id);
|
||||
|
||||
|
||||
/*TODO*/
|
||||
|
||||
@@ -1726,7 +1726,6 @@ void GUI_App::init_networking_callbacks()
|
||||
obj->command_get_access_code();
|
||||
if (m_agent)
|
||||
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();
|
||||
event.SetInt(0);
|
||||
event.SetString(obj->get_dev_id());
|
||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
||||
} else if (state == ConnectStatus::ConnectStatusFailed) {
|
||||
// Orca: only update status if same device id
|
||||
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();
|
||||
if (sel && sel->get_dev_id() == dev_id) {
|
||||
obj->parse_json("cloud", msg);
|
||||
GUI::wxGetApp().sidebar().load_ams_list(obj);
|
||||
} else {
|
||||
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())
|
||||
@@ -1881,7 +1876,7 @@ void GUI_App::init_networking_callbacks()
|
||||
if (MachineObject* obj = m_device_manager->get_my_machine(dev_id)) {
|
||||
obj->parse_json("lan", msg);
|
||||
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);
|
||||
|
||||
m_device_manager->clean_user_info();
|
||||
GUI::wxGetApp().sidebar().load_ams_list({}, {});
|
||||
remove_user_presets();
|
||||
enable_user_preset_folder(false);
|
||||
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->Start(REFRESH_INTERVAL);
|
||||
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()
|
||||
@@ -215,9 +209,6 @@ void MonitorPanel::set_default()
|
||||
|
||||
/* reset side tool*/
|
||||
//m_bitmap_wifi_signal->SetBitmap(wxNullBitmap);
|
||||
|
||||
wxGetApp().sidebar().load_ams_list({}, {});
|
||||
wxGetApp().sidebar().update_sync_status(nullptr);
|
||||
}
|
||||
|
||||
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_result();
|
||||
Sidebar &sidebar = GUI::wxGetApp().sidebar();
|
||||
sidebar.load_ams_list(obj_->get_dev_id(), obj_);
|
||||
sidebar.update_sync_status(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();
|
||||
if (obj == nullptr) {
|
||||
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 {
|
||||
obj->reset_update_time();
|
||||
//select_machine(obj->get_dev_id());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -3024,10 +3024,12 @@ void Sidebar::get_small_btn_sync_pos_size(wxPoint &pt, wxSize &size) {
|
||||
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);
|
||||
|
||||
bool device_change = false;
|
||||
const std::string& device = obj ? obj->get_dev_id() : "";
|
||||
if (p->ams_list_device != device) {
|
||||
p->ams_list_device = device;
|
||||
device_change = true;
|
||||
@@ -3055,7 +3057,7 @@ void Sidebar::sync_ams_list(bool is_from_big_sync_btn)
|
||||
// Force load ams list
|
||||
auto obj = wxGetApp().getDeviceManager()->get_selected_machine();
|
||||
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;
|
||||
if (list.empty()) {
|
||||
|
||||
@@ -187,7 +187,7 @@ public:
|
||||
bool is_new_project_in_gcode3mf();
|
||||
// BBS
|
||||
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);
|
||||
void sync_ams_list(bool is_from_big_sync_btn = false);
|
||||
bool sync_extruder_list();
|
||||
|
||||
@@ -3031,7 +3031,6 @@ void SelectMachineDialog::on_selection_changed(wxCommandEvent &event)
|
||||
}
|
||||
|
||||
// Has changed machine unrecoverably
|
||||
GUI::wxGetApp().sidebar().load_ams_list(obj->get_dev_id(), obj);
|
||||
m_check_flag = false;
|
||||
} else {
|
||||
BOOST_LOG_TRIVIAL(error) << "on_selection_changed dev_id not found";
|
||||
@@ -4522,6 +4521,13 @@ bool SelectMachineDialog::Show(bool show)
|
||||
EnableEditing(true);
|
||||
m_options_other->Show();
|
||||
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 {
|
||||
m_refresh_timer->Stop();
|
||||
return DPIDialog::Show(false);
|
||||
|
||||
Reference in New Issue
Block a user