From dc36b0c1b67508382bc118ca826b365311c7b42e Mon Sep 17 00:00:00 2001 From: wmorgan Date: Wed, 17 Jan 2007 21:15:39 +0000 Subject: [PATCH] minor bugfix and parenthesized quote/signature hiding messages git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@255 5c8cc53c-5e98-4d25-b20a-d8db53a31250 --- lib/sup/modes/thread-view-mode.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb index e6a4482..988d821 100644 --- a/lib/sup/modes/thread-view-mode.rb +++ b/lib/sup/modes/thread-view-mode.rb @@ -198,8 +198,8 @@ class ThreadViewMode < LineCursorMode def expand_all_quotes if(m = @message_lines[curpos]) quotes = m.chunks.select { |c| c.is_a?(Message::Quote) || c.is_a?(Message::Signature) } - open, closed = quotes.partition { |c| @layout[c].state == :open } - newstate = open.length > closed.length ? :closed : :open + numopen = quotes.inject(0) { |s, c| s + (@layout[c].state == :open ? 1 : 0) } + newstate = numopen > quotes.length / 2 ? :closed : :open quotes.each { |c| @layout[c].state = newstate } update end @@ -371,19 +371,19 @@ private when Message::Quote case state when :closed - [[[:quote_patina_color, "#{prefix}+ #{chunk.lines.length} quoted lines"]]] + [[[:quote_patina_color, "#{prefix}+ (#{chunk.lines.length} quoted lines)"]]] when :open t = chunk.lines - [[[:quote_patina_color, "#{prefix}- #{chunk.lines.length} quoted lines"]]] + + [[[:quote_patina_color, "#{prefix}- (#{chunk.lines.length} quoted lines)"]]] + t.map { |line| [[:quote_color, "#{prefix}#{line}"]] } end when Message::Signature case state when :closed - [[[:sig_patina_color, "#{prefix}+ #{chunk.lines.length}-line signature"]]] + [[[:sig_patina_color, "#{prefix}+ (#{chunk.lines.length}-line signature)"]]] when :open t = chunk.lines - [[[:sig_patina_color, "#{prefix}- #{chunk.lines.length}-line signature"]]] + + [[[:sig_patina_color, "#{prefix}- (#{chunk.lines.length}-line signature)"]]] + t.map { |line| [[:sig_color, "#{prefix}#{line}"]] } end else -- 2.45.2