]> git.notmuchmail.org Git - sup/commitdiff
search for author within thread-view-mode
authorwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Thu, 18 Jan 2007 01:31:53 +0000 (01:31 +0000)
committerwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Thu, 18 Jan 2007 01:31:53 +0000 (01:31 +0000)
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@261 5c8cc53c-5e98-4d25-b20a-d8db53a31250

doc/TODO
lib/sup/modes/contact-list-mode.rb
lib/sup/modes/thread-view-mode.rb

index 05c22c759264f0c6079236c7c095bc04909e6b90..fb70d5bfca477386907983a4ee9dea65a0881fa6 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -7,7 +7,6 @@ maildir
 on startup, multi-threadedly call #connect on all sources 
 support for message-content modules such as ruby-talk:XXXXX detection
 use Net::SMTP
-search for other messages from author in thread-view-mode
 forward attachments
 CREATE attachments
 tab completion on labels, contacts
@@ -24,6 +23,7 @@ move sup-import argument handling to getopt
 be able to mark individual messages as spam in thread-view-mode
 toggle wrapping
 
+x search for other messages from author in thread-view-mode
 x resuming of arbitrary messages
 x alias authors in thread-view-mode
 x fix up contact list mode: should display while loading, and when you add an alias, should move everything else to the right
index 5dcf5e203012a88cd5cbdb0c3cabfb4d383b0cfe..989396b89def22a957ba6548378cc3d58473c498 100644 (file)
@@ -78,7 +78,7 @@ class ContactListMode < LineCursorMode
 
   def multi_search people
     mode = PersonSearchResultsMode.new people
-    BufferManager.spawn "personal search results", mode
+    BufferManager.spawn "search for #{people.map { |p| p.name }.join(', ')}", mode
     mode.load_threads :num => mode.buffer.content_height
   end
 
index e399122f58d743d20e4d2f81d997e22de7a64200..3c02dc74c0a2625cc86d3b551d7941bed9fc3f4f 100644 (file)
@@ -25,6 +25,7 @@ class ThreadViewMode < LineCursorMode
     k.add :alias, "Edit alias/nickname for a person", 'a'
     k.add :edit_as_new, "Edit message as new", 'd'
     k.add :save_to_disk, "Save message/attachment to disk", 's'
+    k.add :search, "Search for messages from particular people", 'S'
   end
 
   ## there are a couple important instance variables we hold to lay
@@ -103,6 +104,13 @@ class ThreadViewMode < LineCursorMode
     regen_text
   end
 
+  def search
+    p = @person_lines[curpos] or return
+    mode = PersonSearchResultsMode.new [p]
+    BufferManager.spawn "search for #{p.name}", mode
+    mode.load_threads :num => mode.buffer.content_height
+  end    
+
   def toggle_starred
     m = @message_lines[curpos] or return
     if m.has_label? :starred