from Screens.MessageBox import MessageBox
from Screens.MinuteInput import MinuteInput
from Screens.TimerSelection import TimerSelection
+from Screens.PictureInPicture import PictureInPicture
from ServiceReference import ServiceReference
from Tools import Notifications
self["snr"] = Label()
self["agc"] = Label()
self["ber"] = Label()
- self["snr_percent"] = TunerInfo(TunerInfo.SNR_PERCENTAGE, self.session.nav.getCurrentService)
- self["agc_percent"] = TunerInfo(TunerInfo.AGC_PERCENTAGE, self.session.nav.getCurrentService)
- self["ber_count"] = TunerInfo(TunerInfo.BER_VALUE, self.session.nav.getCurrentService)
- self["snr_progress"] = TunerInfo(TunerInfo.SNR_BAR, self.session.nav.getCurrentService)
- self["agc_progress"] = TunerInfo(TunerInfo.AGC_BAR, self.session.nav.getCurrentService)
- self["ber_progress"] = TunerInfo(TunerInfo.BER_BAR, self.session.nav.getCurrentService)
+ self["snr_percent"] = TunerInfo(TunerInfo.SNR_PERCENTAGE, servicefkt = self.session.nav.getCurrentService)
+ self["agc_percent"] = TunerInfo(TunerInfo.AGC_PERCENTAGE, servicefkt = self.session.nav.getCurrentService)
+ self["ber_count"] = TunerInfo(TunerInfo.BER_VALUE, servicefkt = self.session.nav.getCurrentService)
+ self["snr_progress"] = TunerInfo(TunerInfo.SNR_BAR, servicefkt = self.session.nav.getCurrentService)
+ self["agc_progress"] = TunerInfo(TunerInfo.AGC_BAR, servicefkt = self.session.nav.getCurrentService)
+ self["ber_progress"] = TunerInfo(TunerInfo.BER_BAR, servicefkt = self.session.nav.getCurrentService)
self.timer = eTimer()
self.timer.timeout.get().append(self.updateTunerInfo)
self.timer.start(1000)
def getSeek(self):
service = self.session.nav.getCurrentService()
if service is None:
- return False
+ return None
seek = service.seek()
self.timeshift_enabled = False
self.__seekableStatusChanged()
+class InfoBarExtensions:
+ def __init__(self):
+ self.pipshown = False
+
+ self["InstantExtensionsActions"] = HelpableActionMap(self, "InfobarExtensions",
+ {
+ "extensions": (self.extensions, "Extensions..."),
+ })
+
+ def extensions(self):
+ list = []
+ if self.pipshown == False:
+ list.append((_("Activate Picture in Picture"), "pipon"))
+ elif self.pipshown == True:
+ list.append((_("Disable Picture in Picture"), "pipoff"))
+ self.session.openWithCallback(self.extensionCallback, ChoiceBox, title=_("Please choose an extension..."), list = list)
+
+ def extensionCallback(self, answer):
+ if answer is not None:
+ if answer[1] == "pipon":
+ self.session.nav.stopService()
+ self.pip = self.session.instantiateDialog(PictureInPicture)
+ #self.pip.show()
+
+ newservice = self.session.nav.getCurrentlyPlayingServiceReference()
+ self.pipservice = eServiceCenter.getInstance().play(newservice)
+ if self.pipservice and not self.pipservice.setTarget(1):
+ self.pipservice.start()
+ self.pipshown = True
+ else:
+ self.pipservice = None
+ del self.pip
+
+ elif answer[1] == "pipoff":
+ #self.pip.hide()
+ self.pipservice = None
+ del self.pip
+ self.pipshown = False
+
from RecordTimer import parseEvent
class InfoBarInstantRecord:
return False
def recordQuestionCallback(self, answer):
+ print "pre:\n", self.recording
+
if answer is None or answer[1] == "no":
return
list = []
- for x in self.recording:
- if x.dontSave:
+ recording = self.recording[:]
+ for x in recording:
+ if not x in self.session.nav.RecordTimer.timer_list:
+ self.recording.remove(x)
+ elif x.dontSave and x.isRunning():
list.append(TimerEntryComponent(x, False))
if answer[1] == "changeduration":
self.selectedEntry = len(self.recording)
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)
+
+ print "after:\n", self.recording
def changeDuration(self, entry):
if entry is not None: