aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-05-24 22:56:58 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-05-24 22:56:58 +0000
commit5e74dc98aad36025621d14b36faeb0c649bf8b9b (patch)
treee1119df42abafe58972303a7376b597bb63c7a42
parenta5d197928d1660c95ef7891eb21e4941f89ca1c0 (diff)
downloadenigma2-5e74dc98aad36025621d14b36faeb0c649bf8b9b.tar.gz
enigma2-5e74dc98aad36025621d14b36faeb0c649bf8b9b.zip
fix summary screens
-rw-r--r--mytest.py28
1 files changed, 16 insertions, 12 deletions
diff --git a/mytest.py b/mytest.py
index 5f574ad8..36a9382a 100644
--- a/mytest.py
+++ b/mytest.py
@@ -147,32 +147,36 @@ class Session:
if callback is not None:
callback(*retval)
- def execBegin(self):
+ def execBegin(self, first=True):
assert not self.in_exec
self.in_exec = True
c = self.current_dialog
- self.pushSummary()
-
- summary = c.createSummary() or SimpleSummary
- self.summary = self.instantiateSummaryDialog(summary, c)
- self.summary.show()
+ # when this is an execbegin after a execend of a "higher" dialog,
+ # popSummary already did the right thing.
+ if first:
+ self.pushSummary()
+ summary = c.createSummary() or SimpleSummary
+ self.summary = self.instantiateSummaryDialog(summary, c)
+ self.summary.show()
+ c.addSummary(self.summary)
- c.addSummary(self.summary)
c.execBegin()
# when execBegin opened a new dialog, don't bother showing the old one.
if c == self.current_dialog:
c.show()
- def execEnd(self):
+ def execEnd(self, last=True):
assert self.in_exec
self.in_exec = False
self.current_dialog.execEnd()
self.current_dialog.hide()
- self.current_dialog.removeSummary(self.summary)
- self.popSummary()
+
+ if last:
+ self.current_dialog.removeSummary(self.summary)
+ self.popSummary()
def create(self, screen, arguments, **kwargs):
# creates an instance of 'screen' (which is a class)
@@ -231,12 +235,12 @@ class Session:
def pushCurrent(self):
if self.current_dialog is not None:
self.dialog_stack.append(self.current_dialog)
- self.execEnd()
+ self.execEnd(last=False)
def popCurrent(self):
if len(self.dialog_stack):
self.current_dialog = self.dialog_stack.pop()
- self.execBegin()
+ self.execBegin(first=False)
else:
self.current_dialog = None