From 5383549e2a1e53ecddfecbaa48594324331d5ee8 Mon Sep 17 00:00:00 2001 From: bsongis Date: Thu, 3 May 2012 18:23:37 +0000 Subject: [PATCH] SD-card more options --- src/model_menus.cpp | 9 +++++++-- src/o9xstrings.cpp | 2 +- src/o9xstrings.h | 2 +- src/translations/en.h | 2 +- src/translations/fr.h | 2 +- src/translations/se.h | 2 +- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/model_menus.cpp b/src/model_menus.cpp index a50eb2346..dd0150e23 100644 --- a/src/model_menus.cpp +++ b/src/model_menus.cpp @@ -299,8 +299,9 @@ void menuProcModelSelect(uint8_t event) #if defined(SDCARD) if (g_eeGeneral.currModel != sub) { if (eeModelExists(sub)) { - s_menu[s_menu_count++] = STR_LOAD_MODEL; + s_menu[s_menu_count++] = STR_SELECT_MODEL; s_menu[s_menu_count++] = STR_BACKUP_MODEL; + s_menu[s_menu_count++] = STR_RESTORE_MODEL; s_menu[s_menu_count++] = STR_DELETE_MODEL;; } else { @@ -437,7 +438,7 @@ void menuProcModelSelect(uint8_t event) if (s_menu_count) { const char * result = displayMenu(event); if (result) { - if (result == STR_LOAD_MODEL || result == STR_CREATE_MODEL) { + if (result == STR_SELECT_MODEL || result == STR_CREATE_MODEL) { displayPopup(STR_LOADINGMODEL); eeCheck(true); // force writing of current model data before this is changed if (g_eeGeneral.currModel != sub) { @@ -459,7 +460,11 @@ void menuProcModelSelect(uint8_t event) } else { // The user choosed a file on SD to restore + if (g_eeGeneral.currModel == sub) + eeCheck(true); // force writing of current model data before this is changed s_sdcard_error = eeRestoreModel(sub, (char *)result); + if (!s_sdcard_error && g_eeGeneral.currModel == sub) + eeLoadModel(sub); // force writing of current model data before this is changed } } } diff --git a/src/o9xstrings.cpp b/src/o9xstrings.cpp index dd947f24f..853bab6a6 100644 --- a/src/o9xstrings.cpp +++ b/src/o9xstrings.cpp @@ -312,7 +312,7 @@ const pm_char STR_CURRENT[] PROGMEM = TR_CURRENT; #endif #if defined(SDCARD) -const pm_char STR_LOAD_MODEL[] PROGMEM = TR_LOAD_MODEL; +const pm_char STR_SELECT_MODEL[] PROGMEM = TR_SELECT_MODEL; const pm_char STR_CREATE_MODEL[] PROGMEM = TR_CREATE_MODEL; const pm_char STR_BACKUP_MODEL[] PROGMEM = TR_BACKUP_MODEL; const pm_char STR_DELETE_MODEL[] PROGMEM = TR_DELETE_MODEL; diff --git a/src/o9xstrings.h b/src/o9xstrings.h index 4e29873e3..879de9e9d 100644 --- a/src/o9xstrings.h +++ b/src/o9xstrings.h @@ -379,7 +379,7 @@ extern const pm_char STR_CURRENT[]; #endif #if defined(SDCARD) -extern const pm_char STR_LOAD_MODEL[]; +extern const pm_char STR_SELECT_MODEL[]; extern const pm_char STR_CREATE_MODEL[]; extern const pm_char STR_BACKUP_MODEL[]; extern const pm_char STR_DELETE_MODEL[]; diff --git a/src/translations/en.h b/src/translations/en.h index 2da982145..096c1e4fe 100644 --- a/src/translations/en.h +++ b/src/translations/en.h @@ -370,7 +370,7 @@ #define TR_BATT_CALIB "Battery Calib" #define TR_CURRENT_CALIB "Current Calib" #define TR_CURRENT "Current" -#define TR_LOAD_MODEL "Load Model" +#define TR_SELECT_MODEL "Select Model" #define TR_CREATE_MODEL "Create Model" #define TR_BACKUP_MODEL "Backup Model" #define TR_DELETE_MODEL "Delete Model" // TODO merged into DELETEMODEL? diff --git a/src/translations/fr.h b/src/translations/fr.h index 94070081a..65a01804e 100644 --- a/src/translations/fr.h +++ b/src/translations/fr.h @@ -374,7 +374,7 @@ #define TR_BATT_CALIB "Calib. Batterie" #define TR_CURRENT_CALIB "Calib. Amperage" #define TR_CURRENT "Courant" -#define TR_LOAD_MODEL "Charger Modele" +#define TR_SELECT_MODEL "Select Modele" #define TR_CREATE_MODEL "Creer Modele" #define TR_BACKUP_MODEL "Archiver Modele" #define TR_DELETE_MODEL "Supprimer Modele" diff --git a/src/translations/se.h b/src/translations/se.h index fab2250e1..ac434119d 100644 --- a/src/translations/se.h +++ b/src/translations/se.h @@ -374,7 +374,7 @@ #define TR_BATT_CALIB "Battery Calib" #define TR_CURRENT_CALIB "Current Calib" #define TR_CURRENT "Sp\201nning" -#define TR_LOAD_MODEL "Load Model" +#define TR_SELECT_MODEL "Select Model" #define TR_CREATE_MODEL "Create Model" #define TR_BACKUP_MODEL "Backup Model" #define TR_DELETE_MODEL "Delete Model"