From 6aba2c5ae385d3eba88060ba5f5d875c9b373cfe Mon Sep 17 00:00:00 2001 From: wmorgan Date: Tue, 5 Jun 2007 16:56:15 +0000 Subject: [PATCH] bugfix: tagged thread input, output and counting git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@437 5c8cc53c-5e98-4d25-b20a-d8db53a31250 --- lib/sup/buffer.rb | 2 +- lib/sup/tagger.rb | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb index 1bd0332..bb94fbe 100644 --- 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 index 424dac2..464f1ac 100644 --- 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}." -- 2.45.2