feat(el18): Add help popup showing mapping when using hats as keys (#4359)
This commit is contained in:
@@ -42,6 +42,25 @@ void MessageDialog::onClicked()
|
||||
deleteLater();
|
||||
}
|
||||
|
||||
HelpDialog::HelpDialog(Window* parent, rect_t rect, const char* title,
|
||||
const char* message,
|
||||
LcdFlags messageFlags) :
|
||||
Dialog(parent, title, rect)
|
||||
{
|
||||
messageWidget = new StaticText(
|
||||
content,
|
||||
{0, 33, content->width(), content->height() - 33},
|
||||
message, 0, messageFlags);
|
||||
messageWidget->padAll(6);
|
||||
|
||||
setCloseWhenClickOutside(true);
|
||||
}
|
||||
|
||||
void HelpDialog::onClicked()
|
||||
{
|
||||
deleteLater();
|
||||
}
|
||||
|
||||
DynamicMessageDialog::DynamicMessageDialog(
|
||||
Window* parent, const char* title, std::function<std::string()> textHandler,
|
||||
const char* message, const int lineHeight,
|
||||
|
||||
@@ -44,6 +44,22 @@ class MessageDialog : public Dialog
|
||||
void onClicked() override;
|
||||
};
|
||||
|
||||
class HelpDialog : public Dialog
|
||||
{
|
||||
public:
|
||||
HelpDialog(Window* parent, rect_t rect, const char* title, const char* message,
|
||||
LcdFlags messageFlags = CENTERED);
|
||||
|
||||
protected:
|
||||
StaticText* messageWidget;
|
||||
|
||||
#if defined(DEBUG_WINDOWS)
|
||||
std::string getName() const override { return "HelpDialog"; }
|
||||
#endif
|
||||
|
||||
void onClicked() override;
|
||||
};
|
||||
|
||||
class DynamicMessageDialog : public Dialog
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -819,8 +819,15 @@ void RadioSetupPage::build(FormWindow * window)
|
||||
#if defined(USE_HATS_AS_KEYS)
|
||||
line = window->newLine(&grid);
|
||||
new StaticText(line, rect_t{}, STR_HATSMODE, 0, COLOR_THEME_PRIMARY1);
|
||||
new Choice(line, rect_t{}, STR_HATSOPT, HATSMODE_TRIMS_ONLY, HATSMODE_SWITCHABLE,
|
||||
GET_SET_DEFAULT(g_eeGeneral.hatsMode));
|
||||
auto box = new FormWindow(line, rect_t{});
|
||||
box->setFlexLayout(LV_FLEX_FLOW_ROW, 4);
|
||||
new Choice(box, rect_t{}, STR_HATSOPT, HATSMODE_TRIMS_ONLY,
|
||||
HATSMODE_SWITCHABLE, GET_SET_DEFAULT(g_eeGeneral.hatsMode));
|
||||
new TextButton(box, rect_t{}, "?", [=]() {
|
||||
new HelpDialog(window, {50, 100, LCD_W - 100, LCD_H - 200},
|
||||
STR_HATSMODE_KEYS, STR_HATSMODE_KEYS_HELP, LEFT);
|
||||
return 0;
|
||||
});
|
||||
#endif
|
||||
|
||||
// RX channel order
|
||||
|
||||
@@ -59,8 +59,15 @@ TrimsSetup::TrimsSetup() : Page(ICON_MODEL_SETUP)
|
||||
// Hats mode for NV14/EL18
|
||||
line = body.newLine(&grid);
|
||||
new StaticText(line, rect_t{}, STR_HATSMODE, 0, COLOR_THEME_PRIMARY1);
|
||||
new Choice(line, rect_t{}, STR_HATSOPT, HATSMODE_TRIMS_ONLY, HATSMODE_GLOBAL,
|
||||
auto box = new FormWindow(line, rect_t{});
|
||||
box->setFlexLayout(LV_FLEX_FLOW_ROW, 4);
|
||||
new Choice(box, rect_t{}, STR_HATSOPT, HATSMODE_TRIMS_ONLY, HATSMODE_GLOBAL,
|
||||
GET_SET_DEFAULT(g_model.hatsMode));
|
||||
new TextButton(box, rect_t{}, "?", [=]() {
|
||||
new HelpDialog(this, {50, 100, LCD_W - 100, LCD_H - 200},
|
||||
STR_HATSMODE_KEYS, STR_HATSMODE_KEYS_HELP, LEFT);
|
||||
return 0;
|
||||
});
|
||||
#endif
|
||||
|
||||
// Trim step
|
||||
|
||||
@@ -545,6 +545,7 @@ const char STR_HATSMODE[] = TR_HATSMODE;
|
||||
ISTR(HATSOPT);
|
||||
const char STR_HATSMODE_TRIMS[] = TR_HATSMODE_TRIMS;
|
||||
const char STR_HATSMODE_KEYS[] = TR_HATSMODE_KEYS;
|
||||
const char STR_HATSMODE_KEYS_HELP[] = TR_HATSMODE_KEYS_HELP;
|
||||
#endif
|
||||
|
||||
const char STR_MIXERS_MONITOR[] = TR_MIXERS_MONITOR;
|
||||
|
||||
@@ -181,6 +181,7 @@ extern const char STR_HATSMODE[];
|
||||
extern const char* const STR_HATSOPT[];
|
||||
extern const char STR_HATSMODE_TRIMS[];
|
||||
extern const char STR_HATSMODE_KEYS[];
|
||||
extern const char STR_HATSMODE_KEYS_HELP[];
|
||||
#endif
|
||||
|
||||
extern const char* const STR_VTMRMODES[];
|
||||
|
||||
@@ -161,6 +161,16 @@
|
||||
#define TR_HATSOPT "微调","导航键","可切换","全局"
|
||||
#define TR_HATSMODE_TRIMS "按键帽: 微调"
|
||||
#define TR_HATSMODE_KEYS "按键帽: 导航键"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -173,6 +173,16 @@
|
||||
#define TR_HATSOPT "Pouze trimy","Pouze tlačítka","Přepinatelné","Globální"
|
||||
#define TR_HATSMODE_TRIMS "Režim kloboučků: Trimy"
|
||||
#define TR_HATSMODE_KEYS "Režim kloboučků: Tlačítka"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -168,6 +168,16 @@
|
||||
#define TR_HATSOPT "Kun trim","Kun knap","Trim / Knap", "Global"
|
||||
#define TR_HATSMODE_TRIMS "Joystik: Trim"
|
||||
#define TR_HATSMODE_KEYS "Joystik: Knap"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -163,6 +163,16 @@
|
||||
#define TR_HATSOPT "Nur Trimmung","Nur Tasten","Umschaltbar","Global"
|
||||
#define TR_HATSMODE_TRIMS "Joystick Modus: Trimmung"
|
||||
#define TR_HATSMODE_KEYS "Joystick Modus: Tasten"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -165,6 +165,16 @@
|
||||
#define TR_HATSOPT "Trims only","Keys only","Switchable","Global"
|
||||
#define TR_HATSMODE_TRIMS "Hats mode: Trims"
|
||||
#define TR_HATSMODE_KEYS "Hats mode: Keys"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -161,6 +161,16 @@
|
||||
#define TR_HATSOPT "Trims only","Keys only","Switchable","Global"
|
||||
#define TR_HATSMODE_TRIMS "Hats mode: Trims"
|
||||
#define TR_HATSMODE_KEYS "Hats mode: Keys"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -172,6 +172,16 @@
|
||||
#define TR_HATSOPT "Trims only","Keys only","Switchable","Global"
|
||||
#define TR_HATSMODE_TRIMS "Hats mode: Trims"
|
||||
#define TR_HATSMODE_KEYS "Hats mode: Keys"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -170,6 +170,16 @@
|
||||
#define TR_HATSOPT "Trims uniquement","Touches uniquement","Commutable","Global"
|
||||
#define TR_HATSMODE_TRIMS "Mode joystick: trims"
|
||||
#define TR_HATSMODE_KEYS "Mode joystick: touches"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -169,6 +169,16 @@
|
||||
#define TR_HATSOPT "קיזוזים בלבד","ניווט בלבד","משולב","גלובאלי"
|
||||
#define TR_HATSMODE_TRIMS "מצב כובעונים: קיזוזים"
|
||||
#define TR_HATSMODE_KEYS "מצב כובעונים: ניווט"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -166,6 +166,16 @@
|
||||
#define TR_HATSOPT "Solo trims","Solo keys","Commutabile","Globale"
|
||||
#define TR_HATSMODE_TRIMS "Modo joystick: trims"
|
||||
#define TR_HATSMODE_KEYS "Modo joystick: keys"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -165,6 +165,16 @@
|
||||
#define TR_HATSOPT "トリムのみ","キーのみ","スイッチ","すべて"
|
||||
#define TR_HATSMODE_TRIMS "アナログスティック: トリム"
|
||||
#define TR_HATSMODE_KEYS "アナログスティック: キー"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -162,6 +162,16 @@
|
||||
#define TR_HATSOPT "Trims only","Keys only","Switchable","Global"
|
||||
#define TR_HATSMODE_TRIMS "Hats mode: Trims"
|
||||
#define TR_HATSMODE_KEYS "Hats mode: Keys"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -161,6 +161,16 @@
|
||||
#define TR_HATSOPT "Tylko trymy","Tylko przyciski","Przełączane","Globalne"
|
||||
#define TR_HATSMODE_TRIMS "Tryb grzybków: trymy"
|
||||
#define TR_HATSMODE_KEYS "Tryb grzybków: przyciski"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -168,6 +168,16 @@
|
||||
#define TR_HATSOPT "Trims only","Keys only","Switchable","Global"
|
||||
#define TR_HATSMODE_TRIMS "Hats mode: Trims"
|
||||
#define TR_HATSMODE_KEYS "Hats mode: Keys"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -167,6 +167,16 @@
|
||||
#define TR_HATSOPT "Тримы","Кнопки","Тумбл","Глоб"
|
||||
#define TR_HATSMODE_TRIMS "Hats mode: Тримы"
|
||||
#define TR_HATSMODE_KEYS "Hats mode: Кнопки"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
@@ -183,6 +183,16 @@
|
||||
#define TR_HATSOPT "Endast trimm","Endast knapp","Ändringsbar","Global"
|
||||
#define TR_HATSMODE_TRIMS "Hattläge: Trimmar"
|
||||
#define TR_HATSMODE_KEYS "Hattläge: Knappar"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(IMU)
|
||||
|
||||
@@ -166,6 +166,16 @@
|
||||
#define TR_HATSOPT "微調","導航鍵","可切換","全局"
|
||||
#define TR_HATSMODE_TRIMS "按鍵帽: 微調"
|
||||
#define TR_HATSMODE_KEYS "按鍵帽: 導航鍵"
|
||||
#define TR_HATSMODE_KEYS_HELP "Left side:\n"\
|
||||
" Right = MDL\n"\
|
||||
" Up = SYS\n"\
|
||||
" Down = TELE\n"\
|
||||
"\n"\
|
||||
"Right side:\n"\
|
||||
" Left = PAGE<\n"\
|
||||
" Right = PAGE>\n"\
|
||||
" Up = PREV/INC\n"\
|
||||
" Down = NEXT/DEC"
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
|
||||
Reference in New Issue
Block a user