use new box depending rcs in HelpMenu (not yet 100% correct, needs
[enigma2.git] / lib / python / Screens / About.py
index bed0275902eb64ee68e138561175d56a5d871ffa..e184512b8ca5ca847b432971039c28fb56e79023 100644 (file)
@@ -1,9 +1,8 @@
 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
@@ -11,31 +10,73 @@ from Tools.DreamboxHardware import getFPVersion
 class About(Screen):
        def __init__(self, session):
                Screen.__init__(self, session)
-               
-               self["text"] = Label("Enigma v" + about.getVersionString())
 
-               self["tuner"] = Label(_("Detected NIMs:"))
+               self["EnigmaVersion"] = StaticText("Enigma: " + 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"] = Label(fp_version)
-               
+
+               self["FPVersion"] = StaticText(fp_version)
+
                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\n(%s, %d MB free)") % (hdd.model(), hdd.capacity(),hdd.free()))
-               else:                   
-                       self["hddA"] = Label(_("none"))
+               for count in range(4):
+                       if count < len(nims):
+                               self["Tuner" + str(count)] = StaticText(nims[count])
+                       else:
+                               self["Tuner" + str(count)] = StaticText("")
+
+               self["HDDHeader"] = StaticText(_("Detected HDD:"))
+               hddlist = harddiskmanager.HDDList()
+               hdd = len(hddlist) > 0 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,
+                               "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"], 
                        {