# File lib/json/editor.rb, line 1296
      def select_file(message)
        filename = nil
        fs = FileSelection.new(message)
        fs.set_modal(true)
        @default_dir = File.join(Dir.pwd, '') unless @default_dir
        fs.set_filename(@default_dir)
        fs.set_transient_for(self)
        fs.signal_connect(:destroy) { Gtk.main_quit }
        fs.ok_button.signal_connect(:clicked) do
          filename = fs.filename
          @default_dir = File.join(File.dirname(filename), '')
          fs.destroy
          Gtk.main_quit
        end
        fs.cancel_button.signal_connect(:clicked) do
          fs.destroy
          Gtk.main_quit
        end
        fs.show_all
        Gtk.main
        filename
      end