diff options
| author | Andreas Frisch <andreas.frisch@multimedia-labs.de> | 2008-10-16 11:27:18 +0000 |
|---|---|---|
| committer | Andreas Frisch <andreas.frisch@multimedia-labs.de> | 2008-10-16 11:27:18 +0000 |
| commit | 46e10a85307eab4c82203a666561f5a733381b7e (patch) | |
| tree | 3aa126cf1037ee7019f383942cf6f320db9df44e /lib/python/Components | |
| parent | 0545184a318fd908eb922872605bcc6e10dcfed0 (diff) | |
| download | enigma2-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.py | 15 |
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) |
