commit b0727153db1acd7699f2b2a3dbf9d732f539df2e
parent 55720e63c769030b1172e209ea69b5149123c953
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date: Fri, 12 Jan 2007 23:37:53 +0000
added "reply to recipient"
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@246 5c8cc53c-5e98-4d25-b20a-d8db53a31250
Diffstat:
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git 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