instant record: fix detection if already running
[enigma2.git] / lib / python / Screens / InfoBarGenerics.py
index 6c15c707e3b6eec69c78491ed2692367f7d28ba4..671c7aa2db3307703a29c9364b6871d382f90af5 100644 (file)
@@ -6,7 +6,7 @@ from Components.config import configfile, configsequencearg
 from Components.config import config, configElement, ConfigSubsection, configSequence
 from ChannelSelection import ChannelSelection
 
-from Components.BlinkingPoint import BlinkingPoint
+from Components.BlinkingPoint import BlinkingPointConditional
 from Components.ServiceName import ServiceName
 from Components.EventInfo import EventInfo
 
@@ -393,13 +393,13 @@ class InfoBarInstantRecord:
                        })
                self.recording = None
                
-               self["BlinkingPoint"] = BlinkingPoint()
+               self["BlinkingPoint"] = BlinkingPointConditional("/usr/share/enigma2/record.png")
                self.onShown.append(self["BlinkingPoint"].hidePoint)
 
        def stopCurrentRecording(self): 
                self.session.nav.RecordTimer.removeEntry(self.recording)
                self.recording = None
-               self["BlinkingPoint"].stopBlinking()
+               #self["BlinkingPoint"].stopBlinking()
        
        def startInstantRecording(self):
                serviceref = self.session.nav.getCurrentlyPlayingServiceReference()
@@ -418,13 +418,20 @@ class InfoBarInstantRecord:
                self.recording = self.session.nav.recordWithTimer(time.time(), time.time() + 3600, serviceref, epg, "instant record")
                self.recording.dontSave = True
                
-               self["BlinkingPoint"].startBlinking()
+               self["BlinkingPoint"].setConnect(lambda: self.recording.isRunning())
+               #self["BlinkingPoint"].startBlinking()
+
+       def isInstantRecordRunning(self):
+               if self.recording != None:
+                       if self.recording.isRunning():
+                               return True
+               return False
 
        def recordQuestionCallback(self, answer):
                if answer == False:
                        return
                
-               if self.recording != None:
+               if self.isInstantRecordRunning():
                        self.stopCurrentRecording()
                else:
                        self.startInstantRecording()
@@ -436,7 +443,7 @@ class InfoBarInstantRecord:
                        self.session.open(MessageBox, "No HDD found!")
                        return
        
-               if self.recording != None:
+               if self.isInstantRecordRunning():
                        self.session.openWithCallback(self.recordQuestionCallback, MessageBox, _("Do you want to stop the current\n(instant) recording?"))
                else:
                        self.session.openWithCallback(self.recordQuestionCallback, MessageBox, _("Start recording?"))