KiCad PCB EDA Suite
AboutDialog_main.cpp File Reference
#include <boost/version.hpp>
#include <wx/aboutdlg.h>
#include <wx/arrimpl.cpp>
#include <wx/textctrl.h>
#include <wx/utils.h>
#include <bitmaps.h>
#include <build_version.h>
#include <common.h>
#include <kiplatform/app.h>
#include <pgm_base.h>
#include <eda_base_frame.h>
#include "aboutinfo.h"
#include "dialog_about.h"

Go to the source code of this file.

Macros

#define LEAD_DEV   _( "Lead Development Team" )
 
#define FORMER_DEV   _( "Lead Development Alumni" )
 
#define CONTRIB_DEV   _( "Additional Contributions By")
 
#define LIBRARIANS   _( "KiCad Librarian Team" )
 
#define MODELS_3D_CONTRIBUTION   _( "3D models by" )
 
#define SYMBOL_LIB_CONTRIBUTION   _( "Symbols by" )
 
#define FOOTPRINT_LIB_CONTRIBUTION   _( "Footprints by" )
 
#define ICON_CONTRIBUTION   _( "Icons by" )
 

Functions

static wxString HtmlHyperlink (const wxString &aUrl, const wxString &aDescription)
 Helper functions. More...
 
static wxString HtmlNewline (const unsigned int aCount)
 Create an HTML newline character sequence of aCount. More...
 
static void buildKicadAboutBanner (EDA_BASE_FRAME *aParent, ABOUT_APP_INFO &aInfo)
 Initializes the ABOUT_APP_INFO object with application specific information. More...
 
void ShowAboutDialog (EDA_BASE_FRAME *aParent)
 

Macro Definition Documentation

◆ CONTRIB_DEV

#define CONTRIB_DEV   _( "Additional Contributions By")

◆ FOOTPRINT_LIB_CONTRIBUTION

#define FOOTPRINT_LIB_CONTRIBUTION   _( "Footprints by" )

◆ FORMER_DEV

#define FORMER_DEV   _( "Lead Development Alumni" )

◆ ICON_CONTRIBUTION

#define ICON_CONTRIBUTION   _( "Icons by" )

◆ LEAD_DEV

#define LEAD_DEV   _( "Lead Development Team" )

◆ LIBRARIANS

#define LIBRARIANS   _( "KiCad Librarian Team" )

◆ MODELS_3D_CONTRIBUTION

#define MODELS_3D_CONTRIBUTION   _( "3D models by" )

◆ SYMBOL_LIB_CONTRIBUTION

#define SYMBOL_LIB_CONTRIBUTION   _( "Symbols by" )

Function Documentation

◆ buildKicadAboutBanner()

static void buildKicadAboutBanner ( EDA_BASE_FRAME aParent,
ABOUT_APP_INFO aInfo 
)
static

Initializes the ABOUT_APP_INFO object with application specific information.

This is the object which holds all information about the application

Definition at line 58 of file AboutDialog_main.cpp.

