diff --git a/radio/src/gui/horus/menu_model_flightmodes.cpp b/radio/src/gui/horus/menu_model_flightmodes.cpp index ff7adbc68..13c3a2b7b 100644 --- a/radio/src/gui/horus/menu_model_flightmodes.cpp +++ b/radio/src/gui/horus/menu_model_flightmodes.cpp @@ -91,7 +91,7 @@ bool menuModelFlightModesAll(evt_t event) } if (sub=0) { - drawColumnHeader(STR_PHASES_HEADERS, posHorz); + drawColumnHeader(STR_PHASES_HEADERS, NULL, posHorz); } for (int i=0; i=0) { - drawColumnHeader(STR_LIMITS_HEADERS, menuHorizontalPosition); + drawColumnHeader(STR_LIMITS_HEADERS, NULL, menuHorizontalPosition); } if (warningResult) { diff --git a/radio/src/gui/horus/menu_model_logical_switches.cpp b/radio/src/gui/horus/menu_model_logical_switches.cpp index 65f75bb0b..8366d3b36 100644 --- a/radio/src/gui/horus/menu_model_logical_switches.cpp +++ b/radio/src/gui/horus/menu_model_logical_switches.cpp @@ -84,7 +84,7 @@ bool menuModelLogicalSwitches(evt_t event) int horz = menuHorizontalPosition; if (sub>= 0 && horz>=0) { - drawColumnHeader(STR_CSW_HEADERS, horz); + drawColumnHeader(STR_LSW_HEADERS, STR_LSW_DESCRIPTIONS, horz); } if (horz<0 && event==EVT_KEY_LONG(KEY_ENTER) && !READ_ONLY()) { diff --git a/radio/src/gui/horus/widgets.cpp b/radio/src/gui/horus/widgets.cpp index 2f6ba668a..80bfe26b0 100644 --- a/radio/src/gui/horus/widgets.cpp +++ b/radio/src/gui/horus/widgets.cpp @@ -21,9 +21,17 @@ #include "opentx.h" #include -void drawColumnHeader(const char * const * headers, uint8_t index) +void drawStatusText(const char * text) { - // TODO ? displayHeader(headers[index]); + lcdDrawText(MENUS_MARGIN_LEFT, MENU_FOOTER_TOP, text, MENU_TITLE_COLOR); // TODO dedicated theme color +} + +void drawColumnHeader(const char * const * headers, const char * const * descriptions, uint8_t index) +{ + lcdDrawText(LCD_W, MENU_TITLE_TOP + 2, headers[index], RIGHT | SMLSIZE | MENU_TITLE_COLOR); + if (descriptions) { + drawStatusText(descriptions[index]); + } } #include "alpha_stick_background.lbm" @@ -142,7 +150,7 @@ void drawMenuTemplate(const char * title, uint8_t icon, const uint8_t * icons, u lcdDrawSolidFilledRect(0, MENU_HEADER_HEIGHT, LCD_W, MENU_TITLE_TOP - MENU_HEADER_HEIGHT, TEXT_BGCOLOR); lcdDrawSolidFilledRect(0, MENU_TITLE_TOP, LCD_W, MENU_TITLE_HEIGHT, TITLE_BGCOLOR); if (title) { - lcdDrawText(MENUS_MARGIN_LEFT, MENU_TITLE_TOP+2, title, MENU_TITLE_COLOR); + lcdDrawText(MENUS_MARGIN_LEFT, MENU_TITLE_TOP+1, title, MENU_TITLE_COLOR); } if (icons) { for (int i=0; i @@ -39,8 +39,8 @@ #define OPTION_SLIDER_NUMBER_BUTTON 0x100 #define OPTION_SLIDER_SQUARE_BUTTON 0x200 - -void drawColumnHeader(const char * const * headers, uint8_t index); +void drawStatusText(const char * text); +void drawColumnHeader(const char * const * headers, const char * const * descriptions, uint8_t index); void drawTopbarDatetime(); void drawStick(coord_t x, coord_t y, int16_t xval, int16_t yval); diff --git a/radio/src/gui/taranis/menu_model_logical_switches.cpp b/radio/src/gui/taranis/menu_model_logical_switches.cpp index 224f4c798..361a6814c 100644 --- a/radio/src/gui/taranis/menu_model_logical_switches.cpp +++ b/radio/src/gui/taranis/menu_model_logical_switches.cpp @@ -83,7 +83,7 @@ void menuModelLogicalSwitches(uint8_t event) horzpos_t horz = menuHorizontalPosition; if (horz>=0) { - drawColumnHeader(STR_CSW_HEADERS, horz); + drawColumnHeader(STR_LSW_HEADERS, horz); } if (horz<0 && event==EVT_KEY_LONG(KEY_ENTER) && !READ_ONLY()) { diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index eb4d46e48..10eefc8dd 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -560,7 +560,8 @@ const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR; #if LCD_W >= 212 const char * const STR_PHASES_HEADERS[] = TR_PHASES_HEADERS; const char * const STR_LIMITS_HEADERS[] = TR_LIMITS_HEADERS; - const char * const STR_CSW_HEADERS[] = TR_CSW_HEADERS; + const char * const STR_LSW_HEADERS[] = TR_LSW_HEADERS; + const char * const STR_LSW_DESCRIPTIONS[] = TR_LSW_DESCRIPTIONS; #endif #if defined(CPUARM) diff --git a/radio/src/translations.h b/radio/src/translations.h index b19ff65d2..51618064f 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -828,7 +828,8 @@ extern const pm_char STR_BLCOLOR[]; #if LCD_W >= 212 extern const char * const STR_PHASES_HEADERS[]; extern const char * const STR_LIMITS_HEADERS[]; - extern const char * const STR_CSW_HEADERS[]; + extern const char * const STR_LSW_HEADERS[]; + extern const char * const STR_LSW_DESCRIPTIONS[]; #endif #if defined(CPUARM) diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 26d74d37c..2eb28d793 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -1078,9 +1078,10 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Název ", " Spínač ", " Trim směrovky ", " Trim výškovky ", " Trim plynu ", " Trim křidélek ", " Přechod náběhu ", " Přechod konce " } #define TR_LIMITS_HEADERS { " Název ", " Subtrim ", " Min ", " Max ", " Invertovat ", " Křivka ", " Střed PPM ", " Symetrické " } -#define TR_CSW_HEADERS { " Funkce ", " Hodnota 1 ", " Hodnota 2 ", " Hodnota 2 ", " AND Spínač ", " Trvání ", " Zpoždění " } +#define TR_LSW_HEADERS { " Funkce ", " Hodnota 1 ", " Hodnota 2 ", " Hodnota 2 ", " AND Spínač ", " Trvání ", " Zpoždění " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } -//Taranis About screen +// Taranis About screen #define TR_ABOUTUS TR(" O nás ", "O nás") #define TR_ABOUT_OPENTX_1 TR("OpenTX je nekomerční,", "OpenTX\001je\001open-source,") diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 23dd6687c..4d45c28a3 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -1082,9 +1082,10 @@ // Taranis Info Zeile Anzeigen #define TR_PHASES_HEADERS { " Name ", " Schalter ", " Trim Seite ", " Trim Höhe ", " Trim Gas ", " Trim Quer ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Mitte ", " Min ", " Max ", " Richtung ", " Kurve ", " PPM-Mitte ", " Mitte-Mode " } -#define TR_CSW_HEADERS { " Funktion ", " Var1 ", " Var2 ", " Var2 ", " UND-Schalter ", " Dauer ", " Verzögerung " } +#define TR_LSW_HEADERS { " Funktion ", " Var1 ", " Var2 ", " Var2 ", " UND-Schalter ", " Dauer ", " Verzögerung " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } -//Taranis About screen +// Taranis About screen #define TR_ABOUTUS "Über OpenTx" #define TR_ABOUT_OPENTX_1 "OpenTX ist Open Source," diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index a63cea973..7b2c03582 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -1092,7 +1092,9 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Name ", " Switch ", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Subtrim ", " Min ", " Max ", " Direction ", " Curve ", " PPM Center ", " Subtrim mode " } -#define TR_CSW_HEADERS { " Function ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Duration ", " Delay " } +#define TR_LSW_HEADERS { " Function ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Duration ", " Delay " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } // About screen #define TR_ABOUTUS TR(" ABOUT ", "ABOUT") diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 956046ec2..a9f45f03d 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -1042,9 +1042,10 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Nombre ", " Interrup.", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Aparecer ", " Desparecer " } #define TR_LIMITS_HEADERS { " Nombre ", " Compensacion", " Min ", " Max ", " Direccion ", " Curve ", " Centrado PPM ", " Simetrica " } -#define TR_CSW_HEADERS { " Funcion ", " V1 ", " V2 ", " V2 ", " AND Interrup. ", " Duracion ", " Retardo " } +#define TR_LSW_HEADERS { " Funcion ", " V1 ", " V2 ", " V2 ", " AND Interrup. ", " Duracion ", " Retardo " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } -//Taranis About screen +// Taranis About screen #define TR_ABOUTUS "Nosotros" #define TR_ABOUT_OPENTX_1 "OpenTX es open source, no-" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 264912a89..a16ac0b88 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -1042,7 +1042,8 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Name ", " Switch ", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Subtrim ", " Min ", " Max ", " Direction ", " Curve ", " PPM Center ", " Subtrim mode " } -#define TR_CSW_HEADERS { " Function ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Duration ", " Delay " } +#define TR_LSW_HEADERS { " Function ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Duration ", " Delay " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } // About screen #define TR_ABOUTUS TR(" ABOUT ", "ABOUT") diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index d38d1e048..0d1972ccc 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -1069,9 +1069,10 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Nom ", " Inter ", " Trim Dir ", " Trim Prf ", " Trim Gaz ", " Trim Ail ", " Fondu ON ", " Fondu OFF " } #define TR_LIMITS_HEADERS { " Nom ", " Subtrim ", " Min ", " Max ", " Direction ", " Courbe ", " Neutre PPM ", " Mode subtrim " } -#define TR_CSW_HEADERS { " Fonction ", " V1 ", " V2 ", " V2 ", " ET suppl. ", " Durée ", " Délai " } +#define TR_LSW_HEADERS { " Fonction ", " V1 ", " V2 ", " V2 ", " ET suppl. ", " Durée ", " Délai " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } -//Taranis About screen +// Taranis About screen #define TR_ABOUTUS TR(" A PROPOS ", "A PROPOS") #define TR_ABOUT_OPENTX_1 TR("OpenTX\001est\001libre,\001non-", "OpenTX est libre, non-") diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index a0d9f9d34..14ad6a4e5 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -1077,7 +1077,8 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Nome ", " Inter. ", " Trim Deriva ", " Trim Elevator ", " Trim Motore ", " Trim Alettoni ", " Disolv. In ", " Dissolv. Out " } #define TR_LIMITS_HEADERS { " Nome ", " Offset ", " Min ", " Max ", " Direzione ", " Curve ", " Centro PPM ", " Simmetria " } -#define TR_CSW_HEADERS { " Funzione ", " V1 ", " V2 ", " V2 ", " Inter. AND ", " Durata ", " Ritardo " } +#define TR_LSW_HEADERS { " Funzione ", " V1 ", " V2 ", " V2 ", " Inter. AND ", " Durata ", " Ritardo " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } // About screen #define TR_ABOUTUS TR(" INFO ", "INFO SU") diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 3a1ca56ba..a1d021b55 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -1091,7 +1091,8 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Name ", " Switch ", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Subtrim ", " Min ", " Max ", " Richtung ", " Curve ", " PPM-Midden ", " Subtrim Mode " } -#define TR_CSW_HEADERS { " Funktie ", " Var1 ", " Var2 ", " Var2 ", " EN-Schakelaar ", " Duur ", " Vertraging " } +#define TR_LSW_HEADERS { " Funktie ", " Var1 ", " Var2 ", " Var2 ", " EN-Schakelaar ", " Duur ", " Vertraging " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } // About screen #define TR_ABOUTUS TR(" ABOUT ", "ABOUT") diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 2f0e9e18d..b64185e67 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -1079,7 +1079,8 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Nazwa", " Przełą.", " Trymer SK ", " Trymer SW ", " Trymer Gazu ", " Trymer Lotek ", " Pojawian", " Zanik " } #define TR_LIMITS_HEADERS { " Nazwa", " Subtrim ", " Min ", " Max ", " Kierunek ", " Krzywa", " Środek PPM ", " Tryb subtrim " } -#define TR_CSW_HEADERS { " Funkcja ", " V1 ", " V2 ", " V2 ", " AND Przełą ", " CzasTrwa ", " Opóźn " } +#define TR_LSW_HEADERS { " Funkcja ", " V1 ", " V2 ", " V2 ", " AND Przełą ", " CzasTrwa ", " Opóźn " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } // About screen #define TR_ABOUTUS TR(" O ", " O ") diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 9e0cb0734..82485b46e 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -1038,9 +1038,10 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Name ", " Switch ", " Rudder Trim ", " Elevator Trim ", " Throttle Trim ", " Aileron Trim ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Offset ", " Min ", " Max ", " Direction ", " Curve ", " PPM Center ", " Symmetrical " } -#define TR_CSW_HEADERS { " Function ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Duration ", " Delay " } +#define TR_LSW_HEADERS { " Function ", " V1 ", " V2 ", " V2 ", " AND Switch ", " Duration ", " Delay " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } -//Taranis About screen +// Taranis About screen #define TR_ABOUTUS "ABOUT US" #define TR_ABOUT_OPENTX_1 "OpenTX is open source, non-" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 523b07edb..16412b88d 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -1090,7 +1090,9 @@ // Taranis column headers #define TR_PHASES_HEADERS { " Namn ", " Brytare ", " Rodertrim ", " Höjdrodertrim ", " Gastrim ", " Skevrodertrim ", " Tona Upp ", " Tona Ned " } #define TR_LIMITS_HEADERS { " Namn ", " Subtrim ", " Min ", " Max ", " Riktning ", " Kurva ", " PPM-center ", " Subtrim-läge " } -#define TR_CSW_HEADERS { " Funktion ", " V1 ", " V2 ", " V2 ", " OCH Brytare ", " Tidslängd ", " Fördröj " } +#define TR_LSW_HEADERS { " Funktion ", " V1 ", " V2 ", " V2 ", " OCH Brytare ", " Tidslängd ", " Fördröj " } +#define TR_LSW_DESCRIPTIONS { "Choose the function name", "", "", "", "Choose an AND condition", "Logical switch duration", "Logical switch delay" } + // About screen #define TR_ABOUTUS "Om Oss"