mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	Localization improvements:
* added wrapper to SliderFloat in imgui * fixed localized text in Mouse3DController * added take_snapshot for extruder change in object list * fixed text typos in AppConfig.cpp, ConfigWizard.cpp and ConfigManipulation.cpp
This commit is contained in:
		
							parent
							
								
									ef29b13c5e
								
							
						
					
					
						commit
						fea91829eb
					
				
					 7 changed files with 32 additions and 8 deletions
				
			
		|  | @ -103,7 +103,7 @@ void AppConfig::load() | |||
|         // Error while parsing config file. We'll customize the error message and rethrow to be displayed.
 | ||||
|         throw std::runtime_error( | ||||
|         	_utf8(L("Error parsing PrusaSlicer config file, it is probably corrupted. " | ||||
|                     "Try to manualy delete the file to recover from the error. Your user profiles will not be affected.")) +  | ||||
|                     "Try to manually delete the file to recover from the error. Your user profiles will not be affected.")) +  | ||||
|         	"\n\n" + AppConfig::config_path() + "\n\n" + ex.what()); | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -77,7 +77,7 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con | |||
|                                 "- no top solid layers\n" | ||||
|                                 "- 0% fill density\n" | ||||
|                                 "- no support material\n" | ||||
|                                 "- no ensure_vertical_shell_thickness")); | ||||
|                                 "- inactive Ensure vertical shell thickness")); | ||||
|         if (is_global_config) | ||||
|             msg_text += "\n\n" + _(L("Shall I adjust those settings in order to enable Spiral Vase?")); | ||||
|         wxMessageDialog dialog(nullptr, msg_text, _(L("Spiral Vase")), | ||||
|  |  | |||
|  | @ -778,8 +778,8 @@ PageMode::PageMode(ConfigWizard *parent) | |||
| { | ||||
|     append_text(_(L("PrusaSlicer's user interfaces comes in three variants:\nSimple, Advanced, and Expert.\n" | ||||
|         "The Simple mode shows only the most frequently used settings relevant for regular 3D printing. " | ||||
|         "The other two offer progressivly more sophisticated fine-tuning, " | ||||
|         "they are suitable for advanced and expert usiser, respectively."))); | ||||
|         "The other two offer progressively more sophisticated fine-tuning, " | ||||
|         "they are suitable for advanced and expert users, respectively."))); | ||||
| 
 | ||||
|     radio_simple = new wxRadioButton(this, wxID_ANY, _(L("Simple mode"))); | ||||
|     radio_advanced = new wxRadioButton(this, wxID_ANY, _(L("Advanced mode"))); | ||||
|  |  | |||
|  | @ -525,6 +525,8 @@ void ObjectList::update_extruder_in_config(const wxDataViewItem& item) | |||
|     if (!m_config) | ||||
|         return; | ||||
| 
 | ||||
|     take_snapshot(_(L("Change Extruder"))); | ||||
| 
 | ||||
|     const int extruder = m_objects_model->GetExtruderNumber(item); | ||||
|     m_config->set_key_value("extruder", new ConfigOptionInt(extruder)); | ||||
| 
 | ||||
|  | @ -3846,6 +3848,9 @@ void ObjectList::set_extruder_for_selected_items(const int extruder) const | |||
|     wxDataViewItemArray sels; | ||||
|     GetSelections(sels); | ||||
| 
 | ||||
|     if (!sels.empty()) | ||||
|         take_snapshot(_(L("Change Extruders"))); | ||||
| 
 | ||||
|     for (const wxDataViewItem& item : sels) | ||||
|     { | ||||
|         DynamicPrintConfig& config = get_item_config(item); | ||||
|  |  | |||
|  | @ -317,6 +317,22 @@ void ImGuiWrapper::text(const wxString &label) | |||
|     this->text(label_utf8.c_str()); | ||||
| } | ||||
| 
 | ||||
| bool ImGuiWrapper::slider_float(const char* label, float* v, float v_min, float v_max, const char* format/* = "%.3f"*/, float power/* = 1.0f*/) | ||||
| { | ||||
|     return ImGui::SliderFloat(label, v, v_min, v_max, format, power); | ||||
| } | ||||
| 
 | ||||
| bool ImGuiWrapper::slider_float(const std::string& label, float* v, float v_min, float v_max, const char* format/* = "%.3f"*/, float power/* = 1.0f*/) | ||||
| { | ||||
|     return this->slider_float(label.c_str(), v, v_min, v_max, format, power); | ||||
| } | ||||
| 
 | ||||
