From 55fa5c95e4ca3976f533294e2808a8193079d2ea Mon Sep 17 00:00:00 2001 From: Alvin Wong Date: Mon, 29 Mar 2021 19:07:50 +0800 Subject: [PATCH] Change SettingsShortNames to use one string This unifies its behaviour with SettingsMenuEntries. --- Translations/make_translation.py | 5 +++-- source/Core/Inc/Translation.h | 2 +- source/Core/Src/gui.cpp | 11 ++++------- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Translations/make_translation.py b/Translations/make_translation.py index af5c51e5..7b4e7a8a 100755 --- a/Translations/make_translation.py +++ b/Translations/make_translation.py @@ -427,7 +427,7 @@ def write_language(lang: dict, defs: dict, f: TextIO) -> None: # ----- Writing SettingsDescriptions obj = lang["menuOptions"] - f.write("const char* SettingsShortNames[][2] = {\n") + f.write("const char* SettingsShortNames[] = {\n") max_len = 25 index = 0 @@ -436,7 +436,8 @@ def write_language(lang: dict, defs: dict, f: TextIO) -> None: if "feature" in mod: f.write(f"#ifdef {mod['feature']}\n") f.write(f" /* [{index:02d}] {eid.ljust(max_len)[:max_len]} */ ") - f.write(f'{{ "{convert_string(symbol_conversion_table, (obj[eid]["text2"][0]))}", "{convert_string(symbol_conversion_table, (obj[eid]["text2"][1]))}" }},//{obj[eid]["text2"]} \n') + txt = f'{obj[eid]["text2"][0]}\\n{obj[eid]["text2"][1]}' + f.write(f'{{ "{convert_string(symbol_conversion_table, txt)}" }},//{obj[eid]["text2"]} \n') if "feature" in mod: f.write("#endif\n") diff --git a/source/Core/Inc/Translation.h b/source/Core/Inc/Translation.h index 38718b0e..31354a12 100644 --- a/source/Core/Inc/Translation.h +++ b/source/Core/Inc/Translation.h @@ -12,7 +12,7 @@ extern const uint8_t USER_FONT_12[]; extern const uint8_t USER_FONT_6x8[]; extern const bool HasFahrenheit; -extern const char *SettingsShortNames[][2]; +extern const char *SettingsShortNames[]; extern const char *SettingsDescriptions[]; extern const char *SettingsMenuEntries[]; diff --git a/source/Core/Src/gui.cpp b/source/Core/Src/gui.cpp index 733e1899..9af35b9b 100644 --- a/source/Core/Src/gui.cpp +++ b/source/Core/Src/gui.cpp @@ -239,15 +239,12 @@ const menuitem advancedMenu[] = { static void printShortDescriptionDoubleLine(SettingsItemIndex settingsItemIndex) { uint8_t shortDescIndex = static_cast(settingsItemIndex); - if (SettingsShortNames[shortDescIndex][0][0] == '\x00') { + OLED::setCursor(0, 0); + if (SettingsShortNames[shortDescIndex][0] == '\x01') { // Empty first line means that this uses large font (for CJK). - OLED::setCursor(0, 0); - OLED::print(SettingsShortNames[shortDescIndex][1], FontStyle::LARGE); + OLED::print(SettingsShortNames[shortDescIndex] + 1, FontStyle::LARGE); } else { - OLED::setCursor(0, 0); - OLED::print(SettingsShortNames[shortDescIndex][0], FontStyle::SMALL); - OLED::setCursor(0, 8); - OLED::print(SettingsShortNames[shortDescIndex][1], FontStyle::SMALL); + OLED::print(SettingsShortNames[shortDescIndex], FontStyle::SMALL); } }