From: Andreas Monzner Date: Fri, 2 Nov 2007 01:54:54 +0000 (+0000) Subject: split Misc Converter/Source into RecordState and TunerInfo Source / X-Git-Tag: 2.6.0~1770 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/7579ae7495f580bfa86f4216ef15811f54588c5a split Misc Converter/Source into RecordState and TunerInfo Source / Converter add deprecation Warnings for some old InfoBar Components (Nim_A, NimB, NimA_Active, NimB_Active, BlinkingPoint) --- diff --git a/data/skin.xml b/data/skin.xml index b86160f0..8e6445fa 100644 --- a/data/skin.xml +++ b/data/skin.xml @@ -115,27 +115,23 @@ Default - NUMBER 0,0 - - + NUMBER 1,1 - - - TunerUseMask + + TunerUseMask 1 - - - TunerUseMask + + TunerUseMask 2 @@ -166,9 +162,7 @@ Progress - - - RecordRunning + Blink diff --git a/lib/python/Components/Converter/Makefile.am b/lib/python/Components/Converter/Makefile.am index 8519d0cd..73b689b3 100644 --- a/lib/python/Components/Converter/Makefile.am +++ b/lib/python/Components/Converter/Makefile.am @@ -5,4 +5,4 @@ install_PYTHON = \ Poll.py RemainingToText.py StringList.py ServiceName.py FrontendInfo.py ServiceInfo.py \ ConditionalShowHide.py ServicePosition.py ValueRange.py RdsInfo.py Streaming.py \ StaticMultiList.py ServiceTime.py MovieInfo.py MenuEntryCompare.py StringListSelection.py \ - ValueBitTest.py Misc.py + ValueBitTest.py TunerInfo.py diff --git a/lib/python/Components/Converter/Misc.py b/lib/python/Components/Converter/Misc.py deleted file mode 100644 index e69de29b..00000000 diff --git a/lib/python/Components/Converter/TunerInfo.py b/lib/python/Components/Converter/TunerInfo.py new file mode 100644 index 00000000..2ed71e34 --- /dev/null +++ b/lib/python/Components/Converter/TunerInfo.py @@ -0,0 +1,34 @@ +from Components.Sources.TunerInfo import TunerInfo as TunerInfoSource +from Components.Converter.Converter import Converter +from Components.Element import cached + +class TunerInfo(Converter, object): + def __init__(self, type): + Converter.__init__(self, type) + self.type = { + "TunerUseMask": TunerInfoSource.FE_USE_MASK + }[type] + + @cached + def getBoolean(self): + if self.type == TunerInfoSource.FE_USE_MASK: + return self.source.getTunerUseMask() and True or False + boolean = property(getBoolean) + + @cached + def getText(self): + if self.type == TunerInfoSource.FE_USE_MASK: + return str(self.source.getTunerUseMask()) + return "" + text = property(getText) + + @cached + def getValue(self): + if self.type == TunerInfoSource.FE_USE_MASK: + return self.source.getTunerUseMask() + return -1 + value = property(getValue) + + def changed(self, what): + if what[0] != self.CHANGED_SPECIFIC or what[1] == self.type: + Converter.changed(self, what) diff --git a/lib/python/Components/GUIComponent.py b/lib/python/Components/GUIComponent.py index deb8b34a..a3b1b9e1 100644 --- a/lib/python/Components/GUIComponent.py +++ b/lib/python/Components/GUIComponent.py @@ -11,6 +11,7 @@ class GUIComponent(object): self.__visible = 0 self.visible = 1 self.skinAttributes = None + self.deprecationInfo = None def execBegin(self): pass diff --git a/lib/python/Components/GUISkin.py b/lib/python/Components/GUISkin.py index 39499c77..ce4d397d 100644 --- a/lib/python/Components/GUISkin.py +++ b/lib/python/Components/GUISkin.py @@ -20,7 +20,12 @@ class GUISkin: val = self[key] if isinstance(val, GUIComponent): val.GUIcreate(parent) - if not val.applySkin(desktop): + depr = val.deprecationInfo + if val.applySkin(desktop): + if depr: + print "WARNING: OBSOLETE COMPONENT '%s' USED IN SKIN. USE '%s' INSTEAD!" % (key, depr[0]) + print "OBSOLETE COMPONENT WILL BE REMOVED %s, PLEASE UPDATE!" % (depr[1]) + elif not depr: print "warning, skin is missing element", key, "in", self for w in self.additionalWidgets: diff --git a/lib/python/Components/Sources/Makefile.am b/lib/python/Components/Sources/Makefile.am index b6f25554..5ac636c8 100644 --- a/lib/python/Components/Sources/Makefile.am +++ b/lib/python/Components/Sources/Makefile.am @@ -3,5 +3,5 @@ installdir = $(LIBDIR)/enigma2/python/Components/Sources install_PYTHON = \ __init__.py Clock.py EventInfo.py Source.py List.py CurrentService.py \ FrontendStatus.py Boolean.py Config.py ServiceList.py RdsDecoder.py StreamService.py \ - StaticText.py CanvasSource.py ServiceEvent.py Event.py FrontendInfo.py \ - Misc.py + StaticText.py CanvasSource.py ServiceEvent.py Event.py FrontendInfo.py TunerInfo.py \ + RecordState.py diff --git a/lib/python/Components/Sources/Misc.py b/lib/python/Components/Sources/Misc.py deleted file mode 100644 index e69de29b..00000000 diff --git a/lib/python/Components/Sources/RecordState.py b/lib/python/Components/Sources/RecordState.py new file mode 100644 index 00000000..328f921b --- /dev/null +++ b/lib/python/Components/Sources/RecordState.py @@ -0,0 +1,32 @@ +from Source import Source +from Components.Element import cached +from enigma import iRecordableService + +class RecordState(Source): + def __init__(self, session): + Source.__init__(self) + self.records_running = 0 + self.session = session + session.nav.record_event.append(self.gotRecordEvent) + + def gotRecordEvent(self, service, event): + prev_records = self.records_running + if event in (iRecordableService.evEnd, iRecordableService.evStart): + recs = self.session.nav.getRecordings() + self.records_running = len(recs) + if self.records_running != prev_records: + self.changed((self.CHANGED_ALL,)) + + def destroy(self): + session.nav.record_event.remove(self.gotRecordEvent) + Source.destroy(self) + + @cached + def getBoolean(self): + return self.records_running and True or False + boolean = property(getBoolean) + + @cached + def getValue(self): + return self.records_running + value = property(getValue) diff --git a/lib/python/Components/Sources/TunerInfo.py b/lib/python/Components/Sources/TunerInfo.py new file mode 100644 index 00000000..7ac34915 --- /dev/null +++ b/lib/python/Components/Sources/TunerInfo.py @@ -0,0 +1,29 @@ +from Source import Source +from enigma import eDVBResourceManager + +class TunerInfo(Source): + FE_USE_MASK = 0 + + def __init__(self): + Source.__init__(self) + self.tuner_use_mask = 0 + res_mgr = eDVBResourceManager.getInstance() + if res_mgr: + res_mgr.frontendUseMaskChanged.get().append(self.tunerUseMaskChanged) + else: + print "no res_mgr!!" + + def tunerUseMaskChanged(self, mask): + self.tuner_use_mask = mask + self.changed((self.CHANGED_SPECIFIC, self.FE_USE_MASK)) + + def getTunerUseMask(self): + return self.tuner_use_mask + + def destroy(self): + res_mgr = eDVBResourceManager.getInstance() + if res_mgr: + res_mgr.frontendUseMaskChanged.get().remove(self.tunerUseMaskChanged) + else: + print "no res_mgr!!" + Source.destroy(self) diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index f0a5267a..806a7a0c 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -1318,6 +1318,9 @@ class InfoBarInstantRecord: #### DEPRECATED CODE #### self["BlinkingPoint"] = BlinkingPixmapConditional() self["BlinkingPoint"].setConnect(self.session.nav.RecordTimer.isRecording) + self["BlinkingPoint"].deprecationInfo = ( + "session.RecordState source, Pixmap renderer and " + "ConditionalShowHide/Blink Converter", "2008-02") ######################### def stopCurrentRecording(self, entry = -1): @@ -1663,9 +1666,21 @@ class InfoBarAdditionalInfo: ######### DEPRECATED CODE ########## self["NimA"] = Pixmap() + self["NimA"].deprecationInfo = ( + "session.TunerInfo source, Pixmap renderer, TunerInfo/UseMask Converter" + ", ValueBitTest(1) Converter and ConditionalShowHide Converter", "2008-02") self["NimB"] = Pixmap() + self["NimB"].deprecationInfo = ( + "session.TunerInfo source, Pixmap renderer, TunerInfo/UseMask Converter" + ", ValueBitTest(2) Converter and ConditionalShowHide Converter", "2008-02") self["NimA_Active"] = Pixmap() + self["NimA_Active"].deprecationInfo = ( + "session.FrontendInfo source, Pixmap renderer, FrontendInfo/NUMBER Converter" + ", ValueRange(1,1) Converter and ConditionalShowHide Converter", "2008-02") self["NimB_Active"] = Pixmap() + self["NimB_Active"].deprecationInfo = ( + "session.FrontendInfo source, Pixmap renderer, FrontendInfo/NUMBER Converter" + ", ValueRange(1,1) Converter and ConditionalShowHide Converter", "2008-02") res_mgr = eDVBResourceManager.getInstance() if res_mgr: @@ -1915,8 +1930,7 @@ class InfoBarSummary(Screen): WithSeconds - - RecordRunning + Blink @@ -1948,8 +1962,7 @@ class InfoBarMoviePlayerSummary(Screen): WithSeconds - - RecordRunning + Blink diff --git a/lib/python/Screens/SessionGlobals.py b/lib/python/Screens/SessionGlobals.py index df884ba9..3eadf332 100644 --- a/lib/python/Screens/SessionGlobals.py +++ b/lib/python/Screens/SessionGlobals.py @@ -5,7 +5,8 @@ from Components.Sources.EventInfo import EventInfo from Components.Sources.FrontendStatus import FrontendStatus from Components.Sources.FrontendInfo import FrontendInfo from Components.Sources.Source import Source -from Components.Sources.Misc import Misc +from Components.Sources.TunerInfo import TunerInfo +from Components.Sources.RecordState import RecordState class SessionGlobals(Screen): def __init__(self, session): @@ -16,7 +17,8 @@ class SessionGlobals(Screen): self["FrontendStatus"] = FrontendStatus(service_source = session.nav.getCurrentService) self["FrontendInfo"] = FrontendInfo(service_source = session.nav.getCurrentService) self["VideoPicture"] = Source() - self["GlobalInfo"] = Misc(session) + self["TunerInfo"] = TunerInfo() + self["RecordState"] = RecordState(session) session.nav.event.append(self.serviceEvent) self.service_state = 0 diff --git a/lib/python/Screens/Standby.py b/lib/python/Screens/Standby.py index 86b7ca03..ab3e413a 100644 --- a/lib/python/Screens/Standby.py +++ b/lib/python/Screens/Standby.py @@ -75,8 +75,7 @@ class StandbySummary(Screen): - - RecordRunning + Blink """