summaryrefslogtreecommitdiff
path: root/alot/widgets
diff options
context:
space:
mode:
authorPatrick Totzke <patricktotzke@gmail.com>2013-03-15 21:20:49 +0000
committerPatrick Totzke <patricktotzke@gmail.com>2013-03-15 21:20:49 +0000
commit2b4a18f9a29c9735ded0ab8780b341d9aadf1ebf (patch)
tree6bfbdd873baf9a86198929e6a1f177458ffd8fa5 /alot/widgets
parent9fa123fad28b65f0693999417b1fc0fb0759fb8f (diff)
reimplement thread.TagCommand
Diffstat (limited to 'alot/widgets')
-rw-r--r--alot/widgets/thread.py15
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()