aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
authorAndreas Frisch <andreas.frisch@multimedia-labs.de>2008-10-16 11:27:18 +0000
committerAndreas Frisch <andreas.frisch@multimedia-labs.de>2008-10-16 11:27:18 +0000
commit46e10a85307eab4c82203a666561f5a733381b7e (patch)
tree3aa126cf1037ee7019f383942cf6f320db9df44e /lib/python/Components
parent0545184a318fd908eb922872605bcc6e10dcfed0 (diff)
downloadenigma2-46e10a85307eab4c82203a666561f5a733381b7e.tar.gz
enigma2-46e10a85307eab4c82203a666561f5a733381b7e.zip
fix indentation bug which prevented the last block from being overwritten and introduce auto_jump property
Diffstat (limited to 'lib/python/Components')
-rw-r--r--lib/python/Components/config.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py
index 1476e939..b448ca6d 100644
--- a/lib/python/Components/config.py
+++ b/lib/python/Components/config.py
@@ -503,24 +503,25 @@ class ConfigSequence(ConfigElement):
return [int(x) for x in value.split(self.seperator)]
class ConfigIP(ConfigSequence):
- def __init__(self, default):
+ def __init__(self, default, auto_jump = False):
ConfigSequence.__init__(self, seperator = ".", limits = [(0,255),(0,255),(0,255),(0,255)], default = default)
self.block_len = []
for x in self.limits:
self.block_len.append(len(str(x[1])))
self.marked_block = 0
self.overwrite = True
+ self.auto_jump = auto_jump
def handleKey(self, key):
if key == KEY_LEFT:
if self.marked_block > 0:
self.marked_block -= 1
- self.overwrite = True
+ self.overwrite = True
if key == KEY_RIGHT:
if self.marked_block < len(self.limits)-1:
self.marked_block += 1
- self.overwrite = True
+ self.overwrite = True
if key == KEY_HOME:
self.marked_block = 0
@@ -539,7 +540,13 @@ class ConfigIP(ConfigSequence):
self.overwrite = False
else:
oldvalue *= 10
- self._value[self.marked_block] = oldvalue + number
+ newvalue = oldvalue + number
+ if self.auto_jump and newvalue > self.limits[self.marked_block][1] and self.marked_block < len(self.limits)-1:
+ self.handleKey(KEY_RIGHT)
+ self.handleKey(key)
+ return
+ else:
+ self._value[self.marked_block] = newvalue
if len(str(self._value[self.marked_block])) >= self.block_len[self.marked_block]:
self.handleKey(KEY_RIGHT)