Fix closing stacked dialogs

If two dialogs were stacked, when the top one closed we assumed the
top widget would have a title, but it may be another dialog in which
case it does not.

Change-Id: I9353400bf6000bfd106783c157412df150c76d1e
This commit is contained in:
James E. Blair 2014-05-17 20:05:43 -04:00
parent 3252d29400
commit a5bb8ec113

View File

@ -200,6 +200,7 @@ class App(object):
self.popup(dialog)
def changeScreen(self, widget):
self.log.debug("Changing screen to %s" % (widget,))
self.status.update(title=widget.title)
self.screens.append(self.loop.widget)
self.loop.widget = widget
@ -208,7 +209,9 @@ class App(object):
if not self.screens:
return
widget = self.screens.pop()
self.status.update(title=widget.title)
self.log.debug("Popping screen to %s" % (widget,))
if hasattr(widget, 'title'):
self.status.update(title=widget.title)
self.loop.widget = widget
self.refresh()
@ -225,6 +228,7 @@ class App(object):
'center', ('relative', relative_width),
'middle', ('relative', relative_height),
min_width=min_width, min_height=min_height)
self.log.debug("Overlaying %s on screen %s" % (widget, self.loop.widget))
self.screens.append(self.loop.widget)
self.loop.widget = overlay