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:
|
2022-07-15 11:16:30 +02:00
|
|
|
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
|
|
|
|
2022-07-15 11:16:30 +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:
|
2022-07-15 11:16:30 +02:00
|
|
|
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:
|
2022-07-15 11:16:30 +02:00
|
|
|
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
|
2020-10-12 18:13:53 +02:00
|
|
|
|
2022-07-15 12:54:03 +02:00
|
|
|
func store_editor_fonts(file_name : String, font_path : String) -> void:
|
2022-07-15 11:16:30 +02:00
|
|
|
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")
|