diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2006-05-24 22:56:58 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2006-05-24 22:56:58 +0000 |
| commit | 5e74dc98aad36025621d14b36faeb0c649bf8b9b (patch) | |
| tree | e1119df42abafe58972303a7376b597bb63c7a42 | |
| parent | a5d197928d1660c95ef7891eb21e4941f89ca1c0 (diff) | |
| download | enigma2-5e74dc98aad36025621d14b36faeb0c649bf8b9b.tar.gz enigma2-5e74dc98aad36025621d14b36faeb0c649bf8b9b.zip | |
fix summary screens
| -rw-r--r-- | mytest.py | 28 |
1 files changed, 16 insertions, 12 deletions
@@ -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 |
