commit dc36b0c1b67508382bc118ca826b365311c7b42e
parent c4344bfc2bf6c927c94905a9ac7fc5a67721bd92
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date: Wed, 17 Jan 2007 21:15:39 +0000
minor bugfix and parenthesized quote/signature hiding messages
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@255 5c8cc53c-5e98-4d25-b20a-d8db53a31250
Diffstat:
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
@@ -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