X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FServiceInfo.py;h=7c0f0f08139ae29e9c7265eac6bc79711b3d038c;hp=61885dfa0c4a829e7d3338302012bbc83910a4e3;hb=HEAD;hpb=3e200eb52433b55acacf1072b33b6a60c8952ff3 diff --git a/lib/python/Screens/ServiceInfo.py b/lib/python/Screens/ServiceInfo.py index 61885df..7c0f0f0 100644 --- a/lib/python/Screens/ServiceInfo.py +++ b/lib/python/Screens/ServiceInfo.py @@ -6,6 +6,8 @@ from Components.Label import Label from ServiceReference import ServiceReference from enigma import eListboxPythonMultiContent, eListbox, gFont, iServiceInformation, eServiceCenter from Tools.Transponder import ConvertToHumanReadable +from Components.NimManager import nimmanager +import skin RT_HALIGN_LEFT = 0 @@ -30,11 +32,14 @@ def ServiceInfoListEntry(a, b, valueType=TYPE_TEXT, param=4): else: b = str(b) + x, y, w, h = skin.parameters.get("ServiceInfo",(0, 0, 200, 30)) + xa, ya, wa, ha = skin.parameters.get("ServiceInfoLeft",(0, 0, 200, 25)) + xb, yb, wb, hb = skin.parameters.get("ServiceInfoRight",(220, 0, 350, 25)) return [ #PyObject *type, *px, *py, *pwidth, *pheight, *pfnt, *pstring, *pflags; - (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 30, 0, RT_HALIGN_LEFT, ""), - (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 25, 0, RT_HALIGN_LEFT, a), - (eListboxPythonMultiContent.TYPE_TEXT, 220, 0, 350, 25, 0, RT_HALIGN_LEFT, b) + (eListboxPythonMultiContent.TYPE_TEXT, x, y, w, h, 0, RT_HALIGN_LEFT, ""), + (eListboxPythonMultiContent.TYPE_TEXT, xa, ya, wa, ha, 0, RT_HALIGN_LEFT, a), + (eListboxPythonMultiContent.TYPE_TEXT, xb, yb, wb, hb, 0, RT_HALIGN_LEFT, b) ] class ServiceInfoList(HTMLComponent, GUIComponent): @@ -43,8 +48,9 @@ class ServiceInfoList(HTMLComponent, GUIComponent): self.l = eListboxPythonMultiContent() self.list = source self.l.setList(self.list) - self.l.setFont(0, gFont("Regular", 23)) - self.l.setItemHeight(25) + font = skin.fonts.get("ServiceInfo", ("Regular", 23, 25)) + self.l.setFont(0, gFont(font[0], font[1])) + self.l.setItemHeight(font[2]) GUI_WIDGET = eListbox @@ -148,7 +154,11 @@ class ServiceInfo(Screen): "constellation" : _("Constellation"), "transmission_mode" : _("Transmission mode"), "guard_interval" : _("Guard interval"), - "hierarchy_information" : _("Hierarchy info") } + "hierarchy_information" : _("Hierarchy info"), + "plp_id" : _("PLP ID"), + "is_id" : _("Input Stream ID"), + "pls_mode" : _("PLS Mode"), + "pls_code" : _("PLS Code")} Labels = [(conv[i], tp_info[i], TYPE_VALUE_DEC) for i in tp_info.keys()] self.fillList(Labels) @@ -182,7 +192,7 @@ class ServiceInfo(Screen): if frontendDataOrg and len(frontendDataOrg): frontendData = ConvertToHumanReadable(frontendDataOrg) if frontendDataOrg["tuner_type"] == "DVB-S": - return ((_("NIM"), ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT), + data = ((_("NIM"), chr(ord('A')+int(frontendData["tuner_number"])), TYPE_TEXT), (_("Type"), frontendData["tuner_type"], TYPE_TEXT), (_("System"), frontendData["system"], TYPE_TEXT), (_("Modulation"), frontendData["modulation"], TYPE_TEXT), @@ -194,8 +204,13 @@ class ServiceInfo(Screen): (_("FEC"), frontendData["fec_inner"], TYPE_TEXT), (_("Pilot"), frontendData.get("pilot", None), TYPE_TEXT), (_("Roll-off"), frontendData.get("rolloff", None), TYPE_TEXT)) + if nimmanager.isSupportMultistream(int(frontendData["tuner_number"])): + data += ((_("Input Stream ID"), frontendData.get("is_id", 0), TYPE_VALUE_DEC), + (_("PLS Mode"), frontendData.get("pls_mode", None), TYPE_TEXT), + (_("PLS Code"), frontendData.get("pls_code", 0), TYPE_VALUE_DEC)) + return data elif frontendDataOrg["tuner_type"] == "DVB-C": - return ((_("NIM"), ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT), + return ((_("NIM"), chr(ord('A')+int(frontendData["tuner_number"])), TYPE_TEXT), (_("Type"), frontendData["tuner_type"], TYPE_TEXT), (_("Modulation"), frontendData["modulation"], TYPE_TEXT), (_("Frequency"), frontendData["frequency"], TYPE_VALUE_DEC), @@ -203,8 +218,9 @@ class ServiceInfo(Screen): (_("Inversion"), frontendData["inversion"], TYPE_TEXT), (_("FEC"), frontendData["fec_inner"], TYPE_TEXT)) elif frontendDataOrg["tuner_type"] == "DVB-T": - return ((_("NIM"), ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT), + data = ((_("NIM"), chr(ord('A')+int(frontendData["tuner_number"])), TYPE_TEXT), (_("Type"), frontendData["tuner_type"], TYPE_TEXT), + (_("System"), frontendData["system"], TYPE_TEXT), (_("Frequency"), frontendData["frequency"], TYPE_VALUE_DEC), (_("Inversion"), frontendData["inversion"], TYPE_TEXT), (_("Bandwidth"), frontendData["bandwidth"], TYPE_VALUE_DEC), @@ -214,6 +230,10 @@ class ServiceInfo(Screen): (_("Transmission mode"), frontendData["transmission_mode"], TYPE_TEXT), (_("Guard interval"), frontendData["guard_interval"], TYPE_TEXT), (_("Hierarchy info"), frontendData["hierarchy_information"], TYPE_TEXT)) + if frontendData.has_key("plp_id"): + data += ((_("PLP ID"), frontendData["plp_id"], TYPE_VALUE_DEC), ) + return data + return [ ] def fillList(self, Labels):