Fix model names on model select page with not yet converted models

Resolves #248
This commit is contained in:
Raphael Coeffic
2021-06-19 14:49:05 +02:00
parent cf5bb8d501
commit 82f60cdc81
3 changed files with 25 additions and 8 deletions
+19 -4
View File
@@ -108,15 +108,30 @@ class ModelButton : public Button
if (strncmp(modelCell->modelFilename, g_eeGeneral.currModelFilename,
LEN_MODEL_FILENAME) == 0) {
memcpy(&partialModel.header, &g_model.header, sizeof(partialModel));
version = EEPROM_VER;
} else {
error =
readModel(modelCell->modelFilename, (uint8_t *)&partialModel.header,
sizeof(partialModel), &version);
if (!error) {
if (modelCell->modelName[0] == '\0' &&
partialModel.header.name[0] != '\0') {
modelCell->setModelName(partialModel.header.name);
}
if (!error) {
if (modelCell->modelName[0] == '\0' &&
partialModel.header.name[0] != '\0') {
if (version == 219) {
size_t len = sizeof(partialModel.header.name);
char* str = partialModel.header.name;
for (int i=0; i < len; i++) {
str[i] = zchar2char(str[i]);
}
// Trim string
while(len > 0 && str[len-1]) {
if (str[len - 1] != ' ' && str[len - 1] != '\0') break;
str[--len] = '\0';
}
}
modelCell->setModelName(partialModel.header.name);
}
}