ENH: add param printer_is_enclosed

1.Use printer_is_enclosed to decide whether display a pop up when bed
temp is higher than softening temp

jira: STUDIO-4532

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8602db8815093acded0439336f9a8fee52670261
This commit is contained in:
xun.zhang 2023-10-09 16:57:50 +08:00 committed by Lane.Wei
parent 0bf2fa181a
commit 562f87f550
9 changed files with 54 additions and 37 deletions

View file

@ -483,6 +483,11 @@ std::string MachineObject::get_printer_ams_type() const
return DeviceManager::get_printer_ams_type(printer_type);
}
bool MachineObject::get_printer_is_enclosed() const
{
return DeviceManager::get_printer_is_enclosed(printer_type);
}
void MachineObject::reload_printer_settings()
{
print_json.load_compatible_settings("", "");
@ -5373,63 +5378,47 @@ void DeviceManager::load_last_machine()
json DeviceManager::filaments_blacklist = json::object();
std::string DeviceManager::get_string_from_config(std::string type_str, std::string item)
{
std::string config_file = Slic3r::resources_dir() + "/printers/" + type_str + ".json";
boost::nowide::ifstream json_file(config_file.c_str());
try {
json jj;
if (json_file.is_open()) {
json_file >> jj;
if (jj.contains("00.00.00.00")) {
json const& printer = jj["00.00.00.00"];
if (printer.contains(item)) {
return printer[item].get<std::string>();
}
}
}
}
catch (...) {}
return "";
}
std::string DeviceManager::parse_printer_type(std::string type_str)
{
return get_string_from_config(type_str, "printer_type");
return get_value_from_config<std::string>(type_str, "printer_type");
}
std::string DeviceManager::get_printer_display_name(std::string type_str)
{
return get_string_from_config(type_str, "display_name");
return get_value_from_config<std::string>(type_str, "display_name");
}
std::string DeviceManager::get_ftp_folder(std::string type_str)
{
return get_string_from_config(type_str, "ftp_folder");
return get_value_from_config<std::string>(type_str, "ftp_folder");
}
PrinterArch DeviceManager::get_printer_arch(std::string type_str)
{
return get_printer_arch_by_str(get_string_from_config(type_str, "printer_arch"));
return get_printer_arch_by_str(get_value_from_config<std::string>(type_str, "printer_arch"));
}
std::string DeviceManager::get_printer_thumbnail_img(std::string type_str)
{
return get_string_from_config(type_str, "printer_thumbnail_image");
return get_value_from_config<std::string>(type_str, "printer_thumbnail_image");
}
std::string DeviceManager::get_printer_ams_type(std::string type_str)
{
return get_string_from_config(type_str, "use_ams_type");
return get_value_from_config<std::string>(type_str, "use_ams_type");
}
std::string DeviceManager::get_printer_series(std::string type_str)
{
return get_string_from_config(type_str, "printer_series");
return get_value_from_config<std::string>(type_str, "printer_series");
}
std::string DeviceManager::get_printer_diagram_img(std::string type_str)
{
return get_string_from_config(type_str, "printer_connect_help_image");
return get_value_from_config<std::string>(type_str, "printer_connect_help_image");
}
std::string DeviceManager::get_printer_ams_img(std::string type_str)
{
return get_string_from_config(type_str, "printer_use_ams_image");
return get_value_from_config<std::string>(type_str, "printer_use_ams_image");
}
bool DeviceManager::get_printer_is_enclosed(std::string type_str) {
return get_value_from_config<bool>(type_str, "printer_is_enclosed");
}
std::vector<std::string> DeviceManager::get_resolution_supported(std::string type_str)
{
std::vector<std::string> resolution_supported;