Sha256: ca50998c018b099048032a0ba8004ecd7a52c703f0f3ef54a7d9d4e3b82165f9

Contents?: true

Size: 1.02 KB

Versions: 34

Compression:

Stored size: 1.02 KB

Contents

module Redcar
  class EditView
    class ModifiedTabsChecker
      def initialize(tabs, message, options)
        @tabs, @message, @options = tabs, message, options
      end
      
      def check
        modified_edit_tabs = @tabs.select {|t| t.edit_view.document.modified? }
        if modified_edit_tabs.any?
          result = Application::Dialog.message_box(
            "You have #{modified_edit_tabs.length} modified tabs.\n\n" + 
            @message,
            :buttons => :yes_no_cancel
          )
          case result
          when :yes
            modified_edit_tabs.each do |t|
              t.focus
              Project::FileSaveCommand.new(t).run
            end
            @options[:continue] ? @options[:continue].call : nil
          when :no
            @options[:continue] ? @options[:continue].call : nil
          when :cancel
            @options[:cancel] ? @options[:cancel].call : nil
          end
        else
          @options[:none] ? @options[:none].call : nil
        end
      end
    end
  end
end
    

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
redcar-0.11.0dev plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.10 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.9.2 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.9.1 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.9.0 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.8.1 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.8 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.7 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.6.1 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.6 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.6.1dev plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.5.1 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.5 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.5.6dev plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.5.5dev plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.5.4dev plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.5.3dev plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.5.2dev plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.5.1dev plugins/edit_view/lib/edit_view/modified_tabs_checker.rb
redcar-0.4.1 plugins/edit_view/lib/edit_view/modified_tabs_checker.rb