59{
60 // Set application specific icon
61 aInfo.SetAppIcon( aParent->GetIcon() );
62
63 /* Set title */
64 aInfo.SetAppName( Pgm().App().GetAppName() );
65
66 /* Copyright information */
67 aInfo.SetCopyright( wxT( "(C) 1992-2023 KiCad Developers Team" ) );
68
69 /* KiCad build version */
70 wxString version;
71 version << ( KIPLATFORM::APP::IsOperatingSystemUnsupported() ? wxString( wxS( "(UNSUPPORTED)" ) )
72 : GetBuildVersion() )
73#ifdef DEBUG
74 << wxT( ", debug" )
75#else
76 << wxT( ", release" )
77#endif
78 << wxT( " build" );
79
80 aInfo.SetBuildVersion( version );
81 aInfo.SetBuildDate( GetBuildDate() );
82
83 /* wxWidgets version */
84 wxString libVersion;
85 libVersion << wxGetLibraryVersionInfo().GetVersionString();
86
87 /* Unicode or ANSI version */
88#if wxUSE_UNICODE
89 libVersion << wxT( " Unicode " );
90#else
91 libVersion << wxT( " ANSI " );
92#endif
93
94 // Just in case someone builds KiCad with the platform native of Boost instead of
95 // the version included with the KiCad source.
96 libVersion << wxT( "and Boost " ) << ( BOOST_VERSION / 100000 ) << wxT( "." )
97 << ( BOOST_VERSION / 100 % 1000 ) << wxT( "." ) << ( BOOST_VERSION % 100 )
98 << wxT( "\n" );
99
100 // Operating System Information
101
102 wxPlatformInfo platformInfo;
103
104 libVersion << wxT( "Platform: " ) << wxGetOsDescription() << wxT( ", " )
106
107 aInfo.SetLibVersion( libVersion );
108
109 // info/description part HTML formatted:
110 wxString description;
111
112 /* short description */
113 description << wxT( "<p>" );
114 description << wxT( "<b><u>" )
115 << _( "Description" )
116 << wxT( "</u></b>" ); // bold & underlined font for caption
117
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." )
121 << wxT( "</p>" );
122
123 description << wxT( "</p>" );
124
125 /* websites */
126 description << wxT( "<p><b><u>" )
127 << _( "KiCad on the web" )
128 << wxT( "</u></b>" ); // bold & underlined font for caption
129
130 // bullet-ed list with some http links
131 description << wxT( "<ul>" );
132 description << wxT( "<li>" )
133 << _( "The official KiCad website - " )
134 << HtmlHyperlink( wxS( "http://www.kicad.org" ) )
135 << wxT( "</li>" );
136 description << wxT( "<li>" )
137 << _( "Developer website - " )
138 << HtmlHyperlink( wxS( "https://go.kicad.org/dev" ) )
139 << wxT( "</li>" );
140
141 description << wxT( "<li>" )
142 << _("Official KiCad library repositories - " )
143 << HtmlHyperlink( wxS( "https://go.kicad.org/libraries" ) )
144 << wxT( "</li>" );
145
146 description << wxT( "</ul></p>" );
147
148 description << wxT( "<p><b><u>" )
149 << _( "Bug tracker" )
150 << wxT( "</u></b>" ); // bold & underlined font caption
151
152 // bullet-ed list with some http links
153 description << wxT( "<ul>" );
154 description << wxT( "<li>" )
155 << _( "Report or examine bugs - " )
156 << HtmlHyperlink( wxS( "https://go.kicad.org/bugs" ) )
157 << wxT( "</li>" );
158 description << wxT( "</ul></p>" );
159
160 description << wxT( "<p><b><u>" )
161 << _( "KiCad users group and community" )
162 << wxT( "</u></b>" ); // bold & underlined font caption
163
164 description << wxT( "<ul>" );
165 description << wxT( "<li>" )
166 << _( "KiCad forum - " )
167 << HtmlHyperlink( wxS( "https://go.kicad.org/forum" ) )
168 << wxT( "</li>" );
169
170 description << wxT( "</ul></p>" );
171
172 aInfo.SetDescription( description );
173
174
175 // License information also HTML formatted:
176 wxString license;
177 license
178 << wxT( "<div align='center'>" )
179 << HtmlNewline( 4 )
180 << _( "The complete KiCad EDA Suite is released under the" ) << HtmlNewline( 2 )
181 << HtmlHyperlink( wxS( "http://www.gnu.org/licenses" ),
182 _( "GNU General Public License (GPL) version 3 or any later version" ) )
183 << wxT( "</div>" );
184
185 aInfo.SetLicense( license );
186
187
188 /* A contributor consists of the following information:
189 * Mandatory:
190 * - Name
191 * Optional:
192 * - EMail address
193 * - Category
194 * - Category specific icon
195 *
196 * All contributors of the same category will be enumerated under this category
197 * which should be represented by the same icon.
198 */
199
200 // The core developers
201#define LEAD_DEV _( "Lead Development Team" )
202#define FORMER_DEV _( "Lead Development Alumni" )
203#define CONTRIB_DEV _( "Additional Contributions By")
204 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jean-Pierre Charras" ), LEAD_DEV, nullptr ) );
205 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Wayne Stambaugh" ), LEAD_DEV, nullptr ) );
206
207 // Alphabetical after the first two
208 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jon Evans" ), LEAD_DEV, nullptr ) );
209 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Roberto Fernandez Bautista" ), LEAD_DEV, nullptr ) );
210 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Seth Hillbrand" ), LEAD_DEV, nullptr ) );
211 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ian McInerney" ), LEAD_DEV, nullptr ) );
212 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mark Roszko" ), LEAD_DEV, nullptr ) );
213 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Thomas Pointhuber" ), LEAD_DEV, nullptr ) );
214 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alex Shvartzkop" ), LEAD_DEV, nullptr ) );
215 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mike Williams" ), LEAD_DEV, nullptr ) );
216 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Tomasz Wlostowski" ), LEAD_DEV, nullptr ) );
217 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jeff Young" ), LEAD_DEV, nullptr ) );
218
219 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "John Beard" ), FORMER_DEV, nullptr ) );
220 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dick Hollenbeck" ), FORMER_DEV, nullptr ) );
221 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alexis Lockwood" ), FORMER_DEV, nullptr ) );
222 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Brian Sidebotham" ), FORMER_DEV, nullptr ) );
223 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Orson (Maciej Sumiński)" ), FORMER_DEV, nullptr ) );
224 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mikolaj Wielgus" ), FORMER_DEV, nullptr ) );
225
226 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Martin Aberg" ), CONTRIB_DEV, nullptr ) );
227 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Rohan Agrawal" ), CONTRIB_DEV, nullptr ) );
228 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Johannes Agricola" ), CONTRIB_DEV, nullptr ) );
229 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Nabeel Ahmad" ), CONTRIB_DEV, nullptr ) );
230 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Werner Almesberger" ), CONTRIB_DEV, nullptr ) );
231 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Shawn Anastasio" ), CONTRIB_DEV, nullptr ) );
232 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Collin Anderson" ), CONTRIB_DEV, nullptr ) );
233 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Tom Andrews" ), CONTRIB_DEV, nullptr ) );
234 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mikael Arguedas" ), CONTRIB_DEV, nullptr ) );
235 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Lachlan Audas" ), CONTRIB_DEV, nullptr ) );
236 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jean-Noel Avila" ), CONTRIB_DEV, nullptr ) );
237
238 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Pascal Baerten" ), CONTRIB_DEV, nullptr ) );
239 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Konstantin Baranovskiy" ), CONTRIB_DEV, nullptr ) );
240 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Roman Bashkov" ), CONTRIB_DEV, nullptr ) );
241 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Michael Beardsworth" ), CONTRIB_DEV, nullptr ) );
242 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Matthew Beckler" ), CONTRIB_DEV, nullptr ) );
243 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Konrad Beckmann" ), CONTRIB_DEV, nullptr ) );
244 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Eduardo Behr" ), CONTRIB_DEV, nullptr ) );
245 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "David Beinder" ), CONTRIB_DEV, nullptr ) );
246 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Frank Bennett" ), CONTRIB_DEV, nullptr ) );
247 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Roman Beranek" ), CONTRIB_DEV, nullptr ) );
248 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Francois Berder" ), CONTRIB_DEV, nullptr ) );
249 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Gustav Bergquist" ), CONTRIB_DEV, nullptr ) );
250 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Cirilo Bernardo" ), CONTRIB_DEV, nullptr ) );
251 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Joël Bertrand" ), CONTRIB_DEV, nullptr ) );
252 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andreas Beutling" ), CONTRIB_DEV, nullptr ) );
253 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Brian F. G. Bidulock" ), CONTRIB_DEV, nullptr ) );
254 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Anton Blanchard" ), CONTRIB_DEV, nullptr ) );
255 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Blair Bonnett" ), CONTRIB_DEV, nullptr ) );
256 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Markus Bonk" ), CONTRIB_DEV, nullptr ) );
257 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Franck Bourdonnec" ), CONTRIB_DEV, nullptr ) );
258 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Carlo Bramini" ), CONTRIB_DEV, nullptr ) );
259 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Stefan Brüns" ), CONTRIB_DEV, nullptr ) );
260 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andreas Buhr" ), CONTRIB_DEV, nullptr ) );
261 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ryan Bunch" ), CONTRIB_DEV, nullptr ) );
262 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Emery Burhan" ), CONTRIB_DEV, nullptr ) );
263
264 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Scott Candey" ), CONTRIB_DEV, nullptr ) );
265 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Phinitnan Chanasabaeng" ), CONTRIB_DEV, nullptr ) );
266 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Shivpratap Chauhan" ), CONTRIB_DEV, nullptr ) );
267 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kevin Cozens" ), CONTRIB_DEV, nullptr ) );
268 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Joseph Y. Chen" ), CONTRIB_DEV, nullptr ) );
269 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alexey Chernov" ), CONTRIB_DEV, nullptr ) );
270 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marco Ciampa" ), CONTRIB_DEV, nullptr ) );
271 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marcus Comstedt" ), CONTRIB_DEV, nullptr ) );
272 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Diogo Condeco" ), CONTRIB_DEV, nullptr ) );
273 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Colin Cooper" ), CONTRIB_DEV, nullptr ) );
274 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Fabien Corona" ), CONTRIB_DEV, nullptr ) );
275 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Garth Corral" ), CONTRIB_DEV, nullptr ) );
276 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kevin Cozens" ), CONTRIB_DEV, nullptr ) );
277 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dan Cross" ), CONTRIB_DEV, nullptr ) );
278
279 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andrew D'Addesio" ), CONTRIB_DEV, nullptr ) );
280 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Martin d'Allens" ), CONTRIB_DEV, nullptr ) );
281 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Greg Davill" ), CONTRIB_DEV, nullptr ) );
282 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Camille Delbegue" ), CONTRIB_DEV, nullptr ) );
283 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Albin Dennevi" ), CONTRIB_DEV, nullptr ) );
284 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ruben De Smet" ), CONTRIB_DEV, nullptr ) );
285 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alexander Dewing" ), CONTRIB_DEV, nullptr ) );
286 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jonas Diemer" ), CONTRIB_DEV, nullptr ) );
287 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ben Dooks" ), CONTRIB_DEV, nullptr ) );
288 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Pavel Dovgalyuk" ), CONTRIB_DEV, nullptr ) );
289 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andrew Downing" ), CONTRIB_DEV, nullptr ) );
290 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jan Dubiec" ), CONTRIB_DEV, nullptr ) );
291
292 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Gerd Egidy" ), CONTRIB_DEV, nullptr ) );
293 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jean Philippe Eimer" ), CONTRIB_DEV, nullptr ) );
294 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ben Ellis" ), CONTRIB_DEV, nullptr ) );
295 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Oleg Endo" ), CONTRIB_DEV, nullptr ) );
296 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Damien Espitallier" ), CONTRIB_DEV, nullptr ) );
297 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Paul Ewing" ), CONTRIB_DEV, nullptr ) );
298
299 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andrey Fedorushkov" ), CONTRIB_DEV, nullptr ) );
300 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Julian Fellinger" ), CONTRIB_DEV, nullptr ) );
301 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Joe Ferner" ), CONTRIB_DEV, nullptr ) );
302 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Brian Fiete" ), CONTRIB_DEV, nullptr ) );
303 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Thomas Figueroa" ), CONTRIB_DEV, nullptr ) );
304 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Vincenzo Fortunato" ), CONTRIB_DEV, nullptr ) );
305 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Drew Fustini" ), CONTRIB_DEV, nullptr ) );
306
307 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ronnie Gaensli" ), CONTRIB_DEV, nullptr ) );
308 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Christian Gagneraud" ), CONTRIB_DEV, nullptr ) );
309 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ben Gamari" ), CONTRIB_DEV, nullptr ) );
310 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ashutosh Gangwar" ), CONTRIB_DEV, nullptr ) );
311 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alessandro Gatti" ), CONTRIB_DEV, nullptr ) );
312 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Hal Gentz" ), CONTRIB_DEV, nullptr ) );
313 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Davide Gerhard" ), CONTRIB_DEV, nullptr ) );
314 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Michael Geselbracht" ), CONTRIB_DEV, nullptr ) );
315 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Giulio Girardi" ), CONTRIB_DEV, nullptr ) );
316 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jeff Glass" ), CONTRIB_DEV, nullptr ) );
317 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alexander Golubev" ), CONTRIB_DEV, nullptr ) );
318 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Angus Gratton" ), CONTRIB_DEV, nullptr ) );
319 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Element Green" ), CONTRIB_DEV, nullptr ) );
320 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mathias Grimmberger" ), CONTRIB_DEV, nullptr ) );
321 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Johan Grip" ), CONTRIB_DEV, nullptr ) );
322 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Hildo Guillardi Júnior" ), CONTRIB_DEV, nullptr ) );
323 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Niki Guldbrand" ), CONTRIB_DEV, nullptr ) );
324 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Tanay Gupta" ), CONTRIB_DEV, nullptr ) );
325 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alexander Guy" ), CONTRIB_DEV, nullptr ) );
326 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Zoltan Gyarmati" ), CONTRIB_DEV, nullptr ) );
327
328 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jonathan Haas" ), CONTRIB_DEV, nullptr ) );
329 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mark Hämmerling" ), CONTRIB_DEV, nullptr ) );
330 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Stefan Hamminga" ), CONTRIB_DEV, nullptr ) );
331 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Scott Hanson" ), CONTRIB_DEV, nullptr ) );
332 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ben Harris" ), CONTRIB_DEV, nullptr ) );
333 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Lukas F. Hartmann" ), CONTRIB_DEV, nullptr ) );
334 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jakob Haufe" ), CONTRIB_DEV, nullptr ) );
335 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Aylons Hazzud" ), CONTRIB_DEV, nullptr ) );
336 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Stefan Helmert" ), CONTRIB_DEV, nullptr ) );
337 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Hartmut Henkel" ), CONTRIB_DEV, nullptr ) );
338 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Brian Henning" ), CONTRIB_DEV, nullptr ) );
339 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Paulo Henrique Silva" ), CONTRIB_DEV, nullptr ) );
340 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Hans Henry von Tresckow" ), CONTRIB_DEV, nullptr ) );
341 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Diego Herranz" ), CONTRIB_DEV, nullptr ) );
342 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marco Hess" ), CONTRIB_DEV, nullptr ) );
343 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mario Hros" ), CONTRIB_DEV, nullptr ) );
344 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Matt Huszagh" ), CONTRIB_DEV, nullptr ) );
345 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Torsten Hüter" ), CONTRIB_DEV, nullptr ) );
346
347 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "José Ignacio Romero" ), CONTRIB_DEV, nullptr ) );
348 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marco Inacio" ), CONTRIB_DEV, nullptr ) );
349 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kinichiro Inoguchi" ), CONTRIB_DEV, nullptr ) );
350 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Fabián Inostroza" ), CONTRIB_DEV, nullptr ) );
351 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Vlad Ivanov" ), CONTRIB_DEV, nullptr ) );
352
353 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "James Jackson" ), CONTRIB_DEV, nullptr ) );
354 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jerry Jacobs" ), CONTRIB_DEV, nullptr ) );
355 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Christian Jacobsen" ), CONTRIB_DEV, nullptr ) );
356 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Michal Jahelka" ), CONTRIB_DEV, nullptr ) );
357 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Martin Janitschke" ), CONTRIB_DEV, nullptr ) );
358 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jonathan Jara-Almonte" ), CONTRIB_DEV, nullptr ) );
359 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Gilbert J.M. Forkel" ), CONTRIB_DEV, nullptr ) );
360 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "José Jorge Enríquez" ), CONTRIB_DEV, nullptr ) );
361 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Franck Jullien" ), CONTRIB_DEV, nullptr ) );
362
363 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Eeli Kaikkonen" ), CONTRIB_DEV, nullptr ) );
364 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Lajos Kamocsay" ), CONTRIB_DEV, nullptr ) );
365 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Povilas Kanapickas" ), CONTRIB_DEV, nullptr ) );
366 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mikhail Karpenko" ), CONTRIB_DEV, nullptr ) );
367 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kerusey Karyu" ), CONTRIB_DEV, nullptr ) );
368 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Michael Kavanagh" ), CONTRIB_DEV, nullptr ) );
369 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Tom Keddie" ), CONTRIB_DEV, nullptr ) );
370 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Graham Keeth" ), CONTRIB_DEV, nullptr ) );
371 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Yury Khalyavin" ), CONTRIB_DEV, nullptr ) );
372 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Eldar Khayrullin" ), CONTRIB_DEV, nullptr ) );
373 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Gary Kim" ), CONTRIB_DEV, nullptr ) );
374 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ingo Kletti" ), CONTRIB_DEV, nullptr ) );
375 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kliment" ), CONTRIB_DEV, nullptr ) );
376 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Sylwester Kocjan" ), CONTRIB_DEV, nullptr ) );
377 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Clemens Koller" ), CONTRIB_DEV, nullptr ) );
378 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Asuki Kono" ), CONTRIB_DEV, nullptr ) );
379 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jakub Kozdon" ), CONTRIB_DEV, nullptr ) );
380 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Hajo Nils Krabbenhöft" ), CONTRIB_DEV, nullptr ) );
381 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Simon Kueppers" ), CONTRIB_DEV, nullptr ) );
382 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Martijn Kuipers" ), CONTRIB_DEV, nullptr ) );
383
384 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Robbert Lagerweij" ), CONTRIB_DEV, nullptr ) );
385 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dimitris Lampridis" ), CONTRIB_DEV, nullptr ) );
386 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marco Langer" ), CONTRIB_DEV, nullptr ) );
387 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kevin Lannen" ), CONTRIB_DEV, nullptr ) );
388 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mika Laitio" ), CONTRIB_DEV, nullptr ) );
389 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Floris Lambrechts" ), CONTRIB_DEV, nullptr ) );
390 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "lê văn lập" ), CONTRIB_DEV, nullptr ) );
391 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Anton Lazarev" ), CONTRIB_DEV, nullptr ) );
392 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dag Lem" ), CONTRIB_DEV, nullptr ) );
393 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ludovic Léau-mercier" ), CONTRIB_DEV, nullptr ) );
394 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Paul LeoNerd Evens" ), CONTRIB_DEV, nullptr ) );
395 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jonatan Liljedahl" ), CONTRIB_DEV, nullptr ) );
396 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Huanyin Liu" ), CONTRIB_DEV, nullptr ) );
397 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alexander Lunev" ), CONTRIB_DEV, nullptr ) );
398 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andrew Lutsenko" ), CONTRIB_DEV, nullptr ) );
399 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mario Luzeiro" ), CONTRIB_DEV, nullptr ) );
400
401 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Johannes Maibaum" ), CONTRIB_DEV, nullptr ) );
402 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mateusz Majchrzycki" ), CONTRIB_DEV, nullptr ) );
403 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Daniel Majewski" ), CONTRIB_DEV, nullptr ) );
404 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Rachel Mant" ), CONTRIB_DEV, nullptr ) );
405 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Lorenzo Marcantonio" ), CONTRIB_DEV, nullptr ) );
406 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Miklós Márton" ), CONTRIB_DEV, nullptr ) );
407 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marco Mattila" ), CONTRIB_DEV, nullptr ) );
408 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Steffen Mauch" ), CONTRIB_DEV, nullptr ) );
409 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Brian Mayton" ), CONTRIB_DEV, nullptr ) );
410 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Maui" ), CONTRIB_DEV, nullptr ) );
411 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kirill Mavreshko" ), CONTRIB_DEV, nullptr ) );
412 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Miles McCoo" ), CONTRIB_DEV, nullptr ) );
413 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Charles McDowell" ), CONTRIB_DEV, nullptr ) );
414 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Moses McKnight" ), CONTRIB_DEV, nullptr ) );
415 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Martin McNamara" ), CONTRIB_DEV, nullptr ) );
416 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Cameron McQuinn" ), CONTRIB_DEV, nullptr ) );
417 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ievgenii Meshcheriakov" ), CONTRIB_DEV, nullptr ) );
418 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ashley Mills" ), CONTRIB_DEV, nullptr ) );
419 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Christoph Moench-Tegeder" ), CONTRIB_DEV, nullptr ) );
420 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Peter Montgomery" ), CONTRIB_DEV, nullptr ) );
421 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alejandro García Montoro" ), CONTRIB_DEV, nullptr ) );
422 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Chris Morgan" ), CONTRIB_DEV, nullptr ) );
423 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Felix Morgner" ), CONTRIB_DEV, nullptr ) );
424 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jan Mrázek" ), CONTRIB_DEV, nullptr ) );
425
426 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Michael Narigon" ), CONTRIB_DEV, nullptr ) );
427 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jon Neal" ), CONTRIB_DEV, nullptr ) );
428 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Bastian Neumann" ), CONTRIB_DEV, nullptr ) );
429 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Daniil Nikolaev" ), CONTRIB_DEV, nullptr ) );
430 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kristian Nielsen" ), CONTRIB_DEV, nullptr ) );
431 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Érico Nogueira" ), CONTRIB_DEV, nullptr ) );
432 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Allan Nordhøy" ), CONTRIB_DEV, nullptr ) );
433 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Henrik Nyberg" ), CONTRIB_DEV, nullptr ) );
434
435 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kristoffer Ödmark" ), CONTRIB_DEV, nullptr ) );
436 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Russell Oliver" ), CONTRIB_DEV, nullptr ) );
437 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jason Oster" ), CONTRIB_DEV, nullptr ) );
438
439 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Frank Palazzolo" ), CONTRIB_DEV, nullptr ) );
440 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "luz paz" ), CONTRIB_DEV, nullptr ) );
441 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Miguel Angel Ajo Pelayo" ), CONTRIB_DEV, nullptr ) );
442 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Patrick Pereira" ), CONTRIB_DEV, nullptr ) );
443 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jacobo Aragunde Perez" ), CONTRIB_DEV, nullptr ) );
444 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Matthew Petroff" ), CONTRIB_DEV, nullptr ) );
445 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Johannes Pfister" ), CONTRIB_DEV, nullptr ) );
446 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Christian Pfluger" ), CONTRIB_DEV, nullptr ) );
447 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Brian Piccioni" ), CONTRIB_DEV, nullptr ) );
448 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Nicolas Planel" ), CONTRIB_DEV, nullptr ) );
449 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Carl Poirier" ), CONTRIB_DEV, nullptr ) );
450 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Reece Pollack" ), CONTRIB_DEV, nullptr ) );
451 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alain Portal" ), CONTRIB_DEV, nullptr ) );
452 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andrei Pozolotin" ), CONTRIB_DEV, nullptr ) );
453 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Antia Puentes" ), CONTRIB_DEV, nullptr ) );
454 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Zoltan Puskas" ), CONTRIB_DEV, nullptr ) );
455 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Heikki Pulkkinen" ), CONTRIB_DEV, nullptr ) );
456
457 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Morgan Quigley" ), CONTRIB_DEV, nullptr ) );
458
459 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Barabas Raffai" ), CONTRIB_DEV, nullptr ) );
460 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Urja Rannikko" ), CONTRIB_DEV, nullptr ) );
461 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Joshua Redstone" ), CONTRIB_DEV, nullptr ) );
462 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Michele Renda" ), CONTRIB_DEV, nullptr ) );
463 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jean-Samuel Reynaud" ), CONTRIB_DEV, nullptr ) );
464 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dmitry Rezvanov" ), CONTRIB_DEV, nullptr ) );
465 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Simon Richter" ), CONTRIB_DEV, nullptr ) );
466 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Christoph Riehl" ), CONTRIB_DEV, nullptr ) );
467 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Thiadmer Riemersma" ), CONTRIB_DEV, nullptr ) );
468 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Gregor Riepl" ), CONTRIB_DEV, nullptr ) );
469 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "RigoLigoRLC" ), CONTRIB_DEV, nullptr ) );
470 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ola Rinta-Koski" ), CONTRIB_DEV, nullptr ) );
471 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Lubomir Rintel" ), CONTRIB_DEV, nullptr ) );
472 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Érico Rolim" ), CONTRIB_DEV, nullptr ) );
473 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marcus A. Romer" ), CONTRIB_DEV, nullptr ) );
474 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Heiko Rosemann" ), CONTRIB_DEV, nullptr ) );
475 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Fabio Rossi" ), CONTRIB_DEV, nullptr ) );
476 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ian Roth" ), CONTRIB_DEV, nullptr ) );
477
478 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "J. Morio Sakaguchi" ), CONTRIB_DEV, nullptr ) );
479 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Simon Schaak" ), CONTRIB_DEV, nullptr ) );
480 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ross Schlaikjer" ), CONTRIB_DEV, nullptr ) );
481 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Julius Schmidt" ), CONTRIB_DEV, nullptr ) );
482 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Felix Schneider" ), CONTRIB_DEV, nullptr ) );
483 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marvin Schmidt" ), CONTRIB_DEV, nullptr ) );
484 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Carsten Schoenert" ), CONTRIB_DEV, nullptr ) );
485 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Simon Schubert" ), CONTRIB_DEV, nullptr ) );
486 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Michal Schulz" ), CONTRIB_DEV, nullptr ) );
487 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Adrian Scripca" ), CONTRIB_DEV, nullptr ) );
488 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Pradeepa Senanayake" ), CONTRIB_DEV, nullptr ) );
489 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marco Serantoni" ), CONTRIB_DEV, nullptr ) );
490 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Frank Severinsen" ), CONTRIB_DEV, nullptr ) );
491 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Cheng Sheng" ), CONTRIB_DEV, nullptr ) );
492 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Yang Sheng" ), CONTRIB_DEV, nullptr ) );
493 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Chetan Shinde" ), CONTRIB_DEV, nullptr ) );
494 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alexander Shuklin" ), CONTRIB_DEV, nullptr ) );
495 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Slawomir Siudym" ), CONTRIB_DEV, nullptr ) );
496 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marco Serantoni" ), CONTRIB_DEV, nullptr ) );
497 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Guillaume Simard" ), CONTRIB_DEV, nullptr ) );
498 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Martin Sivak" ), CONTRIB_DEV, nullptr ) );
499 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mateusz Skowroński" ), CONTRIB_DEV, nullptr ) );
500 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dominik Sliwa" ), CONTRIB_DEV, nullptr ) );
501 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Blake Smith" ), CONTRIB_DEV, nullptr ) );
502 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Michal Sojka" ), CONTRIB_DEV, nullptr ) );
503 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Rafael Sokolowski" ), CONTRIB_DEV, nullptr ) );
504 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Vesa Solonen" ), CONTRIB_DEV, nullptr ) );
505 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ronald Sousa" ), CONTRIB_DEV, nullptr ) );
506 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Craig Southeren" ), CONTRIB_DEV, nullptr ) );
507 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Thomas Spindler" ), CONTRIB_DEV, nullptr ) );
508 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Seppe Stas" ), CONTRIB_DEV, nullptr ) );
509 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Bernhard Stegmaier" ), CONTRIB_DEV, nullptr ) );
510 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Michael Steinberg" ), CONTRIB_DEV, nullptr ) );
511 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Marco Sterbik" ), CONTRIB_DEV, nullptr ) );
512 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alexander Stock" ), CONTRIB_DEV, nullptr ) );
513 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Martin Stoilov" ), CONTRIB_DEV, nullptr ) );
514 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Hiroki Suenaga" ), CONTRIB_DEV, nullptr ) );
515
516 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Karl Thorén" ), CONTRIB_DEV, nullptr ) );
517 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Hiroshi Tokita" ), CONTRIB_DEV, nullptr ) );
518
519 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Vladimir Ur" ), CONTRIB_DEV, nullptr ) );
520 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Matthias Urlichs" ), CONTRIB_DEV, nullptr ) );
521 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Vladimir Uryvaev" ), CONTRIB_DEV, nullptr ) );
522
523 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Henri Valta" ), CONTRIB_DEV, nullptr ) );
524 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dave Vandenbout" ), CONTRIB_DEV, nullptr ) );
525 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Edwin van den Oetelaar" ), CONTRIB_DEV, nullptr ) );
526 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mark van Doesburg" ), CONTRIB_DEV, nullptr ) );
527 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Fabio Varesano" ), CONTRIB_DEV, nullptr ) );
528 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Benjamin Vernoux" ), CONTRIB_DEV, nullptr ) );
529 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Frank Villaro-Dixon" ), CONTRIB_DEV, nullptr ) );
530 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Forrest Voight" ), CONTRIB_DEV, nullptr ) );
531 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Tormod Volden" ), CONTRIB_DEV, nullptr ) );
532
533 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Johannes Wågen" ), CONTRIB_DEV, nullptr ) );
534 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Oliver Walters" ), CONTRIB_DEV, nullptr ) );
535 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jonathan Warner" ), CONTRIB_DEV, nullptr ) );
536 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dan Weatherill" ), CONTRIB_DEV, nullptr ) );
537 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Stefan Weber" ), CONTRIB_DEV, nullptr ) );
538 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Bevan Weiss" ), CONTRIB_DEV, nullptr ) );
539 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Simon Wells" ), CONTRIB_DEV, nullptr ) );
540 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dominik Wernberger" ), CONTRIB_DEV, nullptr ) );
541 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Nick Winters" ), CONTRIB_DEV, nullptr ) );
542 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Adam Wolf" ), CONTRIB_DEV, nullptr ) );
543 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andrzej Wolski" ), CONTRIB_DEV, nullptr ) );
544 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Damian Wrobel" ), CONTRIB_DEV, nullptr ) );
545 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andrew Wygle" ), CONTRIB_DEV, nullptr ) );
546
547 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jiaxun Yang" ), CONTRIB_DEV, nullptr ) );
548 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Robert Yates" ), CONTRIB_DEV, nullptr ) );
549 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Yegor Yefremov" ), CONTRIB_DEV, nullptr ) );
550 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kenta Yonekura" ), CONTRIB_DEV, nullptr ) );
551
552 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Alexander Zakamaldin" ), CONTRIB_DEV, nullptr ) );
553 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Frank Zeeman" ), CONTRIB_DEV, nullptr ) );
554 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Henner Zeller" ), CONTRIB_DEV, nullptr ) );
555 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Andrew Zonenberg" ), CONTRIB_DEV, nullptr ) );
556 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Karl Zeilhofer" ), CONTRIB_DEV, nullptr ) );
557 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Kevin Zheng" ), CONTRIB_DEV, nullptr ) );
558
559 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Nick Østergaard" ), CONTRIB_DEV, nullptr ) );
560 aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "木 王" ), CONTRIB_DEV, nullptr ) );
561
562 // The document writers
563 aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Jean-Pierre Charras" ) ) );
564 aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Marco Ciampa" ) ) );
565 aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Jon Evans" ) ) );
566 aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Dick Hollenbeck" ) ) );
567 aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Graham Keeth" ) ) );
568 aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Igor Plyatov" ) ) );
569 aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Wayne Stambaugh" ) ) );
570 aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Fabrizio Tappero" ) ) );
571
572 /* The translators
573 * As category the language to which the translation was done is used
574 */
575 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Ondřej Čertík" ),
576 wxEmptyString,
577 wxEmptyString,
578 wxS( "Czech (CS)" ) ) );
579 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Martin Kratoška" ),
580 wxEmptyString,
581 wxEmptyString,
582 wxS( "Czech (CS)" ) ) );
583 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Radek Kuznik" ),
584 wxEmptyString,
585 wxEmptyString,
586 wxS( "Czech (CS)" ) ) );
587 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Roman Ondráček" ),
588 wxEmptyString,
589 wxEmptyString,
590 wxS( "Czech (CS)" ) ) );
591 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "René Široký" ),
592 wxEmptyString,
593 wxEmptyString,
594 wxS( "Czech (CS)" ) ) );
595 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Jan Straka" ),
596 wxEmptyString,
597 wxEmptyString,
598 wxS( "Czech (CS)" ) ) );
599 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Jan Vykydal" ),
600 wxEmptyString,
601 wxEmptyString,
602 wxS( "Czech (CS)" ) ) );
603
604 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Mads Dyrmann" ),
605 wxEmptyString,
606 wxEmptyString,
607 wxS( "Danish (DA)" ) ) );
608 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Henrik Kauhanen" ),
609 wxEmptyString,
610 wxEmptyString,
611 wxS( "Danish (DA)" ) ) );
612 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Nick Østergaard" ),
613 wxEmptyString,
614 wxEmptyString,
615 wxS( "Danish (DA)" ) ) );
616
617 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Ivan Chuba" ),
618 wxEmptyString,
619 wxEmptyString,
620 wxS( "German (DE)" ) ) );
621 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Benedikt Freisen" ),
622 wxEmptyString,
623 wxEmptyString,
624 wxS( "German (DE)" ) ) );
625 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Jonathan Haas" ),
626 wxEmptyString,
627 wxEmptyString,
628 wxS( "German (DE)" ) ) );
629 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Mark Hämmerling" ),
630 wxEmptyString,
631 wxEmptyString,
632 wxS( "German (DE)" ) ) );
633 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Henrik Kauhanen" ),
634 wxEmptyString,
635 wxEmptyString,
636 wxS( "German (DE)" ) ) );
637 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Mathias Neumann" ),
638 wxEmptyString,
639 wxEmptyString,
640 wxS( "German (DE)" ) ) );
641 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Dominik Wernberger" ),
642 wxEmptyString,
643 wxEmptyString,
644 wxS( "German (DE)" ) ) );
645
646 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Manolis Stefanis" ),
647 wxEmptyString,
648 wxEmptyString,
649 wxS( "Greek (el_GR)" ) ) );
650 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Athanasios Vlastos" ),
651 wxEmptyString,
652 wxEmptyString,
653 wxS( "Greek (el_GR)" ) ) );
654 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Milonas Kostas" ),
655 wxEmptyString,
656 wxEmptyString,
657 wxS( "Greek (el_GR)" ) ) );
658 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Michail Misirlis" ),
659 wxEmptyString,
660 wxEmptyString,
661 wxS( "Greek (el_GR)" ) ) );
662
663 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Adolfo Jayme Barrientos" ),
664 wxEmptyString,
665 wxEmptyString,
666 wxS( "Spanish (ES)" ) ) );
667 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Roberto Fernandez Bautista" ),
668 wxEmptyString,
669 wxEmptyString,
670 wxS( "Spanish (ES)" ) ) );
671 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Iñigo Figuero" ),
672 wxEmptyString,
673 wxEmptyString,
674 wxS( "Spanish (ES)" ) ) );
675 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Augusto Fraga Giachero" ),
676 wxEmptyString,
677 wxEmptyString,
678 wxS( "Spanish (ES)" ) ) );
679 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Pedro Martin del Valle" ),
680 wxEmptyString,
681 wxEmptyString,
682 wxS( "Spanish (ES)" ) ) );
683 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Jose Perez" ),
684 wxEmptyString,
685 wxEmptyString,
686 wxS( "Spanish (ES)" ) ) );
687 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Iñigo Zuluaga" ),
688 wxEmptyString,
689 wxEmptyString,
690 wxS( "Spanish (ES)" ) ) );
691
692 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Ulices Avila Hernandez" ),
693 wxEmptyString,
694 wxEmptyString,
695 wxS( "Spanish - Latin American (ES)" ) ) );
696
697 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Vesa Solonen" ),
698 wxEmptyString,
699 wxEmptyString,
700 wxS( "Finnish (FI)" ) ) );
701 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Alex Gellen" ),
702 wxEmptyString,
703 wxEmptyString,
704 wxS( "Finnish (FI)" ) ) );
705 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Toni Laiho" ),
706 wxEmptyString,
707 wxEmptyString,
708 wxS( "Finnish (FI)" ) ) );
709 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Henrik Kauhanen" ),
710 wxEmptyString,
711 wxEmptyString,
712 wxS( "Finnish (FI)" ) ) );
713 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "J. Lavoie" ),
714 wxEmptyString,
715 wxEmptyString,
716 wxS( "Finnish (FI)" ) ) );
717 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Purkka Koodari" ),
718 wxEmptyString,
719 wxEmptyString,
720 wxS( "Finnish (FI)" ) ) );
721 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Simo Mattila" ),
722 wxEmptyString,
723 wxEmptyString,
724 wxS( "Finnish (FI)" ) ) );
725 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Petri Niemelä" ),
726 wxEmptyString,
727 wxEmptyString,
728 wxS( "Finnish (FI)" ) ) );
729 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Ola Rinta-Koski" ),
730 wxEmptyString,
731 wxEmptyString,
732 wxS( "Finnish (FI)" ) ) );
733 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Riku Viitanen" ),
734 wxEmptyString,
735 wxEmptyString,
736 wxS( "Finnish (FI)" ) ) );
737
738 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Jean-Pierre Charras" ),
739 wxEmptyString,
740 wxEmptyString,
741 wxS( "French (FR)" ) ) );
742
743 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Marco Ciampa" ),
744 wxEmptyString,
745 wxEmptyString,
746 wxS( "Italian (IT)" ) ) );
747
748 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Ji Yoon Choi" ),
749 wxEmptyString,
750 wxEmptyString,
751 wxS( "Japanese (JA)" ) ) );
752 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Hidemichi Gotou" ),
753 wxEmptyString,
754 wxEmptyString,
755 wxS( "Japanese (JA)" ) ) );
756 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Kinichiro Inoguchi" ),
757 wxEmptyString,
758 wxEmptyString,
759 wxS( "Japanese (JA)" ) ) );
760 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Keisuke Nakao" ),
761 wxEmptyString,
762 wxEmptyString,
763 wxS( "Japanese (JA)" ) ) );
764 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Norio Suzuki" ),
765 wxEmptyString,
766 wxEmptyString,
767 wxS( "Japanese (JA)" ) ) );
768 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "starfort-jp" ),
769 wxEmptyString,
770 wxEmptyString,
771 wxS( "Japanese (JA)" ) ) );
772 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Hiroshi Tokita" ),
773 wxEmptyString,
774 wxEmptyString,
775 wxS( "Japanese (JA)" ) ) );
776 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Kenta Yonekura" ),
777 wxEmptyString,
778 wxEmptyString,
779 wxS( "Japanese (JA)" ) ) );
780 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Kaoru Zenyouji" ),
781 wxEmptyString,
782 wxEmptyString,
783 wxS( "Japanese (JA)" ) ) );
784
785 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "킴슨김랑기" ),
786 wxEmptyString,
787 wxEmptyString,
788 wxS( "Korean (KO)" ) ) );
789 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Ji Yoon Choi" ),
790 wxEmptyString,
791 wxEmptyString,
792 wxS( "Korean (KO)" ) ) );
793 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "jeongsuAn" ),
794 wxEmptyString,
795 wxEmptyString,
796 wxS( "Korean (KO)" ) ) );
797 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "이상수" ),
798 wxEmptyString,
799 wxEmptyString,
800 wxS( "Korean (KO)" ) ) );
801 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "jehunseo" ),
802 wxEmptyString,
803 wxEmptyString,
804 wxS( "Korean (KO)" ) ) );
805 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Uibeom Jung" ),
806 wxEmptyString,
807 wxEmptyString,
808 wxS( "Korean (KO)" ) ) );
809 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "박준언" ),
810 wxEmptyString,
811 wxEmptyString,
812 wxS( "Korean (KO)" ) ) );
813 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "방준영" ),
814 wxEmptyString,
815 wxEmptyString,
816 wxS( "Korean (KO)" ) ) );
817 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "박기정" ),
818 wxEmptyString,
819 wxEmptyString,
820 wxS( "Korean (KO)" ) ) );
821 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "hokim" ),
822 wxEmptyString,
823 wxEmptyString,
824 wxS( "Korean (KO)" ) ) );
825 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "강명구" ),
826 wxEmptyString,
827 wxEmptyString,
828 wxS( "Korean (KO)" ) ) );
829 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "서범기" ),
830 wxEmptyString,
831 wxEmptyString,
832 wxS( "Korean (KO)" ) ) );
833
834 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Henrik Kauhanen" ),
835 wxEmptyString,
836 wxEmptyString,
837 wxS( "Lithuanian (LT)" ) ) );
838 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Dainius Mazuika" ),
839 wxEmptyString,
840 wxEmptyString,
841 wxS( "Lithuanian (LT)" ) ) );
842
843 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Arend-Jan van Hilten" ),
844 wxEmptyString,
845 wxEmptyString,
846 wxS( "Dutch (NL)" ) ) );
847 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "CJ van der Hoeven" ),
848 wxEmptyString,
849 wxEmptyString,
850 wxS( "Dutch (NL)" ) ) );
851 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Pim Jansen" ),
852 wxEmptyString,
853 wxEmptyString,
854 wxS( "Dutch (NL)" ) ) );
855 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Henrik Kauhanen" ),
856 wxEmptyString,
857 wxEmptyString,
858 wxS( "Dutch (NL)" ) ) );
859 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Bas Wijnen" ),
860 wxEmptyString,
861 wxEmptyString,
862 wxS( "Dutch (NL)" ) ) );
863
864 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Jarl Gjessing" ),
865 wxEmptyString,
866 wxEmptyString,
867 wxS( "Norwegian (NO)" ) ) );
868 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Henrik Kauhanen" ),
869 wxEmptyString,
870 wxEmptyString,
871 wxS( "Norwegian (NO)" ) ) );
872 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Allan Nordhøy" ),
873 wxEmptyString,
874 wxEmptyString,
875 wxS( "Norwegian (NO)" ) ) );
876 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Petter Reinholdtsen" ),
877 wxEmptyString,
878 wxEmptyString,
879 wxS( "Norwegian (NO)" ) ) );
880 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Håvard Syslak" ),
881 wxEmptyString,
882 wxEmptyString,
883 wxS( "Norwegian (NO)" ) ) );
884
885 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Ivan Chuba" ),
886 wxEmptyString,
887 wxEmptyString,
888 wxS( "Polish (PL)" ) ) );
889 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Kerusey Karyu" ),
890 wxEmptyString,
891 wxEmptyString,
892 wxS( "Polish (PL)" ) ) );
893 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Krzysztof Kawa" ),
894 wxEmptyString,
895 wxEmptyString,
896 wxS( "Polish (PL)" ) ) );
897 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Mark Roszko" ),
898 wxEmptyString,
899 wxEmptyString,
900 wxS( "Polish (PL)" ) ) );
901 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Mateusz Skowroński" ),
902 wxEmptyString,
903 wxEmptyString,
904 wxS( "Polish (PL)" ) ) );
905 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Grzegorz Szymaszek" ),
906 wxEmptyString,
907 wxEmptyString,
908 wxS( "Polish (PL)" ) ) );
909 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "ZbeeGin" ),
910 wxEmptyString,
911 wxEmptyString,
912 wxS( "Polish (PL)" ) ) );
913
914 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Augusto Fraga Giachero" ),
915 wxEmptyString,
916 wxEmptyString,
917 wxS( "Brazilian Portuguese (PT_BR)" ) ) );
918 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Wellington Terumi Uemura" ),
919 wxEmptyString,
920 wxEmptyString,
921 wxS( "Brazilian Portuguese (PT_BR)" ) ) );
922
923 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Augusto Fraga Giachero" ),
924 wxEmptyString,
925 wxEmptyString,
926 wxS( "Portuguese (PT)" ) ) );
927 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Renie Marquet" ),
928 wxEmptyString,
929 wxEmptyString,
930 wxS( "Portuguese (PT)" ) ) );
931 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Rafael Silva" ),
932 wxEmptyString,
933 wxEmptyString,
934 wxS( "Portuguese (PT)" ) ) );
935
936 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Igor Plyatov" ),
937 wxEmptyString,
938 wxEmptyString,
939 wxS( "Russian (RU)" ) ) );
940 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Дмитрий Дёмин" ),
941 wxEmptyString,
942 wxEmptyString,
943 wxS( "Russian (RU)" ) ) );
944 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Andrey Fedorushkov" ),
945 wxEmptyString,
946 wxEmptyString,
947 wxS( "Russian (RU)" ) ) );
948 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Eldar Khayrullin" ),
949 wxEmptyString,
950 wxEmptyString,
951 wxS( "Russian (RU)" ) ) );
952 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Konstantin Baranovskiy" ),
953 wxEmptyString,
954 wxEmptyString,
955 wxS( "Russian (RU)" ) ) );
956
957 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Hanna Breisand" ),
958 wxEmptyString,
959 wxEmptyString,
960 wxS( "Swedish (SV)" ) ) );
961 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Axel Henriksson" ),
962 wxEmptyString,
963 wxEmptyString,
964 wxS( "Swedish (SV)" ) ) );
965 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Richard Jonsson" ),
966 wxEmptyString,
967 wxEmptyString,
968 wxS( "Swedish (SV)" ) ) );
969 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Henrik Kauhanen" ),
970 wxEmptyString,
971 wxEmptyString,
972 wxS( "Swedish (SV)" ) ) );
973 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Allan Nordhøy" ),
974 wxEmptyString,
975 wxEmptyString,
976 wxS( "Swedish (SV)" ) ) );
977
978 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Boonchai Kingrungped" ),
979 wxEmptyString,
980 wxEmptyString,
981 wxS( "Thai (TH)" ) ) );
982
983 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Artem" ),
984 wxEmptyString,
985 wxEmptyString,
986 wxS( "Ukrainian (UK)" ) ) );
987 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Ivan Chuba" ),
988 wxEmptyString,
989 wxEmptyString,
990 wxS( "Ukrainian (UK)" ) ) );
991 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Stanislav Kaliuk" ),
992 wxEmptyString,
993 wxEmptyString,
994 wxS( "Ukrainian (UK)" ) ) );
995 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Alexsandr Kuzemko" ),
996 wxEmptyString,
997 wxEmptyString,
998 wxS( "Ukrainian (UK)" ) ) );
999 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Andrii Shelestov" ),
1000 wxEmptyString,
1001 wxEmptyString,
1002 wxS( "Ukrainian (UK)" ) ) );
1003
1004 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Liu Guang" ),
1005 wxEmptyString,
1006 wxEmptyString,
1007 wxS( "Simplified Chinese (zh_CN)" ) ) );
1008 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Taotieren" ),
1009 wxEmptyString,
1010 wxEmptyString,
1011 wxS( "Simplified Chinese (zh_CN)" ) ) );
1012 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Dingzhong Chen" ),
1013 wxEmptyString,
1014 wxEmptyString,
1015 wxS( "Simplified Chinese (zh_CN)" ) ) );
1016 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "David Chen" ),
1017 wxEmptyString,
1018 wxEmptyString,
1019 wxS( "Simplified Chinese (zh_CN)" ) ) );
1020 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Eric" ),
1021 wxEmptyString,
1022 wxEmptyString,
1023 wxS( "Simplified Chinese (zh_CN)" ) ) );
1024 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Rigo Ligo" ),
1025 wxEmptyString,
1026 wxEmptyString,
1027 wxS( "Simplified Chinese (zh_CN)" ) ) );
1028 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Huanyin Liu" ),
1029 wxEmptyString,
1030 wxEmptyString,
1031 wxS( "Simplified Chinese (zh_CN)" ) ) );
1032 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "yangyangdaji" ),
1033 wxEmptyString,
1034 wxEmptyString,
1035 wxS( "Simplified Chinese (zh_CN)" ) ) );
1036 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Tian Yunhao" ),
1037 wxEmptyString,
1038 wxEmptyString,
1039 wxS( "Simplified Chinese (zh_CN)" ) ) );
1040
1041 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "David Chen" ),
1042 wxEmptyString,
1043 wxEmptyString,
1044 wxS( "Traditional Chinese (zh_TW)" ) ) );
1045 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "pon dahai" ),
1046 wxEmptyString,
1047 wxEmptyString,
1048 wxS( "Traditional Chinese (zh_TW)" ) ) );
1049 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "kai chiao chuang" ),
1050 wxEmptyString,
1051 wxEmptyString,
1052 wxS( "Traditional Chinese (zh_TW)" ) ) );
1053 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Taotieren" ),
1054 wxEmptyString,
1055 wxEmptyString,
1056 wxS( "Traditional Chinese (zh_TW)" ) ) );
1057 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "william" ),
1058 wxEmptyString,
1059 wxEmptyString,
1060 wxS( "Traditional Chinese (zh_TW)" ) ) );
1061
1062 aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Remy Halvick" ),
1063 wxEmptyString,
1064 wxEmptyString,
1065 wxS( "Other" ) ) );
1066
1067 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "David J S Briscoe" ),
1068 wxEmptyString,
1069 wxEmptyString,
1070 wxS( "Other" ) ) );
1071
1072 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Dominique Laigle" ),
1073 wxEmptyString,
1074 wxEmptyString,
1075 wxS( "Other" ) ) );
1076
1077 aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Paul Burke" ),
1078 wxEmptyString,
1079 wxEmptyString,
1080 wxS( "Other" ) ) );
1081
1082
1083 // Program credits for library team
1084 #define LIBRARIANS _( "KiCad Librarian Team" )
1085 // Lead librarians
1086 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "cpresser"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1087
1088 // Active librarians
1089 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Aristeidis Kimirtzis"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1090 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "apo"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1091 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Armin Schoisswohl"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1092 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Carlos Nieves Ónega"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1093 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Dash Peters"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1094 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Jan Sebastian Götte (jaseg)"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1095 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Greg Cormier"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1096 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Jeremy Boynes"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1097 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Jorge Neiva"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1098 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Kliment"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1099 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Andrew Lutsenko"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1100
1101 // Former librarians
1102 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Christian Schlüter"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1103 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Rene Poeschl"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1104 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Antonio Vázquez Blanco "), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1105 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Daniel Giesbrecht"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1106 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Otavio Augusto Gomes"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1107 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "herostrat"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1108 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Diego Herranz"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1109 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Joel Guittet"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1110 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Chris Morgan"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1111 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Thomas Pointhuber"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1112 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Evan Shultz"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1113 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Bob Cousins"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1114 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "nickoe"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1115 aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Oliver Walters"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
1116
1117 #define MODELS_3D_CONTRIBUTION _( "3D models by" )
1118 aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "Scripts by Maui" ),
1119 wxS( "https://github.com/easyw" ),
1120 wxS( "https://gitlab.com/kicad/libraries/kicad-packages3D-generator" ),
1122 aInfo.CreateKiBitmap( BITMAPS::three_d ) ) );
1123 aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "GitLab contributors" ),
1124 wxEmptyString,
1125 wxS( "https://gitlab.com/kicad/libraries/kicad-packages3D/-/graphs/master" ),
1127 aInfo.CreateKiBitmap( BITMAPS::three_d ) ) );
1128
1129 #define SYMBOL_LIB_CONTRIBUTION _( "Symbols by" )
1130 aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "GitLab contributors" ),
1131 wxEmptyString,
1132 wxS( "https://gitlab.com/kicad/libraries/kicad-symbols/-/graphs/master" ),
1135
1136 #define FOOTPRINT_LIB_CONTRIBUTION _( "Footprints by" )
1137 aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "Scripts by Thomas Pointhuber" ),
1138 wxEmptyString,
1139 wxS( "https://gitlab.com/kicad/libraries/kicad-footprint-generator" ),
1141 aInfo.CreateKiBitmap( BITMAPS::module ) ) );
1142 aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "GitLab contributors" ),
1143 wxEmptyString,
1144 wxS( "https://gitlab.com/kicad/libraries/kicad-footprints/-/graphs/master" ),
1146 aInfo.CreateKiBitmap( BITMAPS::module ) ) );
1147
1148 // Program credits for icons
1149 #define ICON_CONTRIBUTION _( "Icons by" )
1150 aInfo.AddArtist( new CONTRIBUTOR( wxT( "Aleksandr Zyrianov" ),
1151 wxEmptyString,
1152 wxEmptyString,
1154 aInfo.AddArtist( new CONTRIBUTOR( wxT( "Iñigo Zuluaga" ),
1155 wxEmptyString,
1156 wxEmptyString,
1158 aInfo.AddArtist( new CONTRIBUTOR( wxS( "Fabrizio Tappero" ),
1159 wxEmptyString,
1160 wxEmptyString,
1162
1163 // Program credits for package developers.
1164 aInfo.AddPackager( new CONTRIBUTOR( wxS( "Steven Falco" ) ) );
1165 aInfo.AddPackager( new CONTRIBUTOR( wxS( "Jean-Samuel Reynaud" ) ) );
1166 aInfo.AddPackager( new CONTRIBUTOR( wxS( "Bernhard Stegmaier" ) ) );
1167 aInfo.AddPackager( new CONTRIBUTOR( wxS( "Adam Wolf" ) ) );
1168 aInfo.AddPackager( new CONTRIBUTOR( wxT( "Nick Østergaard" ) ) );
1169}
#define MODELS_3D_CONTRIBUTION
static wxString HtmlNewline(const unsigned int amount=1)
Create an HTML newline character sequence of aCount.
#define ICON_CONTRIBUTION
static wxString HtmlHyperlink(const wxString &url, const wxString &description=wxEmptyString)
Helper functions.
#define LEAD_DEV
#define FORMER_DEV
#define LIBRARIANS
#define FOOTPRINT_LIB_CONTRIBUTION
#define SYMBOL_LIB_CONTRIBUTION
#define CONTRIB_DEV
@ add_component
wxString GetBuildVersion()
Get the full KiCad version string.
wxString GetPlatformGetBitnessName()
wxString GetBuildDate()
Get the build date as a string.
void AddDocWriter(const CONTRIBUTOR *docwriter)
Definition: aboutinfo.h:56
void SetBuildDate(const wxString &date)
Definition: aboutinfo.h:108
void AddTranslator(const CONTRIBUTOR *translator)
Definition: aboutinfo.h:74
void AddDeveloper(const CONTRIBUTOR *developer)
Definition: aboutinfo.h:50
void SetAppName(const wxString &name)
Definition: aboutinfo.h:102
void SetDescription(const wxString &text)
Definition: aboutinfo.h:93
void SetLibVersion(const wxString &version)
Definition: aboutinfo.h:111
wxBitmap * CreateKiBitmap(BITMAPS aBitmap)
Definition: aboutinfo.h:118
void AddArtist(const CONTRIBUTOR *artist)
Definition: aboutinfo.h:68
void SetBuildVersion(const wxString &version)
Definition: aboutinfo.h:105
void SetAppIcon(const wxIcon &aIcon)
Definition: aboutinfo.h:114
void SetLicense(const wxString &text)
Definition: aboutinfo.h:96
void SetCopyright(const wxString &text)
Definition: aboutinfo.h:99
void AddLibrarian(const CONTRIBUTOR *aLibrarian)
Definition: aboutinfo.h:62
void AddPackager(const CONTRIBUTOR *packager)
Definition: aboutinfo.h:80
A contributor, a person which was involved in the development of the application or which has contrib...
Definition: aboutinfo.h:161
#define _(s)
bool IsOperatingSystemUnsupported()
Checks if the Operating System is explicitly unsupported and we want to prevent users from sending bu...
Definition: gtk/app.cpp:51
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:111

References _, add_component, ABOUT_APP_INFO::AddArtist(), ABOUT_APP_INFO::AddDeveloper(), ABOUT_APP_INFO::AddDocWriter(), ABOUT_APP_INFO::AddLibrarian(), ABOUT_APP_INFO::AddPackager(), ABOUT_APP_INFO::AddTranslator(), CONTRIB_DEV, ABOUT_APP_INFO::CreateKiBitmap(), FOOTPRINT_LIB_CONTRIBUTION, FORMER_DEV, GetBuildDate(), GetBuildVersion(), GetPlatformGetBitnessName(), HtmlHyperlink(), HtmlNewline(), ICON_CONTRIBUTION, KIPLATFORM::APP::IsOperatingSystemUnsupported(), LEAD_DEV, LIBRARIANS, library, MODELS_3D_CONTRIBUTION, module, Pgm(), ABOUT_APP_INFO::SetAppIcon(), ABOUT_APP_INFO::SetAppName(), ABOUT_APP_INFO::SetBuildDate(), ABOUT_APP_INFO::SetBuildVersion(), ABOUT_APP_INFO::SetCopyright(), ABOUT_APP_INFO::SetDescription(), ABOUT_APP_INFO::SetLibVersion(), ABOUT_APP_INFO::SetLicense(), SYMBOL_LIB_CONTRIBUTION, and three_d.

Referenced by ShowAboutDialog().

◆ HtmlHyperlink()

static wxString HtmlHyperlink ( const wxString &  aUrl,
const wxString &  aDescription 
)
static

Helper functions.

Wrap aUrl with a HTML anchor tag containing a hyperlink text reference to form a HTML hyperlink.

Parameters
aUrlthe url that will be embedded in an anchor tag containing a hyperlink reference
aDescriptionthe optional describing text that will be represented as a hyperlink. If not specified the url will be used as hyperlink.
Returns
a HTML conform hyperlink like description

Definition at line 1195 of file AboutDialog_main.cpp.

1196{
1197 wxString hyperlink = wxEmptyString;
1198
1199 if( aDescription.IsEmpty() )
1200 hyperlink << wxS( "<a href='" ) << aUrl << wxS( "'>" ) << aUrl << wxS( "</a>" );
1201 else
1202 hyperlink << wxS( "<a href='" )<< aUrl << wxS( "'>" ) << aDescription << wxS( "</a>" );
1203
1204 return hyperlink;
1205}

Referenced by buildKicadAboutBanner().

◆ HtmlNewline()

static wxString HtmlNewline ( const unsigned int  aCount)
static

Create an HTML newline character sequence of aCount.

Parameters
aCountthe number of HTML newline tags to concatenate, default is to return just one
tag.
Returns
the concatenated amount of HTML newline tag(s)

Definition at line 1215 of file AboutDialog_main.cpp.

1216{
1217 wxString newlineTags = wxEmptyString;
1218
1219 for( size_t i = 0; i<aCount; ++i )
1220 newlineTags << wxS( "<br>" );
1221
1222 return newlineTags;
1223}

Referenced by buildKicadAboutBanner().

◆ ShowAboutDialog()

void ShowAboutDialog ( EDA_BASE_FRAME aParent)

Definition at line 1172 of file AboutDialog_main.cpp.

1173{
1175 buildKicadAboutBanner( aParent, info );
1176
1177 DIALOG_ABOUT dlg( aParent, info );
1178 dlg.ShowModal();
1179}
static void buildKicadAboutBanner(EDA_BASE_FRAME *aParent, ABOUT_APP_INFO &aInfo)
Initializes the ABOUT_APP_INFO object with application specific information.
An object of this class is meant to be used to store application specific information like who has co...
Definition: aboutinfo.h:45
About dialog to show application specific information.
Definition: dialog_about.h:54

References buildKicadAboutBanner(), and info.

Referenced by EDA_BASE_FRAME::OnKicadAbout().