From: wmorgan Date: Fri, 12 Jan 2007 23:37:53 +0000 (+0000) Subject: added "reply to recipient" X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=b0727153db1acd7699f2b2a3dbf9d732f539df2e;p=sup added "reply to recipient" git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@246 5c8cc53c-5e98-4d25-b20a-d8db53a31250 --- diff --git a/lib/sup/modes/reply-mode.rb b/lib/sup/modes/reply-mode.rb index 84fed06..b209849 100644 --- a/lib/sup/modes/reply-mode.rb +++ b/lib/sup/modes/reply-mode.rb @@ -1,9 +1,10 @@ module Redwood class ReplyMode < EditMessageMode - REPLY_TYPES = [:sender, :list, :all, :user] + REPLY_TYPES = [:sender, :recipient, :list, :all, :user] TYPE_DESCRIPTIONS = { :sender => "Reply to sender", + :recipient => "Reply to recipient", :all => "Reply to all", :list => "Reply to mailing list", :user => "Customized reply" @@ -41,7 +42,12 @@ class ReplyMode < EditMessageMode @headers[:sender] = { "From" => "#{from.name} <#{from_email}>", "To" => [to.full_address], - } + } unless AccountManager.is_account? to + + @headers[:recipient] = { + "From" => "#{from.name} <#{from_email}>", + "To" => cc.map { |p| p.full_address }, + } unless cc.empty? @headers[:user] = { "From" => "#{from.name} <#{from_email}>", @@ -73,9 +79,15 @@ class ReplyMode < EditMessageMode end @type_labels = REPLY_TYPES.select { |t| @headers.member?(t) } - @selected_type = @m.is_list_message? ? :list : :sender + @selected_type = + if @m.is_list_message? + :list + elsif @headers.member? :sender + :sender + else + :recipient + end - @body += sig_lines regen_text end @@ -99,7 +111,7 @@ class ReplyMode < EditMessageMode protected - def body; @body; end + def body; @body + sig_lines; end def header; @headers[@selected_type]; end def reply_body_lines m @@ -121,7 +133,7 @@ protected end def regen_text - @text = header_lines(@headers[@selected_type] - NON_EDITABLE_HEADERS) + [""] + @body + @text = header_lines(header - NON_EDITABLE_HEADERS) + [""] + body end def gen_references