Mercurial Hosting > editor
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 |