diff options
Diffstat (limited to 'menuitems.h')
-rw-r--r-- | menuitems.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/menuitems.h b/menuitems.h index 2454f95..50778b1 100644 --- a/menuitems.h +++ b/menuitems.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menuitems.h 1.20 2006/04/14 10:01:47 kls Exp $ + * $Id: menuitems.h 1.21 2007/06/08 11:53:37 kls Exp $ */ #ifndef __MENUITEMS_H @@ -77,22 +77,29 @@ public: class cMenuEditStrItem : public cMenuEditItem { private: - char *orgValue; char *value; int length; - char *allowed; - int pos; + const char *allowed; + int pos, offset; bool insert, newchar, uppercase; - const char *charMap; - const char *currentChar; + int lengthUtf8; + uint *valueUtf8; + uint *allowedUtf8; + uint *charMapUtf8; + uint *currentCharUtf8; eKeys lastKey; cTimeMs autoAdvanceTimeout; void SetHelpKeys(void); + uint *IsAllowed(uint c); void AdvancePos(void); virtual void Set(void); - char Inc(char c, bool Up); + uint Inc(uint c, bool Up); + void Insert(void); + void Delete(void); protected: - bool InEditMode(void) { return pos >= 0; } + void EnterEditMode(void); + void LeaveEditMode(bool SaveValue = false); + bool InEditMode(void) { return valueUtf8 != NULL; } public: cMenuEditStrItem(const char *Name, char *Value, int Length, const char *Allowed); ~cMenuEditStrItem(); |