From 27e464c508856eefe3c27811293c19d5197c07c1 Mon Sep 17 00:00:00 2001 From: wmorgan Date: Wed, 5 Dec 2007 18:10:45 +0000 Subject: [PATCH] applied a modified detailed header hook from colin bell git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@738 5c8cc53c-5e98-4d25-b20a-d8db53a31250 --- lib/sup/modes/thread-view-mode.rb | 46 +++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb index 8755709..9c1edb1 100644 --- a/lib/sup/modes/thread-view-mode.rb +++ b/lib/sup/modes/thread-view-mode.rb @@ -13,6 +13,15 @@ class ThreadViewMode < LineCursorMode DATE_FORMAT = "%B %e %Y %l:%M%P" INDENT_SPACES = 2 # how many spaces to indent child messages + HookManager.register "detailed-headers", < "#{m.date.strftime DATE_FORMAT} (#{m.date.to_nice_distance_s})", + "Subject" => m.subj, + } + show_labels = @thread.labels - LabelManager::HIDDEN_RESERVED_LABELS - rest += [ - " Date: #{m.date.strftime DATE_FORMAT} (#{m.date.to_nice_distance_s})", - " Subject: #{m.subj}", - (parent ? " In reply to: #{parent.from.mediumname}'s message of #{parent.date.strftime DATE_FORMAT}" : nil), - show_labels.empty? ? nil : " Labels: #{show_labels.join(', ')}", - ].compact + unless show_labels.empty? + headers["Labels"] = show_labels.map { |x| x.to_s }.sort.join(', ') + end + if parent + headers["In reply to"] = "#{parent.from.mediumname}'s message of #{parent.date.strftime DATE_FORMAT}" + end + + headers = (HookManager.run("detailed-headers", :message => m, :headers => headers)) || headers - from + rest.map { |l| [[color, prefix + " " + l]] } + from_line + (addressee_lines + headers.map { |k, v| " #{k}: #{v}" }).map { |l| [[color, prefix + " " + l]] } end end -- 2.45.2