From f23021226d0e35f230c2a9862046060caf5b0d69 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sat, 5 Oct 2019 19:01:56 +0200 Subject: [PATCH] New UI continued --- .../src/thirdparty/libopenui/src/textedit.cpp | 2 +- radio/src/thirdparty/libopenui/src/textedit.h | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/radio/src/thirdparty/libopenui/src/textedit.cpp b/radio/src/thirdparty/libopenui/src/textedit.cpp index 8eaf7c6a4..65b95834f 100644 --- a/radio/src/thirdparty/libopenui/src/textedit.cpp +++ b/radio/src/thirdparty/libopenui/src/textedit.cpp @@ -74,7 +74,7 @@ void TextEdit::onEvent(event_t event) invalidate(); } } - else { + else if (cursorPos < length) { memmove(value + cursorPos + 1, value + cursorPos, length - cursorPos - 1); value[cursorPos++] = c; invalidate(); diff --git a/radio/src/thirdparty/libopenui/src/textedit.h b/radio/src/thirdparty/libopenui/src/textedit.h index dded4b8cd..e160dd865 100644 --- a/radio/src/thirdparty/libopenui/src/textedit.h +++ b/radio/src/thirdparty/libopenui/src/textedit.h @@ -65,6 +65,20 @@ class TextEdit : public FormField { uint8_t length; uint8_t cursorPos = 0; + static uint8_t getNextChar(uint8_t c) + { + if (c == ' ' || c == 0) + return 'A'; + else if (c == 'Z') + return 'a'; + else if (c == 'z') + return '0'; + else if (c == '>') + return ' '; + else + return c + 1; + } + static uint8_t getPreviousChar(uint8_t c) { if (c == 'A') @@ -79,20 +93,6 @@ class TextEdit : public FormField { return c - 1; } - static uint8_t getNextChar(uint8_t c) - { - if (c == ' ') - return 'A'; - else if (c == 'Z') - return 'a'; - else if (c == 'z') - return '0'; - else if (c == '>') - return ' '; - else - return c + 1; - } - }; #endif // _TEXTEDIT_H_