mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 12:41:20 -06:00 
			
		
		
		
	Merge remote-tracking branch 'remotes/origin/lm_wxmemleaks'
This commit is contained in:
		
						commit
						a83da0f72c
					
				
					 4 changed files with 79 additions and 102 deletions
				
			
		|  | @ -206,8 +206,8 @@ void Field::get_value_by_opt_type(wxString& str) | |||
|                 const wxString msg_text = wxString::Format(_(L("Do you mean %s%% instead of %s %s?\n" | ||||
|                     "Select YES if you want to change this value to %s%%, \n" | ||||
|                     "or NO if you are sure that %s %s is a correct value.")), stVal, stVal, sidetext, stVal, stVal, sidetext); | ||||
|                 auto dialog = new wxMessageDialog(m_parent, msg_text, _(L("Parameter validation")), wxICON_WARNING | wxYES | wxNO); | ||||
|                 if (dialog->ShowModal() == wxID_YES) { | ||||
|                 wxMessageDialog dialog(m_parent, msg_text, _(L("Parameter validation")), wxICON_WARNING | wxYES | wxNO); | ||||
|                 if (dialog.ShowModal() == wxID_YES) { | ||||
|                     set_value(wxString::Format("%s%%", stVal), false/*true*/); | ||||
|                     str += "%%"; | ||||
|                 } | ||||
|  |  | |||
|  | @ -729,29 +729,26 @@ void MainFrame::quick_slice(const int qs) | |||
| 
 | ||||
|     // select input file
 | ||||
|     if (!(qs & qsReslice)) { | ||||
|         auto dlg = new wxFileDialog(this, _(L("Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):")), | ||||
|         wxFileDialog dlg(this, _(L("Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):")), | ||||
|             wxGetApp().app_config->get_last_dir(), "", | ||||
|             file_wildcards(FT_MODEL), wxFD_OPEN | wxFD_FILE_MUST_EXIST); | ||||
|         if (dlg->ShowModal() != wxID_OK) { | ||||
|             dlg->Destroy(); | ||||
|         if (dlg.ShowModal() != wxID_OK) | ||||
|             return; | ||||
|         } | ||||
|         input_file = dlg->GetPath(); | ||||
|         dlg->Destroy(); | ||||
|         input_file = dlg.GetPath(); | ||||
|         if (!(qs & qsExportSVG)) | ||||
|             m_qs_last_input_file = input_file; | ||||
|     } | ||||
|     else { | ||||
|         if (m_qs_last_input_file.IsEmpty()) { | ||||
|             auto dlg = new wxMessageDialog(this, _(L("No previously sliced file.")), | ||||
|             wxMessageDialog dlg(this, _(L("No previously sliced file.")), | ||||
|                 _(L("Error")), wxICON_ERROR | wxOK); | ||||
|             dlg->ShowModal(); | ||||
|             dlg.ShowModal(); | ||||
|             return; | ||||
|         } | ||||
|         if (std::ifstream(m_qs_last_input_file.ToUTF8().data())) { | ||||
|             auto dlg = new wxMessageDialog(this, _(L("Previously sliced file ("))+m_qs_last_input_file+_(L(") not found.")), | ||||
|             wxMessageDialog dlg(this, _(L("Previously sliced file ("))+m_qs_last_input_file+_(L(") not found.")), | ||||
|                 _(L("File Not Found")), wxICON_ERROR | wxOK); | ||||
|             dlg->ShowModal(); | ||||
|             dlg.ShowModal(); | ||||
|             return; | ||||
|         } | ||||
|         input_file = m_qs_last_input_file; | ||||
|  | @ -785,30 +782,24 @@ void MainFrame::quick_slice(const int qs) | |||
|     }  | ||||
|     else if (qs & qsSaveAs) { | ||||
|         // The following line may die if the output_filename_format template substitution fails.
 | ||||
|         auto dlg = new wxFileDialog(this, wxString::Format(_(L("Save %s file as:")) , qs & qsExportSVG ? _(L("SVG")) : _(L("G-code")) ), | ||||
|         wxFileDialog dlg(this, wxString::Format(_(L("Save %s file as:")) , qs & qsExportSVG ? _(L("SVG")) : _(L("G-code")) ), | ||||
|             wxGetApp().app_config->get_last_output_dir(get_dir_name(output_file)), get_base_name(input_file),  | ||||
|             qs & qsExportSVG ? file_wildcards(FT_SVG) : file_wildcards(FT_GCODE), | ||||
|             wxFD_SAVE | wxFD_OVERWRITE_PROMPT); | ||||
|         if (dlg->ShowModal() != wxID_OK) { | ||||
|             dlg->Destroy(); | ||||
|         if (dlg.ShowModal() != wxID_OK) | ||||
|             return; | ||||
|         } | ||||
|         output_file = dlg->GetPath(); | ||||
|         dlg->Destroy(); | ||||
|         output_file = dlg.GetPath(); | ||||
|         if (!(qs & qsExportSVG)) | ||||
|             m_qs_last_output_file = output_file; | ||||
|         wxGetApp().app_config->update_last_output_dir(get_dir_name(output_file)); | ||||
|     }  | ||||
|     else if (qs & qsExportPNG) { | ||||
|         auto dlg = new wxFileDialog(this, _(L("Save zip file as:")), | ||||
|         wxFileDialog dlg(this, _(L("Save zip file as:")), | ||||
|             wxGetApp().app_config->get_last_output_dir(get_dir_name(output_file)), | ||||
|             get_base_name(output_file), "*.sl1", wxFD_SAVE | wxFD_OVERWRITE_PROMPT); | ||||
|         if (dlg->ShowModal() != wxID_OK) { | ||||
|             dlg->Destroy(); | ||||
|         if (dlg.ShowModal() != wxID_OK) | ||||
|             return; | ||||
|         } | ||||
|         output_file = dlg->GetPath(); | ||||
|         dlg->Destroy(); | ||||
|         output_file = dlg.GetPath(); | ||||
|     } | ||||
| 
 | ||||
|     // show processbar dialog
 | ||||
|  | @ -854,28 +845,22 @@ void MainFrame::repair_stl() | |||
| { | ||||
|     wxString input_file; | ||||
|     { | ||||
|         auto dlg = new wxFileDialog(this, _(L("Select the STL file to repair:")), | ||||
|         wxFileDialog dlg(this, _(L("Select the STL file to repair:")), | ||||
|             wxGetApp().app_config->get_last_dir(), "", | ||||
|             file_wildcards(FT_STL), wxFD_OPEN | wxFD_FILE_MUST_EXIST); | ||||
|         if (dlg->ShowModal() != wxID_OK) { | ||||
|             dlg->Destroy(); | ||||
|         if (dlg.ShowModal() != wxID_OK) | ||||
|             return; | ||||
|         } | ||||
|         input_file = dlg->GetPath(); | ||||
|         dlg->Destroy(); | ||||
|         input_file = dlg.GetPath(); | ||||
|     } | ||||
| 
 | ||||
|     wxString output_file = input_file; | ||||
|     { | ||||
|         auto dlg = new wxFileDialog( this, L("Save OBJ file (less prone to coordinate errors than STL) as:"),  | ||||
|         wxFileDialog dlg( this, L("Save OBJ file (less prone to coordinate errors than STL) as:"), | ||||
|                                         get_dir_name(output_file), get_base_name(output_file, ".obj"), | ||||
|                                         file_wildcards(FT_OBJ), wxFD_SAVE | wxFD_OVERWRITE_PROMPT); | ||||
|         if (dlg->ShowModal() != wxID_OK) { | ||||
|             dlg->Destroy(); | ||||
|         if (dlg.ShowModal() != wxID_OK) | ||||
|             return; | ||||
|         } | ||||
|         output_file = dlg->GetPath(); | ||||
|         dlg->Destroy(); | ||||
|         output_file = dlg.GetPath(); | ||||
|     } | ||||
| 
 | ||||
|     auto tmesh = new Slic3r::TriangleMesh(); | ||||
|  | @ -896,14 +881,13 @@ void MainFrame::export_config() | |||
|         return; | ||||
|     } | ||||
|     // Ask user for the file name for the config file.
 | ||||
|     auto dlg = new wxFileDialog(this, _(L("Save configuration as:")), | ||||
|     wxFileDialog dlg(this, _(L("Save configuration as:")), | ||||
|         !m_last_config.IsEmpty() ? get_dir_name(m_last_config) : wxGetApp().app_config->get_last_dir(), | ||||
|         !m_last_config.IsEmpty() ? get_base_name(m_last_config) : "config.ini", | ||||
|         file_wildcards(FT_INI), wxFD_SAVE | wxFD_OVERWRITE_PROMPT); | ||||
|     wxString file; | ||||
|     if (dlg->ShowModal() == wxID_OK) | ||||
|         file = dlg->GetPath(); | ||||
|     dlg->Destroy(); | ||||
|     if (dlg.ShowModal() == wxID_OK) | ||||
|         file = dlg.GetPath(); | ||||
|     if (!file.IsEmpty()) { | ||||
|         wxGetApp().app_config->update_config_dir(get_dir_name(file)); | ||||
|         m_last_config = file; | ||||
|  | @ -916,13 +900,12 @@ void MainFrame::load_config_file() | |||
| { | ||||
|     if (!wxGetApp().check_unsaved_changes()) | ||||
|         return; | ||||
|     auto dlg = new wxFileDialog(this, _(L("Select configuration to load:")), | ||||
|     wxFileDialog dlg(this, _(L("Select configuration to load:")), | ||||
|         !m_last_config.IsEmpty() ? get_dir_name(m_last_config) : wxGetApp().app_config->get_last_dir(), | ||||
|         "config.ini", "INI files (*.ini, *.gcode)|*.ini;*.INI;*.gcode;*.g", wxFD_OPEN | wxFD_FILE_MUST_EXIST); | ||||
| 	wxString file; | ||||
| 	if (dlg->ShowModal() == wxID_OK)  | ||||
| 		file = dlg->GetPath(); | ||||
|     dlg->Destroy(); | ||||
|     if (dlg.ShowModal() == wxID_OK) | ||||
|         file = dlg.GetPath(); | ||||
| 	if (! file.IsEmpty() && this->load_config_file(file.ToUTF8().data())) { | ||||
|         wxGetApp().app_config->update_config_dir(get_dir_name(file)); | ||||
|         m_last_config = file; | ||||
|  | @ -953,14 +936,13 @@ void MainFrame::export_configbundle() | |||
|         return; | ||||
|     } | ||||
|     // Ask user for a file name.
 | ||||
|     auto dlg = new wxFileDialog(this, _(L("Save presets bundle as:")), | ||||
|     wxFileDialog dlg(this, _(L("Save presets bundle as:")), | ||||
|         !m_last_config.IsEmpty() ? get_dir_name(m_last_config) : wxGetApp().app_config->get_last_dir(), | ||||
|         SLIC3R_APP_KEY "_config_bundle.ini", | ||||
|         file_wildcards(FT_INI), wxFD_SAVE | wxFD_OVERWRITE_PROMPT); | ||||
|     wxString file; | ||||
|     if (dlg->ShowModal() == wxID_OK) | ||||
|         file = dlg->GetPath(); | ||||
|     dlg->Destroy(); | ||||
|     if (dlg.ShowModal() == wxID_OK) | ||||
|         file = dlg.GetPath(); | ||||
|     if (!file.IsEmpty()) { | ||||
|         // Export the config bundle.
 | ||||
|         wxGetApp().app_config->update_config_dir(get_dir_name(file)); | ||||
|  | @ -980,15 +962,12 @@ void MainFrame::load_configbundle(wxString file/* = wxEmptyString, const bool re | |||
|     if (!wxGetApp().check_unsaved_changes()) | ||||
|         return; | ||||
|     if (file.IsEmpty()) { | ||||
|         auto dlg = new wxFileDialog(this, _(L("Select configuration to load:")), | ||||
|         wxFileDialog dlg(this, _(L("Select configuration to load:")), | ||||
|             !m_last_config.IsEmpty() ? get_dir_name(m_last_config) : wxGetApp().app_config->get_last_dir(), | ||||
|             "config.ini", file_wildcards(FT_INI), wxFD_OPEN | wxFD_FILE_MUST_EXIST); | ||||
| 		if (dlg->ShowModal() != wxID_OK) { | ||||
| 			dlg->Destroy(); | ||||
| 			return; | ||||
| 		} | ||||
|         file = dlg->GetPath(); | ||||
| 		dlg->Destroy(); | ||||
|         if (dlg.ShowModal() != wxID_OK) | ||||
|             return; | ||||
|         file = dlg.GetPath(); | ||||
| 	} | ||||
| 
 | ||||
|     wxGetApp().app_config->update_config_dir(get_dir_name(file)); | ||||
|  |  | |||
|  | @ -296,11 +296,11 @@ wxBitmapComboBox(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(15 * | |||
|             data->SetChooseFull(1); | ||||
|             data->SetColour(clr); | ||||
| 
 | ||||
|             auto dialog = new wxColourDialog(this, data); | ||||
|             dialog->CenterOnParent(); | ||||
|             if (dialog->ShowModal() == wxID_OK) | ||||
|             wxColourDialog dialog(this, data); | ||||
|             dialog.CenterOnParent(); | ||||
|             if (dialog.ShowModal() == wxID_OK) | ||||
|             { | ||||
|                 colors->values[extruder_idx] = dialog->GetColourData().GetColour().GetAsString(wxC2S_HTML_SYNTAX); | ||||
|                 colors->values[extruder_idx] = dialog.GetColourData().GetColour().GetAsString(wxC2S_HTML_SYNTAX); | ||||
| 
 | ||||
|                 DynamicPrintConfig cfg_new = *cfg; | ||||
|                 cfg_new.set_key_value("extruder_colour", colors); | ||||
|  | @ -309,7 +309,6 @@ wxBitmapComboBox(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(15 * | |||
|                 wxGetApp().preset_bundle->update_platter_filament_ui(extruder_idx, this); | ||||
|                 wxGetApp().plater()->on_config_change(cfg_new); | ||||
|             } | ||||
|             dialog->Destroy(); | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
|  | @ -2511,15 +2510,14 @@ wxString Plater::priv::get_export_file(GUI::FileType file_type) | |||
|         default: break; | ||||
|     } | ||||
| 
 | ||||
|     wxFileDialog* dlg = new wxFileDialog(q, dlg_title, | ||||
|     wxFileDialog dlg(q, dlg_title, | ||||
|         from_path(output_file.parent_path()), from_path(output_file.filename()), | ||||
|         wildcard, wxFD_SAVE | wxFD_OVERWRITE_PROMPT); | ||||
| 
 | ||||
|     if (dlg->ShowModal() != wxID_OK) { | ||||
|     if (dlg.ShowModal() != wxID_OK) | ||||
|         return wxEmptyString; | ||||
|     } | ||||
| 
 | ||||
|     wxString out_path = dlg->GetPath(); | ||||
|     wxString out_path = dlg.GetPath(); | ||||
|     fs::path path(into_path(out_path)); | ||||
|     wxGetApp().app_config->update_last_output_dir(path.parent_path().string()); | ||||
| 
 | ||||
|  |  | |||
|  | @ -159,8 +159,8 @@ void Tab::create_preset_tab() | |||
|     m_undo_to_sys_btn->Bind(wxEVT_BUTTON, ([this](wxCommandEvent) { on_roll_back_value(true); })); | ||||
|     m_question_btn->Bind(wxEVT_BUTTON, ([this](wxCommandEvent) | ||||
|     { | ||||
|         auto dlg = new ButtonsDescription(this, m_icon_descriptions); | ||||
|         if (dlg->ShowModal() == wxID_OK) { | ||||
|         ButtonsDescription dlg(this, m_icon_descriptions); | ||||
|         if (dlg.ShowModal() == wxID_OK) { | ||||
|             // Colors for ui "decoration"
 | ||||
|             for (Tab *tab : wxGetApp().tabs_list) { | ||||
|                 tab->m_sys_label_clr = wxGetApp().get_label_clr_sys(); | ||||
|  | @ -1266,10 +1266,10 @@ void TabPrint::update() | |||
|     if (m_config->opt_float("layer_height") < EPSILON) | ||||
|     { | ||||
|         const wxString msg_text = _(L("Zero layer height is not valid.\n\nThe layer height will be reset to 0.01.")); | ||||
|         auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Layer height")), wxICON_WARNING | wxOK); | ||||
|         wxMessageDialog dialog(parent(), msg_text, _(L("Layer height")), wxICON_WARNING | wxOK); | ||||
|         DynamicPrintConfig new_conf = *m_config; | ||||
|         is_msg_dlg_already_exist = true; | ||||
|         dialog->ShowModal(); | ||||
|         dialog.ShowModal(); | ||||
|         new_conf.set_key_value("layer_height", new ConfigOptionFloat(0.01)); | ||||
|         load_config(new_conf); | ||||
|         is_msg_dlg_already_exist = false; | ||||
|  | @ -1278,10 +1278,10 @@ void TabPrint::update() | |||
|     if (fabs(m_config->option<ConfigOptionFloatOrPercent>("first_layer_height")->value - 0) < EPSILON) | ||||
|     { | ||||
|         const wxString msg_text = _(L("Zero first layer height is not valid.\n\nThe first layer height will be reset to 0.01.")); | ||||
|         auto dialog = new wxMessageDialog(parent(), msg_text, _(L("First layer height")), wxICON_WARNING | wxOK); | ||||
|         wxMessageDialog dialog(parent(), msg_text, _(L("First layer height")), wxICON_WARNING | wxOK); | ||||
|         DynamicPrintConfig new_conf = *m_config; | ||||
|         is_msg_dlg_already_exist = true; | ||||
|         dialog->ShowModal(); | ||||
|         dialog.ShowModal(); | ||||
|         new_conf.set_key_value("first_layer_height", new ConfigOptionFloatOrPercent(0.01, false)); | ||||
|         load_config(new_conf); | ||||
|         is_msg_dlg_already_exist = false; | ||||
|  | @ -1299,9 +1299,9 @@ void TabPrint::update() | |||
|             "- no support material\n" | ||||
|             "- no ensure_vertical_shell_thickness\n" | ||||
|             "\nShall I adjust those settings in order to enable Spiral Vase?")); | ||||
|         auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Spiral Vase")), wxICON_WARNING | wxYES | wxNO); | ||||
|         wxMessageDialog dialog(parent(), msg_text, _(L("Spiral Vase")), wxICON_WARNING | wxYES | wxNO); | ||||
|         DynamicPrintConfig new_conf = *m_config; | ||||
|         if (dialog->ShowModal() == wxID_YES) { | ||||
|         if (dialog.ShowModal() == wxID_YES) { | ||||
|             new_conf.set_key_value("perimeters", new ConfigOptionInt(1)); | ||||
|             new_conf.set_key_value("top_solid_layers", new ConfigOptionInt(0)); | ||||
|             new_conf.set_key_value("fill_density", new ConfigOptionPercent(0)); | ||||
|  | @ -1324,9 +1324,9 @@ void TabPrint::update() | |||
|             "if they are printed with the current extruder without triggering a tool change.\n" | ||||
|             "(both support_material_extruder and support_material_interface_extruder need to be set to 0).\n" | ||||
|             "\nShall I adjust those settings in order to enable the Wipe Tower?")); | ||||
|         auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Wipe Tower")), wxICON_WARNING | wxYES | wxNO); | ||||
|         wxMessageDialog dialog(parent(), msg_text, _(L("Wipe Tower")), wxICON_WARNING | wxYES | wxNO); | ||||
|         DynamicPrintConfig new_conf = *m_config; | ||||
|         if (dialog->ShowModal() == wxID_YES) { | ||||
|         if (dialog.ShowModal() == wxID_YES) { | ||||
|             new_conf.set_key_value("support_material_extruder", new ConfigOptionInt(0)); | ||||
|             new_conf.set_key_value("support_material_interface_extruder", new ConfigOptionInt(0)); | ||||
|         } | ||||
|  | @ -1341,9 +1341,9 @@ void TabPrint::update() | |||
|         wxString msg_text = _(L("For the Wipe Tower to work with the soluble supports, the support layers\n" | ||||
|             "need to be synchronized with the object layers.\n" | ||||
|             "\nShall I synchronize support layers in order to enable the Wipe Tower?")); | ||||
|         auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Wipe Tower")), wxICON_WARNING | wxYES | wxNO); | ||||
|         wxMessageDialog dialog(parent(), msg_text, _(L("Wipe Tower")), wxICON_WARNING | wxYES | wxNO); | ||||
|         DynamicPrintConfig new_conf = *m_config; | ||||
|         if (dialog->ShowModal() == wxID_YES) { | ||||
|         if (dialog.ShowModal() == wxID_YES) { | ||||
|             new_conf.set_key_value("support_material_synchronize_layers", new ConfigOptionBool(true)); | ||||
|         } | ||||
|         else | ||||
|  | @ -1359,9 +1359,9 @@ void TabPrint::update() | |||
|                 wxString msg_text = _(L("Supports work better, if the following feature is enabled:\n" | ||||
|                     "- Detect bridging perimeters\n" | ||||
|                     "\nShall I adjust those settings for supports?")); | ||||
|                 auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Support Generator")), wxICON_WARNING | wxYES | wxNO | wxCANCEL); | ||||
|                 wxMessageDialog dialog(parent(), msg_text, _(L("Support Generator")), wxICON_WARNING | wxYES | wxNO | wxCANCEL); | ||||
|                 DynamicPrintConfig new_conf = *m_config; | ||||
|                 auto answer = dialog->ShowModal(); | ||||
|                 auto answer = dialog.ShowModal(); | ||||
|                 if (answer == wxID_YES) { | ||||
|                     // Enable "detect bridging perimeters".
 | ||||
|                     new_conf.set_key_value("overhangs", new ConfigOptionBool(true)); | ||||
|  | @ -1403,9 +1403,9 @@ void TabPrint::update() | |||
|             if (!correct_100p_fill) { | ||||
|                 wxString msg_text = GUI::from_u8((boost::format(_utf8(L("The %1% infill pattern is not supposed to work at 100%% density.\n\n" | ||||
|                                                                "Shall I switch to rectilinear fill pattern?"))) % str_fill_pattern).str()); | ||||
|                 auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Infill")), wxICON_WARNING | wxYES | wxNO); | ||||
|                 wxMessageDialog dialog(parent(), msg_text, _(L("Infill")), wxICON_WARNING | wxYES | wxNO); | ||||
|                 DynamicPrintConfig new_conf = *m_config; | ||||
|                 if (dialog->ShowModal() == wxID_YES) { | ||||
|                 if (dialog.ShowModal() == wxID_YES) { | ||||
|                     new_conf.set_key_value("fill_pattern", new ConfigOptionEnum<InfillPattern>(ipRectilinear)); | ||||
|                     fill_density = 100; | ||||
|                 } | ||||
|  | @ -2045,10 +2045,10 @@ void TabPrinter::build_fff() | |||
|                                     const wxString msg_text = _(L("Single Extruder Multi Material is selected, \n" | ||||
|                                                                   "and all extruders must have the same diameter.\n" | ||||
|                                                                   "Do you want to change the diameter for all extruders to first extruder nozzle diameter value?")); | ||||
|                                     auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Nozzle diameter")), wxICON_WARNING | wxYES_NO); | ||||
|                                     wxMessageDialog dialog(parent(), msg_text, _(L("Nozzle diameter")), wxICON_WARNING | wxYES_NO); | ||||
| 
 | ||||
|                                     DynamicPrintConfig new_conf = *m_config; | ||||
|                                     if (dialog->ShowModal() == wxID_YES) { | ||||
|                                     if (dialog.ShowModal() == wxID_YES) { | ||||
|                                         for (size_t i = 1; i < nozzle_diameters.size(); i++) | ||||
|                                             nozzle_diameters[i] = frst_diam; | ||||
| 
 | ||||
|  | @ -2507,10 +2507,10 @@ void TabPrinter::build_unregular_pages() | |||
|                     { | ||||
|                         const wxString msg_text = _(L("This is a single extruder multimaterial printer, diameters of all extruders " | ||||
|                                                       "will be set to the new value. Do you want to proceed?")); | ||||
|                         auto dialog = new wxMessageDialog(parent(), msg_text, _(L("Nozzle diameter")), wxICON_WARNING | wxYES_NO); | ||||
|                         wxMessageDialog dialog(parent(), msg_text, _(L("Nozzle diameter")), wxICON_WARNING | wxYES_NO); | ||||
| 
 | ||||
|                         DynamicPrintConfig new_conf = *m_config; | ||||
|                         if (dialog->ShowModal() == wxID_YES) { | ||||
|                         if (dialog.ShowModal() == wxID_YES) { | ||||
|                             for (size_t i = 0; i < nozzle_diameters.size(); i++) { | ||||
|                                 if (i==extruder_idx) | ||||
|                                     continue; | ||||
|  | @ -2715,13 +2715,13 @@ void TabPrinter::update_fff() | |||
|         get_field("retract_before_wipe", i)->toggle(wipe); | ||||
| 
 | ||||
|         if (use_firmware_retraction && wipe) { | ||||
|             auto dialog = new wxMessageDialog(parent(), | ||||
|             wxMessageDialog dialog(parent(), | ||||
|                 _(L("The Wipe option is not available when using the Firmware Retraction mode.\n" | ||||
|                 "\nShall I disable it in order to enable Firmware Retraction?")), | ||||
|                 _(L("Firmware Retraction")), wxICON_WARNING | wxYES | wxNO); | ||||
| 
 | ||||
|             DynamicPrintConfig new_conf = *m_config; | ||||
|             if (dialog->ShowModal() == wxID_YES) { | ||||
|             if (dialog.ShowModal() == wxID_YES) { | ||||
|                 auto wipe = static_cast<ConfigOptionBools*>(m_config->option("wipe")->clone()); | ||||
|                 for (int w = 0; w < wipe->values.size(); w++) | ||||
|                     wipe->values[w] = false; | ||||
|  | @ -3073,10 +3073,10 @@ bool Tab::may_discard_current_dirty_preset(PresetCollection* presets /*= nullptr | |||
|         message += wxString("\n") + tab + from_u8(new_printer_name) + "\n\n"; | ||||
|         message += _(L("and it has the following unsaved changes:")); | ||||
|     } | ||||
|     auto confirm = new wxMessageDialog(parent(), | ||||
|     wxMessageDialog confirm(parent(), | ||||
|         message + "\n" + changes + "\n\n" + _(L("Discard changes and continue anyway?")), | ||||
|         _(L("Unsaved Changes")), wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION); | ||||
|     return confirm->ShowModal() == wxID_YES; | ||||
|     return confirm.ShowModal() == wxID_YES; | ||||
| } | ||||
| 
 | ||||
| // If we are switching from the FFF-preset to the SLA, we should to control the printed objects if they have a part(s).
 | ||||
|  | @ -3183,11 +3183,11 @@ void Tab::save_preset(std::string name /*= ""*/) | |||
|             values.push_back(preset.name); | ||||
|         } | ||||
| 
 | ||||
|         auto dlg = new SavePresetWindow(parent()); | ||||
|         dlg->build(title(), default_name, values); | ||||
|         if (dlg->ShowModal() != wxID_OK) | ||||
|         SavePresetWindow dlg(parent()); | ||||
|         dlg.build(title(), default_name, values); | ||||
|         if (dlg.ShowModal() != wxID_OK) | ||||
|             return; | ||||
|         name = dlg->get_name(); | ||||
|         name = dlg.get_name(); | ||||
|         if (name == "") { | ||||
|             show_error(this, _(L("The supplied name is empty. It can't be saved."))); | ||||
|             return; | ||||
|  | @ -3799,13 +3799,13 @@ void TabSLAPrint::update() | |||
|         wxString msg_text = _( | ||||
|             L("Head penetration should not be greater than the head width.")); | ||||
| 
 | ||||
|         auto dialog = new wxMessageDialog(parent(), | ||||
|                                           msg_text, | ||||
|                                           _(L("Invalid Head penetration")), | ||||
|                                           wxICON_WARNING | wxOK); | ||||
|         wxMessageDialog dialog(parent(), | ||||
|                                msg_text, | ||||
|                                _(L("Invalid Head penetration")), | ||||
|                                wxICON_WARNING | wxOK); | ||||
| 
 | ||||
|         DynamicPrintConfig new_conf = *m_config; | ||||
|         if (dialog->ShowModal() == wxID_OK) { | ||||
|         if (dialog.ShowModal() == wxID_OK) { | ||||
|             new_conf.set_key_value("support_head_penetration", | ||||
|                                    new ConfigOptionFloat(head_width)); | ||||
|         } | ||||
|  | @ -3819,13 +3819,13 @@ void TabSLAPrint::update() | |||
|         wxString msg_text = _(L( | ||||
|             "Pinhead diameter should be smaller than the pillar diameter.")); | ||||
| 
 | ||||
|         auto dialog = new wxMessageDialog(parent(), | ||||
|                                           msg_text, | ||||
|                                           _(L("Invalid pinhead diameter")), | ||||
|                                           wxICON_WARNING | wxOK); | ||||
|         wxMessageDialog dialog (parent(), | ||||
|                                 msg_text, | ||||
|                                 _(L("Invalid pinhead diameter")), | ||||
|                                 wxICON_WARNING | wxOK); | ||||
| 
 | ||||
|         DynamicPrintConfig new_conf = *m_config; | ||||
|         if (dialog->ShowModal() == wxID_OK) { | ||||
|         if (dialog.ShowModal() == wxID_OK) { | ||||
|             new_conf.set_key_value("support_head_front_diameter", | ||||
|                                    new ConfigOptionFloat(pillar_d / 2.0)); | ||||
|         } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 bubnikv
						bubnikv