1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-08 03:19:49 +00:00
Pixelorama/src/UI/Dialogs/AboutDialog.gd

322 lines
10 KiB
GDScript3
Raw Normal View History

extends WindowDialog
const CONTRIBUTORS := [
"20kdc",
"Aaron Franke (aaronfranke)",
"AbhinavKDev (abhinav3967)",
"Álex Román Núñez (EIREXE)",
"AlphinAlbukhari",
"Andreev Andrei",
"Arron Washington (radicaled)",
"ArthyChaux",
"azagaya",
"ballerburg9005",
"CheetoHead (greusser)",
"Christos Tsoychlakis (ChrisTs8920)",
"danielnaoexiste",
"Darshan Phaldesai (luiq54)",
"dasimonde",
"Dávid Gábor BODOR (dragonfi)",
"Fayez Akhtar (Variable)",
"Gamespleasure",
"GrantMoyer",
"gschwind",
"Haoyu Qiu (timothyqiu)",
"Hugo Locurcio (Calinou)",
"Igor Santarek (jegor377)",
"Jeremy Behreandt (behreajj)",
"John Jerome Romero (Wishdream)",
"JumpJetAvocado",
"Kawan Weege (Dwahgon)",
"kevinms",
"Kinwailo",
"kleonc",
"Laurenz Reinthaler (Schweini07)",
"Marco Galli (Gaarco)",
"Marquis Kurt (alicerunsonfedora)",
"Martin Novák (novhack)",
"Martin Zabinski (Martin1991zab)",
"Matheus Pesegoginski (MatheusPese)",
"Matteo Piovanelli (MatteoPiovanelli-Laser)",
"Matthew Paul (matthewpaul-us)",
"Michael Alexsander (YeldhamDev)",
"mrtripie",
"PinyaColada",
"Rémi Verschelde (akien-mga)",
"rob-a-bolton",
"sapient_cogbag",
"Silent Orb (silentorb)",
"Subhang Nanduri (SbNanduri)",
"THWLF",
"Vriska Weaver (henlo-birb)",
"Xenofon Konitsas (huskee)",
]
2022-01-24 18:11:39 +00:00
const TRANSLATORS_DICTIONARY := {
"Emmanouil Papadeas (Overloaded)": ["Greek"],
"Xenofon Konitsas (huskee)": ["Greek"],
"Lena Louloudaki (Soliscital)": ["Greek"],
"Hugo Locurcio (Calinou)": ["French"],
"blackjoker77777": ["French"],
"Yoshiip (myoshipro)": ["French"],
"Iorvethe": ["French"],
"Paul Coral (lepaincestbon)": ["French"],
"RED (REDOOO)": ["French"],
"Aidan Olsen (PossiblyAShrub)": ["French"],
"Jean-Loup Macarit (leyk973)": ["French"],
"Lulullia (lulullia902)": ["French"],
"Anne Onyme 017 (Anne17)": ["French"],
"Nicolas.C (nico57c)": ["French"],
2022-09-21 00:28:46 +00:00
"EGuillemot": ["French"],
2022-01-24 18:11:39 +00:00
"Schweini07": ["German"],
"Martin Zabinski (Martin1991zab)": ["German"],
"Manuel (DrMoebyus)": ["German"],
"Dawid Niedźwiedzki (tiritto)": ["Polish"],
2022-01-24 18:11:39 +00:00
"Serhiy Dmytryshyn (dies)": ["Polish"],
"Igor Santarek (jegor377)": ["Polish"],
"RainbowP": ["Polish"],
2022-07-30 19:11:29 +00:00
"Michał (molters.tv)": ["Polish"],
"Tmpod": ["Portuguese"],
2022-01-24 18:11:39 +00:00
"Michael Alexsander (YeldhamDev)": ["Brazilian Portuguese"],
"Cedulio Cezar (ceduliocezar)": ["Brazilian Portuguese"],
"Alexandre Oliveira (rockytvbr)": ["Brazilian Portuguese"],
"IagoAndrade": ["Brazilian Portuguese"],
"chacal_exodius": ["Brazilian Portuguese"],
"Lucas Santiago (lu.santi.oli)": ["Brazilian Portuguese"],
"TheNoobPro44": ["Brazilian Portuguese"],
"DippoZz": ["Brazilian Portuguese"],
"Luciano Salomoni (LucianoSalomoni)": ["Brazilian Portuguese"],
"Carlos A. G. Silva (CarloSilva)": ["Brazilian Portuguese"],
2022-09-21 00:28:46 +00:00
"Vitor Gabriel (Ranbut)": ["Brazilian Portuguese"],
2022-01-24 18:11:39 +00:00
"Andreev Andrei": ["Russian"],
"ax trifonov (ax34)": ["Russian"],
"Artem (blinovartem)": ["Russian"],
"Иван Соколов (SokoL1337)": ["Russian"],
2022-03-10 22:45:48 +00:00
"Daniil Belyakov (ermegil)": ["Russian"],
2022-01-24 18:11:39 +00:00
"stomleny_cmok": ["Russian", "Ukrainian"],
"Bohdan Matviiv (BodaMat)": ["Ukrainian"],
"Ruslan Hryschuk (kifflow)": ["Ukrainian"],
"Dmitry D (homecraft)": ["Ukrainian"],
2022-01-24 18:11:39 +00:00
"Kinwailo": ["Chinese Traditional"],
"曹恩逢 (SiderealArt)": ["Chinese Traditional"],
"Chenxu Wang": ["Chinese Simplified"],
"Catherine Yang (qzcyyw13)": ["Chinese Simplified"],
"王晨旭 (wcxu21)": ["Chinese Simplified"],
"Haruka Kasugano (Kasugano_0)": ["Chinese Simplified"],
"Peerin (Mrsjh)": ["Chinese Simplified"],
2022-01-24 18:11:39 +00:00
"Marco Galli (Gaarco)": ["Italian"],
"StarFang208": ["Italian"],
"Damiano Guida (damiano.guida22)": ["Italian"],
2022-01-24 18:11:39 +00:00
"Azagaya VJ (azagaya.games)": ["Spanish"],
"Lilly And (KatieAnd)": ["Spanish"],
"UncleFangs": ["Spanish"],
"foralistico": ["Spanish"],
"Jaime Arancibia Soto": ["Spanish", "Catalan"],
"Jose Callejas (satorikeiko)": ["Spanish"],
"Javier Ocampos (Leedeo)": ["Spanish"],
"Art Leeman (artleeman)": ["Spanish"],
2022-03-10 22:45:48 +00:00
"DevCentu": ["Spanish"],
"Nunnito Nevermind (Nunnito)": ["Spanish"],
"_LuJaimes (Hannd)": ["Spanish"],
"Aleklons16 (Aleklons)": ["Spanish"],
2022-01-24 18:11:39 +00:00
"Seifer23": ["Catalan"],
"Joel García Cascalló (jocsencat)": ["Catalan"],
2022-01-24 18:11:39 +00:00
"Agnis Aldiņš (NeZvers)": ["Latvian"],
"Edgars Korns (Eddy11)": ["Latvian"],
"Teashrock": ["Esperanto"],
"Blend_Smile": ["Indonesian"],
"NoahParaduck": ["Indonesian"],
"Channeling": ["Indonesian"],
2022-04-10 21:43:44 +00:00
"heydootdoot": ["Indonesian"],
2022-01-24 18:11:39 +00:00
"Martin Novák (novhack)": ["Czech"],
"Lullius": ["Norwegian Bokmål"],
"Aninus Partikler (aninuscsalas)": ["Hungarian"],
2022-01-24 18:11:39 +00:00
"jaehyeon1090": ["Korean"],
"sfun_G": ["Korean"],
"KripC2160": ["Korean", "Japanese"],
"daisuke osada (barlog)": ["Japanese"],
"Motomo.exe": ["Japanese"],
"hebekeg": ["Japanese"],
"M. Gabriel Lup": ["Romanian"],
"ANormalKnife": ["Turkish"],
"kmsecer": ["Turkish"],
"Rıdvan SAYLAR": ["Turkish"],
"latbat58": ["Turkish"],
"M Buhari Horoz (Sorian01)": ["Turkish"],
"br.bahrampour": ["Turkish"],
"gegekyz": ["Turkish"],
"Vancat": ["Turkish"],
2022-03-10 22:45:48 +00:00
"Ferhat Geçdoğan (ferhatgec)": ["Turkish"],
2022-04-10 21:43:44 +00:00
"designy": ["Turkish"],
2022-09-21 00:28:46 +00:00
"libre ajans (libreajans)": ["Turkish"],
"Sabri Ünal (sabriunal)": ["Turkish"],
2022-08-14 13:06:46 +00:00
"CaelusV": ["Danish"],
2022-03-10 22:45:48 +00:00
"GGIEnrike":
[
"Romanian",
"French",
"German",
"Italian",
"Portuguese",
"Serbian (Cyrillic)",
"Brazilian Portuguese"
],
2022-01-24 18:11:39 +00:00
}
const DONORS := [
"BasicIncomePlz",
"Benedikt",
"David Maziarka",
"Guillaume Gautier",
"Hugo Locurcio",
"Jérôme P.",
"Jonas Rudlang",
"Mike King",
"MysteryStudio",
"pcmxms - https://www.nonamefornowsoft.com.br/",
"pookey",
"Ryan C. Gordon (icculus)",
"Sean Allen",
"ShikadiGum",
"Tassos Kyriakopoulos"
]
export(Array, String, MULTILINE) var licenses: Array
2023-04-07 21:34:38 +00:00
onready var credits := $AboutUI/Credits as HSplitContainer
onready var groups := $AboutUI/Credits/Groups as Tree
onready var developer_container := $AboutUI/Credits/Developers as VBoxContainer
onready var contributors_container := $AboutUI/Credits/Contributors as VBoxContainer
onready var donors_container := $AboutUI/Credits/Donors as VBoxContainer
onready var translators_container := $AboutUI/Credits/Translators as VBoxContainer
onready var licenses_container := $AboutUI/Credits/Licenses as VBoxContainer
onready var developers := $AboutUI/Credits/Developers/DeveloperTree as Tree
onready var contributors := $AboutUI/Credits/Contributors/ContributorTree as Tree
onready var donors := $AboutUI/Credits/Donors/DonorTree as Tree
onready var translators := $AboutUI/Credits/Translators/TranslatorTree as Tree
onready var license_tabs := $AboutUI/Credits/Licenses/LicenseTabs as Tabs
onready var license_text := $AboutUI/Credits/Licenses/LicenseText as TextEdit
func _ready() -> void:
create_donors()
create_contributors()
2023-04-07 21:34:38 +00:00
license_tabs.add_tab("Pixelorama")
license_tabs.add_tab("Godot")
license_tabs.add_tab("FreeType")
license_tabs.add_tab("mbed TLS")
license_tabs.add_tab("Keychain")
license_tabs.add_tab("Roboto")
license_tabs.add_tab("DroidSansFallback")
license_tabs.add_tab("Dockable Container")
license_tabs.add_tab("aimgio")
license_tabs.add_tab("godot-gdgifexporter")
license_tabs.add_tab("cleanEdge")
license_tabs.add_tab("OmniScale")
license_tabs.add_tab("gd-obj")
license_text.text = licenses[0]
func _on_AboutDialog_about_to_show() -> void:
window_title = tr("About Pixelorama") + " " + Global.current_version
var groups_root := groups.create_item()
var developers_button := groups.create_item(groups_root)
var contributors_button := groups.create_item(groups_root)
var donors_button := groups.create_item(groups_root)
var translators_button := groups.create_item(groups_root)
var licenses_button := groups.create_item(groups_root)
developers_button.set_text(0, " " + tr("Developers"))
# We use metadata to avoid being affected by translations
developers_button.set_metadata(0, "Developers")
developers_button.select(0)
contributors_button.set_text(0, " " + tr("Contributors"))
contributors_button.set_metadata(0, "Contributors")
donors_button.set_text(0, " " + tr("Donors"))
donors_button.set_metadata(0, "Donors")
translators_button.set_text(0, " " + tr("Translators"))
translators_button.set_metadata(0, "Translators")
licenses_button.set_text(0, " " + tr("Licenses"))
licenses_button.set_metadata(0, "Licenses")
create_developers()
create_translators()
func _on_AboutDialog_popup_hide() -> void:
groups.clear()
developers.clear()
translators.clear()
func _on_Groups_item_selected() -> void:
for child in credits.get_children():
if child != groups:
child.visible = false
var selected: String = groups.get_selected().get_metadata(0)
if "Developers" in selected:
developer_container.visible = true
elif "Contributors" in selected:
contributors_container.visible = true
elif "Donors" in selected:
donors_container.visible = true
elif "Translators" in selected:
translators_container.visible = true
elif "Licenses" in selected:
licenses_container.visible = true
func _on_Website_pressed() -> void:
2022-06-06 12:41:05 +00:00
OS.shell_open("https://www.oramainteractive.com")
func _on_GitHub_pressed() -> void:
OS.shell_open("https://github.com/Orama-Interactive/Pixelorama")
func _on_Donate_pressed() -> void:
OS.shell_open("https://www.patreon.com/OramaInteractive")
func create_developers() -> void:
var dev_root := developers.create_item()
developers.create_item(dev_root).set_text(
2022-01-24 18:11:39 +00:00
0, " Emmanouil Papadeas (Overloaded) - " + tr("Lead Programmer")
)
developers.create_item(dev_root).set_text(0, " John Nikitakis (Erevos) - " + tr("UI Designer"))
func create_donors() -> void:
var donors_root := donors.create_item()
for donor in DONORS:
donors.create_item(donors_root).set_text(0, " " + donor)
func create_contributors() -> void:
var contributor_root := contributors.create_item()
for contributor in CONTRIBUTORS:
contributors.create_item(contributor_root).set_text(0, " " + contributor)
func create_translators() -> void:
var translators_root := translators.create_item()
2022-01-24 18:11:39 +00:00
var translator_list := TRANSLATORS_DICTIONARY.keys()
for translator in translator_list:
var languages: Array = TRANSLATORS_DICTIONARY[translator]
var language_string: String = tr(languages[0])
2022-03-10 22:45:48 +00:00
for i in range(1, languages.size()):
if i == languages.size() - 1:
language_string += " %s %s" % [tr("and"), tr(languages[i])]
else:
language_string += ", %s" % [tr(languages[i])]
2022-01-24 18:11:39 +00:00
var text := " %s - %s" % [translator, language_string]
translators.create_item(translators_root).set_text(0, text)
2023-04-07 21:34:38 +00:00
func _on_LicenseTabs_tab_changed(tab: int) -> void:
license_text.text = licenses[tab]