25#include <boost/version.hpp>
26#include <wx/aboutdlg.h>
27#include <wx/arrimpl.cpp>
28#include <wx/textctrl.h>
47WX_DEFINE_OBJARRAY( CONTRIBUTORS )
50static wxString
HtmlHyperlink(
const wxString& url,
const wxString& description = wxEmptyString );
51static wxString
HtmlNewline(
const unsigned int amount = 1 );
67 aInfo.
SetCopyright( wxT(
"(C) 1992-2024 KiCad Developers Team" ) );
85 libVersion << wxGetLibraryVersionInfo().GetVersionString();
89 libVersion << wxT(
" Unicode " );
91 libVersion << wxT(
" ANSI " );
96 libVersion << wxT(
"and Boost " ) << ( BOOST_VERSION / 100000 ) << wxT(
"." )
97 << ( BOOST_VERSION / 100 % 1000 ) << wxT(
"." ) << ( BOOST_VERSION % 100 )
102 wxPlatformInfo platformInfo;
104 libVersion << wxT(
"Platform: " ) << wxGetOsDescription() << wxT(
", " )
110 wxString description;
113 description << wxT(
"<p>" );
114 description << wxT(
"<b><u>" )
115 <<
_(
"Description" )
116 << wxT(
"</u></b>" );
118 description << wxT(
"<p>" )
119 <<
_(
"The KiCad EDA Suite is a set of open source applications for the "
120 "creation of electronic schematics and printed circuit boards." )
123 description << wxT(
"</p>" );
126 description << wxT(
"<p><b><u>" )
127 <<
_(
"KiCad on the web" )
128 << wxT(
"</u></b>" );
131 description << wxT(
"<ul>" );
132 description << wxT(
"<li>" )
133 <<
_(
"The official KiCad website - " )
136 description << wxT(
"<li>" )
137 <<
_(
"Developer website - " )
141 description << wxT(
"<li>" )
142 <<
_(
"Official KiCad library repositories - " )
146 description << wxT(
"</ul></p>" );
148 description << wxT(
"<p><b><u>" )
149 <<
_(
"Bug tracker" )
150 << wxT(
"</u></b>" );
153 description << wxT(
"<ul>" );
154 description << wxT(
"<li>" )
155 <<
_(
"Report or examine bugs - " )
158 description << wxT(
"</ul></p>" );
160 description << wxT(
"<p><b><u>" )
161 <<
_(
"KiCad users group and community" )
162 << wxT(
"</u></b>" );
164 description << wxT(
"<ul>" );
165 description << wxT(
"<li>" )
166 <<
_(
"KiCad forum - " )
170 description << wxT(
"</ul></p>" );
178 << wxT(
"<div align='center'>" )
180 <<
_(
"The complete KiCad EDA Suite is released under the" ) <<
HtmlNewline( 2 )
182 _(
"GNU General Public License (GPL) version 3 or any later version" ) )
201#define ADD_DEV( name, category ) aInfo.AddDeveloper( new CONTRIBUTOR( name, category ) )
202#define LEAD_DEV _( "Lead Development Team" )
203#define FORMER_DEV _( "Lead Development Alumni" )
204#define CONTRIB_DEV _( "Additional Contributions By")
600#define DOC_TEAM _( "Documentation Team" )
601#define ADD_WRITER( name, category ) aInfo.AddDocWriter( new CONTRIBUTOR( name, category ) )
614#define ADD_TRANSLATOR( name, category ) aInfo.AddTranslator( new CONTRIBUTOR( name, category ) )
630 ADD_TRANSLATOR( wxS(
"Benedikt Freisen" ), wxS(
"German (DE)" ) );
633 ADD_TRANSLATOR( wxT(
"Johannes Maibaum" ), wxS(
"German (DE)" ) );
638 ADD_TRANSLATOR( wxT(
"Dominik Wernberger" ), wxS(
"German (DE)" ) );
640 ADD_TRANSLATOR( wxS(
"Manolis Stefanis" ), wxS(
"Greek (el_GR)" ) );
641 ADD_TRANSLATOR( wxS(
"Athanasios Vlastos" ), wxS(
"Greek (el_GR)" ) );
642 ADD_TRANSLATOR( wxS(
"Milonas Kostas" ), wxS(
"Greek (el_GR)" ) );
643 ADD_TRANSLATOR( wxS(
"Michail Misirlis" ), wxS(
"Greek (el_GR)" ) );
644 ADD_TRANSLATOR( wxS(
"Aristeidis Kimirtzis" ), wxS(
"Greek (el_GR)" ) );
646 ADD_TRANSLATOR( wxT(
"Adolfo Jayme Barrientos" ), wxS(
"Spanish (ES)" ) );
647 ADD_TRANSLATOR( wxT(
"Roberto Fernandez Bautista" ), wxS(
"Spanish (ES)" ) );
649 ADD_TRANSLATOR( wxT(
"Augusto Fraga Giachero" ), wxS(
"Spanish (ES)" ) );
650 ADD_TRANSLATOR( wxS(
"Pedro Martin del Valle" ), wxS(
"Spanish (ES)" ) );
651 ADD_TRANSLATOR( wxS(
"Gabriel Martinez" ), wxS(
"Spanish (ES)" ) );
654 ADD_TRANSLATOR( wxT(
"VicSanRoPe" ), wxS(
"Spanish - Latin American (ES)" ) );
656 ADD_TRANSLATOR( wxT(
"Ulices Avila Hernandez" ), wxS(
"Spanish - Latin American (ES)" ) );
661 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Finnish (FI)" ) );
667 ADD_TRANSLATOR( wxT(
"Ola Rinta-Koski" ), wxS(
"Finnish (FI)" ) );
670 ADD_TRANSLATOR( wxT(
"Jean-Pierre Charras" ), wxS(
"French (FR)" ) );
676 ADD_TRANSLATOR( wxT(
"Hidemichi Gotou" ), wxS(
"Japanese (JA)" ) );
677 ADD_TRANSLATOR( wxT(
"Kinichiro Inoguchi" ), wxS(
"Japanese (JA)" ) );
681 ADD_TRANSLATOR( wxT(
"Hiroshi Tokita" ), wxS(
"Japanese (JA)" ) );
682 ADD_TRANSLATOR( wxT(
"Kenta Yonekura" ), wxS(
"Japanese (JA)" ) );
683 ADD_TRANSLATOR( wxT(
"Kaoru Zenyouji" ), wxS(
"Japanese (JA)" ) );
705 ADD_TRANSLATOR( wxT(
"Minsu Kim (0xGabriel)" ), wxS(
"Korean (KO)" ) );
706 ADD_TRANSLATOR( wxT(
"pedrolinharesmoreira" ), wxS(
"Korean (KO)" ) );
708 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Lithuanian (LT)" ) );
709 ADD_TRANSLATOR( wxT(
"Dainius Mazuika" ), wxS(
"Lithuanian (LT)" ) );
711 ADD_TRANSLATOR( wxT(
"Arend-Jan van Hilten" ), wxS(
"Dutch (NL)" ) );
712 ADD_TRANSLATOR( wxT(
"CJ van der Hoeven" ), wxS(
"Dutch (NL)" ) );
717 ADD_TRANSLATOR( wxT(
"Christiaan Nieuwlaat" ), wxS(
"Dutch (NL)" ) );
718 ADD_TRANSLATOR( wxT(
"Arend-Jan van Hilten" ), wxS(
"Dutch (NL)" ) );
721 ADD_TRANSLATOR( wxT(
"Jarl Gjessing" ), wxS(
"Norwegian (NO)" ) );
722 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Norwegian (NO)" ) );
723 ADD_TRANSLATOR( wxT(
"Allan Nordhøy" ), wxS(
"Norwegian (NO)" ) );
724 ADD_TRANSLATOR( wxT(
"Petter Reinholdtsen" ), wxS(
"Norwegian (NO)" ) );
725 ADD_TRANSLATOR( wxT(
"Håvard Syslak" ), wxS(
"Norwegian (NO)" ) );
733 ADD_TRANSLATOR( wxT(
"Mateusz Skowroński" ), wxS(
"Polish (PL)" ) );
735 ADD_TRANSLATOR( wxT(
"Grzegorz Szymaszek" ), wxS(
"Polish (PL)" ) );
738 ADD_TRANSLATOR( wxT(
"Augusto Fraga Giachero" ), wxS(
"Brazilian Portuguese (PT_BR)" ) );
739 ADD_TRANSLATOR( wxT(
"Wellington Terumi Uemura" ), wxS(
"Brazilian Portuguese (PT_BR)" ) );
741 ADD_TRANSLATOR( wxT(
"Augusto Fraga Giachero" ), wxS(
"Portuguese (PT)" ) );
742 ADD_TRANSLATOR( wxT(
"Renie Marquet" ), wxS(
"Portuguese (PT)" ) );
743 ADD_TRANSLATOR( wxT(
"Rafael Silva" ), wxS(
"Portuguese (PT)" ) );
748 ADD_TRANSLATOR( wxT(
"Andrey Fedorushkov" ), wxS(
"Russian (RU)" ) );
749 ADD_TRANSLATOR( wxT(
"Eldar Khayrullin" ), wxS(
"Russian (RU)" ) );
750 ADD_TRANSLATOR( wxT(
"Konstantin Baranovskiy" ), wxS(
"Russian (RU)" ) );
753 ADD_TRANSLATOR( wxT(
"Axel Henriksson" ), wxS(
"Swedish (SV)" ) );
754 ADD_TRANSLATOR( wxT(
"Richard Jonsson" ), wxS(
"Swedish (SV)" ) );
755 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Swedish (SV)" ) );
759 ADD_TRANSLATOR( wxT(
"Boonchai Kingrungped" ), wxS(
"Thai (TH)" ) );
763 ADD_TRANSLATOR( wxT(
"Stanislav Kaliuk" ), wxS(
"Ukrainian (UK)" ) );
764 ADD_TRANSLATOR( wxT(
"Alexsandr Kuzemko" ), wxS(
"Ukrainian (UK)" ) );
765 ADD_TRANSLATOR( wxT(
"Andrii Shelestov" ), wxS(
"Ukrainian (UK)" ) );
767 ADD_TRANSLATOR( wxT(
"向阳阳" ), wxS(
"Simplified Chinese (zh_CN)" ) );
768 ADD_TRANSLATOR( wxT(
"欠陥電気" ), wxS(
"Simplified Chinese (zh_CN)" ) );
769 ADD_TRANSLATOR( wxT(
"Liu Guang" ), wxS(
"Simplified Chinese (zh_CN)" ) );
770 ADD_TRANSLATOR( wxT(
"Taotieren" ), wxS(
"Simplified Chinese (zh_CN)" ) );
771 ADD_TRANSLATOR( wxT(
"Dingzhong Chen" ), wxS(
"Simplified Chinese (zh_CN)" ) );
772 ADD_TRANSLATOR( wxT(
"David Chen" ), wxS(
"Simplified Chinese (zh_CN)" ) );
773 ADD_TRANSLATOR( wxT(
"Eric" ), wxS(
"Simplified Chinese (zh_CN)" ) );
774 ADD_TRANSLATOR( wxT(
"Hubert Hu" ), wxS(
"Simplified Chinese (zh_CN)" ) );
775 ADD_TRANSLATOR( wxT(
"Pinpang Liao" ), wxS(
"Simplified Chinese (zh_CN)" ) );
776 ADD_TRANSLATOR( wxT(
"Rigo Ligo" ), wxS(
"Simplified Chinese (zh_CN)" ) );
777 ADD_TRANSLATOR( wxT(
"Huanyin Liu" ), wxS(
"Simplified Chinese (zh_CN)" ) );
778 ADD_TRANSLATOR( wxT(
"Zhen Sun" ), wxS(
"Simplified Chinese (zh_CN)" ) );
779 ADD_TRANSLATOR( wxT(
"Jason Tan" ), wxS(
"Simplified Chinese (zh_CN)" ) );
780 ADD_TRANSLATOR( wxT(
"yangyangdaji" ), wxS(
"Simplified Chinese (zh_CN)" ) );
781 ADD_TRANSLATOR( wxT(
"Li Yidong" ), wxS(
"Simplified Chinese (zh_CN)" ) );
782 ADD_TRANSLATOR( wxT(
"Tian Yunhao" ), wxS(
"Simplified Chinese (zh_CN)" ) );
783 ADD_TRANSLATOR( wxT(
"Lao Zhu" ), wxS(
"Simplified Chinese (zh_CN)" ) );
785 ADD_TRANSLATOR( wxT(
"撒景賢" ), wxS(
"Traditional Chinese (zh_TW)" ) );
786 ADD_TRANSLATOR( wxT(
"David Chen" ), wxS(
"Traditional Chinese (zh_TW)" ) );
787 ADD_TRANSLATOR( wxT(
"pon dahai" ), wxS(
"Traditional Chinese (zh_TW)" ) );
788 ADD_TRANSLATOR( wxT(
"kai chiao chuang" ), wxS(
"Traditional Chinese (zh_TW)" ) );
789 ADD_TRANSLATOR( wxT(
"William Lin" ), wxS(
"Traditional Chinese (zh_TW)" ) );
790 ADD_TRANSLATOR( wxT(
"Taotieren" ), wxS(
"Traditional Chinese (zh_TW)" ) );
791 ADD_TRANSLATOR( wxT(
"Li Yidong" ), wxS(
"Traditional Chinese (zh_TW)" ) );
800#define LIBRARIANS _( "Librarian Team" )
801#define ADD_LIBRARIAN( name ) aInfo.AddLibrarian( new CONTRIBUTOR( name, LIBRARIANS ) )
843#define MODELS_3D_CONTRIBUTION _( "3D models" )
844#define SYMBOL_LIB_CONTRIBUTION _( "Symbols" )
845#define FOOTPRINT_LIB_CONTRIBUTION _( "Footprints" )
848 wxS(
"https://gitlab.com/kicad/libraries/kicad-packages3D-generator" ) ) );
851 wxS(
"https://gitlab.com/kicad/libraries/kicad-packages3D/-/graphs/master" ) ) );
855 wxS(
"https://gitlab.com/kicad/libraries/kicad-symbols/-/graphs/master" ) ) );
859 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprint-generator" ) ) );
862 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprints/-/graphs/master" ) ) );
865#define ICON_CONTRIBUTION _( "Icons" )
872#define PACKAGE_DEVS _( "Package Developers" )
906static wxString
HtmlHyperlink(
const wxString& aUrl,
const wxString& aDescription )
908 wxString hyperlink = wxEmptyString;
910 if( aDescription.IsEmpty() )
911 hyperlink << wxS(
"<a href='" ) << aUrl << wxS(
"'>" ) << aUrl << wxS(
"</a>" );
913 hyperlink << wxS(
"<a href='" )<< aUrl << wxS(
"'>" ) << aDescription << wxS(
"</a>" );
928 wxString newlineTags = wxEmptyString;
930 for(
size_t i = 0; i<aCount; ++i )
931 newlineTags << wxS(
"<br>" );
#define MODELS_3D_CONTRIBUTION
static wxString HtmlNewline(const unsigned int amount=1)
Create an HTML newline character sequence of aCount.
#define ADD_TRANSLATOR(name, category)
#define ICON_CONTRIBUTION
static wxString HtmlHyperlink(const wxString &url, const wxString &description=wxEmptyString)
Helper functions.
#define ADD_WRITER(name, category)
void ShowAboutDialog(EDA_BASE_FRAME *aParent)
#define FOOTPRINT_LIB_CONTRIBUTION
static void buildKicadAboutBanner(EDA_BASE_FRAME *aParent, ABOUT_APP_INFO &aInfo)
Initializes the ABOUT_APP_INFO object with application specific information.
#define SYMBOL_LIB_CONTRIBUTION
#define ADD_DEV(name, category)
#define ADD_LIBRARIAN(name)
wxString GetBuildVersion()
Get the full KiCad version string.
wxString GetPlatformGetBitnessName()
wxString GetBuildDate()
Get the build date as a string.
An object of this class is meant to be used to store application specific information like who has co...
void SetBuildDate(const wxString &date)
void SetAppName(const wxString &name)
void SetDescription(const wxString &text)
void SetLibVersion(const wxString &version)
void AddArtist(const CONTRIBUTOR *artist)
void SetBuildVersion(const wxString &version)
void SetAppIcon(const wxIcon &aIcon)
void SetLicense(const wxString &text)
void SetCopyright(const wxString &text)
void AddLibrarian(const CONTRIBUTOR *aLibrarian)
void AddPackager(const CONTRIBUTOR *packager)
A contributor, a person which was involved in the development of the application or which has contrib...
About dialog to show application specific information.
The base frame for deriving all KiCad main window classes.
Base window classes and related definitions.
PGM_BASE & Pgm()
The global Program "get" accessor.