3 class ComposeMode < EditMessageMode
6 header["From"] = (opts[:from] || AccountManager.default_account).full_address
7 header["To"] = opts[:to].map { |p| p.full_address }.join(", ") if opts[:to]
8 header["To"] = opts[:to].map { |p| p.full_address }.join(", ") if opts[:to]
9 header["Cc"] = opts[:cc].map { |p| p.full_address }.join(", ") if opts[:cc]
10 header["Bcc"] = opts[:bcc].map { |p| p.full_address }.join(", ") if opts[:bcc]
11 header["Subject"] = opts[:subj] if opts[:subj]
13 super :header => header, :body => (opts[:body] || [])
18 BufferManager.kill_buffer self.buffer unless edited
22 def self.spawn_nicely opts={}
23 to = opts[:to] || BufferManager.ask_for_contacts(:people, "To: ") or return
24 cc = opts[:cc] || (BufferManager.ask_for_contacts(:people, "Cc: ") or return if $config[:ask_for_cc])
25 bcc = opts[:bcc] || (BufferManager.ask_for_contacts(:people, "Bcc: ") or return if $config[:ask_for_bcc])
26 subj = opts[:subj] || (BufferManager.ask(:subject, "Subject: ") or return if $config[:ask_for_subject])
28 mode = ComposeMode.new :from => opts[:from], :to => to, :cc => cc, :bcc => bcc, :subj => subj
29 BufferManager.spawn "New Message", mode