sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 6aba2c5ae385d3eba88060ba5f5d875c9b373cfe
parent b561159df9e7f17c6ac68ae650d3b0fff831ae75
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date:   Tue,  5 Jun 2007 16:56:15 +0000

bugfix: tagged thread input, output and counting

git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@437 5c8cc53c-5e98-4d25-b20a-d8db53a31250

Diffstat:
M lib/sup/buffer.rb | 2 +-
M lib/sup/tagger.rb | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb
@@ -350,7 +350,7 @@ class BufferManager
     done = false
     @shelled = true
     until done
-      key = Ncurses.nonblocking_getch
+      key = Ncurses.nonblocking_getch or next
       if key == Ncurses::KEY_CANCEL
         done = true
       elsif (accept && accept.member?(key)) || !accept
diff --git a/lib/sup/tagger.rb b/lib/sup/tagger.rb
@@ -12,23 +12,23 @@ class Tagger
   def drop_tag_for o; @tagged.delete o; end
 
   def apply_to_tagged
-    num_tagged = @tagged.map { |t| t ? 1 : 0 }.sum
+    targets = @tagged.select_by_value
+    num_tagged = targets.size
     if num_tagged == 0
-      BufferManager.flash "No tagged messages!"
+      BufferManager.flash "No tagged threads!"
       return
     end
 
-    noun = num_tagged == 1 ? "message" : "messages"
+    noun = num_tagged == 1 ? "thread" : "threads"
     c = BufferManager.ask_getch "apply to #{num_tagged} tagged #{noun}:"
     return if c.nil? # user cancelled
 
-    if(action = @mode.resolve_input c)
+    if(action = @mode.resolve_input(c))
       tagged_sym = "multi_#{action}".intern
       if @mode.respond_to? tagged_sym
-        targets = @tagged.select_by_value
         @mode.send tagged_sym, targets
       else
-        BufferManager.flash "That command cannot be applied to multiple messages."
+        BufferManager.flash "That command cannot be applied to multiple threads."
       end
     else
       BufferManager.flash "Unknown command #{c.to_character}."