summaryrefslogtreecommitdiff
path: root/menuitems.h
diff options
context:
space:
mode:
Diffstat (limited to 'menuitems.h')
-rw-r--r--menuitems.h23
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();