- self.instance won't be deleted but cleared - fix for VariableText
[enigma2.git] / components.py
index 93e4b07d9a76393875794fbacd2f538f06961d04..9513516dfb1e64ee7f03a55df2f16c8fd7cad678 100644 (file)
@@ -116,7 +116,7 @@ class VariableText:
        
        def GUIdelete(self):
                self.removeWidget(self.instance)
        
        def GUIdelete(self):
                self.removeWidget(self.instance)
-               del self.instance
+               self.instance = None
        
        def removeWidget(self, instance):
                pass
        
        def removeWidget(self, instance):
                pass
@@ -142,7 +142,7 @@ class VariableValue:
        
        def GUIdelete(self):
                self.removeWidget(self.instance)
        
        def GUIdelete(self):
                self.removeWidget(self.instance)
-               del self.instance
+               self.instance = None
        
        def removeWidget(self, instance):
                pass
        
        def removeWidget(self, instance):
                pass
@@ -273,7 +273,7 @@ class MenuList(HTMLComponent, GUIComponent):
        
        def GUIdelete(self):
                self.instance.setContent(None)
        
        def GUIdelete(self):
                self.instance.setContent(None)
-               del self.instance
+               self.instance = None
 
 
 #  temp stuff :)
 
 
 #  temp stuff :)
@@ -329,7 +329,7 @@ class ConfigList(HTMLComponent, GUIComponent):
        
        def GUIdelete(self):
                self.instance.setContent(None)
        
        def GUIdelete(self):
                self.instance.setContent(None)
-               del self.instance
+               self.instance = None
 
 class ServiceList(HTMLComponent, GUIComponent):
        def __init__(self):
 
 class ServiceList(HTMLComponent, GUIComponent):
        def __init__(self):
@@ -352,7 +352,7 @@ class ServiceList(HTMLComponent, GUIComponent):
                self.instance.setContent(self.l)
        
        def GUIdelete(self):
                self.instance.setContent(self.l)
        
        def GUIdelete(self):
-               del self.instance
+               self.instance = None
 
        def setRoot(self, root):
                self.l.setRoot(root)
 
        def setRoot(self, root):
                self.l.setRoot(root)
@@ -378,12 +378,12 @@ class ServiceScan:
        Error = 4
        
        Errors = { 
        Error = 4
        
        Errors = { 
+               0: "error starting scanning",
                1: "error while scanning",
                2: "no resource manager",
                3: "no channel list"
                }
                1: "error while scanning",
                2: "no resource manager",
                3: "no channel list"
                }
-               
-               
+       
        def scanStatusChanged(self):
                if self.state == self.Running:
                        self.progressbar.setValue(self.scan.getProgress())
        def scanStatusChanged(self):
                if self.state == self.Running:
                        self.progressbar.setValue(self.scan.getProgress())
@@ -414,8 +414,10 @@ class ServiceScan:
        def execBegin(self):
                self.scan.statusChanged.get().append(self.scanStatusChanged)
                self.state = self.Running
        def execBegin(self):
                self.scan.statusChanged.get().append(self.scanStatusChanged)
                self.state = self.Running
-               if self.scan.start():
+               err = self.scan.start()
+               if err:
                        self.state = self.Error
                        self.state = self.Error
+                       self.errorcode = 0
 
                self.scanStatusChanged()
        
 
                self.scanStatusChanged()
        
@@ -446,9 +448,9 @@ class ActionMap:
        
        def action(self, context, action):
                print " ".join(("action -> ", context, action))
        
        def action(self, context, action):
                print " ".join(("action -> ", context, action))
-               try:
+               if self.actions.has_key(action):
                        self.actions[action]()
                        self.actions[action]()
-               except KeyError:
+               else:
                        print "unknown action %s/%s! typo in keymap?" % (context, action)
 
 class PerServiceDisplay(GUIComponent, VariableText):
                        print "unknown action %s/%s! typo in keymap?" % (context, action)
 
 class PerServiceDisplay(GUIComponent, VariableText):
@@ -498,11 +500,11 @@ class EventInfo(PerServiceDisplay):
                if not self.navcore.getCurrentService(service):
                        if not service.info(info):
                                ev = eServiceEventPtr()
                if not self.navcore.getCurrentService(service):
                        if not service.info(info):
                                ev = eServiceEventPtr()
-                               info.getEvent(ev, self.now_or_next & 1)
-                               if self.now_or_next & 2:
-                                       self.setText("%d min" % (ev.m_duration / 60))
-                               else:
-                                       self.setText(ev.m_event_name)
+                               if info.getEvent(ev, self.now_or_next & 1) == 0:
+                                       if self.now_or_next & 2:
+                                               self.setText("%d min" % (ev.m_duration / 60))
+                                       else:
+                                               self.setText(ev.m_event_name)
                print "new event info in EventInfo! yeah!"
 
        def stopEvent(self):
                print "new event info in EventInfo! yeah!"
 
        def stopEvent(self):
@@ -527,3 +529,4 @@ class ServiceName(PerServiceDisplay):
        
        def stopEvent(self):
                        self.setText("");
        
        def stopEvent(self):
                        self.setText("");
+