| bool ImGuiWrapper::slider_float(const wxString& label, float* v, float v_min, float v_max, const char* format/* = "%.3f"*/, float power/* = 1.0f*/) | ||||
| { | ||||
|     auto label_utf8 = into_u8(label); | ||||
|     return this->slider_float(label_utf8.c_str(), v, v_min, v_max, format, power); | ||||
| } | ||||
| 
 | ||||
| bool ImGuiWrapper::combo(const wxString& label, const std::vector<std::string>& options, int& selection) | ||||
| { | ||||
|     // this is to force the label to the left of the widget:
 | ||||
|  |  | |||
|  | @ -66,6 +66,9 @@ public: | |||
|     void text(const char *label); | ||||
|     void text(const std::string &label); | ||||
|     void text(const wxString &label); | ||||
|     bool slider_float(const char* label, float* v, float v_min, float v_max, const char* format = "%.3f", float power = 1.0f); | ||||
|     bool slider_float(const std::string& label, float* v, float v_min, float v_max, const char* format = "%.3f", float power = 1.0f); | ||||
|     bool slider_float(const wxString& label, float* v, float v_min, float v_max, const char* format = "%.3f", float power = 1.0f); | ||||
|     bool combo(const wxString& label, const std::vector<std::string>& options, int& selection);   // Use -1 to not mark any option as selected
 | ||||
|     bool undo_redo_list(const ImVec2& size, const bool is_undo, bool (*items_getter)(const bool, int, const char**), int& hovered, int& selected); | ||||
| 
 | ||||
|  |  | |||
|  | @ -267,11 +267,11 @@ void Mouse3DController::render_settings_dialog(unsigned int canvas_width, unsign | |||
|     ImGui::PopStyleColor(); | ||||
| 
 | ||||
|     float translation_scale = (float)m_state.get_translation_scale() / State::DefaultTranslationScale; | ||||
|     if (ImGui::SliderFloat(_(L("Translation##1")), &translation_scale, 0.5f, 2.0f, "%.1f")) | ||||
|     if (imgui.slider_float(_(L("Translation")) + "##1", &translation_scale, 0.5f, 2.0f, "%.1f")) | ||||
|         m_state.set_translation_scale(State::DefaultTranslationScale * (double)translation_scale); | ||||
| 
 | ||||
|     float rotation_scale = m_state.get_rotation_scale() / State::DefaultRotationScale; | ||||
|     if (ImGui::SliderFloat(_(L("Rotation##1")), &rotation_scale, 0.5f, 2.0f, "%.1f")) | ||||
|     if (imgui.slider_float(_(L("Rotation")) + "##1", &rotation_scale, 0.5f, 2.0f, "%.1f")) | ||||
|         m_state.set_rotation_scale(State::DefaultRotationScale * rotation_scale); | ||||
| 
 | ||||
|     ImGui::Separator(); | ||||
|  | @ -280,11 +280,11 @@ void Mouse3DController::render_settings_dialog(unsigned int canvas_width, unsign | |||
|     ImGui::PopStyleColor(); | ||||
| 
 | ||||
|     float translation_deadzone = (float)m_state.get_translation_deadzone(); | ||||
|     if (ImGui::SliderFloat(_(L("Translation##2")), &translation_deadzone, 0.0f, (float)State::MaxTranslationDeadzone, "%.2f")) | ||||
|     if (imgui.slider_float(_(L("Translation")) + "##2", &translation_deadzone, 0.0f, (float)State::MaxTranslationDeadzone, "%.2f")) | ||||
|         m_state.set_translation_deadzone((double)translation_deadzone); | ||||
| 
 | ||||
|     float rotation_deadzone = m_state.get_rotation_deadzone(); | ||||
|     if (ImGui::SliderFloat(_(L("Rotation##2")), &rotation_deadzone, 0.0f, State::MaxRotationDeadzone, "%.2f")) | ||||
|     if (imgui.slider_float(_(L("Rotation")) + "##2", &rotation_deadzone, 0.0f, State::MaxRotationDeadzone, "%.2f")) | ||||
|         m_state.set_rotation_deadzone(rotation_deadzone); | ||||
| 
 | ||||
| #if ENABLE_3DCONNEXION_DEVICES_DEBUG_OUTPUT | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 YuSanka
						YuSanka