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:
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}."