pokepurple/addons/twitcher/editor/setup/setup.gd

59 lines
1.7 KiB
GDScript3
Raw Normal View History

@tool
extends Window
const PageUseCase = preload("res://addons/twitcher/editor/setup/page_use_case.gd")
const TwitchEditorSettings = preload("res://addons/twitcher/editor/twitch_editor_settings.gd")
const PageAuthorization = preload("res://addons/twitcher/editor/setup/page_authorization.gd")
#Setup
#- Check for Authorization Stuff
#-- Client Credentials
#-- Editor Token
#-- Scopes
#- Auth Button
#- Create Base Node Structure
@onready var authorization: PageAuthorization = %Authorization
@onready var use_case: PageUseCase = %UseCase as PageUseCase
@onready var close: Button = %Close
@onready var startup_check: CheckButton = %StartupCheck
func _ready():
close_requested.connect(_on_close)
close.pressed.connect(_on_close)
startup_check.toggled.connect(_on_toggle_startup_check)
startup_check.button_pressed = TwitchEditorSettings.show_setup_on_startup
use_case.changed.connect(_on_changed)
authorization.changed.connect(_on_changed)
pass
func _on_changed() -> void:
close.text = close.text.trim_suffix(" (unsaved changes)")
if use_case.has_changes || authorization.has_changes:
close.text = close.text + " (unsaved changes)"
func _on_toggle_startup_check(toggle_on: bool) -> void:
TwitchEditorSettings.show_setup_on_startup = toggle_on
ProjectSettings.save()
func _input(event: InputEvent) -> void:
if event is InputEventKey:
var key_event: InputEventKey = event as InputEventKey
if key_event.keycode == KEY_ESCAPE:
_on_close()
func _on_close() -> void:
if use_case.has_changes || authorization.has_changes:
var popup = ConfirmationDialog.new()
popup.dialog_text = "You have unsaved changes! Are you sure to close the setup?"
popup.confirmed.connect(queue_free)
add_child(popup)
popup.popup_centered()
else:
queue_free()