>From d20e3d2d66e671d18efec3d6210e8f22ef5409af Mon Sep 17 00:00:00 2001 From: Tyberius Prime tyberius_prime@coonabibba.de Date: Thu, 1 May 2008 20:37:20 +0200 Subject: [PATCH] add autocomplete editing for from in edit-message-mode and a key shortcut(f) for it --- lib/sup/buffer.rb | 2 +- lib/sup/modes/edit-message-mode.rb | 11 ++++++++++ 2 files changed, 11 insertions(+), 1 deletions(-) diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb index ebc3587..e68c001 100644 --- a/lib/sup/buffer.rb +++ b/lib/sup/buffer.rb @@ -406,7 +406,7 @@ EOS end end - def ask_with_completions domain, question, completions, default=nil + def ask_with_completions domain, question, completions, default=nil #questions are a space seperated list, I believe. ask domain, question, default do |s| completions.select { |x| x =~ /^#{Regexp::escape s}/i }.map { |x| [x, x] } end diff --git a/lib/sup/modes/edit-message-mode.rb b/lib/sup/modes/edit-message-mode.rb index 8bb7756..aa582d4 100644 --- a/lib/sup/modes/edit-message-mode.rb +++ b/lib/sup/modes/edit-message-mode.rb @@ -45,6 +45,7 @@ EOS k.add :edit_message_or_field, "Edit selected field", 'e' k.add :edit_to, "Edit To:", 't' k.add :edit_cc, "Edit Cc:", 'c' + k.add :edit_from, "Edit From:", 'f' k.add :edit_subject, "Edit Subject", 's' k.add :edit_message, "Edit message", :enter k.add :save_as_draft, "Save as draft", 'P' @@ -117,6 +118,7 @@ EOS def edit_to; edit_field "To" end def edit_cc; edit_field "Cc" end def edit_subject; edit_field "Subject" end + def edit_from; edit_field "From" end def edit_message @file = Tempfile.new "sup.#{self.class.name.gsub(/.*::/, '').camel_to_hyphy}" @@ -379,6 +381,14 @@ protected update field end + when "From" + completions = AccountManager.user_emails + text = BufferManager.ask_with_completions :from, "From: ", completions, @header[field] + if text + @header[field] = parse_header field, text + update + field + end else default = case field -- 1.4.4.4