@@ -44,6 +44,7 @@ def get_info(self):
4444 info ['result_count_positive' ] = 's' if self .result_count > 1 else ''
4545 return info
4646
47+
4748 def rebuild (self , reverse = False ):
4849 self .isinitialized = True
4950 self .reversed = reverse
@@ -61,20 +62,26 @@ def rebuild(self, reverse=False):
6162 if exclude_tags :
6263 exclude_tags = [t for t in exclude_tags .split (';' ) if t ]
6364
64- try :
65- self .result_count = self .dbman .count_messages (self .querystring )
66- threads = self .dbman .get_threads (
67- self .querystring , order , exclude_tags )
68- except NotmuchError :
69- self .ui .notify ('malformed query string: %s' % self .querystring ,
70- 'error' )
71- self .listbox = urwid .ListBox ([])
72- self .body = self .listbox
73- return
74-
75- self .threadlist = IterableWalker (threads , ThreadlineWidget ,
76- dbman = self .dbman ,
77- reverse = reverse )
65+ querylist = self .querystring .split (' / ' )
66+ for query in querylist :
67+ try :
68+ self .result_count = self .dbman .count_messages (query )
69+ threads = self .dbman .get_threads (
70+ query , order , exclude_tags )
71+ except NotmuchError :
72+ self .ui .notify ('malformed query string: %s' % query ,
73+ 'error' )
74+ self .listbox = urwid .ListBox ([])
75+ self .body = self .listbox
76+ return
77+
78+ iterablewalker = IterableWalker (threads , ThreadlineWidget ,
79+ dbman = self .dbman ,
80+ reverse = reverse )
81+ if self .threadlist :
82+ self .threadlist .append (iterablewalker )
83+ else :
84+ self .threadlist = iterablewalker
7885
7986 self .listbox = urwid .ListBox (self .threadlist )
8087 self .body = self .listbox
0 commit comments