comparison src/luan_editor/window.luan @ 55:77ee3a37475a

paste files
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 27 May 2025 22:31:32 -0600
parents d5681da8ece8
children
comparison
equal deleted inserted replaced
54:dcd7d082196f 55:77ee3a37475a
1 local Luan = require "luan:Luan.luan" 1 local Luan = require "luan:Luan.luan"
2 local error = Luan.error 2 local error = Luan.error
3 local stringify = Luan.stringify or error() 3 local stringify = Luan.stringify or error()
4 local ipairs = Luan.ipairs or error()
4 local Parsers = require "luan:Parsers.luan" 5 local Parsers = require "luan:Parsers.luan"
5 local json_string = Parsers.json_string or error() 6 local json_string = Parsers.json_string or error()
6 local json_parse = Parsers.json_parse or error() 7 local json_parse = Parsers.json_parse or error()
7 local Math = require "luan:Math.luan" 8 local Math = require "luan:Math.luan"
8 local min = Math.min or error() 9 local min = Math.min or error()
30 local run_later = Swing.run_later or error() 31 local run_later = Swing.run_later or error()
31 local File_chooser = require "luan:swing/File_chooser.luan" 32 local File_chooser = require "luan:swing/File_chooser.luan"
32 local choose_file = File_chooser.awt_choose_file or error() 33 local choose_file = File_chooser.awt_choose_file or error()
33 local Option_pane = require "luan:swing/Option_pane.luan" 34 local Option_pane = require "luan:swing/Option_pane.luan"
34 local show_message_dialog = Option_pane.show_message_dialog or error() 35 local show_message_dialog = Option_pane.show_message_dialog or error()
36 local Clipboard = require "luan:swing/Clipboard.luan"
35 local Java = require "classpath:luan_editor/Java.luan" 37 local Java = require "classpath:luan_editor/Java.luan"
36 local Logging = require "luan:logging/Logging.luan" 38 local Logging = require "luan:logging/Logging.luan"
37 local logger = Logging.logger "editor/window" 39 local logger = Logging.logger "editor/window"
38 40
39 41
342 function window.duplicate() 344 function window.duplicate()
343 local new = new_window(file,text_area.document) 345 local new = new_window(file,text_area.document)
344 new.text_area.set_selection( text_area.get_selection() ) 346 new.text_area.set_selection( text_area.get_selection() )
345 end 347 end
346 window.show_list_window = show_list_window 348 window.show_list_window = show_list_window
349 function window.paste_files()
350 --logger.info("paste_files "..stringify(Clipboard.get_files()))
351 local files = Clipboard.get_files()
352 if files == nil then
353 return false
354 end
355 for _, file in ipairs(files) do
356 new_window(file)
357 end
358 return true
359 end
347 add_menu_bar(window) 360 add_menu_bar(window)
348 frame.pack() 361 frame.pack()
349 local location = config.location 362 local location = config.location
350 if location ~= nil then 363 if location ~= nil then
351 frame.location = location 364 frame.location = location