deliver service events only to last created class which is based on
[enigma2.git] / lib / python / Components / MovieList.py
index 8e4fc0439e27c5e496c6e445126013ed39838620..07dd1152f72d7ac5428fa142e7613860a38dcc55 100644 (file)
@@ -10,19 +10,19 @@ class MovieList(GUIComponent):
        SORT_ALPHANUMERIC = 1
        SORT_RECORDED = 2
 
-       LISTTYPE_ORIGINAL = 0
-       LISTTYPE_COMPACT_DESCRIPTION = 1
-       LISTTYPE_COMPACT = 2
-       LISTTYPE_MINIMAL = 3
+       LISTTYPE_ORIGINAL = 1
+       LISTTYPE_COMPACT_DESCRIPTION = 2
+       LISTTYPE_COMPACT = 3
+       LISTTYPE_MINIMAL = 4
 
-       HIDE_DESCRIPTION = 0
-       SHOW_DESCRIPTION = 1
+       HIDE_DESCRIPTION = 1
+       SHOW_DESCRIPTION = 2
 
-       def __init__(self, root, list_type, sort_type, descr_state):
+       def __init__(self, root, list_type=None, sort_type=None, descr_state=None):
                GUIComponent.__init__(self)
-               self.list_type = list_type
-               self.descr_state = descr_state
-               self.sort_type = sort_type
+               self.list_type = list_type or self.LISTTYPE_ORIGINAL
+               self.descr_state = descr_state or self.HIDE_DESCRIPTION
+               self.sort_type = sort_type or self.SORT_RECORDED
 
                self.l = eListboxPythonMultiContent()
                self.tags = set()
@@ -153,6 +153,10 @@ class MovieList(GUIComponent):
                instance.setContent(self.l)
                instance.selectionChanged.get().append(self.selectionChanged)
 
+       def preWidgetRemove(self, instance):
+               instance.setContent(None)
+               instance.selectionChanged.get().remove(self.selectionChanged)
+
        def reload(self, root = None, filter_tags = None):
                if root is not None:
                        self.load(root, filter_tags)