FIX:display printer name when sending from storage
Change-Id: Ib26cb305468c96052e58b14e3b415ff2cd3a53d7
This commit is contained in:
parent
0cccc282c6
commit
d78f7d6ca7
|
@ -338,6 +338,12 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater)
|
||||||
m_comboBox_printer->SetMaxSize(wxSize(FromDIP(250), FromDIP(60)));
|
m_comboBox_printer->SetMaxSize(wxSize(FromDIP(250), FromDIP(60)));
|
||||||
m_comboBox_printer->SetBackgroundColor(*wxWHITE);
|
m_comboBox_printer->SetBackgroundColor(*wxWHITE);
|
||||||
m_comboBox_printer->Bind(wxEVT_COMBOBOX, &SelectMachineDialog::on_selection_changed, this);
|
m_comboBox_printer->Bind(wxEVT_COMBOBOX, &SelectMachineDialog::on_selection_changed, this);
|
||||||
|
m_comboBox_printer->Bind(wxEVT_LEFT_DOWN, [=](auto& e) {
|
||||||
|
if (m_print_type != PrintFromType::FROM_SDCARD_VIEW) {e.Skip();}
|
||||||
|
});
|
||||||
|
m_comboBox_printer->Bind(wxEVT_LEFT_UP, [=](auto &e) {
|
||||||
|
if (m_print_type != PrintFromType::FROM_SDCARD_VIEW) {e.Skip();}
|
||||||
|
});
|
||||||
|
|
||||||
m_btn_bg_enable = StateColor(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
m_btn_bg_enable = StateColor(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||||
|
@ -1185,7 +1191,6 @@ bool SelectMachineDialog::do_ams_mapping(MachineObject *obj_)
|
||||||
const auto& project_config = wxGetApp().preset_bundle->project_config;
|
const auto& project_config = wxGetApp().preset_bundle->project_config;
|
||||||
size_t nozzle_nums = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
size_t nozzle_nums = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||||
m_filaments_map = wxGetApp().plater()->get_partplate_list().get_curr_plate()->get_real_filament_maps(project_config);
|
m_filaments_map = wxGetApp().plater()->get_partplate_list().get_curr_plate()->get_real_filament_maps(project_config);
|
||||||
|
|
||||||
int filament_result = 0;
|
int filament_result = 0;
|
||||||
std::vector<bool> map_opt; //four values: use_left_ams, use_right_ams, use_left_ext, use_right_ext
|
std::vector<bool> map_opt; //four values: use_left_ams, use_right_ams, use_left_ext, use_right_ext
|
||||||
if (nozzle_nums > 1){
|
if (nozzle_nums > 1){
|
||||||
|
@ -1199,11 +1204,14 @@ bool SelectMachineDialog::do_ams_mapping(MachineObject *obj_)
|
||||||
BOOST_LOG_TRIVIAL(info) << "m_filaments_map.size()" << m_filaments_map.size();
|
BOOST_LOG_TRIVIAL(info) << "m_filaments_map.size()" << m_filaments_map.size();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (it->id < m_filaments_map.size()) {
|
||||||
if (m_filaments_map[it->id] == 1)
|
if (m_filaments_map[it->id] == 1)
|
||||||
m_filament_left.push_back(*it);
|
m_filament_left.push_back(*it);
|
||||||
else if (m_filaments_map[it->id] == 2)
|
else if (m_filaments_map[it->id] == 2)
|
||||||
m_filament_right.push_back(*it);
|
m_filament_right.push_back(*it);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool has_left_ams = false, has_right_ams = false;
|
bool has_left_ams = false, has_right_ams = false;
|
||||||
for (auto ams_item : obj_->amsList) {
|
for (auto ams_item : obj_->amsList) {
|
||||||
|
@ -3330,7 +3338,7 @@ void SelectMachineDialog::update_show_status()
|
||||||
size_t nozzle_nums = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
size_t nozzle_nums = full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||||
|
|
||||||
//the nozzle type of preset and machine are different
|
//the nozzle type of preset and machine are different
|
||||||
if (nozzle_nums > 1) {
|
if (nozzle_nums > 1 && m_print_type == FROM_NORMAL) {
|
||||||
if (!obj_->is_nozzle_data_invalid()) {
|
if (!obj_->is_nozzle_data_invalid()) {
|
||||||
show_status(PrintDialogStatus::PrintStatusNozzleDataInvalid);
|
show_status(PrintDialogStatus::PrintStatusNozzleDataInvalid);
|
||||||
return;
|
return;
|
||||||
|
@ -3365,7 +3373,6 @@ void SelectMachineDialog::update_show_status()
|
||||||
}
|
}
|
||||||
|
|
||||||
// check ams and vt_slot mix use status
|
// check ams and vt_slot mix use status
|
||||||
{
|
|
||||||
struct ExtruderStatus
|
struct ExtruderStatus
|
||||||
{
|
{
|
||||||
bool has_ams{false};
|
bool has_ams{false};
|
||||||
|
@ -3373,8 +3380,7 @@ void SelectMachineDialog::update_show_status()
|
||||||
};
|
};
|
||||||
std::vector<ExtruderStatus> extruder_status(nozzle_nums);
|
std::vector<ExtruderStatus> extruder_status(nozzle_nums);
|
||||||
for (const FilamentInfo &item : m_ams_mapping_result) {
|
for (const FilamentInfo &item : m_ams_mapping_result) {
|
||||||
if (item.ams_id.empty())
|
if (item.ams_id.empty()) continue;
|
||||||
continue;
|
|
||||||
|
|
||||||
int extruder_id = obj_->get_extruder_id_by_ams_id(item.ams_id);
|
int extruder_id = obj_->get_extruder_id_by_ams_id(item.ams_id);
|
||||||
if (DeviceManager::is_virtual_slot(stoi(item.ams_id)))
|
if (DeviceManager::is_virtual_slot(stoi(item.ams_id)))
|
||||||
|
@ -3388,7 +3394,6 @@ void SelectMachineDialog::update_show_status()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (!obj_->is_support_ams_mapping()) {
|
if (!obj_->is_support_ams_mapping()) {
|
||||||
int exceed_index = -1;
|
int exceed_index = -1;
|
||||||
|
@ -3580,7 +3585,7 @@ void SelectMachineDialog::set_default()
|
||||||
}
|
}
|
||||||
else if (m_print_type == PrintFromType::FROM_SDCARD_VIEW) {
|
else if (m_print_type == PrintFromType::FROM_SDCARD_VIEW) {
|
||||||
m_stext_printer_title->Show(false);
|
m_stext_printer_title->Show(false);
|
||||||
m_comboBox_printer->Show(false);
|
m_comboBox_printer->Show(true);
|
||||||
m_button_refresh->Show(false);
|
m_button_refresh->Show(false);
|
||||||
m_rename_normal_panel->Show(false);
|
m_rename_normal_panel->Show(false);
|
||||||
m_hyperlink->Show(false);
|
m_hyperlink->Show(false);
|
||||||
|
@ -4157,6 +4162,14 @@ void SelectMachineDialog::set_default_normal(const ThumbnailData &data)
|
||||||
|
|
||||||
void SelectMachineDialog::set_default_from_sdcard()
|
void SelectMachineDialog::set_default_from_sdcard()
|
||||||
{
|
{
|
||||||
|
DeviceManager *dev_manager = Slic3r::GUI::wxGetApp().getDeviceManager();
|
||||||
|
if (!dev_manager) return;
|
||||||
|
MachineObject *obj_ = dev_manager->get_selected_machine();
|
||||||
|
if (!obj_) { return; };
|
||||||
|
|
||||||
|
m_comboBox_printer->SetValue(obj_->dev_name);
|
||||||
|
|
||||||
|
|
||||||
m_print_plate_total = m_required_data_plate_data_list.size();
|
m_print_plate_total = m_required_data_plate_data_list.size();
|
||||||
update_page_turn_state(true);
|
update_page_turn_state(true);
|
||||||
|
|
||||||
|
@ -4181,6 +4194,33 @@ void SelectMachineDialog::set_default_from_sdcard()
|
||||||
brands.push_back(fo.brand);
|
brands.push_back(fo.brand);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ams mapping area
|
||||||
|
if (obj_->m_extder_data.total_extder_count > 1) {
|
||||||
|
m_filament_left_panel->Show();
|
||||||
|
m_filament_right_panel->Show();
|
||||||
|
m_filament_panel->Hide();
|
||||||
|
|
||||||
|
m_sizer_ams_mapping_left->SetCols(4);
|
||||||
|
m_sizer_ams_mapping_left->Layout();
|
||||||
|
m_filament_panel_left_sizer->Layout();
|
||||||
|
m_filament_left_panel->Layout();
|
||||||
|
|
||||||
|
m_sizer_ams_mapping_right->SetCols(4);
|
||||||
|
m_sizer_ams_mapping_right->Layout();
|
||||||
|
m_filament_panel_right_sizer->Layout();
|
||||||
|
m_filament_right_panel->Layout();
|
||||||
|
m_mapping_popup.set_show_type(ShowType::LEFT_AND_RIGHT);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
m_filament_left_panel->Hide();
|
||||||
|
m_filament_right_panel->Hide();
|
||||||
|
m_filament_panel->Show();
|
||||||
|
m_sizer_ams_mapping->SetCols(8);
|
||||||
|
m_sizer_ams_mapping->Layout();
|
||||||
|
m_filament_panel_sizer->Layout();
|
||||||
|
m_mapping_popup.set_show_type(ShowType::RIGHT);
|
||||||
|
}
|
||||||
|
|
||||||
//init MaterialItem
|
//init MaterialItem
|
||||||
MaterialHash::iterator iter = m_materialList.begin();
|
MaterialHash::iterator iter = m_materialList.begin();
|
||||||
while (iter != m_materialList.end()) {
|
while (iter != m_materialList.end()) {
|
||||||
|
@ -4196,7 +4236,6 @@ void SelectMachineDialog::set_default_from_sdcard()
|
||||||
m_materialList.clear();
|
m_materialList.clear();
|
||||||
m_filaments.clear();
|
m_filaments.clear();
|
||||||
|
|
||||||
|
|
||||||
for (auto i = 0; i < m_required_data_plate_data_list[m_print_plate_idx]->slice_filaments_info.size(); i++) {
|
for (auto i = 0; i < m_required_data_plate_data_list[m_print_plate_idx]->slice_filaments_info.size(); i++) {
|
||||||
FilamentInfo fo = m_required_data_plate_data_list[m_print_plate_idx]->slice_filaments_info[i];
|
FilamentInfo fo = m_required_data_plate_data_list[m_print_plate_idx]->slice_filaments_info[i];
|
||||||
|
|
||||||
|
@ -4204,7 +4243,7 @@ void SelectMachineDialog::set_default_from_sdcard()
|
||||||
m_sizer_ams_mapping->Add(item, 0, wxALL, FromDIP(5));
|
m_sizer_ams_mapping->Add(item, 0, wxALL, FromDIP(5));
|
||||||
|
|
||||||
item->Bind(wxEVT_LEFT_UP, [this, item, materials](wxMouseEvent& e) {});
|
item->Bind(wxEVT_LEFT_UP, [this, item, materials](wxMouseEvent& e) {});
|
||||||
item->Bind(wxEVT_LEFT_DOWN, [this, item, materials, fo](wxMouseEvent& e) {
|
item->Bind(wxEVT_LEFT_DOWN, [this, obj_, item, materials, fo](wxMouseEvent& e) {
|
||||||
MaterialHash::iterator iter = m_materialList.begin();
|
MaterialHash::iterator iter = m_materialList.begin();
|
||||||
while (iter != m_materialList.end()) {
|
while (iter != m_materialList.end()) {
|
||||||
int id = iter->first;
|
int id = iter->first;
|
||||||
|
@ -4223,10 +4262,6 @@ void SelectMachineDialog::set_default_from_sdcard()
|
||||||
|
|
||||||
auto mouse_pos = ClientToScreen(e.GetPosition());
|
auto mouse_pos = ClientToScreen(e.GetPosition());
|
||||||
wxPoint rect = item->ClientToScreen(wxPoint(0, 0));
|
wxPoint rect = item->ClientToScreen(wxPoint(0, 0));
|
||||||
// update ams data
|
|
||||||
DeviceManager* dev_manager = Slic3r::GUI::wxGetApp().getDeviceManager();
|
|
||||||
if (!dev_manager) return;
|
|
||||||
MachineObject* obj_ = dev_manager->get_selected_machine();
|
|
||||||
|
|
||||||
if (obj_ && obj_->is_support_ams_mapping()) {
|
if (obj_ && obj_->is_support_ams_mapping()) {
|
||||||
if (m_mapping_popup.IsShown()) return;
|
if (m_mapping_popup.IsShown()) return;
|
||||||
|
@ -4242,6 +4277,7 @@ void SelectMachineDialog::set_default_from_sdcard()
|
||||||
m_mapping_popup.set_parent_item(item);
|
m_mapping_popup.set_parent_item(item);
|
||||||
m_mapping_popup.set_current_filament_id(fo.id);
|
m_mapping_popup.set_current_filament_id(fo.id);
|
||||||
m_mapping_popup.set_tag_texture(fo.type);
|
m_mapping_popup.set_tag_texture(fo.type);
|
||||||
|
m_mapping_popup.set_send_win(this);
|
||||||
m_mapping_popup.update(obj_);
|
m_mapping_popup.update(obj_);
|
||||||
m_mapping_popup.Popup();
|
m_mapping_popup.Popup();
|
||||||
}
|
}
|
||||||
|
@ -4423,13 +4459,7 @@ void SelectMachineDialog::update_lan_machine_list()
|
||||||
if (!mobj->is_avaliable()) continue;
|
if (!mobj->is_avaliable()) continue;
|
||||||
if (!mobj->is_online()) continue;
|
if (!mobj->is_online()) continue;
|
||||||
if (!mobj->is_lan_mode_printer()) continue;
|
if (!mobj->is_lan_mode_printer()) continue;
|
||||||
|
|
||||||
if (mobj->has_access_right()) {
|
if (mobj->has_access_right()) {
|
||||||
auto b = mobj->dev_name;
|
|
||||||
|
|
||||||
// clear machine list
|
|
||||||
|
|
||||||
//m_comboBox_printer->Clear();
|
|
||||||
std::vector<std::string> machine_list;
|
std::vector<std::string> machine_list;
|
||||||
wxArrayString machine_list_name;
|
wxArrayString machine_list_name;
|
||||||
std::map<std::string, MachineObject *> option_list;
|
std::map<std::string, MachineObject *> option_list;
|
||||||
|
|
Loading…
Reference in New Issue