mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 04:31:15 -06:00 
			
		
		
		
	refine the version update logic
1. always copy the system profiles if found version mismatch 2. use AA.BB as the version check rule of presets Change-Id: I4895f1d765dadcbb906ac6bc2be6b32e48b4f9f2
This commit is contained in:
		
							parent
							
								
									15baa9ed82
								
							
						
					
					
						commit
						4138a989af
					
				
					 1 changed files with 11 additions and 6 deletions
				
			
		|  | @ -45,7 +45,6 @@ using Slic3r::GUI::Config::SnapshotDB; | |||
| 
 | ||||
| // FIXME: Incompat bundle resolution doesn't deal with inherited user presets
 | ||||
| 
 | ||||
| 
 | ||||
| namespace Slic3r { | ||||
| 
 | ||||
| 
 | ||||
|  | @ -562,7 +561,8 @@ void PresetUpdater::priv::sync_resources(std::string http_url, std::map<std::str | |||
|         Semver online_version = resource_update->second.version; | ||||
|         // Semver current_version = get_version_from_json(vendor_root_config.string());
 | ||||
|         Semver current_version = resource.version; | ||||
|         if (current_version < online_version) { | ||||
|         bool version_match = ((online_version.maj() == current_version.maj()) && (online_version.min() == current_version.min())); | ||||
|         if (version_match && (current_version < online_version)) { | ||||
|             if (cancel) { return; } | ||||
| 
 | ||||
|             // need to download the online files
 | ||||
|  | @ -734,7 +734,8 @@ void PresetUpdater::priv::sync_config(std::string http_url, const VendorMap vend | |||
|         Semver online_version = vendor_update->second.first; | ||||
|         //Semver current_version = get_version_from_json(vendor_root_config.string());
 | ||||
|         Semver current_version = vendor_profile.config_version; | ||||
|         if (current_version < online_version) { | ||||
|         bool version_match = ((online_version.maj() == current_version.maj()) && (online_version.min() == current_version.min())); | ||||
|         if (version_match && (current_version < online_version)) { | ||||
|             auto cache_file = cache_path / (vendor_name+".json"); | ||||
|             auto cache_print_dir = (cache_path / vendor_name / PRESET_PRINT_NAME); | ||||
|             auto cache_filament_dir = (cache_path / vendor_name / PRESET_FILAMENT_NAME); | ||||
|  | @ -745,7 +746,8 @@ void PresetUpdater::priv::sync_config(std::string http_url, const VendorMap vend | |||
|                 &&( fs::exists(cache_filament_dir)) | ||||
|                 &&( fs::exists(cache_machine_dir))) { | ||||
|                 Semver version = get_version_from_json(cache_file.string()); | ||||
|                 if (version >= online_version) { | ||||
|                 bool cached_version_match = ((online_version.maj() == version.maj()) && (online_version.min() == version.min())); | ||||
|                 if (cached_version_match && (version >= online_version)) { | ||||
|                     //already downloaded before
 | ||||
|                     BOOST_LOG_TRIVIAL(info) << "[BBL Updater]Vendor " << vendor_name << ", already cached a version "<<version.to_string(); | ||||
|                     continue; | ||||
|  | @ -884,7 +886,9 @@ void PresetUpdater::priv::check_installed_vendor_profiles() const | |||
|                     Semver resource_ver = get_version_from_json(file_path); | ||||
|                     Semver vendor_ver = get_version_from_json(path_in_vendor.string()); | ||||
| 
 | ||||
|                     if (vendor_ver < resource_ver) { | ||||
|                     bool version_match = ((resource_ver.maj() == vendor_ver.maj()) && (resource_ver.min() == vendor_ver.min())); | ||||
| 
 | ||||
|                     if (!version_match || (vendor_ver < resource_ver)) { | ||||
|                         BOOST_LOG_TRIVIAL(info) << "[BBL Updater]:found vendor "<<vendor_name<<" newer version "<<resource_ver.to_string() <<" from resource, old version "<<vendor_ver.to_string(); | ||||
|                         bundles.push_back(vendor_name); | ||||
|                     } | ||||
|  | @ -955,7 +959,8 @@ Updates PresetUpdater::priv::get_config_updates(const Semver &old_slic3r_version | |||
|                     ifs.close(); | ||||
|                 } | ||||
| 
 | ||||
|                 if (vendor_ver < cache_ver) { | ||||
|                 bool version_match = ((vendor_ver.maj() == cache_ver.maj()) && (vendor_ver.min() == cache_ver.min())); | ||||
|                 if (version_match && (vendor_ver < cache_ver)) { | ||||
|                     Semver app_ver = *Semver::parse(SLIC3R_VERSION); | ||||
|                     if (cache_ver.maj() == app_ver.maj()){ | ||||
|                         BOOST_LOG_TRIVIAL(info) << "[BBL Updater]:need to update settings from "<<vendor_ver.to_string()<<" to newer version "<<cache_ver.to_string() <<", app version "<<SLIC3R_VERSION; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 lane.wei
						lane.wei