RetroDECK/tools/configurator/tk_about.gd

85 lines
2.9 KiB
GDScript3
Raw Normal View History

extends MarginContainer
#var class_functions: ClassFunctions
var website_button: Button
var changelog_button: Button
var wiki_button: Button
var credits_button: Button
var donate_button: Button
var contactus_button: Button
var licenses_button: Button
#var tk_about: Dictionary
signal signal_theme_changed
var app_data = AppData.new()
func _ready():
#tk_about = class_functions.import_csv_data("res://tk_about.txt")
app_data = data_handler.load_base_data()
_get_nodes()
_connect_signals()
for id in app_data.about_links:
var web_data = app_data.about_links[id]
match id:
"rd_web":
%website_button.tooltip_text = web_data.description
%website_button.editor_description = web_data.url
"rd_changelog":
%changelog_button.tooltip_text = web_data.description
%changelog_button.editor_description = web_data.url
"rd_wiki":
%wiki_button.tooltip_text = web_data.description
%wiki_button.editor_description = web_data.url
"rd_credits":
%credits_button.tooltip_text = web_data.description
%credits_button.editor_description = web_data.url
"rd_donate":
%donate_button.tooltip_text = web_data.description
%donate_button.editor_description = web_data.url
"rd_contactus":
%contactus_button.tooltip_text = web_data.description
%contactus_button.editor_description = web_data.url
"rd_licenses":
%licenses_button.tooltip_text = web_data.description
%licenses_button.editor_description = web_data.url
func _get_nodes() -> void:
website_button = get_node("%website_button")
changelog_button = get_node("%changelog_button")
wiki_button = get_node("%wiki_button")
credits_button = get_node("%credits_button")
donate_button = get_node("%donate_button")
contactus_button = get_node("%contactus_button")
licenses_button = get_node("%licenses_button")
func _connect_signals() -> void:
website_button.pressed.connect(_about_button_pressed.bind("rd_web"))
changelog_button.pressed.connect(_about_button_pressed.bind("rd_changelog"))
wiki_button.pressed.connect(_about_button_pressed.bind("rd_wiki"))
credits_button.pressed.connect(_about_button_pressed.bind("rd_credits"))
donate_button.pressed.connect(_about_button_pressed.bind("rd_donate"))
contactus_button.pressed.connect(_about_button_pressed.bind("rd_contactus"))
licenses_button.pressed.connect(_about_button_pressed.bind("rd_licenses"))
func _about_button_pressed(id: String) -> void:
match id:
"rd_web":
OS.shell_open(%website_button.editor_description)
"rd_changelog":
OS.shell_open(%changelog_button.editor_description)
"rd_wiki":
OS.shell_open(%wiki_button.editor_description)
"rd_credits":
OS.shell_open(%credits_button.editor_description)
"rd_donate":
OS.shell_open(%donate_button.editor_description)
"rd_contactus":
OS.shell_open(%contactus_button.editor_description)
"rd_licenses":
OS.shell_open(%licenses_button.editor_description)
_:
print ("ID not found")