delete characters in the InputBox with mute key
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 3 Mar 2006 02:00:18 +0000 (02:00 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 3 Mar 2006 02:00:18 +0000 (02:00 +0000)
data/keymap.xml
lib/python/Components/Input.py
lib/python/Screens/ChannelSelection.py
lib/python/Screens/InputBox.py

index 3641df9..ffcfa95 100644 (file)
                <key id="KEY_OK" mapto="ok" flags="mr" />
                <key id="KEY_EXIT" mapto="cancel" flags="mr" />
        </map>
+
+       <map context="InputBoxActions">
+               <key id="KEY_LEFT" mapto="left" flags="mr" />
+               <key id="KEY_RIGHT" mapto="right" flags="mr" />
+               <key id="KEY_OK" mapto="ok" flags="m" />
+               <key id="KEY_EXIT" mapto="back" flags="m" />
+               <key id="KEY_MUTE" mapto="delete" flags="mr" />
+               <key id="KEY_1" mapto="1" flags="m" />
+               <key id="KEY_2" mapto="2" flags="m" />
+               <key id="KEY_3" mapto="3" flags="m" />
+               <key id="KEY_4" mapto="4" flags="m" />
+               <key id="KEY_5" mapto="5" flags="m" />
+               <key id="KEY_6" mapto="6" flags="m" />
+               <key id="KEY_7" mapto="7" flags="m" />
+               <key id="KEY_8" mapto="8" flags="m" />
+               <key id="KEY_9" mapto="9" flags="m" />
+               <key id="KEY_0" mapto="0" flags="m" />
+       </map>
        
        <map context="WizardActions">
                <key id="KEY_LEFT" mapto="left" flags="mr" />
                <key id="KEY_OK" mapto="ok" flags="m" />
                <key id="KEY_EXIT" mapto="back" flags="m" />
        </map>
-
+       
        <map context="InfobarMenuActions">
                <key id="KEY_MENU" mapto="mainMenu" flags="mr" />
        </map>
index f1a17d9..a3ab764 100644 (file)
@@ -69,6 +69,10 @@ class Input(HTMLComponent, GUIComponent, VariableText):
                self.text = self.text[0:self.currPos] + newNumber + self.text[self.currPos + 1:]
                self.update()
                
+       def delete(self):
+               self.text = self.text[:self.currPos] + self.text[self.currPos + 1:]
+               self.update()
+               
        def number(self, number):
                if self.type == self.TEXT:
                        newChar = self.numericalTextInput.getKey(number)
index 8b3fe93..db27945 100644 (file)
@@ -103,7 +103,7 @@ class ChannelContextMenu(Screen):
                self.close(False)
                
        def showBouquetInputBox(self):
-               self.session.openWithCallback(self.bouquetInputCallback, InputBox, title=_("Please enter a name for the new bouquet"), text="neues_bouquet", maxSize=False, type=Input.TEXT)
+               self.session.openWithCallback(self.bouquetInputCallback, InputBox, title=_("Please enter a name for the new bouquet"), text="bouquetname", maxSize=False, type=Input.TEXT)
 
        def bouquetInputCallback(self, bouquet):
                if bouquet is not None:
index 57745ca..47b800d 100644 (file)
@@ -15,12 +15,13 @@ class InputBox(Screen):
                self["text"] = Label(title)
                self["input"] = Input(**kwargs)
                                
-               self["actions"] = NumberActionMap(["WizardActions", "InputActions"], 
+               self["actions"] = NumberActionMap(["WizardActions", "InputBoxActions"], 
                {
                        "ok": self.go,
                        "back": self.cancel,
                        "left": self.keyLeft,
                        "right": self.keyRight,
+                       "delete": self.keyDelete,
                        "1": self.keyNumberGlobal,
                        "2": self.keyNumberGlobal,
                        "3": self.keyNumberGlobal,
@@ -40,9 +41,11 @@ class InputBox(Screen):
                self["input"].right()
        
        def keyNumberGlobal(self, number):
-               print "pressed", number
                self["input"].number(number)
                
+       def keyDelete(self):
+               self["input"].delete()
+               
        def go(self):
                self.close(self["input"].getText())