From 5742a67cb93fd7d1358c8fc29e28cfc8c557b318 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 6 Jan 2021 08:54:45 +0100 Subject: [PATCH] [TextEdit] KEY_UP for toggle case --- radio/src/thirdparty/libopenui/src/textedit.cpp | 11 +++++------ radio/src/thirdparty/libopenui/src/textedit.h | 10 ++++++++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/radio/src/thirdparty/libopenui/src/textedit.cpp b/radio/src/thirdparty/libopenui/src/textedit.cpp index d44f52593..a7aa90e33 100644 --- a/radio/src/thirdparty/libopenui/src/textedit.cpp +++ b/radio/src/thirdparty/libopenui/src/textedit.cpp @@ -189,14 +189,13 @@ void TextEdit::onEvent(event_t event) break; } + case EVT_KEY_BREAK(KEY_UP): + v = toggleCase(v); + break; + case EVT_KEY_LONG(KEY_LEFT): case EVT_KEY_LONG(KEY_RIGHT): - if (v >= 'A' && v <= 'Z') { - v += 32; // tolower - } - else if (v >= 'a' && v <= 'z') { - v -= 32; // toupper - } + v = toggleCase(v); if (event == EVT_KEY_LONG(KEY_LEFT)) { killEvents(KEY_LEFT); } diff --git a/radio/src/thirdparty/libopenui/src/textedit.h b/radio/src/thirdparty/libopenui/src/textedit.h index 5906a5c7d..013bbc202 100644 --- a/radio/src/thirdparty/libopenui/src/textedit.h +++ b/radio/src/thirdparty/libopenui/src/textedit.h @@ -112,5 +112,15 @@ class TextEdit : public FormField { else return c - 1; } + + static uint8_t toggleCase(uint8_t c) + { + if (c >= 'A' && c <= 'Z') + return c + 32; // tolower + else if (c >= 'a' && c <= 'z') + return c - 32; // toupper + else + return c; + } };