git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Path and template fixes
[enigma2.git]
/
lib
/
python
/
Components
/
Converter
/
StringList.py
diff --git
a/lib/python/Components/Converter/StringList.py
b/lib/python/Components/Converter/StringList.py
index 31dbcd3c9ae1b21cb54dfd4ec5fec7339b7593dd..c9488db02216b7ca7df30f3d60e8ac3f5ac80e22 100644
(file)
--- a/
lib/python/Components/Converter/StringList.py
+++ b/
lib/python/Components/Converter/StringList.py
@@
-1,33
+1,38
@@
from Converter import Converter
from enigma import eListboxPythonStringContent
from Converter import Converter
from enigma import eListboxPythonStringContent
-
+from Components.Element import cached
class StringList(Converter):
"""Turns a simple python list into a list which can be used in a listbox."""
class StringList(Converter):
"""Turns a simple python list into a list which can be used in a listbox."""
- def __init__(self, *args, **kwargs):
- Converter.__init__(self)
+ def __init__(self, type):
+ Converter.__init__(self, type)
+ self.content = None
+
+ def changed(self, what):
+ if not self.content:
+ self.content = eListboxPythonStringContent()
- def changed(self):
- self.content = eListboxPythonStringContent()
if self.source:
self.content.setList(self.source.list)
if self.source:
self.content.setList(self.source.list)
- self.downstream_elements.changed()
+ self.downstream_elements.changed(
what
)
def selectionChanged(self, index):
def selectionChanged(self, index):
- self.
upstream_elements
.selectionChanged(index)
+ self.
source
.selectionChanged(index)
# update all non-master targets
for x in self.downstream_elements:
if x is not self.master:
x.index = index
# update all non-master targets
for x in self.downstream_elements:
if x is not self.master:
x.index = index
+ @cached
def getCurrent(self):
def getCurrent(self):
- if self.source is None:
+ if self.source is None
or self.index is None or self.index >= len(self.source.list)
:
return None
return self.source.list[self.index]
current = property(getCurrent)
# pass through: getIndex / setIndex to master
return None
return self.source.list[self.index]
current = property(getCurrent)
# pass through: getIndex / setIndex to master
+ @cached
def getIndex(self):
if self.master is None:
return None
def getIndex(self):
if self.master is None:
return None
@@
-36,5
+41,5
@@
class StringList(Converter):
def setIndex(self, index):
if self.master is not None:
self.master.index = index
def setIndex(self, index):
if self.master is not None:
self.master.index = index
-
+
index = property(getIndex, setIndex)
index = property(getIndex, setIndex)