Files
GDCad/Editor/fileDropdown.gd
2026-10-09 12:42:49 -04:00

29 lines
819 B
GDScript

extends MenuButton
@onready var submenu = $"Open recent"
func _ready() -> void:
var popup = self.get_popup()
popup.id_pressed.connect(_handle_popup)
popup.add_item("New")
popup.add_separator()
popup.add_item("Open")
submenu.get_parent().remove_child(submenu)
popup.add_submenu_node_item("Open recent", submenu, 3)
submenu.id_pressed.connect(_open_recent)
for file in CAD.recent_files:
var id = submenu.item_count
submenu.add_item(file.get_file().get_basename(), id)
submenu.set_item_metadata(id, file)
popup.add_separator()
popup.add_item("Save")
func _open_recent(id: int):
CAD.open_project(submenu.get_item_metadata(id))
func _handle_popup(id: int) -> void:
var bname = self.get_popup().get_item_text(id)
if $content.has_node(bname):
var node = $content.get_node(bname)
node.visible=true