extends Window @onready var rtl = $TextDisplay/RichTextLabel var _has_opened_file = false func _get_file_as_text(path): var to_return = null var f = File.new() var result = f.open(path, f.READ) if result == OK: to_return = f.get_as_text() f.close() else: to_return = str("ERROR: Could not open file. Error code ", result) return to_return func _ready(): rtl.clear() func _on_OpenFile_pressed(): $FileDialog.popup_centered() func _on_FileDialog_file_selected(path): show_file(path) func _on_Close_pressed(): self.hide() func show_file(path): var text = _get_file_as_text(path) if text == "": text = "" rtl.set_text(text) self.window_title = path func show_open(): self.popup_centered() $FileDialog.popup_centered() func _on_FileDialog_popup_hide(): if rtl.text.length() == 0: self.hide() func get_rich_text_label(): return $TextDisplay/RichTextLabel func _on_Home_pressed(): rtl.scroll_to_line(0) func _on_End_pressed(): rtl.scroll_to_line(rtl.get_line_count() - 1) func _on_Copy_pressed(): OS.clipboard = rtl.text