FIX: fix a crash, set APP_MODAL for dialog
Change-Id: I80d216df134febdcefd2fd5f3859bdb62c1b81bd Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
parent
7e4cec3c1a
commit
8d8dcc36c5
|
@ -300,7 +300,7 @@ void MachineObject::set_access_code(std::string code)
|
|||
bool MachineObject::is_lan_mode_printer()
|
||||
{
|
||||
bool result = false;
|
||||
if (connection_type() == "lan")
|
||||
if (!dev_connection_type.empty() && dev_connection_type == "lan")
|
||||
return true;
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -660,32 +660,30 @@ void MachineInfoPanel::upgrade_firmware_internal() {
|
|||
|
||||
void MachineInfoPanel::on_upgrade_firmware(wxCommandEvent &event)
|
||||
{
|
||||
ConfirmHintDialog* confirm_dlg = new ConfirmHintDialog(this->GetParent(), wxID_ANY, _L("Upgrade firmware"));
|
||||
confirm_dlg->SetHint(_L(
|
||||
ConfirmHintDialog confirm_dlg(this->GetParent(), wxID_ANY, _L("Upgrade firmware"));
|
||||
confirm_dlg.SetHint(_L(
|
||||
"Are you sure you want to update? This will take about 10 minutes. Do not turn off the power while the printer is updating."
|
||||
));
|
||||
confirm_dlg->Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent &e) {
|
||||
confirm_dlg.Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent &e) {
|
||||
if (m_obj){
|
||||
m_obj->command_upgrade_confirm();
|
||||
}
|
||||
});
|
||||
if(confirm_dlg->ShowModal())
|
||||
delete confirm_dlg;
|
||||
confirm_dlg.ShowModal();
|
||||
}
|
||||
|
||||
void MachineInfoPanel::on_consisitency_upgrade_firmware(wxCommandEvent &event)
|
||||
{
|
||||
ConfirmHintDialog* confirm_dlg = new ConfirmHintDialog(this->GetParent(), wxID_ANY, _L("Upgrade firmware"));
|
||||
confirm_dlg->SetHint(_L(
|
||||
ConfirmHintDialog confirm_dlg(this->GetParent(), wxID_ANY, _L("Upgrade firmware"));
|
||||
confirm_dlg.SetHint(_L(
|
||||
"Are you sure you want to update? This will take about 10 minutes. Do not turn off the power while the printer is updating."
|
||||
));
|
||||
confirm_dlg->Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent &e) {
|
||||
confirm_dlg.Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent &e) {
|
||||
if (m_obj){
|
||||
m_obj->command_consistency_upgrade_confirm();
|
||||
}
|
||||
});
|
||||
if(confirm_dlg->ShowModal())
|
||||
delete confirm_dlg;
|
||||
confirm_dlg.ShowModal();
|
||||
}
|
||||
|
||||
void MachineInfoPanel::on_show_release_note(wxMouseEvent &event)
|
||||
|
@ -800,13 +798,16 @@ void UpgradePanel::update(MachineObject *obj)
|
|||
if (m_obj && m_show_forced_hint) {
|
||||
if (m_obj->upgrade_force_upgrade) {
|
||||
m_show_forced_hint = false; //lock hint
|
||||
ConfirmHintDialog* force_dlg = new ConfirmHintDialog(m_scrolledWindow, wxID_ANY, _L("Upgrade firmware"));
|
||||
force_dlg->SetHint(_L(
|
||||
ConfirmHintDialog force_dlg(m_scrolledWindow, wxID_ANY, _L("Upgrade firmware"), ConfirmHintDialog::CONFIRM_AND_CANCEL, wxDefaultPosition, wxDefaultSize, wxPD_APP_MODAL);
|
||||
force_dlg.SetHint(_L(
|
||||
"An important update was detected and needs to be run before printing can continue. Do you want to update now? You can also update later from 'Upgrade firmware'."
|
||||
));
|
||||
force_dlg->Bind(EVT_CONFIRM_HINT, &MachineInfoPanel::on_upgrade_firmware, m_push_upgrade_panel);
|
||||
if (force_dlg->ShowModal())
|
||||
delete force_dlg;
|
||||
force_dlg.Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent& e) {
|
||||
if (m_obj) {
|
||||
m_obj->command_upgrade_confirm();
|
||||
}
|
||||
});
|
||||
force_dlg.ShowModal();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -818,13 +819,16 @@ void UpgradePanel::update(MachineObject *obj)
|
|||
if (m_obj && m_show_consistency_hint) {
|
||||
if (m_obj->upgrade_consistency_request) {
|
||||
m_show_consistency_hint = false;
|
||||
ConfirmHintDialog* consistency_dlg = new ConfirmHintDialog(m_scrolledWindow, wxID_ANY, _L("Upgrade firmware"));
|
||||
consistency_dlg->SetHint(_L(
|
||||
ConfirmHintDialog consistency_dlg(m_scrolledWindow, wxID_ANY, _L("Upgrade firmware"), ConfirmHintDialog::CONFIRM_AND_CANCEL, wxDefaultPosition, wxDefaultSize, wxPD_APP_MODAL);
|
||||
consistency_dlg.SetHint(_L(
|
||||
"The firmware version is abnormal. Repairing and updating are required before printing. Do you want to update now? You can also update later on printer or update next time starting the studio."
|
||||
));
|
||||
consistency_dlg->Bind(EVT_CONFIRM_HINT, &MachineInfoPanel::on_consisitency_upgrade_firmware, m_push_upgrade_panel);
|
||||
if (consistency_dlg->ShowModal())
|
||||
delete consistency_dlg;
|
||||
consistency_dlg.Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent& e) {
|
||||
if (m_obj) {
|
||||
m_obj->command_consistency_upgrade_confirm();
|
||||
}
|
||||
});
|
||||
consistency_dlg.ShowModal();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -914,4 +918,4 @@ bool UpgradePanel::Show(bool show)
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue