ENH:C11 printer will not check ip and access code

Change-Id: Ib103ddb848a1ef835582b62c9de22ac17b9fa426
This commit is contained in:
tao wang 2023-01-18 15:28:35 +08:00 committed by Lane.Wei
parent bea48a08d6
commit cf46b21003
5 changed files with 61 additions and 48 deletions

View file

@ -4574,6 +4574,7 @@ bool GUI_App::show_modal_ip_address_enter_dialog(wxString title)
if (!dev) return false; if (!dev) return false;
if (!dev->get_selected_machine()) return false; if (!dev->get_selected_machine()) return false;
auto obj = dev->get_selected_machine(); auto obj = dev->get_selected_machine();
InputIpAddressDialog dlg(nullptr); InputIpAddressDialog dlg(nullptr);
dlg.set_machine_obj(obj); dlg.set_machine_obj(obj);
if (!title.empty()) dlg.update_title(title); if (!title.empty()) dlg.update_title(title);

View file

@ -439,7 +439,7 @@ public:
void update_mode(); void update_mode();
void show_ip_address_enter_dialog(wxString title = wxEmptyString); void show_ip_address_enter_dialog(wxString title = wxEmptyString);
void show_ip_address_enter_dialog_handler(wxCommandEvent &evt); void show_ip_address_enter_dialog_handler(wxCommandEvent &evt);
bool show_modal_ip_address_enter_dialog(wxString title); bool show_modal_ip_address_enter_dialog(wxString title = wxEmptyString);
// BBS // BBS
//void add_config_menu(wxMenuBar *menu); //void add_config_menu(wxMenuBar *menu);

View file

