from Screen import Screen
from Components.ActionMap import ActionMap, HelpableActionMap
from Components.ActionMap import NumberActionMap
-from Components.Label import Label
+from Components.Label import *
from Components.config import configfile, configsequencearg
from Components.config import config, configElement, ConfigSubsection, configSequence
from ChannelSelection import ChannelSelection
from Screens.Dish import Dish
from Screens.Standby import Standby
from Screens.EventView import EventView
+from Components.Harddisk import harddiskmanager
from Tools import Notifications
class InfoBarDish:
def __init__(self):
self.dishDialog = self.session.instantiateDialog(Dish)
- self.onShown.append(self.dishDialog.instance.show)
+ self.onShown.append(self.dishDialog.instance.hide)
class InfoBarShowHide:
""" InfoBar show/hide control, accepts toggleShow and hide actions, might start
self.recording = None
self["BlinkingPoint"] = BlinkingPixmapConditional()
- self.onShown.append(self["BlinkingPoint"].hidePixmap)
+ self.onShown.append(self["BlinkingPoint"].hideWidget)
self["BlinkingPoint"].setConnect(self.session.nav.RecordTimer.isRecording)
def stopCurrentRecording(self):
if n > 0:
self.session.open(AudioSelection, audio)
+from Screens.SubserviceSelection import SubserviceSelection
+
+class InfoBarSubserviceSelection:
+ def __init__(self):
+ self["SubserviceSelectionAction"] = HelpableActionMap(self, "InfobarSubserviceSelectionActions",
+ {
+ "subserviceSelection": (self.subserviceSelection, "Subservice list..."),
+ })
+
+ def subserviceSelection(self):
+ service = self.session.nav.getCurrentService()
+ subservices = service.subServices()
+ n = subservices.getNumberOfSubservices()
+ if n > 0:
+ self.session.openWithCallback(self.subserviceSelected, SubserviceSelection, subservices)
+
+ def subserviceSelected(self, service):
+ if not service is None:
+ self.session.nav.playService(service)
+
class InfoBarAdditionalInfo:
def __init__(self):
self["DolbyActive"] = PixmapConditional()
# TODO: get the info from c++ somehow
self["FormatActive"].setConnect(lambda: False)
- self["ButtonRed"] = Pixmap()
- self["ButtonRedText"] = Label(_("Record"))
- self["ButtonGreen"] = Pixmap()
- self["ButtonYellow"] = Pixmap()
- self["ButtonBlue"] = Pixmap()
+ self["ButtonRed"] = PixmapConditional(withTimer = False)
+ self["ButtonRed"].setConnect(lambda: harddiskmanager.HDDCount() > 0)
+ self.onShown.append(self["ButtonRed"].update)
+ self["ButtonRedText"] = LabelConditional(text = _("Record"), withTimer = False)
+ self["ButtonRedText"].setConnect(lambda: harddiskmanager.HDDCount() > 0)
+ self.onShown.append(self["ButtonRedText"].update)
+
+ self["ButtonGreen"] = PixmapConditional()
+ self["ButtonGreen"].setConnect(lambda: self.session.nav.getCurrentService().subServices().getNumberOfSubservices() > 0)
+ self["ButtonGreenText"] = LabelConditional(text = _("Subservices"))
+ self["ButtonGreenText"].setConnect(lambda: self.session.nav.getCurrentService().subServices().getNumberOfSubservices() > 0)
+
+ self["ButtonYellow"] = PixmapConditional()
+ self["ButtonYellow"].setConnect(lambda: False)
+
+ self["ButtonBlue"] = PixmapConditional()
+ self["ButtonBlue"].setConnect(lambda: False)
class InfoBarNotifications:
def __init__(self):