from Screen import Screen
from Components.ActionMap import ActionMap
-from Components.Label import Label
+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["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("Enigma: " + about.getEnigmaVersionString())
+ self["ImageVersion"] = StaticText("Image: " + about.getImageVersionString())
- self["hdd"] = Label("Detected HDD:")
- self["hddA"] = Label(" not found")
+ 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)
+
+ nims = nimmanager.nimList()
+ 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:"))
+ 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,
+ "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,
"ok": self.close,
})
-
\ No newline at end of file