Sha256: 5b9b5cb4a0bba70d3b75cd224be59538e958dd7be55e10c91990ff393eecfec4

Contents?: true

Size: 1.78 KB

Versions: 7

Compression:

Stored size: 1.78 KB

Contents

require 'java'

module Redcar
  class WebBookmarks

    class ShowWebBookmarksCommand < Redcar::Command
      sensitize :open_project
      def execute
        if tree = win.treebook.trees.detect {|tree| tree.tree_mirror.title == TREE_TITLE }
          tree.refresh
          win.treebook.focus_tree(tree)
        else
          project = Project::Manager.in_window(win)
          tree = Tree.new(
            TreeMirror.new(project),
            TreeController.new(project,TREE_TITLE)
          )
          win.treebook.add_tree(tree)
        end
      end
    end

    class AddBookmark < Redcar::ProjectCommand
      def initialize(url)
        @protocol = url.split("://")[0]
        @url      = url.split("://")[1]
      end

      def execute
        @path = project.config_files(BOOKMARKS_FILE).detect { |pj|
           not pj.include?(Redcar.user_dir)
        }
        if @path
          json = File.read(@path)
        else
          @path = project.path + "/.redcar/#{BOOKMARKS_FILE}"
          json = JSON.generate({"bookmarks"=>[]})
        end
        bookmarks = JSON(json)["bookmarks"]
        if name = fill_field("Name")
          group = fill_field("Group")
          bookmark = {
            "name"     => name,
            "url"      => @url,
            "protocol" => @protocol
          }
          bookmark["group"] = group unless group.nil? or group == ""
          bookmarks << bookmark
          File.open(@path,'w') do |f|
            f.puts JSON.pretty_generate({"bookmarks"=>bookmarks})
          end
        end
      end

      def fill_field(name)
        title = "Add New Bookmark"
        msg   = "Choose a #{name} for this Bookmark"
        out   = Redcar::Application::Dialog.input(title,msg)
        return if out[:button] == :cancel
        name = out[:value]
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
redcar-dev-0.12.7dev-java plugins/web_bookmarks/lib/web_bookmarks/commands.rb
redcar-dev-0.12.6dev-java plugins/web_bookmarks/lib/web_bookmarks/commands.rb
redcar-dev-0.12.4dev-java plugins/web_bookmarks/lib/web_bookmarks/commands.rb
redcar-dev-0.12.3dev-java plugins/web_bookmarks/lib/web_bookmarks/commands.rb
redcar-dev-0.12.1dev-java plugins/web_bookmarks/lib/web_bookmarks/commands.rb
redcar-dev-0.12.0dev-java plugins/web_bookmarks/lib/web_bookmarks/commands.rb
redcar-0.11 plugins/web_bookmarks/lib/web_bookmarks/commands.rb