mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-13 09:47:58 -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
|
// FIXME: Incompat bundle resolution doesn't deal with inherited user presets
|
||||||
|
|
||||||
|
|
||||||
namespace Slic3r {
|
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 online_version = resource_update->second.version;
|
||||||
// Semver current_version = get_version_from_json(vendor_root_config.string());
|
// Semver current_version = get_version_from_json(vendor_root_config.string());
|
||||||
Semver current_version = resource.version;
|
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; }
|
if (cancel) { return; }
|
||||||
|
|
||||||
// need to download the online files
|
// 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 online_version = vendor_update->second.first;
|
||||||
//Semver current_version = get_version_from_json(vendor_root_config.string());
|
//Semver current_version = get_version_from_json(vendor_root_config.string());
|
||||||
Semver current_version = vendor_profile.config_version;
|
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_file = cache_path / (vendor_name+".json");
|
||||||
auto cache_print_dir = (cache_path / vendor_name / PRESET_PRINT_NAME);
|
auto cache_print_dir = (cache_path / vendor_name / PRESET_PRINT_NAME);
|
||||||
auto cache_filament_dir = (cache_path / vendor_name / PRESET_FILAMENT_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_filament_dir))
|
||||||
&&( fs::exists(cache_machine_dir))) {
|
&&( fs::exists(cache_machine_dir))) {
|
||||||
Semver version = get_version_from_json(cache_file.string());
|
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
|
//already downloaded before
|
||||||
BOOST_LOG_TRIVIAL(info) << "[BBL Updater]Vendor " << vendor_name << ", already cached a version "<<version.to_string();
|
BOOST_LOG_TRIVIAL(info) << "[BBL Updater]Vendor " << vendor_name << ", already cached a version "<<version.to_string();
|
||||||
continue;
|
continue;
|
||||||
|
@ -884,7 +886,9 @@ void PresetUpdater::priv::check_installed_vendor_profiles() const
|
||||||
Semver resource_ver = get_version_from_json(file_path);
|
Semver resource_ver = get_version_from_json(file_path);
|
||||||
Semver vendor_ver = get_version_from_json(path_in_vendor.string());
|
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();
|
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);
|
bundles.push_back(vendor_name);
|
||||||
}
|
}
|
||||||
|
@ -955,7 +959,8 @@ Updates PresetUpdater::priv::get_config_updates(const Semver &old_slic3r_version
|
||||||
ifs.close();
|
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);
|
Semver app_ver = *Semver::parse(SLIC3R_VERSION);
|
||||||
if (cache_ver.maj() == app_ver.maj()){
|
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;
|
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