X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/25978791bdc8abdf339026a74036fa17ebb19053..e43adfc2866809c466093e0e4634b59ecfee0bb4:/lib/python/Screens/InfoBarGenerics.py diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 1f49c5db..34a4821e 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -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.Input import Input 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 @@ -1052,13 +1054,25 @@ class InfoBarInstantRecord: 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 + 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) + 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)) @@ -1067,10 +1081,10 @@ class InfoBarInstantRecord: 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, 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 @@ -1361,8 +1375,8 @@ class InfoBarCueSheetSupport: class InfoBarSummary(Screen): skin = """ - - + + """ def __init__(self, session, parent):