]> git.cworth.org Git - sup/commitdiff
tab completion for all filename prompts
authorwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Sat, 25 Aug 2007 05:56:08 +0000 (05:56 +0000)
committerwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Sat, 25 Aug 2007 05:56:08 +0000 (05:56 +0000)
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@545 5c8cc53c-5e98-4d25-b20a-d8db53a31250

lib/sup/buffer.rb
lib/sup/modes/edit-message-mode.rb
lib/sup/modes/file-browser-mode.rb
lib/sup/modes/log-mode.rb
lib/sup/modes/thread-view-mode.rb

index 467675a92de35f8cd278c5953901d6681dc945ee..e23507079864fdd4c747e3524810b0b4790652f2 100644 (file)
@@ -362,8 +362,7 @@ class BufferManager
     end
   end
 
-  ## returns an ARRAY of filenames!
-  def ask_for_filenames domain, question, default=nil
+  def ask_for_filename domain, question, default=nil
     answer = ask domain, question, default do |s|
       if s =~ /(~([^\s\/]*))/ # twiddle directory expansion
         full = $1
@@ -391,11 +390,11 @@ class BufferManager
         elsif File.directory?(answer)
           spawn_modal "file browser", FileBrowserMode.new(answer)
         else
-          [answer]
+          answer
         end
     end
 
-    answer || []
+    answer
   end
 
   ## returns an array of labels
index 5f7e712c05a4fcd8a87ac780fc0bebd9b9c72060..76ac2d1fb38410c7d76fc80920c705a2a3a028f4 100644 (file)
@@ -102,8 +102,8 @@ class EditMessageMode < LineCursorMode
   end
 
   def attach_file
-    fn = BufferManager.ask_for_filenames :attachment, "File name (enter for browser): "
-    fn.each { |f| @attachments << Pathname.new(f) }
+    fn = BufferManager.ask_for_filename :attachment, "File name (enter for browser): "
+    @attachments << Pathname.new(fn)
     update
   end
 
index 0105d73651de80a5674f82cecc5159d130eb6ef5..3c68eec6de8bddeeebad8960e55d535f5152649c 100644 (file)
@@ -65,7 +65,7 @@ protected
       end
     else
       begin
-        @value = [f.realpath.to_s]
+        @value = f.realpath.to_s
         @done = true
       rescue SystemCallError => e
         BufferManager.flash e.message
index 0a386d54b76b56eab3bb852ea5a343200bbd8225..8daa75e6a1e4bf87549ec473e70865534f896d95 100644 (file)
@@ -38,7 +38,7 @@ class LogMode < TextMode
   end
 
   def save_to_disk
-    fn = BufferManager.ask :filename, "Save log to file: "
+    fn = BufferManager.ask_for_filename :filename, "Save log to file: "
     save_to_file(fn) { |f| f.puts text } if fn
   end
 
index b5b2cfa778d5c74febd154bcc9c93e294ab2fea3..4252437e0f65bc720f53218cfdea19fb4b06ceda 100644 (file)
@@ -192,11 +192,11 @@ class ThreadViewMode < LineCursorMode
     chunk = @chunk_lines[curpos] or return
     case chunk
     when Message::Attachment
-      fn = BufferManager.ask :filename, "Save attachment to file: ", chunk.filename
+      fn = BufferManager.ask_for_filename :filename, "Save attachment to file: ", chunk.filename
       save_to_file(fn) { |f| f.print chunk.raw_content } if fn
     else
       m = @message_lines[curpos]
-      fn = BufferManager.ask :filename, "Save message to file: "
+      fn = BufferManager.ask_for_filename :filename, "Save message to file: "
       save_to_file(fn) { |f| f.print m.raw_full_message } if fn
     end
   end