<widget name="list" position="00,45" size="560,364" scrollbarMode="showOnDemand" />
</screen>
<!-- Skin Selector -->
- <screen name="SkinSelector" position="60,138" size="600,320" title="Choose your Skin">
- <widget name="SkinList" position="10,10" size="275,300" scrollbarMode="showOnDemand" />
- <widget name="Preview" position="305,45" size="280,210" alphatest="on" />
+ <screen name="SkinSelector" position="center,center" size="600,400" title="Choose your Skin">
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" zPosition="1" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="2" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <ePixmap pixmap="skin_default/border_menu_300.png" position="5,50" zPosition="1" size="300,300" transparent="1" alphatest="on" />
+ <widget name="SkinList" position="10,60" size="290,260" scrollbarMode="showOnDemand" />
+ <widget name="Preview" position="310,50" size="280,210" alphatest="on"/>
+ <ePixmap pixmap="skin_default/div-h.png" position="20,360" zPosition="1" size="600,2" />
+ <widget source="introduction" render="Label" position="0,370" size="560,30" zPosition="10" font="Regular;21" halign="center" valign="center" backgroundColor="#25062748" transparent="1" />
</screen>
<!-- Sleeptimer edit -->
<screen name="SleepTimerEdit" position="110,215" size="500,200" title="Sleep Timer">
from config import config, ConfigSlider, ConfigSelection, ConfigYesNo, \
- ConfigEnableDisable, ConfigSubsection, ConfigBoolean, ConfigNumber
+ ConfigEnableDisable, ConfigSubsection, ConfigBoolean, ConfigNumber, ConfigNothing, NoSave
from enigma import eAVSwitch, getDesktop
from SystemInfo import SystemInfo
+from os import path as os_path
class AVSwitch:
def setInput(self, input):
if can_osd_alpha:
config.av.osd_alpha = ConfigSlider(default=255, limits=(0,255))
config.av.osd_alpha.addNotifier(setAlpha)
+
+ if os_path.exists("/proc/stb/vmpeg/0/pep_scaler_sharpness"):
+ def setScaler_sharpness(config):
+ myval = int(config.value)
+ try:
+ print "--> setting scaler_sharpness to: %0.8X" % myval
+ open("/proc/stb/vmpeg/0/pep_scaler_sharpness", "w").write("%0.8X" % myval)
+ open("/proc/stb/vmpeg/0/pep_apply", "w").write("1")
+ except IOError:
+ print "couldn't write pep_scaler_sharpness"
+
+ config.av.scaler_sharpness = ConfigSlider(default=13, limits=(0,26))
+ config.av.scaler_sharpness.addNotifier(setScaler_sharpness)
+ else:
+ config.av.scaler_sharpness = NoSave(ConfigNothing())
+
for x in self.playlist.list:
self.playlistIOInternal.addService(ServiceReference(x[0]))
if self.savePlaylistOnExit:
- self.playlistIOInternal.save(resolveFilename(SCOPE_CONFIG, "playlist.e2pls"))
+ try:
+ self.playlistIOInternal.save(resolveFilename(SCOPE_CONFIG, "playlist.e2pls"))
+ except IOError:
+ print "couldn't save playlist.e2pls"
if config.mediaplayer.saveDirOnExit.getValue():
config.mediaplayer.defaultDir.setValue(self.filelist.getCurrentDirectory())
config.mediaplayer.defaultDir.save()
from Components.config import config, getConfigListEntry, ConfigSubsection, ConfigText, ConfigSelection, ConfigYesNo,ConfigText
from Components.ConfigList import ConfigListScreen
from Components.ActionMap import ActionMap
-from Components.Label import Label
+from Components.Sources.StaticText import StaticText
from Components.Pixmap import Pixmap
from Screens.Screen import Screen
from Screens.VirtualKeyBoard import VirtualKeyBoard
config.plugins.crashlogautosubmit.attachemail = ConfigYesNo(default = False)
config.plugins.crashlogautosubmit.email = ConfigText(default = "myemail@home.com", fixed_size = False)
config.plugins.crashlogautosubmit.name = ConfigText(default = "Dreambox User", fixed_size = False)
-config.plugins.crashlogautosubmit.sendAnonCrashlog = ConfigYesNo(default = False)
+config.plugins.crashlogautosubmit.sendAnonCrashlog = ConfigYesNo(default = True)
config.plugins.crashlogautosubmit.addNetwork = ConfigYesNo(default = False)
config.plugins.crashlogautosubmit.addWlan = ConfigYesNo(default = False)
oldMailEntryValue = config.plugins.crashlogautosubmit.sendmail.value
skin = """
- <screen name="CrashlogAutoSubmitConfiguration" position="80,80" size="560,400" title="CrashlogAutoSubmit settings..." >
- <widget name="config" zPosition="2" position="5,5" size="550,360" scrollbarMode="showOnDemand" transparent="1" />
- <ePixmap pixmap="skin_default/div-h.png" position="0,300" zPosition="10" size="560,2" transparent="1" alphatest="on" />
- <widget name="status" position="10,300" zPosition="10" size="540,50" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap pixmap="skin_default/buttons/red.png" position="0,360" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="closetext" position="0,360" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap pixmap="skin_default/buttons/green.png" position="140,360" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="installtext" position="140,360" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <widget name="VKeyButton" pixmap="skin_default/buttons/button_yellow.png" position="285,370" zPosition="2" size="15,16" transparent="1" alphatest="on" />
- <widget name="VKeyIcon" pixmap="skin_default/vkey_icon.png" position="300,355" zPosition="10" size="60,48" transparent="1" alphatest="on" />
- <widget name="HelpWindow" position="175,250" zPosition="1" size="1,1" transparent="1" />
+ <screen name="CrashlogAutoSubmitConfiguration" position="center,center" size="560,440" title="CrashlogAutoSubmit settings" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget name="config" zPosition="2" position="5,50" size="550,300" scrollbarMode="showOnDemand" transparent="1" />
+ <ePixmap pixmap="skin_default/div-h.png" position="0,390" zPosition="10" size="560,2" transparent="1" alphatest="on" />
+ <widget source="status" render="Label" position="10,400" size="540,40" zPosition="10" font="Regular;20" halign="center" valign="center" backgroundColor="#25062748" transparent="1"/>
+ <widget name="VKeyIcon" pixmap="skin_default/buttons/key_text.png" position="10,420" zPosition="10" size="35,25" transparent="1" alphatest="on" />
+ <widget name="HelpWindow" pixmap="skin_default/vkey_icon.png" position="160,325" zPosition="1" size="1,1" transparent="1" alphatest="on" />
</screen>"""
def __init__(self, session):
"green": self.keySave,
}, -2)
- self["VirtualKB"] = ActionMap(["ColorActions" ],
+ self["VirtualKB"] = ActionMap(["VirtualKeyboardActions" ],
{
- "yellow": self.KeyYellow,
+ "showVirtualKeyboard": self.KeyText,
}, -1)
self.list = []
ConfigListScreen.__init__(self, self.list,session = self.session)
self.createSetup()
- self["VKeyButton"] = Pixmap()
+ self["key_red"] = StaticText(_("Close"))
+ self["key_green"] = StaticText(_("Save"))
+ self["status"] = StaticText()
self["VKeyIcon"] = Pixmap()
- self["closetext"] = Label(_("Close"))
- self["installtext"] = Label(_("Save"))
- self["HelpWindow"] = Label()
- self["status"] = Label()
+ self["HelpWindow"] = Pixmap()
- self["VKeyButton"].hide()
self["VKeyIcon"].hide()
self["VirtualKB"].setEnabled(False)
self.onShown.append(self.setWindowTitle)
ConfigListScreen.keyRight(self)
self.newConfig()
- def KeyYellow(self):
+ def KeyText(self):
if self["config"].getCurrent() == self.EmailEntry:
self.session.openWithCallback(self.EmailCallback, VirtualKeyBoard, title = (_("Please enter your email address here:")), text = config.plugins.crashlogautosubmit.email.value)
if self["config"].getCurrent() == self.NameEntry:
self.disableVKeyIcon()
def enableVKeyIcon(self):
- self["VKeyButton"].show()
self["VKeyIcon"].show()
self["VirtualKB"].setEnabled(True)
current[1].help_window.instance.move(ePoint(helpwindowpos[0],helpwindowpos[1]))
def disableVKeyIcon(self):
- self["VKeyButton"].hide()
self["VKeyIcon"].hide()
self["VirtualKB"].setEnabled(False)
def isValid(self):
l = self.l.getCurrentSelection()
- if l[0] == 0:
+ if not l or l[0] == 0:
return False
else:
return True
from Screens.MessageBox import MessageBox
from Components.ActionMap import NumberActionMap
from Components.Pixmap import Pixmap
+from Components.Sources.StaticText import StaticText
from Components.MenuList import MenuList
from Plugins.Plugin import PluginDescriptor
from Components.config import config
-
+from Tools.Directories import resolveFilename, SCOPE_PLUGINS
from os import path, walk
class SkinSelector(Screen):
# for i18n:
# _("Choose your Skin")
- skin = """
- <screen position="75,138" size="600,320" title="Choose your Skin" >
- <widget name="SkinList" position="10,10" size="275,300" scrollbarMode="showOnDemand" />
- <widget name="Preview" position="305,45" size="280,210" alphatest="on"/>
- </screen>
- """
-
skinlist = []
root = "/usr/share/enigma2/"
def __init__(self, session, args = None):
- self.skin = SkinSelector.skin
Screen.__init__(self, session)
self.skinlist = []
self.previewPath = ""
-
path.walk(self.root, self.find, "")
+ self["key_red"] = StaticText(_("Close"))
+ self["introduction"] = StaticText(_("Press OK to activate the selected skin."))
self.skinlist.sort()
self["SkinList"] = MenuList(self.skinlist)
self["Preview"] = Pixmap()
{
"ok": self.ok,
"back": self.close,
+ "red": self.close,
"up": self.up,
"down": self.down,
"left": self.left,
"right": self.right,
"info": self.info,
}, -1)
-
+
self.onLayoutFinish.append(self.layoutFinished)
def layoutFinished(self):
self.loadPreview()
def info(self):
- aboutbox = self.session.open(MessageBox,_("Enigma2 Skinselector v0.5 BETA\n\nIf you experience any problems please contact\nstephan@reichholf.net\n\n\xA9 2006 - Stephan Reichholf"), MessageBox.TYPE_INFO)
+ aboutbox = self.session.open(MessageBox,_("Enigma2 Skinselector\n\nIf you experience any problems please contact\nstephan@reichholf.net\n\n\xA9 2006 - Stephan Reichholf"), MessageBox.TYPE_INFO)
aboutbox.setTitle(_("About..."))
def find(self, arg, dirname, names):
pngpath = self.root+self["SkinList"].getCurrent()+"/prev.png"
if not path.exists(pngpath):
- # FIXME: don't use hardcoded path
- pngpath = "/usr/lib/enigma2/python/Plugins/SystemPlugins/SkinSelector/noprev.png"
+ pngpath = resolveFilename(SCOPE_PLUGINS, "SystemPlugins/SkinSelector/noprev.png")
if self.previewPath != pngpath:
self.previewPath = pngpath
def SkinSelSetup(menuid, **kwargs):
if menuid == "system":
- return [(_("Skin..."), SkinSelMain, "skin_selector", None)]
+ return [(_("Skin"), SkinSelMain, "skin_selector", None)]
else:
return []
from Components.ActionMap import ActionMap, NumberActionMap
from Components.Pixmap import Pixmap
from Components.Label import Label
+from Components.Sources.StaticText import StaticText
from Components.MenuList import MenuList
from Components.config import getConfigListEntry, configfile, ConfigSelection, ConfigSubsection, ConfigText, ConfigLocations
from Components.config import config
class BackupScreen(Screen, ConfigListScreen):
skin = """
- <screen position="135,144" size="350,310" title="Backup running..." >
+ <screen position="135,144" size="350,310" title="Backup is running" >
<widget name="config" position="10,10" size="330,250" transparent="1" scrollbarMode="showOnDemand" />
</screen>"""
self.setWindowTitle()
def setWindowTitle(self):
- self.setTitle(_("Backup running..."))
+ self.setTitle(_("Backup is running..."))
def doBackup(self):
try:
remove(self.newfilename)
rename(self.fullbackupfilename,self.newfilename)
if self.finished_cb:
- self.session.openWithCallback(self.finished_cb, Console, title = _("Backup running"), cmdlist = ["tar -czvf " + self.fullbackupfilename + " " + self.backupdirs],finishedCallback = self.backupFinishedCB,closeOnSuccess = True)
+ self.session.openWithCallback(self.finished_cb, Console, title = _("Backup is running..."), cmdlist = ["tar -czvf " + self.fullbackupfilename + " " + self.backupdirs],finishedCallback = self.backupFinishedCB,closeOnSuccess = True)
else:
- self.session.open(Console, title = _("Backup running"), cmdlist = ["tar -czvf " + self.fullbackupfilename + " " + self.backupdirs],finishedCallback = self.backupFinishedCB, closeOnSuccess = True)
+ self.session.open(Console, title = _("Backup is running..."), cmdlist = ["tar -czvf " + self.fullbackupfilename + " " + self.backupdirs],finishedCallback = self.backupFinishedCB, closeOnSuccess = True)
except OSError:
if self.finished_cb:
- self.session.openWithCallback(self.finished_cb, MessageBox, _("Sorry your backup destination is not writeable.\nPlease choose an other one."), MessageBox.TYPE_INFO)
+ self.session.openWithCallback(self.finished_cb, MessageBox, _("Sorry your backup destination is not writeable.\nPlease choose an other one."), MessageBox.TYPE_INFO, timeout = 10 )
else:
- self.session.openWithCallback(self.backupErrorCB,MessageBox, _("Sorry your backup destination is not writeable.\nPlease choose an other one."), MessageBox.TYPE_INFO)
+ self.session.openWithCallback(self.backupErrorCB,MessageBox, _("Sorry your backup destination is not writeable.\nPlease choose an other one."), MessageBox.TYPE_INFO, timeout = 10 )
def backupFinishedCB(self,retval = None):
self.close(True)
class BackupSelection(Screen):
skin = """
- <screen position="135,125" size="450,310" title="Select files/folders to backup...">
- <widget name="checkList" position="10,10" size="430,250" transparent="1" scrollbarMode="showOnDemand" />
- <ePixmap position="0,265" zPosition="1" size="140,40" pixmap="skin_default/buttons/red.png" transparent="1" alphatest="on" />
- <widget name="key_red" position="0,265" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap position="140,265" zPosition="1" size="140,40" pixmap="skin_default/buttons/green.png" transparent="1" alphatest="on" />
- <widget name="key_green" position="140,265" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap position="280,265" zPosition="1" size="140,40" pixmap="skin_default/buttons/yellow.png" transparent="1" alphatest="on" />
- <widget name="key_yellow" position="280,265" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- </screen>"""
+ <screen name="BackupSelection" position="center,center" size="560,400" title="Select files/folders to backup">
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget source="key_yellow" render="Label" position="280,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#a08500" transparent="1" />
+ <widget name="checkList" position="5,50" size="550,250" transparent="1" scrollbarMode="showOnDemand" />
+ </screen>"""
def __init__(self, session):
Screen.__init__(self, session)
- self["key_red"] = Label(_("Cancel"))
- self["key_green"] = Label(_("Save"))
- self["key_yellow"] = Label()
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Save"))
+ self["key_yellow"] = StaticText()
self.selectedFiles = config.plugins.configurationbackup.backupdirs.value
defaultDir = '/'
self.selectionChanged()
def setWindowTitle(self):
- self.setTitle(_("Select files/folders to backup..."))
+ self.setTitle(_("Select files/folders to backup"))
def selectionChanged(self):
current = self["checkList"].getCurrent()[0]
class RestoreMenu(Screen):
skin = """
- <screen position="135,144" size="450,300" title="Restore backups..." >
- <widget name="filelist" position="10,10" size="430,230" scrollbarMode="showOnDemand" />
- <ePixmap position="0,265" zPosition="1" size="140,40" pixmap="skin_default/buttons/red.png" transparent="1" alphatest="on" />
- <widget name="canceltext" position="0,265" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap position="140,265" zPosition="1" size="140,40" pixmap="skin_default/buttons/green.png" transparent="1" alphatest="on" />
- <widget name="restoretext" position="140,265" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap position="280,265" zPosition="1" size="140,40" pixmap="skin_default/buttons/yellow.png" transparent="1" alphatest="on" />
- <widget name="deletetext" position="280,265" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
+ <screen name="RestoreMenu" position="center,center" size="560,400" title="Restore backups" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget source="key_yellow" render="Label" position="280,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#a08500" transparent="1" />
+ <widget name="filelist" position="5,50" size="550,230" scrollbarMode="showOnDemand" />
</screen>"""
def __init__(self, session, plugin_path):
Screen.__init__(self, session)
self.skin_path = plugin_path
- self["canceltext"] = Label(_("Cancel"))
- self["restoretext"] = Label(_("Restore"))
- self["deletetext"] = Label(_("Delete"))
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Restore"))
+ self["key_yellow"] = StaticText(_("Delete"))
self.sel = []
self.val = []
self.setWindowTitle()
def setWindowTitle(self):
- self.setTitle(_("Restore backups..."))
+ self.setTitle(_("Restore backups"))
def fill_list(self):
class RestoreScreen(Screen, ConfigListScreen):
skin = """
- <screen position="135,144" size="350,310" title="Restore running..." >
+ <screen position="135,144" size="350,310" title="Restore is running..." >
<widget name="config" position="10,10" size="330,250" transparent="1" scrollbarMode="showOnDemand" />
</screen>"""
Screen.__init__(self, session)
self.session = session
self.runRestore = runRestore
- self["actions"] = ActionMap(["WizardActions", "DirectionActions"],
+ self["actions"] = ActionMap(["WizardActions", "DirectionActions"],
{
"ok": self.close,
"back": self.close,
self.setWindowTitle()
def setWindowTitle(self):
- self.setTitle(_("Restore running..."))
+ self.setTitle(_("Restore is running..."))
def doRestore(self):
+ if path.exists("/proc/stb/vmpeg/0/dst_width"):
+ restorecmdlist = ["tar -xzvf " + self.fullbackupfilename + " -C /", "echo 0 > /proc/stb/vmpeg/0/dst_height", "echo 0 > /proc/stb/vmpeg/0/dst_left", "echo 0 > /proc/stb/vmpeg/0/dst_top", "echo 0 > /proc/stb/vmpeg/0/dst_width", "killall -9 enigma2"]
+ else:
+ restorecmdlist = ["tar -xzvf " + self.fullbackupfilename + " -C /", "killall -9 enigma2"]
if self.finished_cb:
- self.session.openWithCallback(self.finished_cb, Console, title = _("Restore running"), cmdlist = ["tar -xzvf " + self.fullbackupfilename + " -C /", "killall -9 enigma2"])
+ self.session.openWithCallback(self.finished_cb, Console, title = _("Restore is running..."), cmdlist = restorecmdlist)
else:
- self.session.open(Console, title = _("Restore running"), cmdlist = ["tar -xzvf " + self.fullbackupfilename + " -C /", "killall -9 enigma2"])
+ self.session.open(Console, title = _("Restore is running..."), cmdlist = restorecmdlist)
def backupFinishedCB(self,retval = None):
self.close(True)
from Components.ActionMap import ActionMap, NumberActionMap
from Components.Input import Input
from Components.Ipkg import IpkgComponent
-from Components.Label import Label
+from Components.Sources.StaticText import StaticText
from Components.ScrollLabel import ScrollLabel
from Components.Pixmap import Pixmap
from Components.MenuList import MenuList
class UpdatePluginMenu(Screen):
skin = """
- <screen name="UpdatePluginMenu" position="80,130" size="560,330" title="Softwaremanager..." >
- <ePixmap pixmap="skin_default/border_menu_300.png" position="5,10" zPosition="1" size="300,300" transparent="1" alphatest="on" />
- <widget source="menu" render="Listbox" position="10,20" size="290,260" scrollbarMode="showOnDemand">
+ <screen name="UpdatePluginMenu" position="center,center" size="560,400" title="Software manager" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <ePixmap pixmap="skin_default/border_menu_300.png" position="5,50" zPosition="1" size="300,300" transparent="1" alphatest="on" />
+ <widget source="menu" render="Listbox" position="10,60" size="290,260" scrollbarMode="showOnDemand">
<convert type="TemplatedMultiContent">
{"template": [
MultiContentEntryText(pos = (2, 2), size = (290, 22), flags = RT_HALIGN_LEFT, text = 1), # index 0 is the MenuText,
}
</convert>
</widget>
- <widget source="menu" render="Listbox" position="310,10" size="240,300" scrollbarMode="showNever" selectionDisabled="1">
+ <widget source="menu" render="Listbox" position="310,50" size="240,300" scrollbarMode="showNever" selectionDisabled="1">
<convert type="TemplatedMultiContent">
{"template": [
MultiContentEntryText(pos = (2, 2), size = (240, 300), flags = RT_HALIGN_CENTER|RT_VALIGN_CENTER|RT_WRAP, text = 2), # index 2 is the Description,
self.list.append(("software-restore", _("Software restore"), _("\nRestore your Dreambox with a new firmware." ) + self.oktext))
self.list.append(("system-backup", _("Backup system settings"), _("\nBackup your Dreambox settings." ) + self.oktext))
self.list.append(("system-restore",_("Restore system settings"), _("\nRestore your Dreambox settings." ) + self.oktext))
- self.list.append(("ipkg-install", _("Install local IPKG"), _("\nScan for local packages and install them." ) + self.oktext))
+ self.list.append(("ipkg-install", _("Install local extension"), _("\nScan for local packages and install them." ) + self.oktext))
if config.usage.setup_level.index >= 2: # expert+
self.list.append(("advanced", _("Advanced Options"), _("\nAdvanced options and settings." ) + self.oktext))
elif self.menu == 1:
self.list.append(("ipkg-source",_("Choose upgrade source"), _("\nEdit the upgrade source address." ) + self.oktext))
self["menu"] = List(self.list)
-
+ self["key_red"] = StaticText(_("Close"))
+
self["shortcuts"] = ActionMap(["ShortcutActions", "WizardActions"],
{
"ok": self.go,
self.backupfile = getBackupFilename()
self.fullbackupfilename = self.backuppath + "/" + self.backupfile
self.onShown.append(self.setWindowTitle)
-
+
def layoutFinished(self):
idx = 0
self["menu"].index = idx
-
+
def setWindowTitle(self):
- self.setTitle(_("Software manager..."))
-
+ self.setTitle(_("Software manager"))
+
def go(self):
current = self["menu"].getCurrent()
if current:
elif (current == "system-restore"):
if os_path.exists(self.fullbackupfilename):
self.session.openWithCallback(self.startRestore, MessageBox, _("Are you sure you want to restore your Enigma2 backup?\nEnigma2 will restart after the restore"))
- else:
- self.session.open(MessageBox, _("Sorry no backups found!"), MessageBox.TYPE_INFO)
+ else:
+ self.session.open(MessageBox, _("Sorry no backups found!"), MessageBox.TYPE_INFO, timeout = 10)
elif (current == "ipkg-install"):
try:
from Plugins.Extensions.MediaScanner.plugin import main
main(self.session)
except:
- self.session.open(MessageBox, _("Sorry MediaScanner is not installed!"), MessageBox.TYPE_INFO)
+ self.session.open(MessageBox, _("Sorry MediaScanner is not installed!"), MessageBox.TYPE_INFO, timeout = 10)
elif (current == "advanced"):
self.session.open(UpdatePluginMenu, 1)
elif self.menu == 1:
config.plugins.configurationbackup.save()
config.save()
self.createBackupfolders()
-
+
def runUpgrade(self, result):
if result:
self.session.open(UpdatePlugin, self.skin_path)
if (os_path.exists(self.backuppath) == False):
makedirs(self.backuppath)
except OSError:
- self.session.open(MessageBox, _("Sorry, your backup destination is not writeable.\n\nPlease choose another one."), MessageBox.TYPE_INFO)
+ self.session.open(MessageBox, _("Sorry, your backup destination is not writeable.\n\nPlease choose another one."), MessageBox.TYPE_INFO, timeout = 10)
def backupDone(self,retval = None):
if retval is True:
- self.session.open(MessageBox, _("Backup done."), MessageBox.TYPE_INFO)
+ self.session.open(MessageBox, _("Backup done."), MessageBox.TYPE_INFO, timeout = 10)
else:
- self.session.open(MessageBox, _("Backup failed."), MessageBox.TYPE_INFO)
+ self.session.open(MessageBox, _("Backup failed."), MessageBox.TYPE_INFO, timeout = 10)
def startRestore(self, ret = False):
if (ret == True):
class IPKGMenu(Screen):
skin = """
- <screen name="IPKGMenu" position="135,144" size="450,320" title="Select IPKG source......" >
- <widget name="filelist" position="10,10" size="430,240" scrollbarMode="showOnDemand" />
- <ePixmap pixmap="skin_default/buttons/red.png" position="10,280" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="closetext" position="20,290" size="140,21" zPosition="10" font="Regular;21" transparent="1" />
- <ePixmap pixmap="skin_default/buttons/green.png" position="160,280" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="edittext" position="170,290" size="300,21" zPosition="10" font="Regular;21" transparent="1" />
+ <screen name="IPKGMenu" position="center,center" size="560,400" title="Select upgrade source to edit." >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget name="filelist" position="5,50" size="550,340" scrollbarMode="showOnDemand" />
</screen>"""
def __init__(self, session, plugin_path):
Screen.__init__(self, session)
self.skin_path = plugin_path
- self["closetext"] = Label(_("Close"))
- self["edittext"] = Label(_("Edit"))
+ self["key_red"] = StaticText(_("Close"))
+ self["key_green"] = StaticText(_("Edit"))
self.sel = []
self.val = []
self.setWindowTitle()
def setWindowTitle(self):
- self.setTitle(_("Select IPKG source to edit..."))
-
+ self.setTitle(_("Select upgrade source to edit."))
def fill_list(self):
self.flist = []
class IPKGSource(Screen):
skin = """
- <screen name="IPKGSource" position="100,100" size="550,80" title="IPKG source" >
- <widget name="text" position="10,10" size="530,25" font="Regular;20" backgroundColor="background" foregroundColor="#cccccc" />
- <ePixmap pixmap="skin_default/buttons/red.png" position="10,40" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="closetext" position="20,50" size="140,21" zPosition="10" font="Regular;21" transparent="1" />
- <ePixmap pixmap="skin_default/buttons/green.png" position="160,40" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="edittext" position="170,50" size="300,21" zPosition="10" font="Regular;21" transparent="1" />
+ <screen name="IPKGSource" position="center,center" size="560,80" title="Edit upgrade source url." >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget name="text" position="5,50" size="550,25" font="Regular;20" backgroundColor="background" foregroundColor="#cccccc" />
</screen>"""
-
+
def __init__(self, session, configfile = None):
Screen.__init__(self, session)
self.session = session
x= int(desk.size().width())
y= int(desk.size().height())
- self["closetext"] = Label(_("Cancel"))
- self["edittext"] = Label(_("Save"))
-
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Save"))
+
if (y>=720):
self["text"] = Input(text, maxSize=False, type=Input.TEXT)
else:
self["text"] = Input(text, maxSize=False, visible_width = 55, type=Input.TEXT)
-
+
self["actions"] = NumberActionMap(["WizardActions", "InputActions", "TextEntryActions", "KeyboardInputActions","ShortcutActions"],
{
"ok": self.go,
self["text"].right()
def setWindowTitle(self):
- self.setTitle(_("Edit IPKG source URL..."))
-
+ self.setTitle(_("Edit upgrade source url."))
+
def go(self):
text = self["text"].getText()
if text:
fp.write("\n")
fp.close()
self.close()
-
+
def keyLeft(self):
self["text"].left()
class PacketManager(Screen):
skin = """
- <screen position="90,80" size="530,420" title="IPKG upgrade..." >
- <widget source="list" render="Listbox" position="5,10" size="520,365" scrollbarMode="showOnDemand">
+ <screen name="PacketManager" position="center,center" size="530,420" title="Packet manager" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget source="list" render="Listbox" position="5,50" size="520,365" scrollbarMode="showOnDemand">
<convert type="TemplatedMultiContent">
{"template": [
MultiContentEntryText(pos = (5, 1), size = (440, 28), font=0, flags = RT_HALIGN_LEFT, text = 0), # index 0 is the name
}
</convert>
</widget>
- <ePixmap pixmap="skin_default/buttons/red.png" position="10,380" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="closetext" position="20,390" size="140,21" zPosition="10" font="Regular;21" transparent="1" />
- <ePixmap pixmap="skin_default/buttons/green.png" position="160,380" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="reloadtext" position="170,390" size="300,21" zPosition="10" font="Regular;21" transparent="1" />
</screen>"""
def __init__(self, session, plugin_path, args = None):
self.list = []
self.statuslist = []
self["list"] = List(self.list)
- self["closetext"] = Label(_("Close"))
- self["reloadtext"] = Label(_("Reload"))
+ self["key_red"] = StaticText(_("Close"))
+ self["key_green"] = StaticText(_("Reload"))
self.list_updating = True
self.packetlist = []
status = "installable"
self.list.append(self.buildEntryComponent(x[0].strip(), x[1].strip(), x[2].strip(), status))
if not any(x[0].strip().endswith(x) for x in self.unwanted_extensions):
- self.cachelist.append([x[0].strip(), x[1].strip(), x[2].strip(), status])
+ self.cachelist.append([x[0].strip(), x[1].strip(), x[2].strip(), status])
write_cache(self.cache_file, self.cachelist)
self['list'].setList(self.list)
lastDownloadDate = None
skin = """
- <screen position="80,80" size="560,440" title="Plugin manager..." >
- <widget source="list" render="Listbox" position="5,5" size="550,360" scrollbarMode="showOnDemand">
+ <screen name="PluginManager" position="center,center" size="560,440" title="Plugin manager" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/blue.png" position="420,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget source="key_yellow" render="Label" position="280,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#a08500" transparent="1" />
+ <widget source="key_blue" render="Label" position="420,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#18188b" transparent="1" />
+ <widget source="list" render="Listbox" position="5,50" size="550,360" scrollbarMode="showOnDemand">
<convert type="TemplatedMultiContent">
{"templates":
{"default": (51,[
MultiContentEntryPixmapAlphaTest(pos = (0, 49), size = (550, 2), png = 6), # index 6 is the div pixmap
]),
"category": (40,[
- MultiContentEntryText(pos = (30, 0), size = (500, 23), font=0, flags = RT_HALIGN_LEFT, text = 0), # index 0 is the name
- MultiContentEntryText(pos = (30, 24), size = (500, 14), font=1, flags = RT_HALIGN_LEFT, text = 1), # index 1 is the description
+ MultiContentEntryText(pos = (30, 0), size = (500, 22), font=0, flags = RT_HALIGN_LEFT, text = 0), # index 0 is the name
+ MultiContentEntryText(pos = (30, 22), size = (500, 16), font=1, flags = RT_HALIGN_LEFT, text = 1), # index 1 is the description
MultiContentEntryPixmapAlphaTest(pos = (0, 38), size = (550, 2), png = 3), # index 3 is the div pixmap
])
},
- "fonts": [gFont("Regular", 22),gFont("Regular", 14)],
+ "fonts": [gFont("Regular", 22),gFont("Regular", 16)],
"itemHeight": 52
}
</convert>
</widget>
- <ePixmap pixmap="skin_default/buttons/red.png" position="0,370" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="closetext" position="0,370" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap pixmap="skin_default/buttons/green.png" position="140,370" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="installtext" position="140,370" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap pixmap="skin_default/buttons/yellow.png" position="280,370" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="viewtext" position="280,370" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap pixmap="skin_default/buttons/blue.png" position="420,370" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="bluetext" position="420,370" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <widget name="status" position="10,410" zPosition="10" size="540,30" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
+ <widget source="status" render="Label" position="5,410" zPosition="10" size="540,30" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
</screen>"""
def __init__(self, session, plugin_path, args = None):
self.selectedFiles = []
self.categoryList = []
self["list"] = List(self.list)
- self["closetext"] = Label(_("Close"))
- self["installtext"] = Label()
- self["viewtext"] = Label()
- self["bluetext"] = Label()
- self["status"] = Label()
+ self["key_red"] = StaticText(_("Close"))
+ self["key_green"] = StaticText("")
+ self["key_yellow"] = StaticText("")
+ self["key_blue"] = StaticText("")
+ self["status"] = StaticText("")
self.list_updating = True
self.packetlist = []
if not self.selectionChanged in self["list"].onSelectionChanged:
self["list"].onSelectionChanged.append(self.selectionChanged)
- self["installtext"].hide()
- self["bluetext"].hide()
- self["viewtext"].hide()
- self["status"].hide()
self.currList = ""
self.currentSelectedTag = None
self.currentSelectedIndex = None
if len(self.Console.appContainers):
for name in self.Console.appContainers.keys():
self.Console.kill(name)
- if len(self.cmdList) and len(self.selectedFiles):
- self.session.openWithCallback(self.runInstall, PluginManagerInfo, self.skin_path, self.cmdList)
- elif not len(self.cmdList) and self.available_updates > 0:
- self.cmdList = []
- self.cmdList.append((IpkgComponent.CMD_UPGRADE, { "test_only": False }))
- self.session.openWithCallback(self.runInstall, PluginManagerInfo, self.skin_path, self.cmdList)
+ self.prepareInstall()
+ if len(self.cmdList):
+ self.session.openWithCallback(self.runExecute, PluginManagerInfo, self.skin_path, self.cmdList)
else:
self.close()
if self.currList != "status":
self.session.open(PluginManagerHelp, self.skin_path)
- def runInstall(self, result):
- if result:
- self.session.openWithCallback(self.runExecuteFinished, Ipkg, cmdList = self.cmdList)
- else:
- self.close()
-
def setState(self,status = None):
if status:
self.currList = "status"
self.statuslist = []
- self["installtext"].hide()
- self["bluetext"].hide()
- self["viewtext"].hide()
+ self["key_green"].setText("")
+ self["key_blue"].setText("")
+ self["key_yellow"].setText("")
divpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/div-h.png"))
if status == 'update':
statuspng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_PLUGINS, "SystemPlugins/SoftwareManager/upgrade.png"))
def selectionChanged(self):
current = self["list"].getCurrent()
- self["status"].hide()
+ self["status"].setText("")
if current:
if self.currList == "packages":
- self["closetext"].setText(_("Back"))
+ self["key_red"].setText(_("Back"))
if current[4] == 'installed':
- self["installtext"].setText(_("Remove"))
+ self["key_green"].setText(_("Remove"))
elif current[4] == 'installable':
- self["installtext"].setText(_("Install"))
+ self["key_green"].setText(_("Install"))
elif current[4] == 'remove':
- self["installtext"].setText(_("Undo\nRemove"))
+ self["key_green"].setText(_("Undo\nRemove"))
elif current[4] == 'install':
- self["installtext"].setText(_("Undo\nInstall"))
- self["installtext"].show()
- self["viewtext"].setText(_("View details"))
- self["viewtext"].show()
- self["bluetext"].hide()
+ self["key_green"].setText(_("Undo\nInstall"))
+ self["key_yellow"].setText(_("View details"))
+ self["key_blue"].setText("")
if len(self.selectedFiles) == 0 and self.available_updates is not 0:
self["status"].setText(_("There are at least ") + str(self.available_updates) + _(" updates available."))
- self["status"].show()
elif len(self.selectedFiles) is not 0:
self["status"].setText(str(len(self.selectedFiles)) + _(" packages selected."))
- self["status"].show()
+ else:
+ self["status"].setText(_("There is nothing to be done."))
elif self.currList == "category":
- self["closetext"].setText(_("Close"))
- self["installtext"].hide()
- self["bluetext"].hide()
+ self["key_red"].setText(_("Close"))
+ self["key_green"].setText("")
+ self["key_yellow"].setText("")
+ self["key_blue"].setText("")
if len(self.selectedFiles) == 0 and self.available_updates is not 0:
self["status"].setText(_("There are at least ") + str(self.available_updates) + _(" updates available."))
- self["status"].show()
- self["viewtext"].setText(_("Update"))
- self["viewtext"].show()
+ self["key_yellow"].setText(_("Update"))
elif len(self.selectedFiles) is not 0:
self["status"].setText(str(len(self.selectedFiles)) + _(" packages selected."))
- self["status"].show()
- self["viewtext"].setText(_("Process"))
- self["viewtext"].show()
- self["closetext"].show()
+ self["key_yellow"].setText(_("Process"))
+ else:
+ self["status"].setText(_("There is nothing to be done."))
def getSelectionState(self, detailsFile):
for entry in self.selectedFiles:
if (os_path.exists(detailsfile) == True):
self.session.openWithCallback(self.detailsClosed, PluginDetails, self.skin_path, current)
else:
- self.session.open(MessageBox, _("Sorry, no Details available!"), MessageBox.TYPE_INFO)
+ self.session.open(MessageBox, _("Sorry, no Details available!"), MessageBox.TYPE_INFO, timeout = 10)
elif self.currList == "category":
- self.installPlugins()
+ self.prepareInstall()
+ if len(self.cmdList):
+ self.session.openWithCallback(self.runExecute, PluginManagerInfo, self.skin_path, self.cmdList)
def detailsClosed(self, result):
if result:
else: # dynamically generate non existent tags
return(( str(tag), _("View list of available ") + str(tag) + _(" extensions." ), tag, divpng ))
- def installPlugins(self):
+ def prepareInstall(self):
self.cmdList = []
if self.available_updates > 0:
self.cmdList.append((IpkgComponent.CMD_UPGRADE, { "test_only": False }))
self.cmdList.append((IpkgComponent.CMD_REMOVE, { "package": plugin[2] }))
else:
self.cmdList.append((IpkgComponent.CMD_INSTALL, { "package": plugin[2] }))
- if len(self.cmdList):
- self.session.openWithCallback(self.runExecute, PluginManagerInfo, self.skin_path, self.cmdList)
def runExecute(self, result):
if result:
self.session.openWithCallback(self.runExecuteFinished, Ipkg, cmdList = self.cmdList)
+ else:
+ self.close()
def runExecuteFinished(self):
self.session.openWithCallback(self.ExecuteReboot, MessageBox, _("Install or remove finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
class PluginManagerInfo(Screen):
skin = """
- <screen position="80,80" size="560,450" title="Plugin manager job information..." >
- <widget name="status" position="5,5" zPosition="10" size="540,30" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap pixmap="skin_default/div-h.png" position="0,35" zPosition="10" size="550,2" transparent="1" alphatest="on" />
- <widget source="list" render="Listbox" position="5,45" size="550,360" scrollbarMode="showOnDemand" selectionDisabled="1">
+ <screen name="PluginManagerInfo" position="center,center" size="560,440" title="Plugin manager activity information" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget source="list" render="Listbox" position="5,50" size="550,350" scrollbarMode="showOnDemand" selectionDisabled="1">
<convert type="TemplatedMultiContent">
{"template": [
MultiContentEntryText(pos = (50, 1), size = (150, 24), font=0, flags = RT_HALIGN_LEFT, text = 0), # index 0 is the name
}
</convert>
</widget>
- <ePixmap pixmap="skin_default/buttons/red.png" position="0,410" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="closetext" position="0,410" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap pixmap="skin_default/buttons/green.png" position="140,410" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="continuetext" position="140,410" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
+ <ePixmap pixmap="skin_default/div-h.png" position="0,410" zPosition="10" size="560,2" transparent="1" alphatest="on" />
+ <widget source="status" render="Label" position="5,420" zPosition="10" size="550,30" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
</screen>"""
def __init__(self, session, plugin_path, cmdlist = None):
self.list = []
self["list"] = List(self.list)
- self["closetext"] = Label(_("Cancel"))
- self["continuetext"] = Label(_("Continue"))
- self["status"] = Label(_("Following tasks will be done after you press continue."))
+ self["key_red"] = StaticText(_("Cancel"))
+ self["key_green"] = StaticText(_("Continue"))
+ self["status"] = StaticText(_("Following tasks will be done after you press continue!"))
self.onShown.append(self.setWindowTitle)
self.onLayoutFinish.append(self.rebuildList)
def setWindowTitle(self):
- self.setTitle(_("Plugin manager process information..."))
+ self.setTitle(_("Plugin manager activity information"))
def rebuildList(self):
self.list = []
if self.cmdlist is not None:
for entry in self.cmdlist:
+ action = ""
+ info = ""
cmd = entry[0]
if cmd == 0:
action = 'install'
action = 'remove'
else:
action = 'upgrade'
-
args = entry[1]
if cmd == 0:
info = args['package']
if action == 'install':
return(( _('Installing'), info, installpng, divpng))
elif action == 'remove':
- return(( _('Remove'), info, removepng, divpng))
+ return(( _('Removeing'), info, removepng, divpng))
else:
- return(( _('Upgrade'), info, upgradepng, divpng))
+ return(( _('Upgradeing'), info, upgradepng, divpng))
def exit(self):
self.close(False)
class PluginManagerHelp(Screen):
skin = """
- <screen position="80,80" size="560,450" title="Plugin manager help..." >
- <widget name="status" position="5,5" zPosition="10" size="540,30" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap pixmap="skin_default/div-h.png" position="0,35" zPosition="10" size="550,2" transparent="1" alphatest="on" />
- <widget source="list" render="Listbox" position="5,45" size="550,360" scrollbarMode="showOnDemand" selectionDisabled="1">
+ <screen name="PluginManagerHelp" position="center,center" size="560,440" title="Plugin manager help" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="list" render="Listbox" position="5,50" size="550,350" scrollbarMode="showOnDemand" selectionDisabled="1">
<convert type="TemplatedMultiContent">
{"template": [
MultiContentEntryText(pos = (50, 1), size = (540, 24), font=0, flags = RT_HALIGN_LEFT, text = 0), # index 0 is the name
}
</convert>
</widget>
- <ePixmap pixmap="skin_default/buttons/red.png" position="0,410" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="closetext" position="0,410" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
+ <ePixmap pixmap="skin_default/div-h.png" position="0,410" zPosition="10" size="550,2" transparent="1" alphatest="on" />
+ <widget source="status" render="Label" position="5,420" zPosition="10" size="550,30" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
</screen>"""
def __init__(self, session, plugin_path):
self.list = []
self["list"] = List(self.list)
- self["closetext"] = Label(_("Close"))
- self["status"] = Label(_("Here is a small overview of the available icon states."))
+ self["key_red"] = StaticText(_("Close"))
+ self["status"] = StaticText(_("A small overview of the available icon states and actions."))
self.onShown.append(self.setWindowTitle)
self.onLayoutFinish.append(self.rebuildList)
def setWindowTitle(self):
- self.setTitle(_("Plugin manager help..."))
+ self.setTitle(_("Plugin manager help"))
def rebuildList(self):
self.list = []
class PluginDetails(Screen, DreamInfoHandler):
skin = """
- <screen name="PluginDetails" position="60,90" size="600,420" title="PluginDetails..." >
- <widget name="author" position="10,10" size="500,25" zPosition="10" font="Regular;21" transparent="1" />
- <widget name="statuspic" position="550,0" size="48,48" alphatest="on"/>
- <widget name="divpic" position="0,40" size="600,2" alphatest="on"/>
- <widget name="detailtext" position="10,50" size="270,330" zPosition="10" font="Regular;21" transparent="1" halign="left" valign="top"/>
- <widget name="screenshot" position="290,50" size="300,330" alphatest="on"/>
- <ePixmap pixmap="skin_default/buttons/red.png" position="0,380" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="closetext" position="0,380" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
- <ePixmap pixmap="skin_default/buttons/green.png" position="140,380" zPosition="2" size="140,40" transparent="1" alphatest="on" />
- <widget name="statetext" position="140,380" zPosition="10" size="140,40" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
+ <screen name="PluginDetails" position="center,center" size="600,440" title="Plugin details" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget source="author" render="Label" position="10,50" size="500,25" zPosition="10" font="Regular;21" transparent="1" />
+ <widget name="statuspic" position="550,40" size="48,48" alphatest="on"/>
+ <widget name="divpic" position="0,80" size="600,2" alphatest="on"/>
+ <widget name="detailtext" position="10,90" size="270,330" zPosition="10" font="Regular;21" transparent="1" halign="left" valign="top"/>
+ <widget name="screenshot" position="290,90" size="300,330" alphatest="on"/>
</screen>"""
def __init__(self, session, plugin_path, packagedata = None):
Screen.__init__(self, session)
"right": self.pageDown,
}, -1)
+ self["key_red"] = StaticText(_("Close"))
+ self["key_green"] = StaticText("")
+ self["author"] = StaticText()
self["statuspic"] = Pixmap()
self["divpic"] = Pixmap()
self["screenshot"] = Pixmap()
- self["closetext"] = Label(_("Close"))
- self["statetext"] = Label()
self["detailtext"] = ScrollLabel()
- self["author"] = Label()
+
self["statuspic"].hide()
self["screenshot"].hide()
self["divpic"].hide()
self["author"].setText(_("Author: ") + self.author)
self["detailtext"].setText(self.description.strip())
if self.pluginstate == 'installable':
- self["statetext"].setText(_("Install"))
+ self["key_green"].setText(_("Install"))
else:
- self["statetext"].setText(_("Remove"))
+ self["key_green"].setText(_("Remove"))
def loadThumbnail(self, entry):
thumbnailUrl = None
class UpdatePlugin(Screen):
skin = """
- <screen position="100,100" size="550,200" title="Software Update..." >
+ <screen name="UpdatePlugin" position="center,center" size="550,200" title="Software update" >
<widget name="activityslider" position="0,0" size="550,5" />
- <widget name="slider" position="0,100" size="550,30" />
- <widget name="package" position="10,30" size="540,20" font="Regular;18"/>
- <widget name="status" position="10,60" size="540,45" font="Regular;18"/>
+ <widget name="slider" position="0,150" size="550,30" />
+ <widget source="package" render="Label" position="10,30" size="540,20" font="Regular;18" halign="center" valign="center" backgroundColor="#25062748" transparent="1" />
+ <widget source="status" render="Label" position="10,60" size="540,45" font="Regular;20" halign="center" valign="center" backgroundColor="#25062748" transparent="1" />
</screen>"""
-
+
def __init__(self, session, args = None):
- self.skin = UpdatePlugin.skin
Screen.__init__(self, session)
-
+
self.sliderPackages = { "dreambox-dvb-modules": 1, "enigma2": 2, "tuxbox-image-info": 3 }
-
+
self.slider = Slider(0, 4)
self["slider"] = self.slider
self.activityslider = Slider(0, 100)
self["activityslider"] = self.activityslider
- self.status = Label(_("Upgrading Dreambox... Please wait"))
+ self.status = StaticText(_("Upgrading Dreambox... Please wait"))
self["status"] = self.status
- self.package = Label()
+ self.package = StaticText()
self["package"] = self.package
-
+
self.packages = 0
self.error = 0
-
+
self.activity = 0
self.activityTimer = eTimer()
self.activityTimer.callback.append(self.doActivityTimer)
self.activityTimer.start(100, False)
-
+
self.ipkg = IpkgComponent()
self.ipkg.addCallback(self.ipkgCallback)
-
+
self.updating = True
self.package.setText(_("Package list update"))
self.ipkg.startCmd(IpkgComponent.CMD_UPDATE)
-
+
self["actions"] = ActionMap(["WizardActions"],
{
"ok": self.exit,
"back": self.exit
}, -1)
-
+
def doActivityTimer(self):
self.activity += 1
if self.activity == 100:
self.activity = 0
self.activityslider.setValue(self.activity)
-
+
def ipkgCallback(self, event, param):
if event == IpkgComponent.EVENT_DOWNLOAD:
self.status.setText(_("Downloading"))
self.session.openWithCallback(self.exitAnswer, MessageBox, _("Upgrade finished.") +" "+_("Do you want to reboot your Dreambox?"))
else:
self.close()
-
+
def exitAnswer(self, result):
if result is not None and result:
quitMainloop(2)
class IpkgInstaller(Screen):
skin = """
- <screen position="100,100" size="550,400" title="..." >
- <widget name="red" halign="center" valign="center" position="0,0" size="140,60" backgroundColor="red" font="Regular;21" />
- <widget name="green" halign="center" valign="center" position="140,0" text="Install selected" size="140,60" backgroundColor="green" font="Regular;21" />
- <widget name="yellow" halign="center" valign="center" position="280,0" size="140,60" backgroundColor="yellow" font="Regular;21" />
- <widget name="blue" halign="center" valign="center" position="420,0" size="140,60" backgroundColor="blue" font="Regular;21" />
- <widget name="list" position="0,60" size="550,360" />
- </screen>
- """
+ <screen name="IpkgInstaller" position="center,center" size="550,450" title="Install extensions" >
+ <ePixmap pixmap="skin_default/buttons/red.png" position="0,0" size="140,40" alphatest="on" />
+ <ePixmap pixmap="skin_default/buttons/green.png" position="140,0" size="140,40" alphatest="on" />
+ <widget source="key_red" render="Label" position="0,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#9f1313" transparent="1" />
+ <widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
+ <widget name="list" position="5,50" size="540,360" />
+ <ePixmap pixmap="skin_default/div-h.png" position="0,410" zPosition="10" size="560,2" transparent="1" alphatest="on" />
+ <widget source="introduction" render="Label" position="5,420" zPosition="10" size="550,30" halign="center" valign="center" font="Regular;22" transparent="1" shadowColor="black" shadowOffset="-1,-1" />
+ </screen>"""
def __init__(self, session, list):
- self.skin = IpkgInstaller.skin
Screen.__init__(self, session)
self.list = SelectionList()
for listindex in range(len(list)):
self.list.addSelection(list[listindex], list[listindex], listindex, True)
- self["red"] = Label()
- self["green"] = Label()
- self["yellow"] = Label()
- self["blue"] = Label()
+ self["key_red"] = StaticText(_("Close"))
+ self["key_green"] = StaticText(_("Install"))
+ self["introduction"] = StaticText(_("Press OK to toggle the selection."))
self["actions"] = ActionMap(["OkCancelActions", "ColorActions"],
{
"ok": self.list.toggleSelection,
- "cancel": self.close,
+ "cancel": self.close,
+ "red": self.close,
"green": self.install
}, -1)
-
+
def install(self):
list = self.list.getSelectionsList()
cmdList = []
cmdList.append((IpkgComponent.CMD_INSTALL, { "package": item[1] }))
self.session.open(Ipkg, cmdList = cmdList)
+
def filescan_open(list, session, **kwargs):
filelist = [x.path for x in list]
session.open(IpkgInstaller, filelist) # list
ScanPath(path = "", with_subdirs = False),
],
name = "Ipkg",
- description = _("Install software updates..."),
+ description = _("Install extensions."),
openfnc = filescan_open, )
PluginDescriptor(name=_("Software manager"), description=_("Manage your receiver's software"), where = PluginDescriptor.WHERE_MENU, fnc=startSetup),
PluginDescriptor(name=_("Ipkg"), where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan)
]
- if config.usage.setup_level.index >= 2: # expert+
- list.append(PluginDescriptor(name=_("Software manager"), description=_("Manage your receiver's software"), where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=UpgradeMain))
+ if config.usage.setup_level.index >= 2: # expert+
+ list.append(PluginDescriptor(name=_("Software manager"), description=_("Manage your receiver's software"), where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=UpgradeMain))
return list
-from enigma import eTimer
-from Components.config import config, ConfigSubsection, ConfigSlider, ConfigSelection, ConfigYesNo, NoSave
+from Components.config import config, ConfigSubsection, ConfigSlider, ConfigSelection, ConfigNothing, NoSave
from Tools.CList import CList
-from Tools.HardwareInfo import HardwareInfo
-import os
+from os import path as os_path
# The "VideoEnhancement" is the interface to /proc/stb/vmpeg/0.
class VideoEnhancement:
-
- firstRun = None
+ firstRun = True
def __init__(self):
self.last_modes_preferred = [ ]
- self.on_hotplug = CList()
self.createConfig()
def createConfig(self, *args):
- hw_type = HardwareInfo().get_device_name()
config.pep = ConfigSubsection()
-
config.pep.configsteps = NoSave(ConfigSelection(choices=[1, 5, 10, 25], default = 1))
- def setContrast(config):
- myval = int(config.value*256)
- try:
- print "--> setting contrast to: %0.8X" % myval
- open("/proc/stb/vmpeg/0/pep_contrast", "w").write("%0.8X" % myval)
- except IOError:
- print "couldn't write pep_contrast."
-
- if VideoEnhancement.firstRun is False:
- self.setConfiguredValues()
-
- config.pep.contrast = ConfigSlider(default=128, limits=(0,256))
- config.pep.contrast.addNotifier(setContrast)
-
- def setSaturation(config):
- myval = int(config.value*256)
- try:
- print "--> setting saturation to: %0.8X" % myval
- open("/proc/stb/vmpeg/0/pep_saturation", "w").write("%0.8X" % myval)
- except IOError:
- print "couldn't write pep_saturaion."
-
- if VideoEnhancement.firstRun is False:
- self.setConfiguredValues()
-
- config.pep.saturation = ConfigSlider(default=128, limits=(0,256))
- config.pep.saturation.addNotifier(setSaturation)
-
- def setHue(config):
- myval = int(config.value*256)
- try:
- print "--> setting hue to: %0.8X" % myval
- open("/proc/stb/vmpeg/0/pep_hue", "w").write("%0.8X" % myval)
- except IOError:
- print "couldn't write pep_hue."
-
- if VideoEnhancement.firstRun is False:
- self.setConfiguredValues()
-
- config.pep.hue = ConfigSlider(default=128, limits=(0,256))
- config.pep.hue.addNotifier(setHue)
-
- def setBrightness(config):
- myval = int(config.value*256)
- try:
- print "--> setting brightness to: %0.8X" % myval
- open("/proc/stb/vmpeg/0/pep_brightness", "w").write("%0.8X" % myval)
- except IOError:
- print "couldn't write pep_brightness."
-
- if VideoEnhancement.firstRun is False:
- self.setConfiguredValues()
-
- config.pep.brightness = ConfigSlider(default=128, limits=(0,256))
- config.pep.brightness.addNotifier(setBrightness)
-
- def setBlock_noise_reduction(config):
- myval = int(config.value)
- try:
- print "--> setting block_noise_reduction to: %0.8X" % myval
- open("/proc/stb/vmpeg/0/pep_block_noise_reduction", "w").write("%0.8X" % myval)
- except IOError:
- print "couldn't write pep_block_noise_reduction."
-
- if VideoEnhancement.firstRun is False:
- self.setConfiguredValues()
-
- config.pep.block_noise_reduction = ConfigSlider(default=0, limits=(0,5))
- config.pep.block_noise_reduction.addNotifier(setBlock_noise_reduction)
-
- def setMosquito_noise_reduction(config):
- myval = int(config.value)
- try:
- print "--> setting mosquito_noise_reduction to: %0.8X" % myval
- open("/proc/stb/vmpeg/0/pep_mosquito_noise_reduction", "w").write("%0.8X" % myval)
- except IOError:
- print "couldn't write pep_mosquito_noise_reduction."
-
- if VideoEnhancement.firstRun is False:
- self.setConfiguredValues()
-
- config.pep.mosquito_noise_reduction = ConfigSlider(default=0, limits=(0,5))
- config.pep.mosquito_noise_reduction.addNotifier(setMosquito_noise_reduction)
-
- def setDigital_contour_removal(config):
- myval = int(config.value)
- try:
- print "--> setting digital_contour_removal to: %0.8X" % myval
- open("/proc/stb/vmpeg/0/pep_digital_contour_removal", "w").write("%0.8X" % myval)
- except IOError:
- print "couldn't write pep_digital_contour_removal."
-
- if VideoEnhancement.firstRun is False:
- self.setConfiguredValues()
-
- config.pep.digital_contour_removal = ConfigSlider(default=0, limits=(0,5))
- config.pep.digital_contour_removal.addNotifier(setDigital_contour_removal)
-
- if hw_type in ( 'dm8000', 'dm500hd' ):
+ if os_path.exists("/proc/stb/vmpeg/0/pep_contrast"):
+ def setContrast(config):
+ myval = int(config.value*256)
+ try:
+ print "--> setting contrast to: %0.8X" % myval
+ open("/proc/stb/vmpeg/0/pep_contrast", "w").write("%0.8X" % myval)
+ except IOError:
+ print "couldn't write pep_contrast."
+
+ if not VideoEnhancement.firstRun:
+ self.setConfiguredValues()
+
+ config.pep.contrast = ConfigSlider(default=128, limits=(0,256))
+ config.pep.contrast.addNotifier(setContrast)
+ else:
+ config.pep.contrast = NoSave(ConfigNothing())
+
+ if os_path.exists("/proc/stb/vmpeg/0/pep_saturation"):
+ def setSaturation(config):
+ myval = int(config.value*256)
+ try:
+ print "--> setting saturation to: %0.8X" % myval
+ open("/proc/stb/vmpeg/0/pep_saturation", "w").write("%0.8X" % myval)
+ except IOError:
+ print "couldn't write pep_saturaion."
+
+ if not VideoEnhancement.firstRun:
+ self.setConfiguredValues()
+
+ config.pep.saturation = ConfigSlider(default=128, limits=(0,256))
+ config.pep.saturation.addNotifier(setSaturation)
+ else:
+ config.pep.saturation = NoSave(ConfigNothing())
+
+ if os_path.exists("/proc/stb/vmpeg/0/pep_hue"):
+ def setHue(config):
+ myval = int(config.value*256)
+ try:
+ print "--> setting hue to: %0.8X" % myval
+ open("/proc/stb/vmpeg/0/pep_hue", "w").write("%0.8X" % myval)
+ except IOError:
+ print "couldn't write pep_hue."
+
+ if not VideoEnhancement.firstRun:
+ self.setConfiguredValues()
+
+ config.pep.hue = ConfigSlider(default=128, limits=(0,256))
+ config.pep.hue.addNotifier(setHue)
+ else:
+ config.pep.hue = NoSave(ConfigNothing())
+
+ if os_path.exists("/proc/stb/vmpeg/0/pep_brightness"):
+ def setBrightness(config):
+ myval = int(config.value*256)
+ try:
+ print "--> setting brightness to: %0.8X" % myval
+ open("/proc/stb/vmpeg/0/pep_brightness", "w").write("%0.8X" % myval)
+ except IOError:
+ print "couldn't write pep_brightness."
+
+ if not VideoEnhancement.firstRun:
+ self.setConfiguredValues()
+
+ config.pep.brightness = ConfigSlider(default=128, limits=(0,256))
+ config.pep.brightness.addNotifier(setBrightness)
+ else:
+ config.pep.brightness = NoSave(ConfigNothing())
+
+ if os_path.exists("/proc/stb/vmpeg/0/pep_block_noise_reduction"):
+ def setBlock_noise_reduction(config):
+ myval = int(config.value)
+ try:
+ print "--> setting block_noise_reduction to: %0.8X" % myval
+ open("/proc/stb/vmpeg/0/pep_block_noise_reduction", "w").write("%0.8X" % myval)
+ except IOError:
+ print "couldn't write pep_block_noise_reduction."
+
+ if not VideoEnhancement.firstRun:
+ self.setConfiguredValues()
+
+ config.pep.block_noise_reduction = ConfigSlider(default=0, limits=(0,5))
+ config.pep.block_noise_reduction.addNotifier(setBlock_noise_reduction)
+ else:
+ config.pep.block_noise_reduction = NoSave(ConfigNothing())
+
+ if os_path.exists("/proc/stb/vmpeg/0/pep_mosquito_noise_reduction"):
+ def setMosquito_noise_reduction(config):
+ myval = int(config.value)
+ try:
+ print "--> setting mosquito_noise_reduction to: %0.8X" % myval
+ open("/proc/stb/vmpeg/0/pep_mosquito_noise_reduction", "w").write("%0.8X" % myval)
+ except IOError:
+ print "couldn't write pep_mosquito_noise_reduction."
+
+ if not VideoEnhancement.firstRun:
+ self.setConfiguredValues()
+
+ config.pep.mosquito_noise_reduction = ConfigSlider(default=0, limits=(0,5))
+ config.pep.mosquito_noise_reduction.addNotifier(setMosquito_noise_reduction)
+ else:
+ config.pep.mosquito_noise_reduction = NoSave(ConfigNothing())
+
+ if os_path.exists("/proc/stb/vmpeg/0/pep_digital_contour_removal"):
+ def setDigital_contour_removal(config):
+ myval = int(config.value)
+ try:
+ print "--> setting digital_contour_removal to: %0.8X" % myval
+ open("/proc/stb/vmpeg/0/pep_digital_contour_removal", "w").write("%0.8X" % myval)
+ except IOError:
+ print "couldn't write pep_digital_contour_removal."
+
+ if not VideoEnhancement.firstRun:
+ self.setConfiguredValues()
+
+ config.pep.digital_contour_removal = ConfigSlider(default=0, limits=(0,5))
+ config.pep.digital_contour_removal.addNotifier(setDigital_contour_removal)
+ else:
+ config.pep.digital_contour_removal = NoSave(ConfigNothing())
+
+ if os_path.exists("/proc/stb/vmpeg/0/pep_split"):
def setSplitMode(config):
try:
print "--> setting splitmode to:",str(config.value)
except IOError:
print "couldn't write pep_split."
- if VideoEnhancement.firstRun is False:
+ if not VideoEnhancement.firstRun:
self.setConfiguredValues()
config.pep.split = ConfigSelection(choices={
"right": _("Right")},
default = "off")
config.pep.split.addNotifier(setSplitMode)
+ else:
+ config.pep.split = NoSave(ConfigNothing())
+ if os_path.exists("/proc/stb/vmpeg/0/pep_sharpness"):
def setSharpness(config):
myval = int(config.value*256)
try:
except IOError:
print "couldn't write pep_sharpness."
- if VideoEnhancement.firstRun is False:
+ if not VideoEnhancement.firstRun:
self.setConfiguredValues()
config.pep.sharpness = ConfigSlider(default=0, limits=(0,256))
config.pep.sharpness.addNotifier(setSharpness)
+ else:
+ config.pep.sharpness = NoSave(ConfigNothing())
+ if os_path.exists("/proc/stb/vmpeg/0/pep_auto_flesh"):
def setAutoflesh(config):
myval = int(config.value)
try:
except IOError:
print "couldn't write pep_auto_flesh."
- if VideoEnhancement.firstRun is False:
+ if not VideoEnhancement.firstRun:
self.setConfiguredValues()
config.pep.auto_flesh = ConfigSlider(default=0, limits=(0,4))
config.pep.auto_flesh.addNotifier(setAutoflesh)
+ else:
+ config.pep.auto_flesh = NoSave(ConfigNothing())
+ if os_path.exists("/proc/stb/vmpeg/0/pep_green_boost"):
def setGreenboost(config):
myval = int(config.value)
try:
except IOError:
print "couldn't write pep_green_boost."
- if VideoEnhancement.firstRun is False:
+ if not VideoEnhancement.firstRun:
self.setConfiguredValues()
config.pep.green_boost = ConfigSlider(default=0, limits=(0,4))
config.pep.green_boost.addNotifier(setGreenboost)
+ else:
+ config.pep.green_boost = NoSave(ConfigNothing())
+ if os_path.exists("/proc/stb/vmpeg/0/pep_blue_boost"):
def setBlueboost(config):
myval = int(config.value)
try:
except IOError:
print "couldn't write pep_blue_boost."
- if VideoEnhancement.firstRun is False:
+ if not VideoEnhancement.firstRun:
self.setConfiguredValues()
config.pep.blue_boost = ConfigSlider(default=0, limits=(0,4))
config.pep.blue_boost.addNotifier(setBlueboost)
+ else:
+ config.pep.blue_boost = NoSave(ConfigNothing())
+ if os_path.exists("/proc/stb/vmpeg/0/pep_dynamic_contrast"):
def setDynamic_contrast(config):
myval = int(config.value)
try:
except IOError:
print "couldn't write pep_dynamic_contrast."
- if VideoEnhancement.firstRun is False:
+ if not VideoEnhancement.firstRun:
self.setConfiguredValues()
config.pep.dynamic_contrast = ConfigSlider(default=0, limits=(0,256))
config.pep.dynamic_contrast.addNotifier(setDynamic_contrast)
+ else:
+ config.pep.dynamic_contrast = NoSave(ConfigNothing())
- VideoEnhancement.firstRun = True
+ try:
+ x = config.av.scaler_sharpness.value
+ except KeyError:
+ if os_path.exists("/proc/stb/vmpeg/0/pep_scaler_sharpness"):
+ def setScaler_sharpness(config):
+ myval = int(config.value)
+ try:
+ print "--> setting scaler_sharpness to: %0.8X" % myval
+ open("/proc/stb/vmpeg/0/pep_scaler_sharpness", "w").write("%0.8X" % myval)
+ except IOError:
+ print "couldn't write pep_scaler_sharpness."
+
+ if not VideoEnhancement.firstRun:
+ self.setConfiguredValues()
+
+ config.av.scaler_sharpness = ConfigSlider(default=13, limits=(0,26))
+ config.av.scaler_sharpness.addNotifier(setScaler_sharpness)
+ else:
+ config.av.scaler_sharpness = NoSave(ConfigNothing())
+
+ if VideoEnhancement.firstRun:
+ self.setConfiguredValues()
+
+ VideoEnhancement.firstRun = False
def setConfiguredValues(self):
try:
print "--> applying pep values"
open("/proc/stb/vmpeg/0/pep_apply", "w").write("1")
- VideoEnhancement.firstRun = False
except IOError:
print "couldn't apply pep values."
-
-if config.usage.setup_level.index >= 2: # expert+
- hw_type = HardwareInfo().get_device_name()
- if hw_type in ( 'dm8000', 'dm800', 'dm500hd' ):
- video_enhancement = VideoEnhancement()
- if video_enhancement.firstRun == True:
- video_enhancement.setConfiguredValues()
+VideoEnhancement()
from Plugins.Plugin import PluginDescriptor
from Components.ConfigList import ConfigListScreen
-from Components.config import getConfigListEntry, config, ConfigBoolean
+from Components.config import getConfigListEntry, config, ConfigNothing, ConfigSelection
from Components.ActionMap import ActionMap
from Components.Sources.StaticText import StaticText
from Screens.Screen import Screen
-from Screens.VirtualKeyBoard import VirtualKeyBoard
-from Screens.ChoiceBox import ChoiceBox
from Screens.MessageBox import MessageBox
-from enigma import ePoint
-from Tools import Notifications
-from Tools.HardwareInfo import HardwareInfo
-from VideoEnhancement import video_enhancement
-import os
+import VideoEnhancement
+from os import path as os_path
class VideoEnhancementSetup(Screen, ConfigListScreen):
<widget source="introduction" render="Label" position="5,400" size="550,25" zPosition="10" font="Regular;21" halign="center" valign="center" backgroundColor="#25062748" transparent="1" />
</screen>"""
- def __init__(self, session, hw):
+ def __init__(self, session):
Screen.__init__(self, session)
self.session = session
- self.hw = hw
self.onChangedEntry = [ ]
self.setup_title = "Videoenhancement"
- self.contrastEntry = None
- self.saturationEntry = None
- self.hueEntry = None
- self.brightnessEntry = None
- self.splitEntry = None
- self.sharpnessEntry = None
- self.auto_fleshEntry = None
- self.green_boostEntry = None
- self.blue_boostEntry = None
- self.block_noise_reductionEntry = None
- self.mosquito_noise_reductionEntry = None
- self.digital_contour_removalEntry = None
- self.dynamic_contrastEntry = None
-
- # handle hotplug by re-creating setup
- self.onShow.append(self.startHotplug)
- self.onHide.append(self.stopHotplug)
-
self.list = [ ]
self.xtdlist = [ ]
- self.hw_type = HardwareInfo().get_device_name()
ConfigListScreen.__init__(self, self.list, session = self.session, on_change = self.changedEntry)
self["actions"] = ActionMap(["SetupActions", "ColorActions"],
def layoutFinished(self):
self.setTitle(_("Video enhancement setup"))
- def startHotplug(self):
- self.hw.on_hotplug.append(self.createSetup)
-
- def stopHotplug(self):
- self.hw.on_hotplug.remove(self.createSetup)
-
def rememberOldSettings(self):
self.oldContrast = config.pep.contrast.value
self.oldSaturation = config.pep.saturation.value
self.oldBlock_noise = config.pep.block_noise_reduction.value
self.oldMosquito_noise = config.pep.mosquito_noise_reduction.value
self.oldDigital_contour = config.pep.digital_contour_removal.value
- if self.hw_type in ('dm8000', 'dm500hd'):
- self.oldSplit = config.pep.split.value
- self.oldSharpness = config.pep.sharpness.value
- self.oldAuto_flesh = config.pep.auto_flesh.value
- self.oldGreen_boost = config.pep.green_boost.value
- self.oldBlue_boost = config.pep.blue_boost.value
- self.oldDynamic_contrast = config.pep.dynamic_contrast.value
+ self.oldScaler_sharpness = config.av.scaler_sharpness.value
+ self.oldSplit = config.pep.split.value
+ self.oldSharpness = config.pep.sharpness.value
+ self.oldAuto_flesh = config.pep.auto_flesh.value
+ self.oldGreen_boost = config.pep.green_boost.value
+ self.oldBlue_boost = config.pep.blue_boost.value
+ self.oldDynamic_contrast = config.pep.dynamic_contrast.value
+
+ def addToConfigList(self, description, configEntry, add_to_xtdlist=False):
+ if isinstance(configEntry, ConfigNothing):
+ return None
+ entry = getConfigListEntry(description, configEntry)
+ self.list.append(entry);
+ if add_to_xtdlist:
+ self.xtdlist.append(entry)
+ return entry
def createSetup(self):
- self.contrastEntry = getConfigListEntry(_("Contrast"), config.pep.contrast)
- self.saturationEntry = getConfigListEntry(_("Saturation"), config.pep.saturation)
- self.hueEntry = getConfigListEntry(_("Hue"), config.pep.hue)
- self.brightnessEntry = getConfigListEntry(_("Brightness"), config.pep.brightness)
- self.block_noise_reductionEntry = getConfigListEntry(_("Block noise reduction"), config.pep.block_noise_reduction)
- self.mosquito_noise_reductionEntry = getConfigListEntry(_("Mosquito noise reduction"), config.pep.mosquito_noise_reduction)
- self.digital_contour_removalEntry = getConfigListEntry(_("Digital contour removal"), config.pep.digital_contour_removal)
-
- self.list = [
- self.contrastEntry
- ]
-
- self.list.extend((
- self.saturationEntry,
- self.hueEntry,
- self.brightnessEntry
- ))
- if self.hw_type == 'dm800':
- self.list.extend((
- self.block_noise_reductionEntry,
- self.mosquito_noise_reductionEntry,
- self.digital_contour_removalEntry
- ))
-
- elif self.hw_type in ( 'dm8000', 'dm500hd' ):
- self.splitEntry = getConfigListEntry(_("Split preview mode"), config.pep.split)
- self.sharpnessEntry = getConfigListEntry(_("Sharpness"), config.pep.sharpness)
- self.auto_fleshEntry = getConfigListEntry(_("Auto flesh"), config.pep.auto_flesh)
- self.green_boostEntry = getConfigListEntry(_("Green boost"), config.pep.green_boost)
- self.blue_boostEntry = getConfigListEntry(_("Blue boost"), config.pep.blue_boost)
- self.dynamic_contrastEntry = getConfigListEntry(_("Dynamic contrast"), config.pep.dynamic_contrast)
-
- self.xtdlist = [
- self.splitEntry
- ]
-
- self.xtdlist.extend((
- self.sharpnessEntry,
- self.auto_fleshEntry,
- self.green_boostEntry,
- self.blue_boostEntry,
- self.block_noise_reductionEntry,
- self.mosquito_noise_reductionEntry,
- self.digital_contour_removalEntry,
- self.dynamic_contrastEntry
- ))
-
- self.list.extend((
- self.splitEntry,
- self.sharpnessEntry,
- self.auto_fleshEntry,
- self.green_boostEntry,
- self.blue_boostEntry,
- self.block_noise_reductionEntry,
- self.mosquito_noise_reductionEntry,
- self.digital_contour_removalEntry,
- self.dynamic_contrastEntry
- ))
+ self.list = []
+ self.xtdlist = []
+ addToConfigList = self.addToConfigList
+ self.contrastEntry = addToConfigList(_("Contrast"), config.pep.contrast)
+ self.saturationEntry = addToConfigList(_("Saturation"), config.pep.saturation)
+ self.hueEntry = addToConfigList(_("Hue"), config.pep.hue)
+ self.brightnessEntry = addToConfigList(_("Brightness"), config.pep.brightness)
+ self.scaler_sharpnessEntry = addToConfigList(_("Scaler sharpness"), config.av.scaler_sharpness)
+ self.splitEntry = addToConfigList(_("Split preview mode"), config.pep.split, True)
+ add_to_xtdlist = self.splitEntry is not None
+ self.sharpnessEntry = addToConfigList(_("Sharpness"), config.pep.sharpness, add_to_xtdlist)
+ self.auto_fleshEntry = addToConfigList(_("Auto flesh"), config.pep.auto_flesh, add_to_xtdlist)
+ self.green_boostEntry = addToConfigList(_("Green boost"), config.pep.green_boost, add_to_xtdlist)
+ self.blue_boostEntry = addToConfigList(_("Blue boost"), config.pep.blue_boost, add_to_xtdlist)
+ self.dynamic_contrastEntry = addToConfigList(_("Dynamic contrast"), config.pep.dynamic_contrast, add_to_xtdlist)
+ self.block_noise_reductionEntry = addToConfigList(_("Block noise reduction"), config.pep.block_noise_reduction, add_to_xtdlist)
+ self.mosquito_noise_reductionEntry = addToConfigList(_("Mosquito noise reduction"), config.pep.mosquito_noise_reduction, add_to_xtdlist)
+ self.digital_contour_removalEntry = addToConfigList(_("Digital contour removal"), config.pep.digital_contour_removal, add_to_xtdlist)
self["config"].list = self.list
self["config"].l.setSeperation(300)
current = self["config"].getCurrent()
if current == self.splitEntry:
ConfigListScreen.keyLeft(self)
- self.createSetup()
elif current != self.splitEntry and current in self.xtdlist:
self.previewlist = [
current,
current = self["config"].getCurrent()
if current == self.splitEntry:
ConfigListScreen.keyRight(self)
- self.createSetup()
elif current != self.splitEntry and current in self.xtdlist:
self.previewlist = [
current,
config.pep.mosquito_noise_reduction.setValue(self.oldMosquito_noise)
if self.digital_contour_removalEntry is not None:
config.pep.digital_contour_removal.setValue(self.oldDigital_contour)
-
- if self.hw_type in ( 'dm8000', 'dm500hd' ):
- if self.splitEntry is not None:
- config.pep.split.setValue('off')
- if self.sharpnessEntry is not None:
- config.pep.sharpness.setValue(self.oldSharpness)
- if self.auto_fleshEntry is not None:
- config.pep.auto_flesh.setValue(self.oldAuto_flesh)
- if self.green_boostEntry is not None:
- config.pep.green_boost.setValue(self.oldGreen_boost)
- if self.blue_boostEntry is not None:
- config.pep.blue_boost.setValue(self.oldBlue_boost)
- if self.dynamic_contrastEntry is not None:
- config.pep.dynamic_contrast.setValue(self.oldDynamic_contrast)
+ if self.scaler_sharpnessEntry is not None:
+ config.av.scaler_sharpness.setValue(self.oldScaler_sharpness)
+ if self.splitEntry is not None:
+ config.pep.split.setValue('off')
+ if self.sharpnessEntry is not None:
+ config.pep.sharpness.setValue(self.oldSharpness)
+ if self.auto_fleshEntry is not None:
+ config.pep.auto_flesh.setValue(self.oldAuto_flesh)
+ if self.green_boostEntry is not None:
+ config.pep.green_boost.setValue(self.oldGreen_boost)
+ if self.blue_boostEntry is not None:
+ config.pep.blue_boost.setValue(self.oldBlue_boost)
+ if self.dynamic_contrastEntry is not None:
+ config.pep.dynamic_contrast.setValue(self.oldDynamic_contrast)
self.keySave()
def keyYellow(self):
config.pep.mosquito_noise_reduction.setValue(0)
if self.digital_contour_removalEntry is not None:
config.pep.digital_contour_removal.setValue(0)
-
- if self.hw_type in ( 'dm8000', 'dm500hd' ):
- if self.splitEntry is not None:
- config.pep.split.setValue('off')
- if self.sharpnessEntry is not None:
- config.pep.sharpness.setValue(0)
- if self.auto_fleshEntry is not None:
- config.pep.auto_flesh.setValue(0)
- if self.green_boostEntry is not None:
- config.pep.green_boost.setValue(0)
- if self.blue_boostEntry is not None:
- config.pep.blue_boost.setValue(0)
- if self.dynamic_contrastEntry is not None:
- config.pep.dynamic_contrast.setValue(0)
+ if self.scaler_sharpnessEntry is not None:
+ config.av.scaler_sharpness.setValue(13)
+ if self.splitEntry is not None:
+ config.pep.split.setValue('off')
+ if self.sharpnessEntry is not None:
+ config.pep.sharpness.setValue(0)
+ if self.auto_fleshEntry is not None:
+ config.pep.auto_flesh.setValue(0)
+ if self.green_boostEntry is not None:
+ config.pep.green_boost.setValue(0)
+ if self.blue_boostEntry is not None:
+ config.pep.blue_boost.setValue(0)
+ if self.dynamic_contrastEntry is not None:
+ config.pep.dynamic_contrast.setValue(0)
self.keySave()
def keyBlue(self):
from Screens.Setup import SetupSummary
return SetupSummary
-
def videoEnhancementSetupMain(session, **kwargs):
- session.open(VideoEnhancementSetup, video_enhancement)
-
+ session.open(VideoEnhancementSetup)
def startSetup(menuid):
if menuid != "system":
return [ ]
-
return [(_("Video enhancement settings") , videoEnhancementSetupMain, "videoenhancement_setup", 41)]
-
def Plugins(**kwargs):
list = []
- if config.usage.setup_level.index >= 2: # expert+
- hw_type = HardwareInfo().get_device_name()
- if hw_type in ( 'dm8000', 'dm800', 'dm500hd' ):
- if (os.path.exists("/proc/stb/vmpeg/0/pep_apply") == True):
- list.append(PluginDescriptor(name=_("Videoenhancement Setup"), description=_("Advanced Video Enhancement Setup"), where = PluginDescriptor.WHERE_MENU, fnc=startSetup))
+ if config.usage.setup_level.index >= 2 and os_path.exists("/proc/stb/vmpeg/0/pep_apply"):
+ list.append(PluginDescriptor(name=_("Videoenhancement Setup"), description=_("Advanced Video Enhancement Setup"), where = PluginDescriptor.WHERE_MENU, fnc=startSetup))
return list
from Plugins.Plugin import PluginDescriptor
from Components.SystemInfo import SystemInfo
from Components.ConfigList import ConfigListScreen
-from Components.config import getConfigListEntry, config, ConfigBoolean
+from Components.config import getConfigListEntry, config, ConfigBoolean, ConfigNothing, ConfigSlider
from VideoHardware import video_hw
if SystemInfo["CanChangeOsdAlpha"]:
self.list.append(getConfigListEntry(_("OSD visibility"), config.av.osd_alpha))
+ if not isinstance(config.av.scaler_sharpness, ConfigNothing):
+ self.list.append(getConfigListEntry(_("Scaler sharpness"), config.av.scaler_sharpness))
+
self["config"].list = self.list
self["config"].l.setList(self.list)
def SelectionChanged(self):
self.clearSelectedKeys()
selection = self["list"].getCurrent()
- selection = selection[3]
+ if selection:
+ selection = selection[3]
#arrow = self["arrowup"]
print "selection:", selection
{
return configvalue;
}
- else // get Value from enigma2 settings file
+ else // get value from enigma2 settings file
{
FILE *f = fopen(configfile.c_str(), "r");
if (!f)
char line[1024];
if (!fgets(line, 1024, f))
break;
- filecontent += line;
+ std::string tmp = line;
+ std::string password;
+ int pwdpos = tmp.find(".password=", 0);
+ if( pwdpos != std::string::npos)
+ {
+ filecontent += tmp.substr(0,pwdpos +10);
+ for ( int pos = pwdpos +10; pos < tmp.length()-1; ++pos )
+ {
+ filecontent += "X";
+ }
+ filecontent += "\n";
+ }
+ else {
+ filecontent += line;
+ }
}
fclose(f);
}
fprintf(f, "\t\t<kernelcmdline>%s</kernelcmdline>\n", kernelcmd);
}
std::string sendAnonCrashlog = getConfigFileValue("config.plugins.crashlogautosubmit.sendAnonCrashlog");
- if (sendAnonCrashlog == "False" || sendAnonCrashlog == "false" || sendAnonCrashlog == "") // defaults to false, so "" is also ok.
+ if (sendAnonCrashlog == "False" || sendAnonCrashlog == "false") // defaults to true... default anonymized crashlogs
{
std::string ca = getFileContent("/proc/stb/info/ca");
if (ca != "Error")
msgstr ""
"Project-Id-Version: tuxbox-enigma 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-10 09:03+0200\n"
+"POT-Creation-Date: 2009-09-23 09:45+0200\n"
"PO-Revision-Date: 2009-08-10 00:32+0100\n"
"Last-Translator: Sebastian <zbigzbig2@op.pl>\n"
"Language-Team: none\n"
msgid "Couldn't record due to conflicting timer %s"
msgstr "Nie można nagrać z powodu konfliktu timera %s"
-msgid "Crashlog settings"
-msgstr ""
-
msgid "CrashlogAutoSubmit"
msgstr "CrashlogAutoSubmit"
-msgid "CrashlogAutoSubmit settings"
-msgstr ""
-
-msgid "CrashlogAutoSubmit settings..."
-msgstr ""
-
msgid ""
"Crashlogs found!\n"
"Send them to Dream Multimedia ?"
msgid "Date"
msgstr "Data"
-msgid "Decide what should be done when crashlogs are found."
-msgstr ""
-
-msgid "Decide what should happen to the crashlogs after submission."
-msgstr ""
-
msgid "Deep Standby"
msgstr "Głębokie Czuwanie"
msgid "Do you want to resume this playback?"
msgstr "Czy chcesz wznowić odtwarzanie?"
-msgid ""
-"Do you want to submit your email address and name so that we can contact you "
-"if needed?"
-msgstr ""
-
msgid "Do you want to update your Dreambox?"
msgstr "Chcesz zaktualizować Dreamboxa?"
msgid "Enter the service pin"
msgstr "Wpisz Pin serwisu"
-msgid "Enter your email address so that we can contact you if needed."
-msgstr ""
-
msgid "Error"
msgstr "Błąd"
msgid "How many minutes do you want to record?"
msgstr "Ile minut ma trwać nagranie?"
-msgid "How to handle found crashlogs?"
-msgstr ""
-
msgid "Hungarian"
msgstr "Węgierski"
"In order to record a timer, the TV was switched to the recording service!\n"
msgstr "Aby nagrywać z timera, TV został włączony na nagrywany serwis!\n"
-msgid "Include your email and name (optional) in the mail?"
-msgstr ""
-
msgid "Increased voltage"
msgstr "Zwiększone napięcie"
msgid "No, just start my dreambox"
msgstr "Nie, tylko włącz Dreamboxa"
-msgid "No, not now"
-msgstr ""
-
msgid "No, scan later manually"
msgstr "Nie, skanuj ręcznie później"
-msgid "No, send them never"
-msgstr ""
-
msgid "None"
msgstr "Brak"
msgid "Only Free scan"
msgstr "Skanuj tylko FTA"
-msgid "Optionally enter your name if you want to."
-msgstr ""
-
msgid "Orbital Position"
msgstr "Pozycja orbitalna"
msgid "Please enter the old pin code"
msgstr "Wpisz stary kod pin"
-msgid "Please enter your email address here:"
-msgstr ""
-
-msgid "Please enter your name here (optional):"
-msgstr ""
-
msgid "Please follow the instructions on the TV"
msgstr "Podążaj za instrukcjami na TV"
msgid "Slot %d"
msgstr "Slot %d"
-msgid "Slovakian"
-msgstr ""
-
-msgid "Slovenian"
-msgstr ""
-
msgid "Slow"
msgstr "Wolno"
msgid "What do you want to scan?"
msgstr "Co chcesz skanować?"
-msgid "What to do with submitted crashlogs?"
-msgstr ""
-
msgid ""
"When you do a factory reset, you will lose ALL your configuration data\n"
"(including bouquets, services, satellite data ...)\n"
msgid "Yes, and delete this movie"
msgstr "Tak, usuń ten film"
-msgid "Yes, and don't ask again"
-msgstr ""
-
msgid "Yes, backup my settings!"
msgstr "Tak, zrób kopie moich ustawień!"
"Twój Dreambox jest niewłaściwie połączony do internetu. Sprawdź to i spróbuj "
"ponownie."
-msgid "Your email address:"
-msgstr ""
-
msgid ""
"Your frontprocessor firmware must be upgraded.\n"
"Press OK to start upgrade."
"Twój frontprocessor musi zostać zaktualizowany.\n"
"Naciśnij OK aby rozpocząć aktualizacje."
-msgid "Your name (optional):"
-msgstr ""
-
msgid "Your network configuration has been activated."
msgstr "Twoja konfiguracja sieci została aktywowana."
msgid "zapped"
msgstr "Przełączony"
+msgid "IMDb Details Plugin"
+msgstr "Plugin IMDb"
+
+msgid "Video enhancement settings"
+msgstr "Konfiguracja obrazu..."
+
+msgid "Video enhancement setup"
+msgstr "Konfiguracja Obrazu"
+
+msgid "Last config"
+msgstr "Ostatnie ust"
+
+msgid "Saturation"
+msgstr "Nasycenie"
+
+msgid "Hue"
+msgstr "Barwa"
+
+msgid "Split preview mode"
+msgstr "Oddzielny tryb podglądu"
+
+msgid "Sharpness"
+msgstr "Ostrość"
+
+msgid "Auto flesh"
+msgstr "Auto flesh"
+
+msgid "Green boost"
+msgstr "Zielony"
+
+msgid "Blue boost"
+msgstr "Niebieski"
+
+msgid "Block noise reduction"
+msgstr "Blokowa redukcja szumów"
+
+msgid "Mosquito noise reduction"
+msgstr "Punktowa redukcja szumów"
+
+msgid "Digital contour removal"
+msgstr "Cyfrowe usunięcie konturu"
+
+msgid "Dynamic contrast"
+msgstr "Dynamiczny kontrast"
+
+msgid "Current value: "
+msgstr "Obecna wartość: "
+
+msgid "VideoEnhancementSetup"
+msgstr "Konfiguracja obrazu"
+
+msgid "VideoEnhancementPreview"
+msgstr "Podgląd ustawień"
+
+msgid "Video enhancement preview"
+msgstr "Podgląd ustawień"
+
+msgid "Use this video enhancement settings?"
+msgstr "Użyć tych ustawień?"
+
+msgid "Reset video enhancement settings to your last configuration?"
+msgstr "Zresetować ustawienia do ostatniej dobrej konfiguracji?"
+
+msgid "Reset video enhancement settings to system defaults?"
+msgstr "Zresetować ustawienia do domyślnych?"
+
+msgid "CrashlogAutoSubmit settings..."
+msgstr "Ustawienia crashlog..."
+
+msgid "How to handle found crashlogs?"
+msgstr "Czynność po znalezieniu crashloga"
+
+msgid "Crashlog settings"
+msgstr "Ustawienia crashlog"
+
+msgid "What to do with submitted crashlogs?"
+msgstr "Co zrobić z danymi crashlogami?"
+
+msgid "Include your email and name (optional) in the mail?"
+msgstr "Dołączyć email i twoją nazwę?"
+
+msgid "Your email address:"
+msgstr "Twój adres email:"
+
+msgid "Your name (optional):"
+msgstr "Twoja nazwa (opcjonalnie):"
+
+msgid "Anonymize crashlog?"
+msgstr "Anonimowy crashlog"
+
+msgid "Add network configuration?"
+msgstr "Dodać konfigurację sieci?"
+
+msgid "Add WLAN configuration?"
+msgstr "Dodać konfigurację WLAN?"
+
+msgid "Decide what should be done when crashlogs are found."
+msgstr "Zdecyduj co powinno być zrobione gdy crashlogi zostaną znalezione."
+
+msgid "Decide what should happen to the crashlogs after submission."
+msgstr "Zdecyduj co powino sie wydarzyć po złożeniu crashlogów."
+
+msgid "Do you want to submit your email address and name so that we can contact you if needed?"
+msgstr "Czy dołączyć twój adres email i nazwę jeśli będzie trzeba?"
+
+msgid "Enter your email address so that we can contact you if needed."
+msgstr "Wpisz swój adres email jeśli trzeba"
+
+msgid "Optionally enter your name if you want to."
+msgstr "Opcjonalnie dodaj nazwę jeśli chcesz."
+
+msgid "Adds enigma2 settings and dreambox model informations like SN, rev... if enabled."
+msgstr "Dołącz ustawienia e2, model dreamboxa, dodatkowe info o tunerze..."
+
+msgid "Adds network configuration if enabled."
+msgstr "Dołącz konfigurację sieci."
+
+msgid "Adds wlan configuration if enabled."
+msgstr "Dołącz konfigurację WLAN."
+
+msgid ""
+"Crashlogs found!\n"
+"Send them to Dream Multimedia?"
+msgstr ""
+"Znaleziono crashlog(i)!\n"
+"Wysłać do DreamMultimedia?"
+
+msgid "Yes, and don't ask again"
+msgstr "Tak ale nie pytaj ponownie"
+
+msgid "No, not now"
+msgstr "Nie teraz"
+
+msgid "No, send them never"
+msgstr "Nie wysyłaj wogóle"
+
+msgid "Change step size"
+msgstr "Zmień rozmiar skoku"
+
#~ msgid ""
#~ "\n"
#~ "Enigma2 will restart after the restore"