diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 6ec78236d..b66338376 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -4795,6 +4795,7 @@ void GUI_App::check_update(bool show_tips, int by_user) auto curr_version = Semver::parse(SLIC3R_VERSION); auto remote_version = Semver::parse(version_info.version_str); if (curr_version && remote_version && (*remote_version > *curr_version)) { + wxGetApp().app_config->set("app", "cloud_version", version_info.version_str); if (version_info.force_upgrade) { wxGetApp().app_config->set_bool("force_upgrade", version_info.force_upgrade); wxGetApp().app_config->set("upgrade", "force_upgrade", true); diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index ef498d1d7..17f11fda1 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -576,6 +576,8 @@ public: std::string get_download_model_url() {return m_mall_model_download_url;} std::string get_download_model_name() {return m_mall_model_download_name;} + std::string get_remote_version_str() { return version_info.version_str; } + void load_url(wxString url); void open_mall_page_dialog(); void open_publish_page_dialog(); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 814d74419..48ae304df 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5260,30 +5260,38 @@ std::vector Plater::priv::load_files(const std::vector& input_ Semver cloud_ver; if (wxGetApp().app_config->has("app", "cloud_version")) { std::string cloud_version = wxGetApp().app_config->get("app", "cloud_version"); - cloud_ver = *(Semver::parse(cloud_version)); + if (!cloud_version.empty()) + cloud_ver = *(Semver::parse(cloud_version)); + else + cloud_ver = app_version; } else { cloud_ver = app_version; } - if (config_substitutions.unrecogized_keys.size() > 0) { - // std::string context = into_u8(text); - wxString context; - if (wxGetApp().app_config->get("user_mode") == "develop") { - context = _L("Found following keys unrecognized:\n"); - for (auto &key : config_substitutions.unrecogized_keys) { - context += " -"; - context += key; - context += ";\n"; + int file_version_cc = file_version.patch()/100; + int app_version_cc = app_version.patch()/100; + + if ((file_version.min() != app_version.min()) || (file_version_cc != app_version_cc)) { + if (config_substitutions.unrecogized_keys.size() > 0) { + // std::string context = into_u8(text); + wxString context; + if (wxGetApp().app_config->get("user_mode") == "develop") { + context = _L("Found following keys unrecognized:\n"); + for (auto& key : config_substitutions.unrecogized_keys) { + context += " -"; + context += key; + context += ";\n"; + } } + context += "\n\n"; + Newer3mfVersionDialog newer_dlg(q, &file_version, &cloud_ver, context); + newer_dlg.ShowModal(); } - context += "\n\n"; - Newer3mfVersionDialog newer_dlg(q, &file_version, &cloud_ver, context); - newer_dlg.ShowModal(); - } - else { - //if the minor version is not matched - if (file_version.min() != app_version.min()) { - Newer3mfVersionDialog newer_dlg(q, &file_version, &cloud_ver, ""); - auto res = newer_dlg.ShowModal(); + else { + //if the minor version is not matched + //if (file_version.min() != app_version.min()) { + Newer3mfVersionDialog newer_dlg(q, &file_version, &cloud_ver, ""); + auto res = newer_dlg.ShowModal(); + //} } } }