godot-engine.file-editor/addons/file-editor/scripts/LastOpenedFiles.gd

72 lines
2.2 KiB
GDScript3
Raw Normal View History

2019-10-08 00:25:16 +02:00
tool
2022-07-15 10:20:59 +02:00
extends Reference
2019-10-08 00:25:16 +02:00
2022-07-15 10:20:59 +02:00
var editor_plugin : EditorPlugin = null
var editor_settings : EditorSettings = null
2019-10-08 00:25:16 +02:00
2022-07-15 12:54:03 +02:00
func store_opened_files(filecontainer : Control) -> void:
var arr : Array = Array()
for child in range(filecontainer.get_item_count()):
var filepath : String = filecontainer.get_item_metadata(child)[0].current_path
var a : Array = Array()
a.push_back(filepath.get_file())
a.push_back(filepath)
arr.push_back(a)
2019-10-08 00:25:16 +02:00
editor_settings.set_project_metadata("file_editor", "files", arr)
2019-10-08 00:25:16 +02:00
2022-07-15 12:54:03 +02:00
func remove_opened_file(index : int , filecontainer : Control) -> void:
var filepath : String = filecontainer.get_item_metadata(index)[0].current_path
var f : String = filepath.get_file()
var arr : Array = editor_settings.get_project_metadata("file_editor", "files", Array())
for i in range(arr.size()):
var a : Array = arr[i]
if a[0] == f:
arr.remove(i)
break
editor_settings.set_project_metadata("file_editor", "files", arr)
var fonts_dict : Dictionary = editor_settings.get_project_metadata("file_editor", "file_fonts", Dictionary())
if fonts_dict.has(f):
fonts_dict.erase(f)
editor_settings.set_project_metadata("file_editor", "file_fonts", fonts_dict)
2019-10-08 00:25:16 +02:00
func load_opened_files() -> Array:
var arr : Array = editor_settings.get_project_metadata("file_editor", "files", Array())
var fonts_dict : Dictionary = editor_settings.get_project_metadata("file_editor", "file_fonts", Dictionary())
var keys : Array = Array()
for i in range(arr.size()):
var a : Array = arr[i]
# creating and returning an Array with this format [1:file name, 2:file path, 3:file font]
var k : Array
k.push_back(a[0])
k.push_back(a[1])
if fonts_dict.has(a[0]):
k.push_back(fonts_dict[a[0]])
else:
k.push_back("null")
keys.append(k)
2019-10-18 01:22:11 +02:00
return keys
2022-07-15 12:54:03 +02:00
func store_editor_fonts(file_name : String, font_path : String) -> void:
var fonts_dict : Dictionary = editor_settings.get_project_metadata("file_editor", "file_fonts", Dictionary())
fonts_dict[file_name] = font_path
editor_settings.set_project_metadata("file_editor", "file_fonts", fonts_dict)
2020-10-13 17:17:22 +02:00
2022-07-15 12:30:34 +02:00
func get_editor_font() -> String:
2022-07-15 10:20:59 +02:00
#var editor_plugin : EditorPlugin = EditorPlugin.new()
2020-10-13 17:17:22 +02:00
return editor_plugin.get_editor_interface().get_editor_settings().get_setting("interface/editor/code_font")