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")
627#define DOC_TEAM _( "Documentation Team" )
628#define ADD_WRITER( name, category ) aInfo.AddDocWriter( new CONTRIBUTOR( name, category ) )
644#define ADD_TRANSLATOR( name, category ) aInfo.AddTranslator( new CONTRIBUTOR( name, category ) )
663 ADD_TRANSLATOR( wxS(
"Benedikt Freisen" ), wxS(
"German (DE)" ) );
666 ADD_TRANSLATOR( wxT(
"Johannes Maibaum" ), wxS(
"German (DE)" ) );
671 ADD_TRANSLATOR( wxT(
"Frank Sonnenberg" ), wxS(
"German (DE)" ) );
673 ADD_TRANSLATOR( wxT(
"Dominik Wernberger" ), wxS(
"German (DE)" ) );
675 ADD_TRANSLATOR( wxS(
"Manolis Stefanis" ), wxS(
"Greek (el_GR)" ) );
676 ADD_TRANSLATOR( wxS(
"Athanasios Vlastos" ), wxS(
"Greek (el_GR)" ) );
677 ADD_TRANSLATOR( wxS(
"Milonas Kostas" ), wxS(
"Greek (el_GR)" ) );
678 ADD_TRANSLATOR( wxS(
"Michail Misirlis" ), wxS(
"Greek (el_GR)" ) );
679 ADD_TRANSLATOR( wxS(
"Aristeidis Kimirtzis" ), wxS(
"Greek (el_GR)" ) );
681 ADD_TRANSLATOR( wxT(
"Adolfo Jayme Barrientos" ), wxS(
"Spanish (ES)" ) );
682 ADD_TRANSLATOR( wxT(
"Roberto Fernandez Bautista" ), wxS(
"Spanish (ES)" ) );
685 ADD_TRANSLATOR( wxT(
"Augusto Fraga Giachero" ), wxS(
"Spanish (ES)" ) );
686 ADD_TRANSLATOR( wxS(
"Pedro Martin del Valle" ), wxS(
"Spanish (ES)" ) );
687 ADD_TRANSLATOR( wxS(
"Gabriel Martinez" ), wxS(
"Spanish (ES)" ) );
691 ADD_TRANSLATOR( wxT(
"Ulices Avila Hernandez" ), wxS(
"Spanish (ES)" ) );
694 ADD_TRANSLATOR( wxT(
"VicSanRoPe" ), wxS(
"Spanish - Latin American (ES)" ) );
695 ADD_TRANSLATOR( wxT(
"Ulices Avila Hernandez" ), wxS(
"Spanish - Latin American (ES)" ) );
700 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Finnish (FI)" ) );
706 ADD_TRANSLATOR( wxT(
"Ola Rinta-Koski" ), wxS(
"Finnish (FI)" ) );
709 ADD_TRANSLATOR( wxT(
"Jean-Pierre Charras" ), wxS(
"French (FR)" ) );
716 ADD_TRANSLATOR( wxT(
"Hidemichi Gotou" ), wxS(
"Japanese (JA)" ) );
717 ADD_TRANSLATOR( wxT(
"Kinichiro Inoguchi" ), wxS(
"Japanese (JA)" ) );
721 ADD_TRANSLATOR( wxT(
"Hiroshi Tokita" ), wxS(
"Japanese (JA)" ) );
723 ADD_TRANSLATOR( wxT(
"Kenta Yonekura" ), wxS(
"Japanese (JA)" ) );
724 ADD_TRANSLATOR( wxT(
"Kaoru Zenyouji" ), wxS(
"Japanese (JA)" ) );
746 ADD_TRANSLATOR( wxT(
"Minsu Kim (0xGabriel)" ), wxS(
"Korean (KO)" ) );
750 ADD_TRANSLATOR( wxT(
"Ignas Brašiškis" ), wxS(
"Lithuanian (LT)" ) );
751 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Lithuanian (LT)" ) );
752 ADD_TRANSLATOR( wxT(
"Dainius Mazuika" ), wxS(
"Lithuanian (LT)" ) );
754 ADD_TRANSLATOR( wxT(
"Stefan De Raedemaeker" ), wxS(
"Dutch (NL)" ) );
759 ADD_TRANSLATOR( wxT(
"Christiaan Nieuwlaat" ), wxS(
"Dutch (NL)" ) );
761 ADD_TRANSLATOR( wxT(
"CJ van der Hoeven" ), wxS(
"Dutch (NL)" ) );
762 ADD_TRANSLATOR( wxT(
"Arend-Jan van Hilten" ), wxS(
"Dutch (NL)" ) );
765 ADD_TRANSLATOR( wxT(
"Jarl Gjessing" ), wxS(
"Norwegian (NO)" ) );
766 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Norwegian (NO)" ) );
767 ADD_TRANSLATOR( wxT(
"Allan Nordhøy" ), wxS(
"Norwegian (NO)" ) );
768 ADD_TRANSLATOR( wxT(
"Petter Reinholdtsen" ), wxS(
"Norwegian (NO)" ) );
769 ADD_TRANSLATOR( wxT(
"Håvard Syslak" ), wxS(
"Norwegian (NO)" ) );
778 ADD_TRANSLATOR( wxT(
"Mateusz Skowroński" ), wxS(
"Polish (PL)" ) );
780 ADD_TRANSLATOR( wxT(
"Grzegorz Szymaszek" ), wxS(
"Polish (PL)" ) );
783 ADD_TRANSLATOR( wxT(
"Augusto Fraga Giachero" ), wxS(
"Brazilian Portuguese (PT_BR)" ) );
784 ADD_TRANSLATOR( wxT(
"Pedro Moreira" ), wxS(
"Brazilian Portuguese (PT_BR)" ) );
785 ADD_TRANSLATOR( wxT(
"Wellington Terumi Uemura" ), wxS(
"Brazilian Portuguese (PT_BR)" ) );
788 ADD_TRANSLATOR( wxT(
"Augusto Fraga Giachero" ), wxS(
"Portuguese (PT)" ) );
789 ADD_TRANSLATOR( wxT(
"Renie Marquet" ), wxS(
"Portuguese (PT)" ) );
790 ADD_TRANSLATOR( wxT(
"Rafael Silva" ), wxS(
"Portuguese (PT)" ) );
793 ADD_TRANSLATOR( wxT(
"Konstantin Baranovskiy" ), wxS(
"Russian (RU)" ) );
795 ADD_TRANSLATOR( wxT(
"Andrey Fedorushkov" ), wxS(
"Russian (RU)" ) );
796 ADD_TRANSLATOR( wxT(
"Alevtina Karashokova" ), wxS(
"Russian (RU)" ) );
797 ADD_TRANSLATOR( wxT(
"Eldar Khayrullin" ), wxS(
"Russian (RU)" ) );
799 ADD_TRANSLATOR( wxT(
"Dmitry Mikhirev" ), wxS(
"Russian (RU)" ) );
803 ADD_TRANSLATOR( wxT(
"Axel Henriksson" ), wxS(
"Swedish (SV)" ) );
804 ADD_TRANSLATOR( wxT(
"Richard Jonsson" ), wxS(
"Swedish (SV)" ) );
805 ADD_TRANSLATOR( wxT(
"Henrik Kauhanen" ), wxS(
"Swedish (SV)" ) );
809 ADD_TRANSLATOR( wxT(
"Boonchai Kingrungped" ), wxS(
"Thai (TH)" ) );
813 ADD_TRANSLATOR( wxT(
"Stanislav Kaliuk" ), wxS(
"Ukrainian (UK)" ) );
814 ADD_TRANSLATOR( wxT(
"Alexsandr Kuzemko" ), wxS(
"Ukrainian (UK)" ) );
815 ADD_TRANSLATOR( wxT(
"Andrii Shelestov" ), wxS(
"Ukrainian (UK)" ) );
817 ADD_TRANSLATOR( wxT(
"欠陥電気" ), wxS(
"Simplified Chinese (zh_CN)" ) );
818 ADD_TRANSLATOR( wxT(
"向阳阳" ), wxS(
"Simplified Chinese (zh_CN)" ) );
819 ADD_TRANSLATOR( wxT(
"David Chen" ), wxS(
"Simplified Chinese (zh_CN)" ) );
820 ADD_TRANSLATOR( wxT(
"Dingzhong Chen" ), wxS(
"Simplified Chinese (zh_CN)" ) );
821 ADD_TRANSLATOR( wxT(
"Eric" ), wxS(
"Simplified Chinese (zh_CN)" ) );
822 ADD_TRANSLATOR( wxT(
"Hubert Hu" ), wxS(
"Simplified Chinese (zh_CN)" ) );
823 ADD_TRANSLATOR( wxT(
"Liu Guang" ), wxS(
"Simplified Chinese (zh_CN)" ) );
824 ADD_TRANSLATOR( wxT(
"HalfSweet" ), wxS(
"Simplified Chinese (zh_CN)" ) );
825 ADD_TRANSLATOR( wxT(
"Huanyin Liu" ), wxS(
"Simplified Chinese (zh_CN)" ) );
826 ADD_TRANSLATOR( wxT(
"Pinpang Liao" ), wxS(
"Simplified Chinese (zh_CN)" ) );
827 ADD_TRANSLATOR( wxT(
"Rigo Ligo" ), wxS(
"Simplified Chinese (zh_CN)" ) );
828 ADD_TRANSLATOR( wxT(
"Zhen Sun" ), wxS(
"Simplified Chinese (zh_CN)" ) );
829 ADD_TRANSLATOR( wxT(
"Jason Tan" ), wxS(
"Simplified Chinese (zh_CN)" ) );
830 ADD_TRANSLATOR( wxT(
"Taotieren" ), wxS(
"Simplified Chinese (zh_CN)" ) );
831 ADD_TRANSLATOR( wxT(
"Tian Yunhao" ), wxS(
"Simplified Chinese (zh_CN)" ) );
832 ADD_TRANSLATOR( wxT(
"Li Yidong" ), wxS(
"Simplified Chinese (zh_CN)" ) );
833 ADD_TRANSLATOR( wxT(
"yangyangdaji" ), wxS(
"Simplified Chinese (zh_CN)" ) );
834 ADD_TRANSLATOR( wxT(
"Lao Zhu" ), wxS(
"Simplified Chinese (zh_CN)" ) );
835 ADD_TRANSLATOR( wxT(
"zly20129" ), wxS(
"Simplified Chinese (zh_CN)" ) );
837 ADD_TRANSLATOR( wxT(
"撒景賢" ), wxS(
"Traditional Chinese (zh_TW)" ) );
838 ADD_TRANSLATOR( wxT(
"David Chen" ), wxS(
"Traditional Chinese (zh_TW)" ) );
839 ADD_TRANSLATOR( wxT(
"pon dahai" ), wxS(
"Traditional Chinese (zh_TW)" ) );
840 ADD_TRANSLATOR( wxT(
"kai chiao chuang" ), wxS(
"Traditional Chinese (zh_TW)" ) );
841 ADD_TRANSLATOR( wxT(
"Poming Lee" ), wxS(
"Traditional Chinese (zh_TW)" ) );
842 ADD_TRANSLATOR( wxT(
"William Lin" ), wxS(
"Traditional Chinese (zh_TW)" ) );
843 ADD_TRANSLATOR( wxT(
"Taotieren" ), wxS(
"Traditional Chinese (zh_TW)" ) );
844 ADD_TRANSLATOR( wxT(
"Li Yidong" ), wxS(
"Traditional Chinese (zh_TW)" ) );
853#define LIBRARIANS _( "Librarian Team" )
854#define ADD_LIBRARIAN( name ) aInfo.AddLibrarian( new CONTRIBUTOR( name, LIBRARIANS ) )
906#define MODELS_3D_CONTRIBUTION _( "3D models" )
907#define SYMBOL_LIB_CONTRIBUTION _( "Symbols" )
908#define FOOTPRINT_LIB_CONTRIBUTION _( "Footprints" )
911 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprint-generator" ) ) );
914 wxS(
"https://gitlab.com/kicad/libraries/kicad-packages3D/-/graphs/master" ) ) );
918 wxS(
"https://gitlab.com/kicad/libraries/kicad-symbols/-/graphs/master" ) ) );
922 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprint-generator" ) ) );
925 wxS(
"https://gitlab.com/kicad/libraries/kicad-footprints/-/graphs/master" ) ) );
928#define ICON_CONTRIBUTION _( "Icons" )
935#define PACKAGE_DEVS _( "Package Developers" )
969static wxString
HtmlHyperlink(
const wxString& aUrl,
const wxString& aDescription )
971 wxString hyperlink = wxEmptyString;
973 if( aDescription.IsEmpty() )
974 hyperlink << wxS(
"<a href='" ) << aUrl << wxS(
"'>" ) << aUrl << wxS(
"</a>" );
976 hyperlink << wxS(
"<a href='" )<< aUrl << wxS(
"'>" ) << aDescription << wxS(
"</a>" );
991 wxString newlineTags = wxEmptyString;
993 for(
size_t i = 0; i<aCount; ++i )
994 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.