Resync the device send flow

This commit is contained in:
SoftFever
2026-07-17 10:20:24 +08:00
parent 2ee0bbde54
commit d097fbec9a
2 changed files with 17 additions and 6 deletions

View File

@@ -4426,7 +4426,13 @@ void SelectMachineDialog::update_show_status(MachineObject* obj_)
show_status(PrintDialogStatus::PrintStatusNoSdcard);
return;
}
if (wxGetApp().preset_bundle->filament_presets.size() > 16 && m_print_type != PrintFromType::FROM_SDCARD_VIEW) {
// Orca: gate against the printer's real max filament-color count instead of a hardcoded 16, so
// high-color firmware (is_support_filament_32_colors -> 32) isn't wrongly blocked. Floor at 16 so
// printers that report 0 (e.g. series X/O) keep their prior limit; every other class is unchanged.
// The max shown in the message is owned by PrePrintChecker (out of this cluster's scope).
int max_color = obj_->get_max_filament_color_count();
if (max_color < 16) max_color = 16;
if (wxGetApp().preset_bundle->filament_presets.size() > (size_t)max_color && m_print_type != PrintFromType::FROM_SDCARD_VIEW) {
if (!obj_->is_enable_ams_np && !obj_->is_enable_np)
{
show_status(PrintDialogStatus::PrintStatusColorQuantityExceed);
@@ -4449,7 +4455,12 @@ void SelectMachineDialog::update_show_status(MachineObject* obj_)
}
}
if (!can_support_pa_auto_cali() && m_checkbox_list["flow_cali"]->IsShown() && m_checkbox_list["flow_cali"]->getValue() == "on") {
// Orca: also gate the "auto" flow-cali case (REF parity — closes a pre-existing gap where TPU/Aero
// with Flow Dynamics Calibration set to Auto was not blocked on printers that don't support PA
// auto-cali). Both auto and on map to the one available status enum; REF's distinct "CaliOn"
// message lives in PrePrintChecker (out of this cluster's scope).
if (!can_support_pa_auto_cali() && m_checkbox_list["flow_cali"]->IsShown()
&& (m_checkbox_list["flow_cali"]->getValue() == "on" || m_checkbox_list["flow_cali"]->getValue() == "auto")) {
show_status(PrintDialogStatus::PrintStatusTPUUnsupportAutoCali);
return;
}
@@ -5907,7 +5918,7 @@ void SelectMachineDialog::UpdateStatusCheckWarning_ExtensionTool(MachineObject*
{
show_status(PrintDialogStatus::PrintStatusToolHeadCoolingFanWarning,
{ _L("Install toolhead enhanced cooling fan to prevent filament softening.")},
"https://e.bambulab.com/t?c=l3T7caKGeNt3omA9");
"https://www.orcaslicer.com/wiki/"); // Orca: neutral wiki link (vendor URL removed)
return;
}
}
@@ -6653,7 +6664,7 @@ void PrinterInfoBox::Create()
void PrinterInfoBox::OnBtnQuestionClicked(wxCommandEvent& event)
{
wxLaunchDefaultBrowser(wxT("https://wiki.bambulab.com/en/software/bambu-studio/failed-to-connect-printer"));
wxLaunchDefaultBrowser(wxT("https://www.orcaslicer.com/wiki/")); // Orca: neutral wiki link (vendor URL removed)
}

View File

@@ -598,7 +598,7 @@ void SelectMachinePopup::update_other_devices()
wxBoxSizer* placeholder_sizer = new wxBoxSizer(wxVERTICAL);
// ORCA standardized HyperLink
m_hyperlink = new HyperLink(m_placeholder_panel, _L("Can\'t find devices\?"), wxT("https://wiki.bambulab.com/en/software/bambu-studio/failed-to-connect-printer"));
m_hyperlink = new HyperLink(m_placeholder_panel, _L("Can\'t find devices\?"), wxT("https://www.orcaslicer.com/wiki/")); // Orca: neutral wiki link (vendor URL removed)
m_hyperlink->SetFont(::Label::Body_12);
placeholder_sizer->Add(m_hyperlink, 0, wxALIGN_CENTER | wxALL, 5);
@@ -866,7 +866,7 @@ void SelectMachinePopup::OnLeftUp(wxMouseEvent &event)
//hyper link
auto h_rect = m_hyperlink->ClientToScreen(wxPoint(0, 0));
if (mouse_pos.x > h_rect.x && mouse_pos.y > h_rect.y && mouse_pos.x < (h_rect.x + m_hyperlink->GetSize().x) && mouse_pos.y < (h_rect.y + m_hyperlink->GetSize().y)) {
wxLaunchDefaultBrowser(wxT("https://wiki.bambulab.com/en/software/bambu-studio/failed-to-connect-printer"));
wxLaunchDefaultBrowser(wxT("https://www.orcaslicer.com/wiki/")); // Orca: neutral wiki link (vendor URL removed)
}
}
}