@ -114,35 +114,32 @@ void SendJob::process()
std::string http_body; std::string http_body;
// check access code and ip address
params.dev_id = m_dev_id;
params.project_name = "verify_job";
params.filename = job_data._temp_path.string();
params.connection_type = this->connection_type;
// local print access // local print access
params.dev_ip = m_dev_ip; params.dev_ip = m_dev_ip;
params.username = "bblp"; params.username = "bblp";
params.password = m_access_code; params.password = m_access_code;
params.use_ssl = m_local_use_ssl; params.use_ssl = m_local_use_ssl;
result = m_agent->start_send_gcode_to_sdcard(params, nullptr, nullptr); // check access code and ip address
if (result != 0) { if (m_is_check_mode) {
BOOST_LOG_TRIVIAL(error) << "access code is invalid"; params.dev_id = m_dev_id;
m_enter_ip_address_fun_fail(); params.project_name = "verify_job";
if (m_is_check_mode) { params.filename = job_data._temp_path.string();
m_job_finished = true; params.connection_type = this->connection_type;
return;
}
}
else {
if (m_is_check_mode) {
m_enter_ip_address_fun_success();
m_job_finished = true;
return;
}
}
result = m_agent->start_send_gcode_to_sdcard(params, nullptr, nullptr);
if (result != 0) {
BOOST_LOG_TRIVIAL(error) << "access code is invalid";
m_enter_ip_address_fun_fail();
}
else {
m_enter_ip_address_fun_success();
}
m_job_finished = true;
return;
}
/* display info */ /* display info */
if (this->connection_type == "lan") { if (this->connection_type == "lan") {

View file

@ -893,18 +893,18 @@ InputIpAddressDialog::InputIpAddressDialog(wxWindow* parent)
m_tip1 = new Label(this, comfirm_before_enter_text); m_tip1 = new Label(this, comfirm_before_enter_text);
m_tip1->SetFont(::Label::Body_12); m_tip1->SetFont(::Label::Body_12);
m_tip1->SetMinSize(wxSize(FromDIP(390), -1)); m_tip1->SetMinSize(wxSize(FromDIP(380), -1));
m_tip1->SetMaxSize(wxSize(FromDIP(390), -1)); m_tip1->SetMaxSize(wxSize(FromDIP(380), -1));
m_tip1->Wrap(FromDIP(390)); m_tip1->Wrap(FromDIP(380));
auto m_line_tips = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1)); auto m_line_tips = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, 1));
m_line_tips->SetBackgroundColour(wxColour(0xEEEEEE)); m_line_tips->SetBackgroundColour(wxColour(0xEEEEEE));
m_tip2 = new Label(this, comfirm_after_enter_text); m_tip2 = new Label(this, comfirm_after_enter_text);
m_tip2->SetFont(::Label::Body_12); m_tip2->SetFont(::Label::Body_12);
m_tip2->SetMinSize(wxSize(FromDIP(390), -1)); m_tip2->SetMinSize(wxSize(FromDIP(380), -1));
m_tip2->SetMaxSize(wxSize(FromDIP(390), -1)); m_tip2->SetMaxSize(wxSize(FromDIP(380), -1));
m_tip2->Wrap(FromDIP(390)); m_tip2->Wrap(FromDIP(380));
auto m_input_tip_area = new wxBoxSizer(wxHORIZONTAL); auto m_input_tip_area = new wxBoxSizer(wxHORIZONTAL);
auto m_input_area = new wxBoxSizer(wxHORIZONTAL); auto m_input_area = new wxBoxSizer(wxHORIZONTAL);
@ -942,9 +942,9 @@ InputIpAddressDialog::InputIpAddressDialog(wxWindow* parent)
m_tip3 = new Label(this, _L("Where to find your printer's IP and Access Code?")); m_tip3 = new Label(this, _L("Where to find your printer's IP and Access Code?"));
m_tip3->SetFont(::Label::Body_12); m_tip3->SetFont(::Label::Body_12);
m_tip3->SetMinSize(wxSize(FromDIP(390), -1)); m_tip3->SetMinSize(wxSize(FromDIP(380), -1));
m_tip3->SetMaxSize(wxSize(FromDIP(390), -1)); m_tip3->SetMaxSize(wxSize(FromDIP(380), -1));
m_tip3->Wrap(FromDIP(390)); m_tip3->Wrap(FromDIP(380));
m_img_help1 = new wxStaticBitmap(this, wxID_ANY, create_scaled_bitmap("input_accesscode_help1", this, 198), wxDefaultPosition, wxSize(FromDIP(352), FromDIP(198)), 0); m_img_help1 = new wxStaticBitmap(this, wxID_ANY, create_scaled_bitmap("input_accesscode_help1", this, 198), wxDefaultPosition, wxSize(FromDIP(352), FromDIP(198)), 0);
@ -1008,8 +1008,8 @@ InputIpAddressDialog::InputIpAddressDialog(wxWindow* parent)
m_sizer_main->Add(m_tip3, 0, wxLEFT|wxRIGHT|wxEXPAND, FromDIP(18)); m_sizer_main->Add(m_tip3, 0, wxLEFT|wxRIGHT|wxEXPAND, FromDIP(18));
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(4)); m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(4));
m_sizer_main->Add(m_img_help1, 0, wxALIGN_CENTER, FromDIP(18)); m_sizer_main->Add(m_img_help1, 0, wxLEFT, FromDIP(18));
m_sizer_main->Add(m_img_help2, 0, wxALIGN_CENTER, FromDIP(18)); m_sizer_main->Add(m_img_help2, 0, wxLEFT, FromDIP(18));
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(12)); m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(12));
m_sizer_main->Add(sizer_button, 1, wxLEFT|wxRIGHT|wxEXPAND, FromDIP(18)); m_sizer_main->Add(sizer_button, 1, wxLEFT|wxRIGHT|wxEXPAND, FromDIP(18));
@ -1092,9 +1092,9 @@ void InputIpAddressDialog::update_error_msg(wxString msg)
else { else {
m_error_msg->Show(); m_error_msg->Show();
m_error_msg->SetLabelText(msg); m_error_msg->SetLabelText(msg);
m_error_msg->SetMinSize(wxSize(FromDIP(390), -1)); m_error_msg->SetMinSize(wxSize(FromDIP(380), -1));
m_error_msg->SetMaxSize(wxSize(FromDIP(390), -1)); m_error_msg->SetMaxSize(wxSize(FromDIP(380), -1));
m_error_msg->Wrap(FromDIP(390)); m_error_msg->Wrap(FromDIP(380));
} }
Layout(); Layout();
@ -1119,6 +1119,23 @@ bool InputIpAddressDialog::isIp(std::string ipstr)
void InputIpAddressDialog::on_ok(wxMouseEvent& evt) void InputIpAddressDialog::on_ok(wxMouseEvent& evt)
{ {
wxString ip = m_input_ip->GetTextCtrl()->GetValue();
wxString str_access_code = m_input_access_code->GetTextCtrl()->GetValue();
//check support function
if (!m_obj) return;
if (!m_obj->is_function_supported(PrinterFunction::FUNC_SEND_TO_SDCARD)) {
wxString input_str = wxString::Format("%s|%s", ip, str_access_code);
auto event = wxCommandEvent(EVT_ENTER_IP_ADDRESS);
event.SetString(input_str);
event.SetEventObject(this);
wxPostEvent(this, event);
auto event_close = wxCommandEvent(EVT_CLOSE_IPADDRESS_DLG);
event_close.SetEventObject(this);
wxPostEvent(this, event_close);
}
m_button_ok->Enable(false); m_button_ok->Enable(false);
m_button_ok->SetBackgroundColor(wxColour(0x90, 0x90, 0x90)); m_button_ok->SetBackgroundColor(wxColour(0x90, 0x90, 0x90));
m_button_ok->SetBorderColor(wxColour(0x90, 0x90, 0x90)); m_button_ok->SetBorderColor(wxColour(0x90, 0x90, 0x90));
@ -1142,10 +1159,6 @@ void InputIpAddressDialog::on_ok(wxMouseEvent& evt)
m_send_job = std::make_shared<SendJob>(m_status_bar, wxGetApp().plater(), m_obj->dev_id); m_send_job = std::make_shared<SendJob>(m_status_bar, wxGetApp().plater(), m_obj->dev_id);
wxString ip = m_input_ip->GetTextCtrl()->GetValue();
wxString str_access_code = m_input_access_code->GetTextCtrl()->GetValue();
m_send_job->m_dev_ip = ip.ToStdString(); m_send_job->m_dev_ip = ip.ToStdString();
m_send_job->m_access_code = str_access_code.ToStdString(); m_send_job->m_access_code = str_access_code.ToStdString();
m_send_job->m_local_use_ssl = m_obj->local_use_ssl; m_send_job->m_local_use_ssl = m_obj->local_use_ssl;
@ -1182,7 +1195,7 @@ void InputIpAddressDialog::check_ip_address_failed()
void InputIpAddressDialog::on_check_ip_address_failed(wxCommandEvent& evt) void InputIpAddressDialog::on_check_ip_address_failed(wxCommandEvent& evt)
{ {
update_error_msg("Error: IP or Access Code are not correct"); update_error_msg(_L("Error: IP or Access Code are not correct"));
m_button_ok->Enable(true); m_button_ok->Enable(true);
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered), StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
std::pair<wxColour, int>(AMS_CONTROL_BRAND_COLOUR, StateColor::Normal)); std::pair<wxColour, int>(AMS_CONTROL_BRAND_COLOUR, StateColor::Normal));

View file

@ -868,14 +868,16 @@ void SendToPrinterDialog::on_selection_changed(wxCommandEvent &event)
} }
//check ip address //check ip address
if (obj->dev_ip.empty() || obj->get_access_code().empty()) { if (obj->is_function_supported(PrinterFunction::FUNC_SEND_TO_SDCARD)) {
BOOST_LOG_TRIVIAL(info) << "MachineObject IP is empty "; if (obj->dev_ip.empty() || obj->get_access_code().empty()) {
std::string app_config_dev_ip = Slic3r::GUI::wxGetApp().app_config->get("ip_address", obj->dev_id); BOOST_LOG_TRIVIAL(info) << "MachineObject IP is empty ";
if (app_config_dev_ip.empty() || obj->get_access_code().empty()) { std::string app_config_dev_ip = Slic3r::GUI::wxGetApp().app_config->get("ip_address", obj->dev_id);
wxGetApp().show_ip_address_enter_dialog(); if (app_config_dev_ip.empty() || obj->get_access_code().empty()) {
wxGetApp().show_ip_address_enter_dialog();
}
} }
} }
update_show_status(); update_show_status();
} }