mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-07 15:51:08 +00:00
Show Left/Right Extruder or Extruder N on the extruder switch
This commit is contained in:
@@ -882,15 +882,9 @@ void PublishSettingsDialog::build_option_model()
|
||||
for (const PageShp& page : tab->m_pages) {
|
||||
if (page->title() != "Extruder")
|
||||
continue;
|
||||
// Name each extruder as the printer tab's variant switch does ("Left Extruder: SF",
|
||||
// "T1: SF", ...), taking its first (standard) option for a hybrid extruder: values come
|
||||
// from the full config, which holds one value per extruder.
|
||||
const std::vector<wxString> switch_options = printer_tab ? printer_tab->generate_extruder_options() : std::vector<wxString>();
|
||||
// One tab per extruder, named as on the printer tab's switch.
|
||||
for (size_t extruder_idx = 0; extruder_idx < extruders_count; ++extruder_idx) {
|
||||
const int option = printer_tab ? printer_tab->calculate_selection_index_for_extruder(int(extruder_idx), NozzleVolumeType::nvtStandard) : -1;
|
||||
const wxString page_title = extruders_count > 1 && option >= 0 && option < int(switch_options.size()) ?
|
||||
switch_options[option] :
|
||||
Tab::translate_category(extruders_count > 1 ? wxString::Format("Extruder %d", int(extruder_idx + 1)) : wxString("Extruder"), tab->m_type);
|
||||
const wxString page_title = Tab::translate_category(extruders_count > 1 ? wxString::Format("Extruder %d", int(extruder_idx + 1)) : wxString("Extruder"), tab->m_type);
|
||||
for (const ConfigOptionsGroupShp& optgroup : page->m_optgroups) {
|
||||
// Allowlist on the untranslated optgroup title; the "Retraction when
|
||||
// switching material" group is intentionally skipped.
|
||||
|
||||
@@ -8418,6 +8418,13 @@ std::vector<wxString> Tab::generate_extruder_options()
|
||||
// Orca: Left/Right only names a Bambu dual-nozzle printer; other printers number their tools.
|
||||
const bool toolhead_names = extruder_nums == 2 && m_preset_bundle->is_bbl_vendor();
|
||||
for (int i = 0; i < extruder_nums; ++i) {
|
||||
// Orca: the printer tab has one tag per extruder, named as its former "Extruder N" pages were.
|
||||
// parse_extruder_selection() counts a hybrid extruder as two tags; that still lines up because
|
||||
// only the last extruder can be hybrid.
|
||||
if (m_type == Preset::TYPE_PRINTER) {
|
||||
options.push_back(translate_category(wxString::Format("Extruder %d", i + 1), m_type));
|
||||
continue;
|
||||
}
|
||||
wxString extruder_name = !toolhead_names ? wxString::Format("T%d", i + 1) :
|
||||
_L(DevPrinterConfigUtil::get_toolhead_display_name(
|
||||
pt, (i == 0) ? DEPUTY_EXTRUDER_ID : MAIN_EXTRUDER_ID,
|
||||
|
||||
Reference in New Issue
Block a user