from Components.ServiceEventTracker import ServiceEventTracker
from Components.Sources.CurrentService import CurrentService
from Components.Sources.EventInfo import EventInfo
+from Components.Sources.RadioText import RadioText
from Components.Sources.FrontendStatus import FrontendStatus
from Components.Sources.Boolean import Boolean
from Components.Sources.Clock import Clock
from Components.TimerList import TimerEntryComponent
-from Components.config import config, configElement, ConfigSubsection, configSequence, configElementBoolean, configSelection, configElement_nonSave, getConfigListEntry
-from Components.config import configfile, configsequencearg
+from Components.config import config, ConfigBoolean
from EpgSelection import EPGSelection
from Plugins.Plugin import PluginDescriptor
import os
import bisect
-from Components.config import config, currentConfigSelectionElement
-
# hack alert!
from Menu import MainMenu, mdom
def startHideTimer(self):
if self.__state == self.STATE_SHOWN and not self.__locked:
- self.hideTimer.start(5000, True)
+ idx = config.usage.infobar_timeout.index
+ if idx:
+ self.hideTimer.start(idx*1000, True)
def __onHide(self):
self.__state = self.STATE_HIDDEN
# print "You pressed number " + str(number)
if number == 0:
self.servicelist.recallPrevService()
- self.doShow()
+ if config.usage.show_infobar_on_zap.value:
+ self.doShow()
else:
self.session.openWithCallback(self.numberEntered, NumberZap, number)
self.servicelist.setCurrentSelection(service) #select the service in servicelist
self.servicelist.zap()
-config.misc.initialchannelselection = configElementBoolean("config.misc.initialchannelselection", 1);
+config.misc.initialchannelselection = ConfigBoolean(default = True)
class InfoBarChannelSelection:
""" ChannelSelection - handles the channelSelection dialog and the initial
#instantiate forever
self.servicelist = self.session.instantiateDialog(ChannelSelection)
- if config.misc.initialchannelselection.value == 1:
+ if config.misc.initialchannelselection.value:
self.onShown.append(self.firstRun)
self["ChannelSelectActions"] = HelpableActionMap(self, "InfobarChannelSelection",
def firstRun(self):
self.onShown.remove(self.firstRun)
- config.misc.initialchannelselection.value = 0
+ config.misc.initialchannelselection.value = False
config.misc.initialchannelselection.save()
self.switchChannelDown()
if prev:
prev = prev.toString()
while True:
- if currentConfigSelectionElement(config.usage.quickzap_bouquet_change) == "yes":
+ if config.usage.quickzap_bouquet_change.value:
if self.servicelist.atBegin():
self.servicelist.prevBouquet()
self.servicelist.moveUp()
else:
self.servicelist.moveUp()
self.servicelist.zap()
- self.doShow()
+ if config.usage.show_infobar_on_zap.value:
+ self.doShow()
def zapDown(self):
if self.servicelist.inBouquet():
if prev:
prev = prev.toString()
while True:
- if currentConfigSelectionElement(config.usage.quickzap_bouquet_change) == "yes" and self.servicelist.atEnd():
+ if config.usage.quickzap_bouquet_change.value and self.servicelist.atEnd():
self.servicelist.nextBouquet()
else:
self.servicelist.moveDown()
else:
self.servicelist.moveDown()
self.servicelist.zap()
- self.doShow()
+ if config.usage.show_infobar_on_zap.value:
+ self.doShow()
class InfoBarMenu:
""" Handles a menu action, to open the (main) menu """
self["Event_Now"] = EventInfo(self.session.nav, EventInfo.NOW)
self["Event_Next"] = EventInfo(self.session.nav, EventInfo.NEXT)
+class InfoBarRadioText:
+ """provides radio (RDS) text info display"""
+ def __init__(self):
+ self["RadioText"] = RadioText(self.session.nav)
+
class InfoBarServiceName:
def __init__(self):
self["CurrentService"] = CurrentService(self.session.nav)
def checkSkipShowHideLock(self):
wantlock = self.seekstate != self.SEEK_STATE_PLAY
- if self.lockedBecauseOfSkipping and not wantlock:
- self.unlockShow()
- self.lockedBecauseOfSkipping = False
+ if config.usage.show_infobar_on_zap.value:
+ if self.lockedBecauseOfSkipping and not wantlock:
+ self.unlockShow()
+ self.lockedBecauseOfSkipping = False
- if wantlock and not self.lockedBecauseOfSkipping:
- self.lockShow()
- self.lockedBecauseOfSkipping = True
+ if wantlock and not self.lockedBecauseOfSkipping:
+ self.lockShow()
+ self.lockedBecauseOfSkipping = True
def __evEOF(self):
if self.seekstate != self.SEEK_STATE_PLAY:
if seekable is not None:
seekable.seekRelative(1, diff)
+ def seekAbsolute(self, abs):
+ seekable = self.getSeek()
+ if seekable is not None:
+ seekable.seekTo(abs)
+
from Screens.PVRState import PVRState, TimeshiftState
class InfoBarPVRState:
print "enable timeshift"
ts = self.getTimeshift()
if ts is None:
-# self.session.open(MessageBox, _("Timeshift not possible!"), MessageBox.TYPE_ERROR)
-# print "no ts interface"
+ self.session.open(MessageBox, _("Timeshift not possible!"), MessageBox.TYPE_ERROR)
+ print "no ts interface"
return 0;
if self.timeshift_enabled:
return "Enable Subtitles: " + name
def enableSubtitle(self, subtitles):
- print "enable subitles", subtitles
- self.selected_subtitle = subtitles
- self.subtitles_enabled = True
-
+ if self.selected_subtitle != subtitles:
+ print "enable subtitles", subtitles
+ self.subtitles_enabled = False
+ self.selected_subtitle = subtitles
+ self.subtitles_enabled = True
+
def subtitlesEnabled(self):
return self.subtitles_enabled
class InfoBarPiP:
def __init__(self):
self.session.pipshown = False
-
- self.addExtension((self.getShowHideName, self.showPiP, self.available), "1")
- self.addExtension((self.getMoveName, self.movePiP, self.pipShown), "2")
- self.addExtension((self.getSwapName, self.swapPiP, self.pipShown), "3")
+ self.addExtension((self.getShowHideName, self.showPiP, self.available), "blue")
+ self.addExtension((self.getMoveName, self.movePiP, self.pipShown), "green")
+ self.addExtension((self.getSwapName, self.swapPiP, self.pipShown), "yellow")
def available(self):
return True
self.audioChannel.selectChannel(mode[1])
del self.audioChannel
-
class InfoBarSubserviceSelection:
def __init__(self):
self["SubserviceSelectionAction"] = HelpableActionMap(self, "InfobarSubserviceSelectionActions",
if newservice.valid():
del subservices
del service
+ if config.usage.show_infobar_on_zap.value:
+ self.doShow()
self.session.nav.playService(newservice)
def subserviceSelection(self):
self.session.open(SubservicesQuickzap, service[2])
else:
self["SubserviceQuickzapAction"].setEnabled(True)
+ if config.usage.show_infobar_on_zap.value:
+ self.doShow()
self.session.nav.playService(service[1])
class InfoBarAdditionalInfo:
class InfoBarSummary(Screen):
skin = """
<screen position="0,0" size="132,64">
- <widget source="CurrentTime" render="Label" position="50,46" size="82,18" font="Regular;16" >
+ <widget source="CurrentTime" render="Label" position="56,46" size="82,18" font="Regular;16" >
<convert type="ClockToText">WithSeconds</convert>
</widget>
- <widget source="CurrentService" render="Label" position="0,4" size="132,42" font="Regular;18" >
+ <widget source="CurrentService" render="Label" position="6,4" size="120,42" font="Regular;18" >
<convert type="ServiceName">Name</convert>
</widget>
</screen>"""
def setSubtitlesEnable(self, enable=True):
subtitle = self.getCurrentServiceSubtitle()
- if enable and self.__selected_subtitle:
+ if enable and self.__selected_subtitle is not None:
if subtitle and not self.__subtitles_enabled:
subtitle.enableSubtitles(self.subtitle_window.instance, self.selected_subtitle)
self.subtitle_window.show()