X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FConfigList.py;h=1341ac5046e8db1b406f3a0675045687e2f5f0d7;hb=911466bd5e018b80dfbbd5e12c4923e89a980792;hp=3114231eb337fe54bcde9dfe1eec738c6f93a150;hpb=63b2d1d7db3851d440d0d0a7995b1f1ee19d7945;p=vuplus_dvbapp diff --git a/lib/python/Components/ConfigList.py b/lib/python/Components/ConfigList.py index 3114231..1341ac5 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,41 @@ 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 preWidgetRemove(self, instance): + instance.selectionChanged.get().remove(self.selectionChanged) + + def setList(self, list): + self.__list = list + self.l.setList(self.__list) + + def getList(self): + return self.__list + list = property(getList, setList)