def __init__(self, session):
		Screen.__init__(self, session)
		InfoBarTunerStatePlugins.__init__(self)
		self.skinName = [ "InfoBarTunerStateConfiguration", "Setup" ]
		
		# Summary
		from Plugins.Extensions.InfoBarTunerState.plugin import NAME, VERSION
		self.setup_title = NAME + " " + _("Configuration") + " " + VERSION
		self.onChangedEntry = []
		
		# Buttons
		self["key_red"] = StaticText(_("Cancel"))
		self["key_green"] = StaticText(_("OK"))
		
		# Define Actions
		self["custom_actions"] = ActionMap(["SetupActions", "ChannelSelectBaseActions"],
		{
			"cancel":				self.keyCancel,
			"save":					self.keySave,
			"nextBouquet":	self.pageUp,
			"prevBouquet":	self.pageDown,
		}, -2) # higher priority
		
		# Initialize Configuration part
		self.list = []
		self.config = []
		self.defineConfig()
		ConfigListScreen.__init__(self, self.list, session = session, on_change = self.changed)
		self.createConfig()
		
		# Trigger change
		self.changed()

		self.onLayoutFinish.append(self.layoutFinished)
	def __init__(self, session):
		Screen.__init__(self, session)
		InfoBarTunerStatePlugins.__init__(self)
		self.skinName = [ "InfoBarTunerStateConfiguration", "Setup" ]
		
		# Summary
		from Plugins.Extensions.InfoBarTunerState.plugin import NAME, VERSION
		self.setup_title = NAME + " " + _("Configuration") + " " + VERSION
		self.onChangedEntry = []
		
		# Buttons
		self["key_red"] = StaticText(_("Cancel"))
		self["key_green"] = StaticText(_("OK"))
		
		# Define Actions
		self["custom_actions"] = ActionMap(["SetupActions", "ChannelSelectBaseActions"],
		{
			"cancel":				self.keyCancel,
			"save":					self.keySave,
			"nextBouquet":	self.pageUp,
			"prevBouquet":	self.pageDown,
		}, -2) # higher priority
		
		# Initialize Configuration part
		self.list = []
		self.config = []
		self.defineConfig()
		ConfigListScreen.__init__(self, self.list, session = session, on_change = self.changed)
		self.createConfig()
		
		# Trigger change
		self.changed()

		self.onLayoutFinish.append(self.layoutFinished)
    def __init__(self, session):
        InfoBarTunerStatePlugins.__init__(self)
        InfoBarHandler.__init__(self)
        self.session = session

        self._shown = False

        self.info = None

        #TODO showTimer is used to avoid several recalls
        #TODO find another solution, e.g.
        # if IBTS is already shown, skip
        self.showTimer = eTimer()
        try:
            self.showTimer_conn = self.showTimer.timeout.connect(
                self.timerShow)
        except:
            self.showTimer.callback.append(self.timerShow)

        self.hideTimer = eTimer()
        try:
            self.hideTimer_conn = self.hideTimer.timeout.connect(
                self.timerHide)
        except:
            self.hideTimer.callback.append(self.timerHide)

        self.updateTimer = eTimer()
        try:
            self.updateTimer_conn = self.updateTimer.timeout.connect(
                self.timerUpdate)
        except:
            self.updateTimer.callback.append(self.timerUpdate)

        self.entries = defaultdict(list)

        # Get Initial Skin parameters
        win = self.session.instantiateDialog(TunerStateBase)
        self.positionx = win.instance.position().x()
        self.positiony = win.instance.position().y()
        self.height = win.instance.size().height()
        self.spacing = win.spacing
        self.padding = win.padding

        desktopSize = getDesktop(0).size()
        self.desktopwidth = desktopSize.width()

        #TODO is it possible to create copies of a screen to avoid recreation
        win.close()

        # Bind recording and streaming events
        self.appendEvents()
	def __init__(self, session):
		InfoBarTunerStatePlugins.__init__(self)
		InfoBarHandler.__init__(self)
		self.session = session
		
		self._shown = False
		
		self.info = None
		
		#TODO showTimer is used to avoid several recalls
		#TODO find another solution, e.g.
		# if IBTS is already shown, skip
		self.showTimer = eTimer()
		try:
			self.showTimer_conn = self.showTimer.timeout.connect(self.timerShow)
		except:
			self.showTimer.callback.append(self.timerShow)
		
		self.hideTimer = eTimer()
		try:
			self.hideTimer_conn = self.hideTimer.timeout.connect(self.timerHide)
		except:
			self.hideTimer.callback.append(self.timerHide)
		
		self.updateTimer = eTimer()
		try:
			self.updateTimer_conn = self.updateTimer.timeout.connect(self.timerUpdate)
		except:
			self.updateTimer.callback.append(self.timerUpdate)
		
		self.entries = defaultdict(list)
		
		# Get Initial Skin parameters
		win = self.session.instantiateDialog(TunerStateBase)
		self.positionx = win.instance.position().x()
		self.positiony = win.instance.position().y()
		self.height = win.instance.size().height()
		self.spacing = win.spacing
		self.padding = win.padding
		
		desktopSize = getDesktop(0).size()
		self.desktopwidth = desktopSize.width()
		
		#TODO is it possible to create copies of a screen to avoid recreation
		win.close()
		
		# Bind recording and streaming events
		self.appendEvents()