diff options
| author | dam <dam@gudinoff> | 2022-04-04 10:36:26 +0000 |
|---|---|---|
| committer | dam <dam@gudinoff> | 2022-04-04 10:36:26 +0000 |
| commit | 0093ad0682e493e5f8115566f71c8cb8a2d7c0d9 (patch) | |
| tree | be31c34e5713427fa924e150fa1ceba2caeeb84c /main.gd | |
| parent | f40df1987a35adbc234a1b04b018d92d420b1e92 (diff) | |
| download | surgery-log-0093ad0682e493e5f8115566f71c8cb8a2d7c0d9.tar.zst surgery-log-0093ad0682e493e5f8115566f71c8cb8a2d7c0d9.zip | |
Implement back button logic.
Diffstat (limited to 'main.gd')
| -rw-r--r-- | main.gd | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -2,7 +2,10 @@ extends Control var power_throttle_timeout: float +onready var popup := get_node("/root/main/popup") as ModalPopup onready var file_picker := get_node("/root/main/file_picker") as FileDialog +onready var stage := get_node("/root/main/stage") as Stage +onready var database := get_node("/root/main/database") as Database onready var controls_sensible_to_keyboard := [ self, file_picker, @@ -46,3 +49,17 @@ func _unhandled_input(event: InputEvent): power_throttle_timeout = 3.5 +func _notification(what: int): + if what == MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST: + if popup.visible: + popup.call_deferred("dismiss") + elif file_picker.visible: + file_picker.hide() + elif stage.visible: + stage.discard_action() + elif database.selected_idx != -1: + database.clear_selection() + else: + get_tree().quit() + + |
