diff options
Diffstat (limited to 'menu/menu.gd')
| -rw-r--r-- | menu/menu.gd | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/menu/menu.gd b/menu/menu.gd deleted file mode 100644 index d6e1501..0000000 --- a/menu/menu.gd +++ /dev/null @@ -1,121 +0,0 @@ -extends MenuButton - -const menu_items: Array = [ - { label = "Import Option Sets", action = "import_option_sets_action" }, - { label = "Export Option Sets", action = "export_option_sets_action" }, - { label = "Clear Option Sets", action = "clear_option_sets_action" }, - { label = "Import Database", action = "import_database_action" }, - { label = "Export Database", action = "export_database_action" }, - { label = "Clear Database", action = "clear_database_action" }, - { label = "About", action = "about_action" }, -] -const license_font_b612: String = "res://licenses/font_b612.txt" -const license_godot: String = "res://licenses/godot.txt" - -onready var menu := get_popup() as PopupMenu -onready var popup := get_node("/root/main/popup") as ModalPopup -onready var dialog := get_node("/root/main/dialog") as Dialog -onready var file_picker := get_node("/root/main/file_picker") as FileDialog -onready var database := get_node("/root/main/database") as Database -onready var stage := get_node("/root/main/stage") as Stage - - -func _ready(): - for idx in range(menu_items.size()): - menu.add_item(menu_items[idx].label, idx) - menu.connect("id_pressed", self, "id_pressed") - - -func id_pressed(id: int): - self.call_deferred(menu_items[id].action) - - -func import_option_sets_action(): - dialog.setup("All option sets from the dropdown menus will be replaced.", "Continue", "No") - dialog.connect("accepted", self, "import_option_sets_action_accepted") - popup.open_popup("Replace option sets?", dialog) - - -func import_option_sets_action_accepted(): - file_picker.mode = FileDialog.MODE_OPEN_FILE - file_picker.current_dir = OS.get_system_dir(OS.SYSTEM_DIR_DOWNLOADS) - file_picker.filters = ["*.json", "*.csv"] - file_picker.current_file = "" - file_picker.connect("file_selected", self, "import_option_sets") - file_picker.show_modal(true) - file_picker.invalidate() - - -func import_option_sets(file_path: String): - stage.load_option_sets(file_path) - stage.save_option_sets() - - -func export_option_sets_action(): - file_picker.mode = FileDialog.MODE_SAVE_FILE - file_picker.current_dir = OS.get_system_dir(OS.SYSTEM_DIR_DOWNLOADS) - file_picker.filters = ["*.json"] - file_picker.current_file = "" - file_picker.connect("file_selected", stage, "save_option_sets") - file_picker.show_modal(true) - file_picker.invalidate() - - -func clear_option_sets_action(): - dialog.setup("All option sets from the dropdown menus will be deleted.", "Delete all", "No") - dialog.connect("accepted", self, "clear_option_sets") - popup.open_popup("Clear option sets?", dialog) - - -func clear_option_sets(): - stage.clear_option_sets() - stage.save_option_sets() - - -func import_database_action(): - dialog.setup("All entries from the database will be replaced.", "Continue", "No") - dialog.connect("accepted", self, "import_database_action_accepted") - popup.open_popup("Replace database?", dialog) - - -func import_database_action_accepted(): - file_picker.mode = FileDialog.MODE_OPEN_FILE - file_picker.current_dir = OS.get_system_dir(OS.SYSTEM_DIR_DOWNLOADS) - file_picker.filters = ["*.json", "*.csv"] - file_picker.current_file = "" - file_picker.connect("file_selected", self, "import_database") - file_picker.show_modal(true) - file_picker.invalidate() - - -func import_database(file_path: String): - database.load_database(file_path) - database.save_database() - - -func export_database_action(): - file_picker.mode = FileDialog.MODE_SAVE_FILE - file_picker.current_dir = OS.get_system_dir(OS.SYSTEM_DIR_DOWNLOADS) - file_picker.filters = ["*.csv"] - file_picker.current_file = "" - file_picker.connect("file_selected", database, "save_database") - file_picker.show_modal(true) - file_picker.invalidate() - - -func clear_database_action(): - dialog.setup("All entries from the database will be deleted.", "Delete all", "No") - dialog.connect("accepted", self, "clear_database") - popup.open_popup("Clear database?", dialog) - - -func clear_database(): - database.clear_database() - database.save_database() - - -func about_action(): - dialog.setup("Surgery Log\nversion 0.1", "", "") - popup.open_popup("About", dialog) - - |
