Support turbo2.
[vuplus_dvbapp] / lib / python / Screens / About.py
index 5bd5f27..c1104da 100644 (file)
@@ -1,35 +1,74 @@
 from Screen import Screen
 from Components.ActionMap import ActionMap
-from Components.Label import Label
-from Components.Harddisk import Harddisk
+from Components.Sources.StaticText import StaticText
+from Components.Harddisk import harddiskmanager
 from Components.NimManager import nimmanager
-from Components.MenuList import MenuList
 from Components.About import about
 
+from Tools.DreamboxHardware import getFPVersion
+
 class About(Screen):
        def __init__(self, session):
                Screen.__init__(self, session)
-               
-               self["text"] = Label("Enigma v" + about.getVersionString())
+               self["NetworkHeader"] = StaticText(_("Network:"))
+               self["Network"] = StaticText(about.getNetworkInfo())
+
+               self["EnigmaVersion"] = StaticText("Version: " + about.getEnigmaVersionString())
+               self["ImageVersion"] = StaticText("Image: " + about.getImageVersionString())
+
+               self["TunerHeader"] = StaticText(_("Detected NIMs:"))
+
+               fp_version = getFPVersion()
+               if fp_version is None:
+                       fp_version = ""
+               else:
+                       fp_version = _("Frontprocessor version: %d") % fp_version
+
+               self["FPVersion"] = StaticText(fp_version)
 
-               self["tuner"] = Label(_("Detected NIMs:"))
-               
                nims = nimmanager.nimList()
-               count = 0
-               for i in nims:
-                       self["tuner" + str(count)] = Label(i[0])
-                       count += 1
-
-               self["hdd"] = Label(_("Detected HDD:"))
-               hdd = Harddisk(0)
-               if hdd.model() != "":
-                       self["hddA"] = Label(_("%s (%s, %d MB free)") % (hdd.model(), hdd.capacity(),hdd.free()))
-               else:                   
-                       self["hddA"] = Label(_("none"))
-
-               self["actions"] = ActionMap(["SetupActions"], 
+               if len(nims) <= 4 :
+                       for count in (0, 1, 2, 3):
+                               if count < len(nims):
+                                       self["Tuner" + str(count)] = StaticText(nims[count])
+                               else:
+                                       self["Tuner" + str(count)] = StaticText("")
+               else:
+                       desc_list = []
+                       count = 0
+                       cur_idx = -1
+                       while count < len(nims):
+                               data = nims[count].split(":")
+                               idx = data[0].strip('Tuner').strip()
+                               desc = data[1].strip()
+                               if desc_list and desc_list[cur_idx]['desc'] == desc:
+                                       desc_list[cur_idx]['end'] = idx
+                               else:
+                                       desc_list.append({'desc' : desc, 'start' : idx, 'end' : idx})
+                                       cur_idx += 1
+                               count += 1
+
+                       for count in (0, 1, 2, 3):
+                               if count < len(desc_list):
+                                       if desc_list[count]['start'] == desc_list[count]['end']:
+                                               text = "Tuner %s: %s" % (desc_list[count]['start'], desc_list[count]['desc'])
+                                       else:
+                                               text = "Tuner %s-%s: %s" % (desc_list[count]['start'], desc_list[count]['end'], desc_list[count]['desc'])
+                               else:
+                                       text = ""
+
+                               self["Tuner" + str(count)] = StaticText(text)
+
+               self["HDDHeader"] = StaticText(_("Detected HDD:"))
+               hddlist = harddiskmanager.HDDList()
+               hdd = hddlist and hddlist[0][1] or None
+               if hdd is not None and hdd.model() != "":
+                       self["hddA"] = StaticText(_("%s\n(%s, %d MB free)") % (hdd.model(), hdd.capacity(),hdd.free()))
+               else:
+                       self["hddA"] = StaticText(_("none"))
+
+               self["actions"] = ActionMap(["SetupActions", "ColorActions"], 
                        {
                                "cancel": self.close,
                                "ok": self.close,
                        })
-       
\ No newline at end of file