59 lines
1.7 KiB
GDScript3
59 lines
1.7 KiB
GDScript3
|
|
@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()
|