RetroDECK/tools/configurator/tk_about.gd
2024-09-05 19:04:56 +01:00

95 lines
4.7 KiB
GDScript

extends MarginContainer
var rd_web_button := Button.new()
var rd_changelog_button := Button.new()
var rd_wiki_button := Button.new()
var rd_credits_button := Button.new()
var rd_donate_button := Button.new()
var rd_contactus_button := Button.new()
var rd_licenses_button := Button.new()
var app_data := AppData.new()
var bArray :Array = [rd_web_button,rd_changelog_button,rd_wiki_button,
rd_credits_button,rd_donate_button,rd_contactus_button,rd_licenses_button]
func _ready():
#tk_about = class_functions.import_csv_data("res://tk_about.txt")
_connect_signals()
create_buttons()
func _connect_signals() -> void:
rd_web_button.pressed.connect(_about_button_pressed.bind("rd_web", rd_web_button))
rd_changelog_button.pressed.connect(_about_button_pressed.bind("rd_changelog", rd_changelog_button))
rd_wiki_button.pressed.connect(_about_button_pressed.bind("rd_wiki",rd_wiki_button))
rd_credits_button.pressed.connect(_about_button_pressed.bind("rd_credits", rd_credits_button))
rd_donate_button.pressed.connect(_about_button_pressed.bind("rd_donate", rd_donate_button))
rd_contactus_button.pressed.connect(_about_button_pressed.bind("rd_contactus", rd_contactus_button))
rd_licenses_button.pressed.connect(_about_button_pressed.bind("rd_licenses", rd_licenses_button))
func _about_button_pressed(id: String, button: Button) -> void:
match id:
"rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses":
class_functions.log_parameters[2] = class_functions.log_text + "Loading website for " + id
class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false)
OS.shell_open(button.editor_description)
_:
class_functions.log_parameters[2] = class_functions.log_text + "Loading website - no matching ID found"
class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false)
print ("Website ID/Link not found")
func create_buttons() -> void:
app_data = data_handler.app_data
for button in bArray:
%GridContainer.add_child(button)
for id in app_data.about_links:
var web_data: Link = app_data.about_links[id]
match id:
"rd_web":
rd_web_button.text = web_data.name
rd_web_button.tooltip_text = web_data.description
rd_web_button.icon = ResourceLoader.load(web_data.icon)
rd_web_button.editor_description = web_data.url
rd_web_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER
rd_web_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP
"rd_changelog":
rd_changelog_button.text = web_data.name
rd_changelog_button.tooltip_text = web_data.description
rd_changelog_button.icon = ResourceLoader.load(web_data.icon)
rd_changelog_button.editor_description = web_data.url
rd_changelog_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER
rd_changelog_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP
"rd_wiki":
rd_wiki_button.text = web_data.name
rd_wiki_button.tooltip_text = web_data.description
rd_wiki_button.icon = ResourceLoader.load(web_data.icon)
rd_wiki_button.editor_description = web_data.url
rd_wiki_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER
rd_wiki_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP
"rd_credits":
rd_credits_button.text = web_data.name
rd_credits_button.tooltip_text = web_data.description
rd_credits_button.icon = ResourceLoader.load(web_data.icon)
rd_credits_button.editor_description = web_data.url
rd_credits_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER
rd_credits_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP
"rd_donate":
rd_donate_button.text = web_data.name
rd_donate_button.tooltip_text = web_data.description
rd_donate_button.icon = ResourceLoader.load(web_data.icon)
rd_donate_button.editor_description = web_data.url
rd_donate_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER
rd_donate_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP
"rd_contactus":
rd_contactus_button.text = web_data.name
rd_contactus_button.tooltip_text = web_data.description
rd_contactus_button.icon = ResourceLoader.load(web_data.icon)
rd_contactus_button.editor_description = web_data.url
rd_contactus_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER
rd_contactus_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP
"rd_licenses":
rd_licenses_button.text = web_data.name
rd_licenses_button.tooltip_text = web_data.description
rd_licenses_button.icon = ResourceLoader.load(web_data.icon)
rd_licenses_button.editor_description = web_data.url
rd_licenses_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER
rd_licenses_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP