Support turbo2.
[vuplus_dvbapp] / lib / python / Screens / About.py
index 6ed8293..c1104da 100644 (file)
@@ -1,25 +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.About import about
 
+from Tools.DreamboxHardware import getFPVersion
 
 class About(Screen):
        def __init__(self, session):
                Screen.__init__(self, session)
-               
-               self["text"] = Label("Enigma v2.0a")
+               self["NetworkHeader"] = StaticText(_("Network:"))
+               self["Network"] = StaticText(about.getNetworkInfo())
 
-               self["tuner"] = Label("Detected NIMs:")
-               self["tunerA"] = Label("   Tuner A: Fujitsu QST (DVB-S)")
-               self["tunerB"] = Label("   Tuner B: Fujitsu QST (DVB-S)")
+               self["EnigmaVersion"] = StaticText("Version: " + about.getEnigmaVersionString())
+               self["ImageVersion"] = StaticText("Image: " + about.getImageVersionString())
 
-               self["hdd"] = Label("Detected HDD:")
-               self["hddA"] = Label(Harddisk(0).model())
+               self["TunerHeader"] = StaticText(_("Detected NIMs:"))
 
-               self["actions"] = ActionMap(["SetupActions"], 
+               fp_version = getFPVersion()
+               if fp_version is None:
+                       fp_version = ""
+               else:
+                       fp_version = _("Frontprocessor version: %d") % fp_version
+
+               self["FPVersion"] = StaticText(fp_version)
+
+               nims = nimmanager.nimList()
+               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