aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens
diff options
context:
space:
mode:
authorFraxinas <andreas.frisch@multimedia-labs.de>2010-04-09 08:25:08 +0200
committerFraxinas <andreas.frisch@multimedia-labs.de>2010-04-09 08:25:08 +0200
commit98c7a787df63a93f868548c2b1e357c0d873ebbe (patch)
treee8258f3e175e540e6106e0b7202abcf550b825d1 /lib/python/Screens
parentae60e9e3642949a91b7ea4f77374495fec9a51ed (diff)
parent76250cdc36d0f0e84505d5654066229b846f035f (diff)
downloadenigma2-98c7a787df63a93f868548c2b1e357c0d873ebbe.tar.gz
enigma2-98c7a787df63a93f868548c2b1e357c0d873ebbe.zip
Merge branch 'experimental' of git.opendreambox.org:/git/enigma2 into experimental
Diffstat (limited to 'lib/python/Screens')
-rw-r--r--lib/python/Screens/ChannelSelection.py2
-rw-r--r--lib/python/Screens/InfoBarGenerics.py13
-rw-r--r--lib/python/Screens/RecordPaths.py8
-rw-r--r--lib/python/Screens/Satconfig.py21
-rw-r--r--lib/python/Screens/ScanSetup.py27
-rw-r--r--lib/python/Screens/ServiceScan.py4
-rw-r--r--lib/python/Screens/TaskView.py9
7 files changed, 65 insertions, 19 deletions
diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py
index 4ca6fa39..0895c9c2 100644
--- a/lib/python/Screens/ChannelSelection.py
+++ b/lib/python/Screens/ChannelSelection.py
@@ -449,7 +449,7 @@ class ChannelSelectionEdit:
if mutableAlternatives:
mutableAlternatives.setListName(name)
if mutableAlternatives.addService(cur_service.ref):
- print "add", cur_service.toString(), "to new alternatives failed"
+ print "add", cur_service.ref.toString(), "to new alternatives failed"
mutableAlternatives.flushChanges()
self.servicelist.addService(new_ref.ref, True)
self.servicelist.removeCurrent()
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index ca9ba550..1c577eec 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -487,7 +487,7 @@ class InfoBarEPG:
self["EPGActions"] = HelpableActionMap(self, "InfobarEPGActions",
{
"showEventInfo": (self.openEventView, _("show EPG...")),
- "showEventInfoPlugin": (self.showEventInfoPlugins, _("show single service EPG...")),
+ "showEventInfoPlugin": (self.showEventInfoPlugins, _("list of EPG views...")),
"showInfobarOrEpgWhenInfobarAlreadyVisible": self.showEventInfoWhenNotVisible,
})
@@ -598,6 +598,7 @@ class InfoBarEPG:
if list:
list.append((_("show single service EPG..."), self.openSingleServiceEPG))
+ list.append((_("Multi EPG"), self.openMultiServiceEPG))
self.session.openWithCallback(self.EventInfoPluginChosen, ChoiceBox, title=_("Please choose an extension..."), list = list, skin_name = "EPGExtensionsList")
else:
self.openSingleServiceEPG()
@@ -1110,15 +1111,21 @@ class InfoBarPVRState:
self.pvrStateDialog.hide()
else:
self._mayShow()
-
class InfoBarTimeshiftState(InfoBarPVRState):
def __init__(self):
InfoBarPVRState.__init__(self, screen=TimeshiftState, force_show = True)
+ self.__hideTimer = eTimer()
+ self.__hideTimer.callback.append(self.__hideTimeshiftState)
def _mayShow(self):
- if self.execing and self.timeshift_enabled and self.seekstate != self.SEEK_STATE_PLAY:
+ if self.execing and self.timeshift_enabled:
self.pvrStateDialog.show()
+ if self.seekstate == self.SEEK_STATE_PLAY and not self.shown:
+ self.__hideTimer.start(5*1000, True)
+
+ def __hideTimeshiftState(self):
+ self.pvrStateDialog.hide()
class InfoBarShowMovies:
diff --git a/lib/python/Screens/RecordPaths.py b/lib/python/Screens/RecordPaths.py
index c833266f..22ca9fcf 100644
--- a/lib/python/Screens/RecordPaths.py
+++ b/lib/python/Screens/RecordPaths.py
@@ -6,7 +6,7 @@ from Components.config import config, ConfigSelection, getConfigListEntry, confi
from Components.ConfigList import ConfigListScreen
from Components.ActionMap import ActionMap
from Tools.Directories import fileExists
-
+from Components.UsageConfig import preferredPath
class RecordPathsSettings(Screen,ConfigListScreen):
skin = """
@@ -115,7 +115,7 @@ class RecordPathsSettings(Screen,ConfigListScreen):
self.dirnameSelected,
MovieLocationBox,
txt,
- self.default_dirname.value
+ preferredPath(self.default_dirname.value)
)
elif currentry == self.timer_entry:
self.entrydirname = self.timer_dirname
@@ -123,7 +123,7 @@ class RecordPathsSettings(Screen,ConfigListScreen):
self.dirnameSelected,
MovieLocationBox,
_("Initial location in new timers"),
- self.timer_dirname.value
+ preferredPath(self.timer_dirname.value)
)
elif currentry == self.instantrec_entry:
self.entrydirname = self.instantrec_dirname
@@ -131,7 +131,7 @@ class RecordPathsSettings(Screen,ConfigListScreen):
self.dirnameSelected,
MovieLocationBox,
_("Location for instant recordings"),
- self.instantrec_dirname.value
+ preferredPath(self.instantrec_dirname.value)
)
elif currentry == self.timeshift_entry:
self.entrydirname = self.timeshift_dirname
diff --git a/lib/python/Screens/Satconfig.py b/lib/python/Screens/Satconfig.py
index 7fdfc2fd..87d65e54 100644
--- a/lib/python/Screens/Satconfig.py
+++ b/lib/python/Screens/Satconfig.py
@@ -58,7 +58,7 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen):
def createConfigMode(self):
if self.nim.isCompatible("DVB-S"):
- choices = { "nothing": _("nothing connected"),
+ choices = { "nothing": _("not configured"),
"simple": _("simple"),
"advanced": _("advanced")}
#if len(nimmanager.getNimListOfType(nimmanager.getNimType(self.slotid), exception = x)) > 0:
@@ -76,6 +76,7 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen):
print "Creating setup"
self.list = [ ]
+ self.multiType = None
self.configMode = None
self.diseqcModeEntry = None
self.advancedSatsEntry = None
@@ -94,6 +95,11 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen):
self.advancedType = None
self.advancedManufacturer = None
self.advancedSCR = None
+
+ if self.nim.isMultiType():
+ multiType = self.nimConfig.multiType
+ self.multiType = getConfigListEntry(_("Tuner type"), multiType)
+ self.list.append(self.multiType)
if self.nim.isCompatible("DVB-S"):
self.configMode = getConfigListEntry(_("Configuration Mode"), self.nimConfig.configMode)
@@ -200,10 +206,17 @@ class NimSetup(Screen, ConfigListScreen, ServiceStopScreen):
self.advancedLnbsEntry, self.advancedDiseqcMode, self.advancedUsalsEntry, \
self.advancedLof, self.advancedPowerMeasurement, self.turningSpeed, \
self.advancedType, self.advancedSCR, self.advancedManufacturer, self.advancedUnicable, \
- self.uncommittedDiseqcCommand, self.cableScanType)
+ self.uncommittedDiseqcCommand, self.cableScanType, self.multiType)
+ if self["config"].getCurrent() == self.multiType:
+ from Components.NimManager import InitNimManager
+ InitNimManager(nimmanager)
+ self.nim = nimmanager.nim_slots[self.slotid]
+ self.nimConfig = self.nim.config
+
for x in checkList:
if self["config"].getCurrent() == x:
self.createSetup()
+ break
def run(self):
if self.have_advanced and self.nim.config_mode == "advanced":
@@ -482,7 +495,7 @@ class NimSelection(Screen):
"satposdepends": _("second cable of motorized LNB") } [nimConfig.configMode.value]
text += " " + _("Tuner") + " " + ["A", "B", "C", "D"][int(nimConfig.connectedTo.value)]
elif nimConfig.configMode.value == "nothing":
- text = _("nothing connected")
+ text = _("not configured")
elif nimConfig.configMode.value == "simple":
if nimConfig.diseqcMode.value in ("single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
text = {"single": _("Single"), "toneburst_a_b": _("Toneburst A/B"), "diseqc_a_b": _("DiSEqC A/B"), "diseqc_a_b_c_d": _("DiSEqC A/B/C/D")}[nimConfig.diseqcMode.value] + "\n"
@@ -519,6 +532,8 @@ class NimSelection(Screen):
text = _("nothing connected")
elif nimConfig.configMode.value == "enabled":
text = _("enabled")
+ if x.isMultiType():
+ text = _("Switchable tuner types:") + "(" + ','.join(x.getMultiTypeList().values()) + ")" + "\n" + text
self.list.append((slotid, x.friendly_full_description, text, x))
self["nimlist"].setList(self.list)
diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py
index 1dbc1505..f4828088 100644
--- a/lib/python/Screens/ScanSetup.py
+++ b/lib/python/Screens/ScanSetup.py
@@ -8,6 +8,7 @@ from Components.ConfigList import ConfigListScreen
from Components.NimManager import nimmanager, getConfigSatlist
from Components.Label import Label
from Tools.Directories import resolveFilename, SCOPE_DEFAULTPARTITIONMOUNTDIR, SCOPE_DEFAULTDIR, SCOPE_DEFAULTPARTITION
+from Tools.HardwareInfo import HardwareInfo
from Screens.MessageBox import MessageBox
from enigma import eTimer, eDVBFrontendParametersSatellite, eComponentScan, \
eDVBSatelliteEquipmentControl, eDVBFrontendParametersTerrestrial, \
@@ -113,6 +114,7 @@ class CableTransponderSearchSupport:
def cableTransponderSearchSessionClosed(self, *val):
print "cableTransponderSearchSessionClosed, val", val
+ self.resetTimeout()
self.cable_search_container.appClosed.remove(self.cableTransponderSearchClosed)
self.cable_search_container.dataAvail.remove(self.getCableTransponderData)
self.cable_search_container = None
@@ -160,6 +162,19 @@ class CableTransponderSearchSupport:
tmpstr += " kHz "
tmpstr += data[0]
self.cable_search_session["text"].setText(tmpstr)
+
+ def setTimeout(self):
+ try:
+ self.oldtimeoutvalue = open("/sys/module/dvb_core/parameters/dvb_shutdown_timeout", "r").readline()
+ open("/sys/module/dvb_core/parameters/dvb_shutdown_timeout", "w").write("0")
+ except:
+ print "[info] no /sys/module/dvb_core/parameters/dvb_shutdown_timeout available"
+
+ def resetTimeout(self):
+ try:
+ open("/sys/module/dvb_core/parameters/dvb_shutdown_timeout", "w").write(self.oldtimeoutvalue)
+ except:
+ print "[info] no /sys/module/dvb_core/parameters/dvb_shutdown_timeout available"
def startCableTransponderSearch(self, nim_idx):
if not self.tryGetRawFrontend(nim_idx):
@@ -176,10 +191,17 @@ class CableTransponderSearchSupport:
self.cable_search_container.appClosed.append(self.cableTransponderSearchClosed)
self.cable_search_container.dataAvail.append(self.getCableTransponderData)
cableConfig = config.Nims[nim_idx].cable
- cmd = "tda1002x --init --scan --verbose --wakeup --inv 2 --bus "
+ tunername = nimmanager.getNimName(nim_idx)
+ if tunername == "CXD1981":
+ cmd = "cxd1978 --init --scan --verbose --wakeup --inv 2 --bus "
+ else:
+ cmd = "tda1002x --init --scan --verbose --wakeup --inv 2 --bus "
#FIXMEEEEEE hardcoded i2c devices for dm7025 and dm8000
if nim_idx < 2:
- cmd += str(nim_idx)
+ if HardwareInfo().get_device_name() == "dm500hd":
+ cmd += "2"
+ else:
+ cmd += str(nim_idx)
else:
if nim_idx == 2:
cmd += "2" # first nim socket on DM8000 use /dev/i2c/2
@@ -243,6 +265,7 @@ class CableTransponderSearchSupport:
self.cable_search_container.execute(cmd)
tmpstr = _("Try to find used transponders in cable network.. please wait...")
tmpstr += "\n\n..."
+ self.setTimeout()
self.cable_search_session = self.session.openWithCallback(self.cableTransponderSearchSessionClosed, MessageBox, tmpstr, MessageBox.TYPE_INFO)
class DefaultSatLists(DefaultWizard):
diff --git a/lib/python/Screens/ServiceScan.py b/lib/python/Screens/ServiceScan.py
index 6ee35b84..df427f99 100644
--- a/lib/python/Screens/ServiceScan.py
+++ b/lib/python/Screens/ServiceScan.py
@@ -36,7 +36,7 @@ class ServiceScan(Screen):
def cancel(self):
self.close()
-
+
def __init__(self, session, scanList):
Screen.__init__(self, session)
@@ -58,7 +58,7 @@ class ServiceScan(Screen):
"ok": self.ok,
"cancel": self.cancel
})
-
+
self.onFirstExecBegin.append(self.doServiceScan)
def doServiceScan(self):
diff --git a/lib/python/Screens/TaskView.py b/lib/python/Screens/TaskView.py
index eb926ca3..9907e2fb 100644
--- a/lib/python/Screens/TaskView.py
+++ b/lib/python/Screens/TaskView.py
@@ -7,7 +7,7 @@ import Screens.Standby
from Tools import Notifications
class JobView(InfoBarNotifications, Screen, ConfigListScreen):
- def __init__(self, session, job, parent=None, cancelable = True, backgroundable = True, afterEvent = 0):
+ def __init__(self, session, job, parent=None, cancelable = True, backgroundable = True):
from Components.Sources.StaticText import StaticText
from Components.Sources.Progress import Progress
from Components.Sources.Boolean import Boolean
@@ -43,19 +43,20 @@ class JobView(InfoBarNotifications, Screen, ConfigListScreen):
"ok": self.ok,
}, -2)
- self.afterevents = [ "nothing", "standby", "deepstandby", "close" ]
self.settings = ConfigSubsection()
if SystemInfo["DeepstandbySupport"]:
shutdownString = _("go to deep standby")
else:
shutdownString = _("shut down")
- self.settings.afterEvent = ConfigSelection(choices = [("nothing", _("do nothing")), ("close", _("Close")), ("standby", _("go to standby")), ("deepstandby", shutdownString)], default = self.afterevents[afterEvent])
+ self.settings.afterEvent = ConfigSelection(choices = [("nothing", _("do nothing")), ("close", _("Close")), ("standby", _("go to standby")), ("deepstandby", shutdownString)], default = self.job.afterEvent or "nothing")
+ self.job.afterEvent = self.settings.afterEvent.getValue()
self.setupList()
self.state_changed()
def setupList(self):
self["config"].setList( [ getConfigListEntry(_("After event"), self.settings.afterEvent) ])
-
+ self.job.afterEvent = self.settings.afterEvent.getValue()
+
def keyLeft(self):
ConfigListScreen.keyLeft(self)
self.setupList()