diff --git a/radio/src/gui/menus.cpp b/radio/src/gui/menus.cpp index a0e73803f..17f2cf1b3 100644 --- a/radio/src/gui/menus.cpp +++ b/radio/src/gui/menus.cpp @@ -344,16 +344,21 @@ bool modelHasNotes() return (f_stat(filename, &info) == FR_OK); } +void pushModelNotes() +{ + char filename[sizeof(MODELS_PATH)+1+sizeof(g_model.header.name)+sizeof(TEXT_EXT)] = MODELS_PATH "/"; + char *buf = strcat_modelname(&filename[sizeof(MODELS_PATH)], g_eeGeneral.currModel); + strcpy(buf, TEXT_EXT); + pushMenuTextView(filename); +} + void onLongMenuPress(const char *result) { if (result == STR_VIEW_CHANNELS) { pushMenu(menuChannelsView); } else if (result == STR_VIEW_NOTES) { - char filename[sizeof(MODELS_PATH)+1+sizeof(g_model.header.name)+sizeof(TEXT_EXT)] = MODELS_PATH "/"; - char *buf = strcat_modelname(&filename[sizeof(MODELS_PATH)], g_eeGeneral.currModel); - strcpy(buf, TEXT_EXT); - pushMenuTextView(filename); + pushModelNotes(); } } #endif diff --git a/radio/src/gui/menus.h b/radio/src/gui/menus.h index 93d064997..834377252 100644 --- a/radio/src/gui/menus.h +++ b/radio/src/gui/menus.h @@ -407,6 +407,7 @@ void displayWarning(uint8_t event); void menuChannelsView(uint8_t event); void pushMenuTextView(const char *filename); bool modelHasNotes(); +void pushModelNotes(); #endif #define LABEL(...) (uint8_t)-1 diff --git a/radio/src/gui/view_main.cpp b/radio/src/gui/view_main.cpp index dceea1a28..cb3371220 100644 --- a/radio/src/gui/view_main.cpp +++ b/radio/src/gui/view_main.cpp @@ -460,6 +460,17 @@ void onMainViewMenu(const char *result) else if (result == STR_RESET_TIMER2) { resetTimer(1); } +#if defined(PCBTARANIS) + else if (result == STR_VIEW_NOTES) { + pushModelNotes(); + } + else if (result == STR_RESET_SUBMENU) { + MENU_ADD_ITEM(STR_RESET_FLIGHT); + MENU_ADD_ITEM(STR_RESET_TIMER1); + MENU_ADD_ITEM(STR_RESET_TIMER2); + MENU_ADD_ITEM(STR_RESET_TELEMETRY); + } +#endif #if defined(FRSKY) else if (result == STR_RESET_TELEMETRY) { resetTelemetry(); @@ -531,12 +542,24 @@ void menuMainView(uint8_t event) #if defined(NAVIGATION_MENUS) case EVT_KEY_CONTEXT_MENU: killEvents(event); + +#if defined(PCBTARANIS) + if (modelHasNotes()) { + MENU_ADD_ITEM(STR_VIEW_NOTES); + } +#endif + +#if defined(PCBTARANIS) + MENU_ADD_ITEM(STR_RESET_SUBMENU); +#else MENU_ADD_ITEM(STR_RESET_TIMER1); MENU_ADD_ITEM(STR_RESET_TIMER2); #if defined(FRSKY) MENU_ADD_ITEM(STR_RESET_TELEMETRY); #endif MENU_ADD_ITEM(STR_RESET_FLIGHT); +#endif + MENU_ADD_ITEM(STR_STATISTICS); #if defined(CPUARM) MENU_ADD_ITEM(STR_ABOUT_US); diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 19cc7781f..61762d086 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -2330,11 +2330,8 @@ void checkAll() #endif #if defined(PCBTARANIS) - if (modelHasNotes() && g_model.displayText) { - char filename[sizeof(MODELS_PATH)+1+sizeof(g_model.header.name)+sizeof(TEXT_EXT)] = MODELS_PATH "/"; - char *buf = strcat_modelname(&filename[sizeof(MODELS_PATH)], g_eeGeneral.currModel); - strcpy(buf, TEXT_EXT); - pushMenuTextView(filename); + if (g_model.displayText && modelHasNotes()) { + pushModelNotes(); } #endif diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index d8d7a850f..79f053e1d 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -496,7 +496,8 @@ const pm_char STR_VIEW_TEXT[] PROGMEM = TR_VIEW_TEXT; const pm_char STR_PRESET[] PROGMEM = TR_PRESET; const pm_char STR_MIRROR[] PROGMEM = TR_MIRROR; const pm_char STR_CLEAR[] PROGMEM = TR_CLEAR; - const pm_char STR_RESET[] PROGMEM = TR_RESET; + const pm_char STR_RESET[] PROGMEM = TR_RESET; + const pm_char STR_RESET_SUBMENU[] PROGMEM = TR_RESET_SUBMENU; const pm_char STR_COUNT[] PROGMEM = TR_COUNT; const pm_char STR_PT[] PROGMEM = TR_PT; const pm_char STR_PTS[] PROGMEM = TR_PTS; diff --git a/radio/src/translations.h b/radio/src/translations.h index ee2e49cb3..e6bf96928 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -676,11 +676,12 @@ extern const pm_char STR_VIEW_TEXT[]; extern const pm_char STR_PRESET[]; extern const pm_char STR_MIRROR[]; extern const pm_char STR_CLEAR[]; - extern const pm_char STR_RESET[]; -extern const pm_char STR_COUNT[]; -extern const pm_char STR_PT[]; -extern const pm_char STR_PTS[]; -extern const pm_char STR_SMOOTH[]; + extern const pm_char STR_RESET[]; + extern const pm_char STR_RESET_SUBMENU[]; + extern const pm_char STR_COUNT[]; + extern const pm_char STR_PT[]; + extern const pm_char STR_PTS[]; + extern const pm_char STR_SMOOTH[]; extern const pm_char STR_COPY_TRIMS_TO_OFS[]; extern const pm_char STR_TOP_BAR[]; extern const pm_char STR_ALTITUDE[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 20ae1cb2f..d6763b7f9 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Zrcadlit" #define TR_CLEAR "Smazat" #define TR_RESET "Reset" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Velikost" #define TR_PT "č." #define TR_PTS " b." diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 20b1f30ba..af476c02e 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Mirror" #define TR_CLEAR "Clear" #define TR_RESET "Reset Servowerte" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Punkte" #define TR_PT "Pt" #define TR_PTS "Pts" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 6b43cdf10..4ab3e32f7 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Mirror" #define TR_CLEAR "Clear" #define TR_RESET "Reset" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Count" #define TR_PT "pt" #define TR_PTS "pts" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index a6895cf05..53342a10a 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Mirror" #define TR_CLEAR "Clear" #define TR_RESET "Reset" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Count" #define TR_PT "pt" #define TR_PTS "pts" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index d730c4935..faeb883ca 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Mirror" #define TR_CLEAR "Clear" #define TR_RESET "Reset" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Count" #define TR_PT "pt" #define TR_PTS "pts" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 21eb95f2b..5335e9f1a 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Miroir" #define TR_CLEAR "Effacer" #define TR_RESET "Réinitialiser" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Nb points" #define TR_PT "pt" #define TR_PTS "pts" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index e6cec2d25..01e8840a9 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Mirror" #define TR_CLEAR "Clear" #define TR_RESET "Reset" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Count" #define TR_PT "pt" #define TR_PTS "pts" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index b00169847..fa4475b84 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Lutro" #define TR_CLEAR "Wyczyść" #define TR_RESET "Resetuj" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Punkty" #define TR_PT "pkt" #define TR_PTS "pkt" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 928b1f681..e98dae3d4 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Mirror" #define TR_CLEAR "Clear" #define TR_RESET "Reset" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Count" #define TR_PT "pt" #define TR_PTS "pts" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 38efc2bbb..bcdcd7818 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -754,6 +754,7 @@ #define TR_MIRROR "Spegla" #define TR_CLEAR "Töm" #define TR_RESET "Nollställ" +#define TR_RESET_SUBMENU "Reset..." #define TR_COUNT "Antal" #define TR_PT "pt" #define TR_PTS "pkt"