entering recording duration for instant records is now possible
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Thu, 2 Mar 2006 02:54:17 +0000 (02:54 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Thu, 2 Mar 2006 02:54:17 +0000 (02:54 +0000)
lib/python/Screens/InfoBarGenerics.py
lib/python/Screens/InputBox.py

index 1f49c5db7b073ed9fa52a07956d8753ce028cfbe..0ef08d4313e5b5eb757b817c5e241d673a91dc7c 100644 (file)
@@ -12,12 +12,14 @@ from Components.BlinkingPixmap import BlinkingPixmapConditional
 from Components.ServiceName import ServiceName
 from Components.EventInfo import EventInfo, EventInfoProgress
 from Components.Clock import Clock
 from Components.ServiceName import ServiceName
 from Components.EventInfo import EventInfo, EventInfoProgress
 from Components.Clock import Clock
+from Components.Input import Input
 
 from ServiceReference import ServiceReference
 from EpgSelection import EPGSelection
 
 from Screens.MessageBox import MessageBox
 from Screens.ChoiceBox import ChoiceBox
 
 from ServiceReference import ServiceReference
 from EpgSelection import EPGSelection
 
 from Screens.MessageBox import MessageBox
 from Screens.ChoiceBox import ChoiceBox
+from Screens.InputBox import InputBox
 from Screens.Dish import Dish
 from Screens.Standby import Standby
 from Screens.EventView import EventViewEPGSelect, EventViewSimple
 from Screens.Dish import Dish
 from Screens.Standby import Standby
 from Screens.EventView import EventViewEPGSelect, EventViewSimple
@@ -1052,13 +1054,25 @@ class InfoBarInstantRecord:
                        return
                
                if self.isInstantRecordRunning():
                        return
                
                if self.isInstantRecordRunning():
-                       self.stopCurrentRecording()
+                       if answer[1] == "manualduration":
+                               self.session.openWithCallback(self.inputCallback, InputBox, title=_("How many minutes do you want to record?"), text="5", maxSize=False, type=Input.NUMBER)                             
+                       else:
+                               self.stopCurrentRecording()
                else:
                        limitEvent = False
                        if answer[1] == "event":
                                limitEvent = True
                else:
                        limitEvent = False
                        if answer[1] == "event":
                                limitEvent = True
+                       if answer[1] == "manualduration":
+                               self.session.openWithCallback(self.inputCallback, InputBox, title=_("How many minutes do you want to record?"), text="5", maxSize=False, type=Input.NUMBER)
                        self.startInstantRecording(limitEvent = limitEvent)
 
                        self.startInstantRecording(limitEvent = limitEvent)
 
+       def inputCallback(self, value):
+               if value is not None:
+                       print "stopping recording after", int(value), "minutes."
+                       if self.recording is not None:
+                               self.recording.end = time.time() + 60 * int(value)
+                               self.session.nav.RecordTimer.timeChanged(self.recording)
+
        def instantRecord(self):
                try:
                        stat = os.stat(resolveFilename(SCOPE_HDD))
        def instantRecord(self):
                try:
                        stat = os.stat(resolveFilename(SCOPE_HDD))
@@ -1067,10 +1081,10 @@ class InfoBarInstantRecord:
                        return
        
                if self.isInstantRecordRunning():
                        return
        
                if self.isInstantRecordRunning():
-                       self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox, title=_("Do you want to stop the current\n(instant) recording?"), list=[(_("yes"), "yes"), (_("no"), "no")])
+                       self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox, title=_("A recording is currently running.\nWhat do you want to do?"), list=[(_("stop recording"), "yes"), (_("enter recording duration"), "manualduration"), (_("do nothing"), "no")])
 #                      self.session.openWithCallback(self.recordQuestionCallback, MessageBox, _("Do you want to stop the current\n(instant) recording?"))
                else:
 #                      self.session.openWithCallback(self.recordQuestionCallback, MessageBox, _("Do you want to stop the current\n(instant) recording?"))
                else:
-                       self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox, title=_("Start recording?"), list=[(_("record indefinitely"), "indefinitely"), (_("stop after current event"), "event"), (_("don't record"), "no")])
+                       self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox, title=_("Start recording?"), list=[(_("record indefinitely"), "indefinitely"), (_("stop after current event"), "event"), (_("enter recording duration"), "manualduration"),(_("don't record"), "no")])
                        #self.session.openWithCallback(self.recordQuestionCallback, MessageBox, _("Start recording?"))
 
 from Screens.AudioSelection import AudioSelection
                        #self.session.openWithCallback(self.recordQuestionCallback, MessageBox, _("Start recording?"))
 
 from Screens.AudioSelection import AudioSelection
index 6771a517d70aa9471f0db440b8a46cd295e5c0ac..57745ca75bddb62b1cd03582596a7ff7e70a4fef 100644 (file)
@@ -18,7 +18,7 @@ class InputBox(Screen):
                self["actions"] = NumberActionMap(["WizardActions", "InputActions"], 
                {
                        "ok": self.go,
                self["actions"] = NumberActionMap(["WizardActions", "InputActions"], 
                {
                        "ok": self.go,
-                       "back": self.close,
+                       "back": self.cancel,
                        "left": self.keyLeft,
                        "right": self.keyRight,
                        "1": self.keyNumberGlobal,
                        "left": self.keyLeft,
                        "right": self.keyRight,
                        "1": self.keyNumberGlobal,