3 class ForwardMode < EditMessageMode
5 ## todo: share some of this with reply-mode
6 def initialize m, opts={}
8 "From" => AccountManager.default_account.full_address,
9 "Subject" => "Fwd: #{m.subj}",
12 header["To"] = opts[:to].map { |p| p.full_address }.join(", ") if opts[:to]
13 header["Cc"] = opts[:cc].map { |p| p.full_address }.join(", ") if opts[:cc]
14 header["Bcc"] = opts[:bcc].map { |p| p.full_address }.join(", ") if opts[:bcc]
16 super :header => header, :body => forward_body_lines(m)
19 def self.spawn_nicely m, opts={}
20 to = opts[:to] || BufferManager.ask_for_contacts(:people, "To: ") or return
21 cc = opts[:cc] || BufferManager.ask_for_contacts(:people, "Cc: ") or return if $config[:ask_for_cc]
22 bcc = opts[:bcc] || BufferManager.ask_for_contacts(:people, "Bcc: ") or return if $config[:ask_for_bcc]
24 mode = ForwardMode.new m, :to => to, :cc => cc, :bcc => bcc
25 BufferManager.spawn "Forwarding #{m.subj}", mode
31 def forward_body_lines m
32 ["--- Begin forwarded message from #{m.from.mediumname} ---"] +
33 m.quotable_header_lines + [""] + m.quotable_body_lines +
34 ["--- End forwarded message ---"]