mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	FIX: [STUDIO-3318] flush options modified status
Change-Id: I99ef8944c844e3f1603d6c1241e0ef2daad24e35
This commit is contained in:
		
							parent
							
								
									82cd618c14
								
							
						
					
					
						commit
						cb76cf3fe0
					
				
					 1 changed files with 24 additions and 12 deletions
				
			
		|  | @ -797,36 +797,48 @@ void MenuFactory::append_menu_items_flush_options(wxMenu* menu) | ||||||
|     DynamicPrintConfig& global_config = wxGetApp().preset_bundle->prints.get_edited_preset().config; |     DynamicPrintConfig& global_config = wxGetApp().preset_bundle->prints.get_edited_preset().config; | ||||||
|     ModelConfig& select_object_config = object_list->object(selection.get_object_idx())->config; |     ModelConfig& select_object_config = object_list->object(selection.get_object_idx())->config; | ||||||
| 
 | 
 | ||||||
|     auto keys = select_object_config.keys(); |  | ||||||
|     for (auto key : FREQ_SETTINGS_BUNDLE_FFF["Flush options"]) { |  | ||||||
|         if (find(keys.begin(), keys.end(), key) == keys.end()) { |  | ||||||
|             const ConfigOption* option = global_config.option(key); |  | ||||||
|             select_object_config.set_key_value(key, option->clone()); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     wxMenu* flush_options_menu = new wxMenu(); |     wxMenu* flush_options_menu = new wxMenu(); | ||||||
|     append_menu_check_item(flush_options_menu, wxID_ANY, _L("Flush into objects' infill"), "", |     append_menu_check_item(flush_options_menu, wxID_ANY, _L("Flush into objects' infill"), "", | ||||||
|         [&select_object_config](wxCommandEvent&) { |         [&select_object_config](wxCommandEvent&) { | ||||||
|             const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][0]); |             const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][0]); | ||||||
|             select_object_config.set_key_value(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][0], new ConfigOptionBool(!option->getBool())); |             select_object_config.set_key_value(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][0], new ConfigOptionBool(!option->getBool())); | ||||||
|             wxGetApp().obj_settings()->UpdateAndShow(true); |             wxGetApp().obj_settings()->UpdateAndShow(true); | ||||||
|         }, menu, []() {return true; }, [&select_object_config]() {const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][0]); return option->getBool(); }, m_parent); |         }, menu, []() {return true; },  | ||||||
|  |             [&select_object_config, &global_config]() { | ||||||
|  |             const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][0]); | ||||||
|  |             if (!option) { | ||||||
|  |                 option = global_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][0]); | ||||||
|  |             } | ||||||
|  |             return option->getBool(); | ||||||
|  |         }, m_parent); | ||||||
| 
 | 
 | ||||||
|     append_menu_check_item(flush_options_menu, wxID_ANY, _L("Flush into this object"), "", |     append_menu_check_item(flush_options_menu, wxID_ANY, _L("Flush into this object"), "", | ||||||
|         [&select_object_config](wxCommandEvent&) { |         [&select_object_config](wxCommandEvent&) { | ||||||
|             const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][1]); |             const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][1]); | ||||||
|             select_object_config.set_key_value(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][1], new ConfigOptionBool(!option->getBool())); |             select_object_config.set_key_value(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][1], new ConfigOptionBool(!option->getBool())); | ||||||
|             wxGetApp().obj_settings()->UpdateAndShow(true); |             wxGetApp().obj_settings()->UpdateAndShow(true); | ||||||
|         }, menu, []() {return true; }, [&select_object_config]() {const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][1]); return option->getBool(); }, m_parent); |         }, menu, []() {return true; },  | ||||||
|  |             [&select_object_config, &global_config]() { | ||||||
|  |             const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][1]); | ||||||
|  |             if (!option) { | ||||||
|  |                 option = global_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][1]); | ||||||
|  |             } | ||||||
|  |             return option->getBool(); | ||||||
|  |         }, m_parent); | ||||||
| 
 | 
 | ||||||
|     append_menu_check_item(flush_options_menu, wxID_ANY, _L("Flush into objects' support"), "", |     append_menu_check_item(flush_options_menu, wxID_ANY, _L("Flush into objects' support"), "", | ||||||
|         [&select_object_config](wxCommandEvent&) { |         [&select_object_config](wxCommandEvent&) { | ||||||
|             const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][2]); |             const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][2]); | ||||||
|             select_object_config.set_key_value(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][2], new ConfigOptionBool(!option->getBool())); |             select_object_config.set_key_value(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][2], new ConfigOptionBool(!option->getBool())); | ||||||
|             wxGetApp().obj_settings()->UpdateAndShow(true); |             wxGetApp().obj_settings()->UpdateAndShow(true); | ||||||
|         }, menu, []() {return true; }, [&select_object_config]() {const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][2]); return option->getBool(); }, m_parent); |         }, menu, []() {return true; },  | ||||||
|  |             [&select_object_config, &global_config]() { | ||||||
|  |             const ConfigOption* option = select_object_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][2]); | ||||||
|  |             if (!option) { | ||||||
|  |                 option = global_config.option(FREQ_SETTINGS_BUNDLE_FFF["Flush options"][2]); | ||||||
|  |             } | ||||||
|  |             return option->getBool(); | ||||||
|  |         }, m_parent); | ||||||
| 
 | 
 | ||||||
|     size_t i = 0; |     size_t i = 0; | ||||||
|     for (auto node = menu->GetMenuItems().GetFirst(); node; node = node->GetNext()) |     for (auto node = menu->GetMenuItems().GetFirst(); node; node = node->GetNext()) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 liz.li
						liz.li