diff options
author | Patrick Totzke <patricktotzke@gmail.com> | 2013-03-15 21:20:49 +0000 |
---|---|---|
committer | Patrick Totzke <patricktotzke@gmail.com> | 2013-03-15 21:20:49 +0000 |
commit | 2b4a18f9a29c9735ded0ab8780b341d9aadf1ebf (patch) | |
tree | 6bfbdd873baf9a86198929e6a1f177458ffd8fa5 /alot/widgets/thread.py | |
parent | 9fa123fad28b65f0693999417b1fc0fb0759fb8f (diff) |
reimplement thread.TagCommand
Diffstat (limited to 'alot/widgets/thread.py')
-rw-r--r-- | alot/widgets/thread.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/alot/widgets/thread.py b/alot/widgets/thread.py index 2be80ea5..5afc0369 100644 --- a/alot/widgets/thread.py +++ b/alot/widgets/thread.py @@ -139,9 +139,9 @@ class DictList(SimpleTree): class MessageTree(CollapsibleTree): def __init__(self, message, odd=True): self._message = message - self._summaryw = MessageSummaryWidget(message, even=(not odd)) - + self._odd = odd self.display_source = False + self._summaryw = None self._bodytree = None self._sourcetree = None self.display_all_headers = False @@ -158,6 +158,10 @@ class MessageTree(CollapsibleTree): def reassemble(self): self._maintree._treelist = self._assemble_structure() + def refresh(self): + self._summaryw = None + self.reassemble() + def debug(self): logging.debug('collapsed %s' % self.is_collapsed(self.root)) logging.debug('display_source %s' % self.display_source) @@ -183,7 +187,7 @@ class MessageTree(CollapsibleTree): mainstruct.append((self._get_body(), None)) structure = [ - (self._summaryw, mainstruct) + (self._get_summary(), mainstruct) ] return structure @@ -191,6 +195,11 @@ class MessageTree(CollapsibleTree): self.set_position_collapsed( self.root, self._message.matches(querystring)) + def _get_summary(self): + if self._summaryw is None: + self._summaryw = MessageSummaryWidget(self._message, even=(not self._odd)) + return self._summaryw + def _get_source(self): if self._sourcetree is None: sourcetxt = self._message.get_email().as_string() |