lib/sup/modes/thread_view_mode.rb in sup-0.16.0 vs lib/sup/modes/thread_view_mode.rb in sup-0.17.0

- old
+ new

@@ -1,7 +1,5 @@ -require 'shellwords' - module Redwood class ThreadViewMode < LineCursorMode ## this holds all info we need to lay out a message class MessageLayout @@ -352,25 +350,25 @@ def edit_as_new m = @message_lines[curpos] or return mode = ComposeMode.new(:body => m.quotable_body_lines, :to => m.to, :cc => m.cc, :subj => m.subj, :bcc => m.bcc, :refs => m.refs, :replytos => m.replytos) BufferManager.spawn "edit as new", mode - mode.edit_message + mode.default_edit_message end def save_to_disk chunk = @chunk_lines[curpos] or return case chunk when Chunk::Attachment default_dir = $config[:default_attachment_save_dir] default_dir = ENV["HOME"] if default_dir.nil? || default_dir.empty? - default_fn = File.expand_path File.join(default_dir, Shellwords.escape(chunk.filename)) + default_fn = File.expand_path File.join(default_dir, chunk.filename) fn = BufferManager.ask_for_filename :filename, "Save attachment to file or directory: ", default_fn, true # if user selects directory use file name from message if fn and File.directory? fn - fn = File.join(fn, Shellwords.escape(chunk.filename)) + fn = File.join(fn, chunk.filename) end save_to_file(fn) { |f| f.print chunk.raw_content } if fn else m = @message_lines[curpos] @@ -390,11 +388,11 @@ num = 0 num_errors = 0 m.chunks.each do |chunk| next unless chunk.is_a?(Chunk::Attachment) - fn = File.join(folder, Shellwords.escape(chunk.filename)) + fn = File.join(folder, chunk.filename) num_errors += 1 unless save_to_file(fn, false) { |f| f.print chunk.raw_content } num += 1 end if num == 0 @@ -421,11 +419,11 @@ m = @message_lines[curpos] or return if m.is_draft? mode = ResumeMode.new m BufferManager.spawn "Edit message", mode BufferManager.kill_buffer self.buffer - mode.edit_message + mode.default_edit_message else BufferManager.flash "Not a draft message!" end end @@ -454,17 +452,19 @@ return continue_search_in_buffer if in_search? # err.. don't know why im doing this m = (curpos ... @message_lines.length).argfind { |i| @message_lines[i] } return unless m + nextm = @layout[m].next + return unless nextm + if @layout[m].toggled_state == true @layout[m].state = :closed @layout[m].toggled_state = false update end - nextm = @layout[m].next if @layout[nextm].state == :closed @layout[nextm].state = :open @layout[nextm].toggled_state = true end @@ -491,16 +491,18 @@ def jump_to_prev_and_open force_alignment=nil m = (0 .. curpos).to_a.reverse.argfind { |i| @message_lines[i] } return unless m + nextm = @layout[m].prev + return unless nextm + if @layout[m].toggled_state == true @layout[m].state = :closed @layout[m].toggled_state = false update end - nextm = @layout[m].prev if @layout[nextm].state == :closed @layout[nextm].state = :open @layout[nextm].toggled_state = true end