From 0d42146e79a53d331366ab8ed5119910d5744f10 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 21 Sep 2014 16:26:52 +0530 Subject: [PATCH] Some debugging for the History stack --- src/calibre/gui2/viewer/ui.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/viewer/ui.py b/src/calibre/gui2/viewer/ui.py index 85369f0518..5c3784ebdb 100644 --- a/src/calibre/gui2/viewer/ui.py +++ b/src/calibre/gui2/viewer/ui.py @@ -102,7 +102,7 @@ class Metadata(QWebView): # {{{ class History(list): # {{{ - def __init__(self, action_back, action_forward): + def __init__(self, action_back=None, action_forward=None): self.action_back = action_back self.action_forward = action_forward super(History, self).__init__(self) @@ -112,8 +112,10 @@ class History(list): # {{{ self.set_actions() def set_actions(self): - self.action_back.setDisabled(self.back_pos is None) - self.action_forward.setDisabled(self.forward_pos is None) + if self.action_back is not None: + self.action_back.setDisabled(self.back_pos is None) + if self.action_forward is not None: + self.action_forward.setDisabled(self.forward_pos is None) def back(self, from_pos): # Back clicked @@ -153,6 +155,21 @@ class History(list): # {{{ # There can be no forward self.forward_pos = None self.set_actions() + + def __str__(self): + return 'History: Items=%s back_pos=%s insert_pos=%s forward_pos=%s' % (tuple(self), self.back_pos, self.insert_pos, self.forward_pos) + +def test_history(): + h = History() + for i in xrange(4): + h.add(i) + for i in reversed(xrange(4)): + h.back(i) + print (h) + h.forward(0) + print (h) + h.add(1) + print (h) # }}} class Main(MainWindow):