X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FConfigList.py;h=0181ef02873e38a51ba7288387802515427ca420;hp=3114231eb337fe54bcde9dfe1eec738c6f93a150;hb=c0d78035b8c76e719bf7c05ff3812eb5a6ce9fe3;hpb=63b2d1d7db3851d440d0d0a7995b1f1ee19d7945 diff --git a/lib/python/Components/ConfigList.py b/lib/python/Components/ConfigList.py index 3114231..0181ef0 100644 --- a/lib/python/Components/ConfigList.py +++ b/lib/python/Components/ConfigList.py @@ -4,13 +4,13 @@ from config import * from enigma import eListbox, eListboxPythonConfigContent -class ConfigList(HTMLComponent, GUIComponent): +class ConfigList(HTMLComponent, GUIComponent, object): def __init__(self, list): GUIComponent.__init__(self) self.l = eListboxPythonConfigContent() - self.l.setList(list) self.l.setSeperation(100) self.list = list + self.onSelectionChanged = [ ] def toggle(self): selection = self.getCurrent() @@ -19,20 +19,38 @@ class ConfigList(HTMLComponent, GUIComponent): def handleKey(self, key): selection = self.getCurrent() - selection[1].handleKey(key) - self.invalidateCurrent() + if selection[1].parent.enabled: + selection[1].handleKey(key) + self.invalidateCurrent() def getCurrent(self): return self.l.getCurrentSelection() def invalidateCurrent(self): self.l.invalidateEntry(self.l.getCurrentSelectionIndex()) + + def invalidate(self, entry): + i = 0 + for x in self.__list: + if (entry.getConfigPath() == x[1].parent.getConfigPath()): + self.l.invalidateEntry(i) + i += 1 + + GUI_WIDGET = eListbox - def GUIcreate(self, parent): - self.instance = eListbox(parent) - self.instance.setContent(self.l) + def selectionChanged(self): + for x in self.onSelectionChanged: + x() + + def postWidgetCreate(self, instance): + instance.setContent(self.l) + instance.selectionChanged.get().append(self.selectionChanged) - def GUIdelete(self): - self.instance.setContent(None) - self.instance = None + def setList(self, list): + self.__list = list + self.l.setList(self.__list) + + def getList(self): + return self.__list + list = property(getList, setList)