From: ghost Date: Fri, 20 Feb 2009 01:23:57 +0000 (+0100) Subject: Merge branch 'master' of git.opendreambox.org:/git/enigma2 X-Git-Tag: 2.6.0~414 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/29d62cc699d7043a749e6f184925b7fd14b5daab?hp=e180b709f892553d73784a30dc32e8251ad7b544 Merge branch 'master' of git.opendreambox.org:/git/enigma2 --- diff --git a/doc/FILEFORMAT b/doc/FILEFORMAT index 4f550871..66e9598c 100644 --- a/doc/FILEFORMAT +++ b/doc/FILEFORMAT @@ -6,12 +6,15 @@ They don't have a private header. == .meta FILES == -.meta files have currently 4 lines: +.meta files have currently up to 7 lines: +[] +[] +[] The service reference contains the Service-ID of the recorded service. With that ID, you can find the PMT and the elementary streams. @@ -20,6 +23,12 @@ As a backup method, just find the first available PMT and use that. Strings are always UTF-8 encoded. +tags is a space-delimited list of tags assigned to this movie. + +length is the length of the recording, in PTS-units (1/90000s). filesize was +the filesize at the time the length was calculated, so you can validate if +this is still up-to-date or must be recalculated. + == .ap FILES == Stored offsets and PTS values. They are collected while recording. Only diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index 44973af7..bf183f99 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -779,6 +779,10 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c if (PyInt_Check(pstring) && data) /* if the string is in fact a number, it refers to the 'data' list. */ pstring = PyTuple_GetItem(data, PyInt_AsLong(pstring)); + /* don't do anything if we have 'None' as string */ + if (pstring == Py_None) + continue; + const char *string = (PyString_Check(pstring)) ? PyString_AsString(pstring) : ""; int x = PyInt_AsLong(px) + offset.x(); int y = PyInt_AsLong(py) + offset.y(); @@ -945,6 +949,10 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c if (PyInt_Check(ppixmap) && data) /* if the pixemap is in fact a number, it refers to the 'data' list. */ ppixmap = PyTuple_GetItem(data, PyInt_AsLong(ppixmap)); + /* don't do anything if we have 'None' as pixmap */ + if (ppixmap == Py_None) + continue; + int x = PyInt_AsLong(px) + offset.x(); int y = PyInt_AsLong(py) + offset.y(); int width = PyInt_AsLong(pwidth); diff --git a/lib/python/Components/Network.py b/lib/python/Components/Network.py index f32a648c..c0b799ba 100755 --- a/lib/python/Components/Network.py +++ b/lib/python/Components/Network.py @@ -3,6 +3,8 @@ from re import compile as re_compile, search as re_search from socket import * from enigma import eConsoleAppContainer from Components.Console import Console +from Components.PluginComponent import plugins +from Plugins.Plugin import PluginDescriptor class Network: def __init__(self): @@ -22,6 +24,7 @@ class Network: self.activateConsole = Console() self.resetNetworkConsole = Console() self.DnsConsole = Console() + self.config_ready = None self.getInterfaces() def getInterfaces(self, callback = None): @@ -222,6 +225,8 @@ class Network: self.loadNameserverConfig() print "read configured interfac:", ifaces print "self.ifaces after loading:", self.ifaces + self.config_ready = True + self.msgPlugins() if callback is not None: callback(True) @@ -418,6 +423,8 @@ class Network: def restartNetwork(self,callback = None): self.restartConsole = Console() + self.config_ready = False + self.msgPlugins() self.commands = [] self.commands.append("/etc/init.d/avahi-daemon stop") for iface in self.ifaces.keys(): @@ -448,24 +455,34 @@ class Network: def stopLinkStateConsole(self): if self.LinkConsole is not None: - self.LinkConsole = None - + if len(self.LinkConsole.appContainers): + for name in self.LinkConsole.appContainers.keys(): + self.LinkConsole.kill(name) + def stopDNSConsole(self): if self.DnsConsole is not None: - self.DnsConsole = None - + if len(self.DnsConsole.appContainers): + for name in self.DnsConsole.appContainers.keys(): + self.DnsConsole.kill(name) + def stopRestartConsole(self): if self.restartConsole is not None: - self.restartConsole = None - + if len(self.restartConsole.appContainers): + for name in self.restartConsole.appContainers.keys(): + self.restartConsole.kill(name) + def stopGetInterfacesConsole(self): if self.Console is not None: - self.Console = None - + if len(self.Console.appContainers): + for name in self.Console.appContainers.keys(): + self.Console.kill(name) + def stopDeactivateInterfaceConsole(self): - if self.deactivateInterfaceConsole: - self.deactivateInterfaceConsole = None - + if self.deactivateInterfaceConsole is not None: + if len(self.deactivateInterfaceConsole.appContainers): + for name in self.deactivateInterfaceConsole.appContainers.keys(): + self.deactivateInterfaceConsole.kill(name) + def checkforInterface(self,iface): if self.getAdapterAttribute(iface, 'up') is True: return True @@ -547,6 +564,11 @@ class Network: netmask = str(inet_ntoa(pack('>L', nm))) return netmask + def msgPlugins(self): + if self.config_ready is not None: + for p in plugins.getPlugins(PluginDescriptor.WHERE_NETWORKCONFIG_READ): + p(reason=self.config_ready) + iNetwork = Network() def InitNetwork(): diff --git a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py index 8e2a9f3a..6a8ffc6f 100644 --- a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py +++ b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py @@ -511,7 +511,7 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP def askLeavePlayer(self): choices = [(_("Exit"), "exit"), (_("Continue playing"), "play")] - if not self.physicalDVD: + if True or not self.physicalDVD: choices.insert(1,(_("Return to file browser"), "browser")) self.session.openWithCallback(self.exitCB, ChoiceBox, title=_("Leave DVD Player?"), list = choices) diff --git a/lib/python/Plugins/Plugin.py b/lib/python/Plugins/Plugin.py old mode 100644 new mode 100755 index 53e7b0b8..d7fc6898 --- a/lib/python/Plugins/Plugin.py +++ b/lib/python/Plugins/Plugin.py @@ -49,6 +49,9 @@ class PluginDescriptor: # or return a function which is called with session and the interface name for extended setup of this interface WHERE_EVENTINFO = 11 + # reason (True: Networkconfig read finished, False: Networkconfig reload initiated ) + WHERE_NETWORKCONFIG_READ = 12 + def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None, wakeupfnc = None, internal = False): self.name = name self.internal = internal diff --git a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py index 1d7ce7b5..095e94c0 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py +++ b/lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py @@ -13,8 +13,8 @@ config.misc.showtestcard = ConfigBoolean(default = False) class VideoWizardSummary(WizardSummary): skin = """ - - + + diff --git a/lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml b/lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml index 2a592aae..29ac4297 100644 --- a/lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml +++ b/lib/python/Plugins/SystemPlugins/Videomode/videowizard.xml @@ -1,7 +1,7 @@ - + - + self["portpic"].show() @@ -9,7 +9,7 @@ self.clearSelectedKeys() self.selectKey("OK") - + @@ -20,7 +20,7 @@ self.selectKey("DOWN") self["portpic"].hide() - + self.condition = (self.port != "DVI" or self.mode == "PC") @@ -46,7 +46,7 @@ self.selectKey("DOWN") self.rateSelect("60Hz") - + self.condition = (self.port == "DVI" and self.mode in ["720p", "1080i"]) @@ -77,7 +77,7 @@ self.selectKey("UP") self.selectKey("DOWN") - + self.condition = (self.port == "DVI" and self.mode in ["720p", "1080i"]) diff --git a/lib/python/Screens/Wizard.py b/lib/python/Screens/Wizard.py index 2326b915..7d454f43 100755 --- a/lib/python/Screens/Wizard.py +++ b/lib/python/Screens/Wizard.py @@ -475,6 +475,11 @@ class Wizard(Screen): self.currStep += 1 self.updateValues() else: + if self.wizard[self.currStep].has_key("displaytext"): + displaytext = self.wizard[self.currStep]["displaytext"] + print "set LCD text" + for x in self.lcdCallbacks: + x(displaytext) if len(self.stepHistory) == 0 or self.stepHistory[-1] != self.currStep: self.stepHistory.append(self.currStep) print "wizard step:", self.wizard[self.currStep]