gduibasics/scenes/scripts/editor_file_edit.gd

32 lines
770 B
GDScript

tool
extends Control
onready var line_edit := $line_edit
onready var button := $button
onready var file_dialog := $file_dialog
export(String, FILE) var selected_file setget _set_selected_file
export(String) var file_filter = ""
func _ready():
line_edit.text = selected_file
func _set_selected_file(value : String):
if value != selected_file:
selected_file = value
if line_edit:
line_edit.text = selected_file
func _on_button_pressed():
file_dialog.clear_filters()
file_dialog.add_filter(file_filter)
file_dialog.filename = selected_file
file_dialog.popup_centered_ratio(0.5)
func _on_file_dialog_file_selected(path : String):
if path != selected_file:
_set_selected_file(path)
emit_signal("selected_file_changed")
signal selected_file_changed()