FIX: Third-party filament show Incompatible in cali

jira: STUDIO-11306
Change-Id: Id63f935a478cef92d720cd602ff19dbe87ca1c8e
This commit is contained in:
zhimin.zeng 2025-04-07 21:27:25 +08:00 committed by lane.wei
parent 937f687169
commit 7ef9a21123
1 changed files with 10 additions and 0 deletions

View File

@ -1661,6 +1661,16 @@ void GUI::CalibrateFilamentComboBox::load_tray(DynamicPrintConfig &config)
bool is_compatible = m_preset_bundle->calibrate_filaments.find(&f) != m_preset_bundle->calibrate_filaments.end();
return is_compatible && f.filament_id == m_filament_id;
});
// Prioritize matching system presets. If there are no system presets, match all presets.
if (iter == filaments.end()) {
iter = std::find_if(filaments.begin(), filaments.end(), [this](auto &f) {
if (f.is_system) // Only match system preset
return false;
bool is_compatible = m_preset_bundle->calibrate_filaments.find(&f) != m_preset_bundle->calibrate_filaments.end();
return is_compatible && f.filament_id == m_filament_id;
});
}
//if (iter == filaments.end() && !m_filament_type.empty()) {
// auto filament_type = "Generic " + m_filament_type;
// iter = std::find_if(filaments.begin(), filaments.end(),