FIX: not upload non-bbl presets
Change-Id: I677a4790aad47750bfede100ce95d0db2320a041 Jira: none
This commit is contained in:
parent
87b8388f3b
commit
d787873e97
|
@ -726,11 +726,19 @@ bool Preset::is_custom_defined()
|
|||
return false;
|
||||
}
|
||||
|
||||
// The method previously only supports to be called on preset_bundle->printers.get_edited_preset()
|
||||
// I extened to support call on all presets
|
||||
bool Preset::is_bbl_vendor_preset(PresetBundle *preset_bundle)
|
||||
{
|
||||
bool is_bbl_vendor_preset = true;
|
||||
if (preset_bundle) {
|
||||
auto config = &preset_bundle->printers.get_edited_preset().config;
|
||||
auto config = &this->config;
|
||||
auto printers = config->opt<ConfigOptionStrings>("compatible_printers");
|
||||
if (printers && !printers->values.empty()) {
|
||||
auto printer = preset_bundle->printers.find_preset(printers->values.front());
|
||||
if (printer)
|
||||
config = &printer->config;
|
||||
}
|
||||
std::string vendor_name;
|
||||
for (auto vendor_profile : preset_bundle->vendors) {
|
||||
for (auto vendor_model : vendor_profile.second.models)
|
||||
|
@ -1469,7 +1477,7 @@ bool PresetCollection::need_sync(std::string name, std::string setting_id, long
|
|||
}
|
||||
|
||||
//BBS: get user presets
|
||||
int PresetCollection::get_user_presets(std::vector<Preset>& result_presets)
|
||||
int PresetCollection::get_user_presets(PresetBundle *preset_bundle, std::vector<Preset> &result_presets)
|
||||
{
|
||||
int count = 0;
|
||||
result_presets.clear();
|
||||
|
@ -1479,6 +1487,7 @@ int PresetCollection::get_user_presets(std::vector<Preset>& result_presets)
|
|||
if (!preset.is_user()) continue;
|
||||
if (get_preset_base(preset) != &preset && preset.base_id.empty()) continue;
|
||||
if (!preset.setting_id.empty() && preset.sync_info.empty()) continue;
|
||||
if (!preset.is_bbl_vendor_preset(preset_bundle)) continue;
|
||||
|
||||
result_presets.push_back(preset);
|
||||
count++;
|
||||
|
|
|
@ -437,7 +437,7 @@ public:
|
|||
bool load_user_preset(std::string name, std::map<std::string, std::string> preset_values, PresetsConfigSubstitutions& substitutions, ForwardCompatibilitySubstitutionRule rule);
|
||||
void update_after_user_presets_loaded();
|
||||
//BBS: get user presets
|
||||
int get_user_presets(std::vector<Preset>& result_presets);
|
||||
int get_user_presets(PresetBundle *preset_bundle, std::vector<Preset> &result_presets);
|
||||
void set_sync_info_and_save(std::string name, std::string setting_id, std::string syncinfo, long long update_time);
|
||||
bool need_sync(std::string name, std::string setting_id, long long update_time);
|
||||
|
||||
|
|
|
@ -4668,21 +4668,21 @@ void GUI_App::start_sync_user_preset(bool with_progress_dlg)
|
|||
//sync preset
|
||||
if (!preset_bundle) continue;
|
||||
|
||||
sync_count = preset_bundle->prints.get_user_presets(presets_to_sync);
|
||||
sync_count = preset_bundle->prints.get_user_presets(preset_bundle, presets_to_sync);
|
||||
if (sync_count > 0) {
|
||||
for (Preset& preset : presets_to_sync) {
|
||||
sync_preset(&preset);
|
||||
}
|
||||
}
|
||||
|
||||
sync_count = preset_bundle->filaments.get_user_presets(presets_to_sync);
|
||||
sync_count = preset_bundle->filaments.get_user_presets(preset_bundle, presets_to_sync);
|
||||
if (sync_count > 0) {
|
||||
for (Preset& preset : presets_to_sync) {
|
||||
sync_preset(&preset);
|
||||
}
|
||||
}
|
||||
|
||||
sync_count = preset_bundle->printers.get_user_presets(presets_to_sync);
|
||||
sync_count = preset_bundle->printers.get_user_presets(preset_bundle, presets_to_sync);
|
||||
if (sync_count > 0) {
|
||||
for (Preset& preset : presets_to_sync) {
|
||||
sync_preset(&preset);
|
||||
|
|
Loading…
Reference in New Issue