fixes bug #291
[enigma2.git] / lib / python / Screens / About.py
index 03fbd1061fb420ebc0b013772fe1a225e6d7f74e..6cf0f7b4558fe445cf9107950efe304c02196c63 100644 (file)
@@ -1,8 +1,7 @@
 from Screen import Screen
 from Components.ActionMap import ActionMap
 from Components.Sources.StaticText import StaticText
-from Components.Sources.Source import ObsoleteSource
-from Components.Harddisk import Harddisk
+from Components.Harddisk import harddiskmanager
 from Components.NimManager import nimmanager
 from Components.About import about
 
@@ -26,19 +25,59 @@ class About(Screen):
                self["FPVersion"] = StaticText(fp_version)
 
                nims = nimmanager.nimList()
-               for count in range(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("")
 
                self["HDDHeader"] = StaticText(_("Detected HDD:"))
-               hdd = Harddisk(0)
-               if hdd.model() != "":
+               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:                   
+               else:
                        self["hddA"] = StaticText(_("none"))
 
+               self["actions"] = ActionMap(["SetupActions", "ColorActions"], 
+                       {
+                               "cancel": self.close,
+                               "ok": self.close,
+                               "green": self.showTranslationInfo
+                       })
+
+       def showTranslationInfo(self):
+               self.session.open(TranslationInfo)
+
+class TranslationInfo(Screen):
+       def __init__(self, session):
+               Screen.__init__(self, session)
+               # don't remove the string out of the _(), or it can't be "translated" anymore.
+
+               # TRANSLATORS: Add here whatever should be shown in the "translator" about screen, up to 6 lines (use \n for newline)
+               info = _("TRANSLATOR_INFO")
+
+               if info == "TRANSLATOR_INFO":
+                       info = "(N/A)"
+
+               infolines = _("").split("\n")
+               infomap = {}
+               for x in infolines:
+                       l = x.split(': ')
+                       if len(l) != 2:
+                               continue
+                       (type, value) = l
+                       infomap[type] = value
+               print infomap
+
+               self["TranslationInfo"] = StaticText(info)
+
+               translator_name = infomap.get("Language-Team", "none")
+               if translator_name == "none":
+                       translator_name = infomap.get("Last-Translator", "")
+
+               self["TranslatorName"] = StaticText(translator_name)
+
                self["actions"] = ActionMap(["SetupActions"], 
                        {
                                "cancel": self.close,