profile("LOAD:Wizard")
from Screens.Wizard import wizardManager
from Screens.DefaultWizard import *
-from Screens.ImageWizard import *
from Screens.StartWizard import *
from Screens.TutorialWizard import *
import Screens.Rc
self.execEnd(last=False)
def popCurrent(self):
- if len(self.dialog_stack):
+ if self.dialog_stack:
(self.current_dialog, do_show) = self.dialog_stack.pop()
self.execBegin(first=False, do_show=do_show)
else:
return dlg
def open(self, screen, *arguments, **kwargs):
- if len(self.dialog_stack) and not self.in_exec:
- raise "modal open are allowed only from a screen which is modal!"
+ if self.dialog_stack and not self.in_exec:
+ raise RuntimeError("modal open are allowed only from a screen which is modal!")
# ...unless it's the very first screen.
self.pushCurrent()
profile("Standby,PowerKey")
import Screens.Standby
from Screens.Menu import MainMenu, mdom
-import xml.dom.minidom
from GlobalActions import globalActionMap
class PowerKey:
self.session.open(Screens.Standby.TryQuitMainloop, 1)
def powerlong(self):
+ if Screens.Standby.inTryQuitMainloop or (self.session.current_dialog and not self.session.current_dialog.ALLOW_SUSPEND):
+ return
+
self.standbyblocked = 1
action = config.usage.on_long_powerpress.value
if action == "shutdown":
self.shutdown()
elif action == "show_menu":
print "Show shutdown Menu"
- menu = mdom.childNodes[0]
- for x in menu.childNodes:
- if x.nodeType != xml.dom.minidom.Element.nodeType:
- continue
- elif x.tagName == 'menu':
- for y in x.childNodes:
- if y.nodeType != xml.dom.minidom.Element.nodeType:
- continue
- elif y.tagName == 'id':
- id = y.getAttribute("val")
- if id and id == "shutdown":
- self.session.infobar = self
- menu_screen = self.session.openWithCallback(self.MenuClosed, MainMenu, x, x.childNodes)
- menu_screen.setTitle(_("Standby / Restart"))
- return
+ root = mdom.getroot()
+ for x in root.findall("menu"):
+ y = x.find("id")
+ if y is not None:
+ id = y.get("val")
+ if id and id == "shutdown":
+ self.session.infobar = self
+ menu_screen = self.session.openWithCallback(self.MenuClosed, MainMenu, x)
+ menu_screen.setTitle(_("Standby / Restart"))
+ return
def powerdown(self):
self.standbyblocked = 0
CiHandler.setSession(session)
- screensToRun = [ ]
-
- for p in plugins.getPlugins(PluginDescriptor.WHERE_WIZARD):
- screensToRun.append(p.__call__)
+ screensToRun = [ p.__call__ for p in plugins.getPlugins(PluginDescriptor.WHERE_WIZARD) ]
profile("wizards")
screensToRun += wizardManager.getWizards()
screen = screensToRun[0][1]
- if len(screensToRun):
+ if screensToRun:
session.openWithCallback(boundFunction(runNextScreen, session, screensToRun[1:]), screen)
else:
session.open(screen)
]
wakeupList.sort()
recordTimerWakeupAuto = False
- if len(wakeupList):
- startTime = wakeupList.pop(0)
+ if wakeupList:
+ startTime = wakeupList[0]
if (startTime[0] - nowTime) < 330: # no time to switch box back on
wptime = nowTime + 30 # so switch back on in 30 seconds
else: