sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
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:
M lib/sup/modes/reply-mode.rb | 24 ++++++++++++++++++------
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