From 0ee0b546df7f2f002543d580c9860b14611f1af4 Mon Sep 17 00:00:00 2001 From: YuSanka <yusanka@gmail.com> Date: Mon, 3 Jun 2019 14:52:15 +0200 Subject: [PATCH] Fixed a bug with a "gear" button near the filament preset (part of #2440) --- src/slic3r/GUI/GUI_App.cpp | 9 +++++++++ src/slic3r/GUI/GUI_App.hpp | 1 + src/slic3r/GUI/Plater.cpp | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index b75b946e6..3aada45f3 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -939,6 +939,7 @@ wxNotebook* GUI_App::tab_panel() const return mainframe->m_tabpanel; } +// extruders count from selected printer preset int GUI_App::extruders_cnt() const { const Preset& preset = preset_bundle->printers.get_selected_preset(); @@ -946,6 +947,14 @@ int GUI_App::extruders_cnt() const preset.config.option<ConfigOptionFloats>("nozzle_diameter")->values.size(); } +// extruders count from edited printer preset +int GUI_App::extruders_edited_cnt() const +{ + const Preset& preset = preset_bundle->printers.get_edited_preset(); + return preset.printer_technology() == ptSLA ? 1 : + preset.config.option<ConfigOptionFloats>("nozzle_diameter")->values.size(); +} + void GUI_App::open_web_page_localized(const std::string &http_address) { wxLaunchDefaultBrowser(http_address + "&lng=" + this->current_language_code()); diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index b70f0dc16..3f8b23e2d 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -166,6 +166,7 @@ public: wxNotebook* tab_panel() const ; int extruders_cnt() const; + int extruders_edited_cnt() const; std::vector<Tab *> tabs_list; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 64c698a9b..44f77b3f7 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -321,7 +321,7 @@ wxBitmapComboBox(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(15 * /* In a case of a multi-material printing, for editing another Filament Preset * it's needed to select this preset for the "Filament settings" Tab */ - if (preset_type == Preset::TYPE_FILAMENT && wxGetApp().extruders_cnt() > 1) + if (preset_type == Preset::TYPE_FILAMENT && wxGetApp().extruders_edited_cnt() > 1) { const std::string& selected_preset = GetString(GetSelection()).ToUTF8().data();