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 );
82 libVersion << wxGetLibraryVersionInfo().GetVersionString();
86 libVersion << wxT(
" Unicode " );
88 libVersion << wxT(
" ANSI " );
93 libVersion << wxT(
"and Boost " ) << ( BOOST_VERSION / 100000 ) << wxT(
"." )
94 << ( BOOST_VERSION / 100 % 1000 ) << wxT(
"." ) << ( BOOST_VERSION % 100 )
99 wxPlatformInfo platformInfo;
101 libVersion << wxT(
"Platform: " ) << wxGetOsDescription() << wxT(
", " )
107 wxString description;
110 description << wxT(
"<p>" );
111 description << wxT(
"<b><u>" )
112 <<
_(
"Description" )
113 << wxT(
"</u></b>" );
115 description << wxT(
"<p>" )
116 <<
_(
"The KiCad EDA Suite is a set of open source applications for the "
117 "creation of electronic schematics and printed circuit boards." )
120 description << wxT(
"</p>" );
123 description << wxT(
"<p><b><u>" )
124 <<
_(
"KiCad on the web" )
125 << wxT(
"</u></b>" );
128 description << wxT(
"<ul>" );
129 description << wxT(
"<li>" )
130 <<
_(
"The official KiCad website - " )
133 description << wxT(
"<li>" )
134 <<
_(
"Developer website - " )
138 description << wxT(
"<li>" )
139 <<
_(
"Official KiCad library repositories - " )
143 description << wxT(
"</ul></p>" );
145 description << wxT(
"<p><b><u>" )
146 <<
_(
"Bug tracker" )
147 << wxT(
"</u></b>" );
150 description << wxT(
"<ul>" );
151 description << wxT(
"<li>" )
152 <<
_(
"Report or examine bugs - " )
155 description << wxT(
"</ul></p>" );
157 description << wxT(
"<p><b><u>" )
158 <<
_(
"KiCad users group and community" )
159 << wxT(
"</u></b>" );
161 description << wxT(
"<ul>" );
162 description << wxT(
"<li>" )
163 <<
_(
"KiCad forum - " )
167 description << wxT(
"</ul></p>" );
175 << wxT(
"<div align='center'>" )
177 <<
_(
"The complete KiCad EDA Suite is released under the" ) <<
HtmlNewline( 2 )
179 _(
"GNU General Public License (GPL) version 3 or any later version" ) )
198#define ADD_DEV( name, category ) aInfo.AddDeveloper( new CONTRIBUTOR( name, category ) )
199#define LEAD_DEV _( "Lead Development Team" )
200#define FORMER_DEV _( "Lead Development Alumni" )
201#define CONTRIB_DEV _( "Additional Contributions By")
628#define DOC_TEAM _( "Documentation Team" )
629#define ADD_WRITER( name, category ) aInfo.AddDocWriter( new CONTRIBUTOR( name, category ) )
645#define ADD_TRANSLATOR( name, category ) aInfo.AddTranslator( new CONTRIBUTOR( name, category ) )
664 ADD_TRANSLATOR( wxS(
"Benedikt Freisen" ), wxS(
"German (DE)" ) );
667 ADD_TRANSLATOR( wxT(
"Johannes Maibaum" ), wxS(
"German (DE)" ) );
672 ADD_TRANSLATOR( wxT(
"Frank Sonnenberg" ), wxS(
"German (DE)" ) );
674 ADD_TRANSLATOR( wxT(
"Dominik Wernberger" ), wxS(
"German (DE)" ) );
676 ADD_TRANSLATOR( wxS(
"Manolis Stefanis" ), wxS(
"Greek (el_GR)" ) );
677 ADD_TRANSLATOR( wxS(
"Athanasios Vlastos" ), wxS(
"Greek (el_GR)" ) );
678 ADD_TRANSLATOR( wxS(
"Milonas Kostas" ), wxS(
"Greek (el_GR)" ) );
679 ADD_TRANSLATOR( wxS(
"Michail Misirlis" ), wxS(
"Greek (el_GR)" ) );
680 ADD_TRANSLATOR( wxS(
"Aristeidis Kimirtzis" ), wxS(
"Greek (el_GR)" ) );
682 ADD_TRANSLATOR( wxT(
"Adolfo Jayme Barrientos" ), wxS(
"Spanish (ES)" ) );
683 ADD_TRANSLATOR( wxT(
"Roberto Fernandez Bautista" ), wxS(
"Spanish (ES)" ) );
686 ADD_TRANSLATOR( wxT(
"Augusto Fraga Giachero" ), wxS(
"Spanish (ES)" ) );
687 ADD_TRANSLATOR( wxS(
"Pedro Martin del Valle" ), wxS(
"Spanish (ES)" ) );
688 ADD_TRANSLATOR( wxS(
"Gabriel Martinez" ), wxS(
"Spanish (ES)" ) );
692 ADD_TRANSLATOR( wxT(
"Ulices Avila Hernandez" ), wxS(
"Spanish (ES)" ) );
695 ADD_TRANSLATOR( wxT(
"VicSanRoPe" ), wxS(
"Spanish - Latin American (ES)" ) );
696 ADD_TRANSLATOR( wxT(
"Ulices Avila Hernandez" ), wxS(
"Spanish - Latin American (ES)" ) );
701 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Finnish (FI)" ) );
707 ADD_TRANSLATOR( wxT(
"Ola Rinta-Koski" ), wxS(
"Finnish (FI)" ) );
710 ADD_TRANSLATOR( wxT(
"Jean-Pierre Charras" ), wxS(
"French (FR)" ) );
717 ADD_TRANSLATOR( wxT(
"Hidemichi Gotou" ), wxS(
"Japanese (JA)" ) );
718 ADD_TRANSLATOR( wxT(
"Kinichiro Inoguchi" ), wxS(
"Japanese (JA)" ) );
722 ADD_TRANSLATOR( wxT(
"Hiroshi Tokita" ), wxS(
"Japanese (JA)" ) );
724 ADD_TRANSLATOR( wxT(
"Kenta Yonekura" ), wxS(
"Japanese (JA)" ) );
725 ADD_TRANSLATOR( wxT(
"Kaoru Zenyouji" ), wxS(
"Japanese (JA)" ) );
747 ADD_TRANSLATOR( wxT(
"Minsu Kim (0xGabriel)" ), wxS(
"Korean (KO)" ) );
751 ADD_TRANSLATOR( wxT(
"Ignas Brašiškis" ), wxS(
"Lithuanian (LT)" ) );
752 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Lithuanian (LT)" ) );
753 ADD_TRANSLATOR( wxT(
"Dainius Mazuika" ), wxS(
"Lithuanian (LT)" ) );
755 ADD_TRANSLATOR( wxT(
"Stefan De Raedemaeker" ), wxS(
"Dutch (NL)" ) );
760 ADD_TRANSLATOR( wxT(
"Christiaan Nieuwlaat" ), wxS(
"Dutch (NL)" ) );
762 ADD_TRANSLATOR( wxT(
"CJ van der Hoeven" ), wxS(
"Dutch (NL)" ) );
763 ADD_TRANSLATOR( wxT(
"Arend-Jan van Hilten" ), wxS(
"Dutch (NL)" ) );
766 ADD_TRANSLATOR( wxT(
"Jarl Gjessing" ), wxS(
"Norwegian (NO)" ) );
767 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Norwegian (NO)" ) );
768 ADD_TRANSLATOR( wxT(
"Allan Nordhøy" ), wxS(
"Norwegian (NO)" ) );
769 ADD_TRANSLATOR( wxT(
"Petter Reinholdtsen" ), wxS(
"Norwegian (NO)" ) );
770 ADD_TRANSLATOR( wxT(
"Håvard Syslak" ), wxS(
"Norwegian (NO)" ) );
779 ADD_TRANSLATOR( wxT(
"Mateusz Skowroński" ), wxS(
"Polish (PL)" ) );
781 ADD_TRANSLATOR( wxT(
"Grzegorz Szymaszek" ), wxS(
"Polish (PL)" ) );
784 ADD_TRANSLATOR( wxT(
"Augusto Fraga Giachero" ), wxS(
"Brazilian Portuguese (PT_BR)" ) );
785 ADD_TRANSLATOR( wxT(
"Pedro Moreira" ), wxS(
"Brazilian Portuguese (PT_BR)" ) );
786 ADD_TRANSLATOR( wxT(
"Wellington Terumi Uemura" ), wxS(
"Brazilian Portuguese (PT_BR)" ) );
789 ADD_TRANSLATOR( wxT(
"Augusto Fraga Giachero" ), wxS(
"Portuguese (PT)" ) );
790 ADD_TRANSLATOR( wxT(
"Renie Marquet" ), wxS(
"Portuguese (PT)" ) );
791 ADD_TRANSLATOR( wxT(
"Rafael Silva" ), wxS(
"Portuguese (PT)" ) );
794 ADD_TRANSLATOR( wxT(
"Konstantin Baranovskiy" ), wxS(
"Russian (RU)" ) );
796 ADD_TRANSLATOR( wxT(
"Andrey Fedorushkov" ), wxS(
"Russian (RU)" ) );
797 ADD_TRANSLATOR( wxT(
"Alevtina Karashokova" ), wxS(
"Russian (RU)" ) );
798 ADD_TRANSLATOR( wxT(
"Eldar Khayrullin" ), wxS(
"Russian (RU)" ) );
800 ADD_TRANSLATOR( wxT(
"Dmitry Mikhirev" ), wxS(
"Russian (RU)" ) );
804 ADD_TRANSLATOR( wxT(
"Axel Henriksson" ), wxS(
"Swedish (SV)" ) );
805 ADD_TRANSLATOR( wxT(
"Richard Jonsson" ), wxS(
"Swedish (SV)" ) );
806 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Swedish (SV)" ) );
810 ADD_TRANSLATOR( wxT(
"Boonchai Kingrungped" ), wxS(
"Thai (TH)" ) );
814 ADD_TRANSLATOR( wxT(
"Stanislav Kaliuk" ), wxS(
"Ukrainian (UK)" ) );
815 ADD_TRANSLATOR( wxT(
"Alexsandr Kuzemko" ), wxS(
"Ukrainian (UK)" ) );
816 ADD_TRANSLATOR( wxT(
"Andrii Shelestov" ), wxS(
"Ukrainian (UK)" ) );
818 ADD_TRANSLATOR( wxT(
"欠陥電気" ), wxS(
"Simplified Chinese (zh_CN)" ) );
819 ADD_TRANSLATOR( wxT(
"向阳阳" ), wxS(
"Simplified Chinese (zh_CN)" ) );
820 ADD_TRANSLATOR( wxT(
"David Chen" ), wxS(
"Simplified Chinese (zh_CN)" ) );
821 ADD_TRANSLATOR( wxT(
"Dingzhong Chen" ), wxS(
"Simplified Chinese (zh_CN)" ) );
822 ADD_TRANSLATOR( wxT(
"Eric" ), wxS(
"Simplified Chinese (zh_CN)" ) );
823 ADD_TRANSLATOR( wxT(
"Hubert Hu" ), wxS(
"Simplified Chinese (zh_CN)" ) );
824 ADD_TRANSLATOR( wxT(
"Liu Guang" ), wxS(
"Simplified Chinese (zh_CN)" ) );
825 ADD_TRANSLATOR( wxT(
"HalfSweet" ), wxS(
"Simplified Chinese (zh_CN)" ) );
826 ADD_TRANSLATOR( wxT(
"Huanyin Liu" ), wxS(
"Simplified Chinese (zh_CN)" ) );
827 ADD_TRANSLATOR( wxT(
"Pinpang Liao" ), wxS(
"Simplified Chinese (zh_CN)" ) );
828 ADD_TRANSLATOR( wxT(
"Rigo Ligo" ), wxS(
"Simplified Chinese (zh_CN)" ) );
829 ADD_TRANSLATOR( wxT(
"Zhen Sun" ), wxS(
"Simplified Chinese (zh_CN)" ) );
830 ADD_TRANSLATOR( wxT(
"Jason Tan" ), wxS(
"Simplified Chinese (zh_CN)" ) );
831 ADD_TRANSLATOR( wxT(
"Taotieren" ), wxS(
"Simplified Chinese (zh_CN)" ) );
832 ADD_TRANSLATOR( wxT(
"Tian Yunhao" ), wxS(
"Simplified Chinese (zh_CN)" ) );
833 ADD_TRANSLATOR( wxT(
"Li Yidong" ), wxS(
"Simplified Chinese (zh_CN)" ) );
834 ADD_TRANSLATOR( wxT(
"yangyangdaji" ), wxS(
"Simplified Chinese (zh_CN)" ) );
835 ADD_TRANSLATOR( wxT(
"Lao Zhu" ), wxS(
"Simplified Chinese (zh_CN)" ) );
836 ADD_TRANSLATOR( wxT(
"zly20129" ), wxS(
"Simplified Chinese (zh_CN)" ) );
838 ADD_TRANSLATOR( wxT(
"撒景賢" ), wxS(
"Traditional Chinese (zh_TW)" ) );
839 ADD_TRANSLATOR( wxT(
"David Chen" ), wxS(
"Traditional Chinese (zh_TW)" ) );
840 ADD_TRANSLATOR( wxT(
"pon dahai" ), wxS(
"Traditional Chinese (zh_TW)" ) );
841 ADD_TRANSLATOR( wxT(
"kai chiao chuang" ), wxS(
"Traditional Chinese (zh_TW)" ) );
842 ADD_TRANSLATOR( wxT(
"Poming Lee" ), wxS(
"Traditional Chinese (zh_TW)" ) );
843 ADD_TRANSLATOR( wxT(
"William Lin" ), wxS(
"Traditional Chinese (zh_TW)" ) );
844 ADD_TRANSLATOR( wxT(
"Taotieren" ), wxS(
"Traditional Chinese (zh_TW)" ) );
845 ADD_TRANSLATOR( wxT(
"Li Yidong" ), wxS(
"Traditional Chinese (zh_TW)" ) );
854#define LIBRARIANS _( "Librarian Team" )
855#define ADD_LIBRARIAN( name ) aInfo.AddLibrarian( new CONTRIBUTOR( name, LIBRARIANS ) )
907#define MODELS_3D_CONTRIBUTION _( "3D models" )
908#define SYMBOL_LIB_CONTRIBUTION _( "Symbols" )
909#define FOOTPRINT_LIB_CONTRIBUTION _( "Footprints" )
912 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprint-generator" ) ) );
915 wxS(
"https://gitlab.com/kicad/libraries/kicad-packages3D/-/graphs/master" ) ) );
919 wxS(
"https://gitlab.com/kicad/libraries/kicad-symbols/-/graphs/master" ) ) );
923 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprint-generator" ) ) );
926 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprints/-/graphs/master" ) ) );
929#define ICON_CONTRIBUTION _( "Icons" )
936#define PACKAGE_DEVS _( "Package Developers" )
970static wxString
HtmlHyperlink(
const wxString& aUrl,
const wxString& aDescription )
972 wxString hyperlink = wxEmptyString;
974 if( aDescription.IsEmpty() )
975 hyperlink << wxS(
"<a href='" ) << aUrl << wxS(
"'>" ) << aUrl << wxS(
"</a>" );
977 hyperlink << wxS(
"<a href='" )<< aUrl << wxS(
"'>" ) << aDescription << wxS(
"</a>" );
992 wxString newlineTags = wxEmptyString;
994 for(
size_t i = 0; i<aCount; ++i )
995 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 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.