fix(color): Re-add "save as template" to model select (#2628)

This commit is contained in:
eshifri
2022-10-26 11:43:20 +10:00
committed by GitHub
parent f426c1f828
commit b86fbca8b1
2 changed files with 22 additions and 0 deletions
+21
View File
@@ -437,6 +437,26 @@ void ModelsPageBody::deleteModel(ModelCell *model)
});
}
void ModelsPageBody::saveAsTemplate(ModelCell *model)
{
storageDirty(EE_MODEL);
storageCheck(true);
constexpr size_t size = sizeof(model->modelName) + sizeof(YAML_EXT);
char modelName[size];
snprintf(modelName, size, "%s%s", model->modelName, YAML_EXT);
char templatePath[FF_MAX_LFN];
snprintf(templatePath, FF_MAX_LFN, "%s%c%s", PERS_TEMPL_PATH, '/', modelName);
sdCheckAndCreateDirectory(TEMPLATES_PATH);
sdCheckAndCreateDirectory(PERS_TEMPL_PATH);
if (isFileAvailable(templatePath)) {
new ConfirmDialog(parent, STR_FILE_EXISTS, STR_ASK_OVERWRITE, [=] {
sdCopyFile(model->modelFilename, MODELS_PATH, modelName, PERS_TEMPL_PATH);
});
} else {
sdCopyFile(model->modelFilename, MODELS_PATH, modelName, PERS_TEMPL_PATH);
}
}
void ModelsPageBody::editLabels(ModelCell* model)
{
auto labels = modelslabels.getLabels();
@@ -495,6 +515,7 @@ void ModelsPageBody::update(int selected)
menu->addLine(STR_DELETE_MODEL, [=]() { deleteModel(model); });
}
menu->addLine(STR_EDIT_LABELS, [=]() { editLabels(model); });
menu->addLine(STR_SAVE_TEMPLATE, [=]() { saveAsTemplate(model);});
return 0;
});
}
+1
View File
@@ -67,6 +67,7 @@ class ModelsPageBody : public FormWindow
void duplicateModel(ModelCell* model);
void deleteModel(ModelCell* model);
void editLabels(ModelCell* model);
void saveAsTemplate(ModelCell *model);
};
class ModelLabelsWindow : public Page