More wxS ugh

This commit is contained in:
Marek Roszko 2023-01-17 07:42:30 -05:00
parent 9a3fcc4337
commit 1edf84d756
22 changed files with 240 additions and 239 deletions

View File

@ -64,18 +64,18 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
aInfo.SetAppName( Pgm().App().GetAppName() );
/* Copyright information */
aInfo.SetCopyright( "(C) 1992-2023 KiCad Developers Team" );
aInfo.SetCopyright( wxT( "(C) 1992-2023 KiCad Developers Team" ) );
/* KiCad build version */
wxString version;
version << ( KIPLATFORM::APP::IsOperatingSystemUnsupported() ? wxString( wxS( "(UNSUPPORTED)" ) )
: GetBuildVersion() )
#ifdef DEBUG
<< ", debug"
<< wxT( ", debug" )
#else
<< ", release"
<< wxT( ", release" )
#endif
<< " build";
<< wxT( " build" );
aInfo.SetBuildVersion( version );
aInfo.SetBuildDate( GetBuildDate() );
@ -93,15 +93,15 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
// Just in case someone builds KiCad with the platform native of Boost instead of
// the version included with the KiCad source.
libVersion << "and Boost " << ( BOOST_VERSION / 100000 ) << "."
<< ( BOOST_VERSION / 100 % 1000 ) << "." << ( BOOST_VERSION % 100 )
<< "\n";
libVersion << wxT( "and Boost " ) << ( BOOST_VERSION / 100000 ) << wxT( "." )
<< ( BOOST_VERSION / 100 % 1000 ) << wxT( "." ) << ( BOOST_VERSION % 100 )
<< wxT( "\n" );
// Operating System Information
wxPlatformInfo platformInfo;
libVersion << "Platform: " << wxGetOsDescription() << ", "
libVersion << wxT( "Platform: " ) << wxGetOsDescription() << wxT( ", " )
<< GetPlatformGetBitnessName();
aInfo.SetLibVersion( libVersion );
@ -110,64 +110,64 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
wxString description;
/* short description */
description << "<p>";
description << "<b><u>"
description << wxT( "<p>" );
description << wxT( "<b><u>" )
<< _( "Description" )
<< "</u></b>"; // bold & underlined font for caption
<< wxT( "</u></b>" ); // bold & underlined font for caption
description << "<p>"
description << wxT( "<p>" )
<< _( "The KiCad EDA Suite is a set of open source applications for the "
"creation of electronic schematics and printed circuit boards." )
<< "</p>";
<< wxT( "</p>" );
description << "</p>";
description << wxT( "</p>" );
/* websites */
description << "<p><b><u>"
description << wxT( "<p><b><u>" )
<< _( "KiCad on the web" )
<< "</u></b>"; // bold & underlined font for caption
<< wxT( "</u></b>" ); // bold & underlined font for caption
// bullet-ed list with some http links
description << "<ul>";
description << "<li>"
description << wxT( "<ul>" );
description << wxT( "<li>" )
<< _( "The official KiCad website - " )
<< HtmlHyperlink( "http://www.kicad.org" )
<< "</li>";
description << "<li>"
<< wxT( "</li>" );
description << wxT( "<li>" )
<< _( "Developer website - " )
<< HtmlHyperlink( "https://go.kicad.org/dev" )
<< "</li>";
<< wxT( "</li>" );
description << "<li>"
description << wxT( "<li>" )
<< _("Official KiCad library repositories - " )
<< HtmlHyperlink( "https://go.kicad.org/libraries" )
<< "</li>";
<< wxT( "</li>" );
description << "</ul></p>";
description << wxT( "</ul></p>" );
description << "<p><b><u>"
description << wxT( "<p><b><u>" )
<< _( "Bug tracker" )
<< "</u></b>"; // bold & underlined font caption
<< wxT( "</u></b>" ); // bold & underlined font caption
// bullet-ed list with some http links
description << "<ul>";
description << "<li>"
description << wxT( "<ul>" );
description << wxT( "<li>" )
<< _( "Report or examine bugs - " )
<< HtmlHyperlink( "https://go.kicad.org/bugs" )
<< "</li>";
description << "</ul></p>";
<< wxT( "</li>" );
description << wxT( "</ul></p>" );
description << "<p><b><u>"
description << wxT( "<p><b><u>" )
<< _( "KiCad users group and community" )
<< "</u></b>"; // bold & underlined font caption
<< wxT( "</u></b>" ); // bold & underlined font caption
description << "<ul>";
description << "<li>"
description << wxT( "<ul>" );
description << wxT( "<li>" )
<< _( "KiCad forum - " )
<< HtmlHyperlink( "https://go.kicad.org/forum" )
<< "</li>";
<< wxT( "</li>" );
description << "</ul></p>";
description << wxT( "</ul></p>" );
aInfo.SetDescription( description );
@ -175,12 +175,12 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
// License information also HTML formatted:
wxString license;
license
<< "<div align='center'>"
<< wxT( "<div align='center'>" )
<< HtmlNewline( 4 )
<< _( "The complete KiCad EDA Suite is released under the" ) << HtmlNewline( 2 )
<< HtmlHyperlink( "http://www.gnu.org/licenses",
_( "GNU General Public License (GPL) version 3 or any later version" ) )
<< "</div>";
<< wxT( "</div>" );
aInfo.SetLicense( license );
@ -201,20 +201,20 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
#define LEAD_DEV _( "Lead Development Team" )
#define FORMER_DEV _( "Lead Development Alumni" )
#define CONTRIB_DEV _( "Additional Contributions By")
aInfo.AddDeveloper( new CONTRIBUTOR( "Jean-Pierre Charras", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( "Wayne Stambaugh", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jean-Pierre Charras" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Wayne Stambaugh" ), LEAD_DEV, nullptr ) );
// Alphabetical after the first two
aInfo.AddDeveloper( new CONTRIBUTOR( "Jon Evans", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jon Evans" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Roberto Fernandez Bautista" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( "Seth Hillbrand", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( "Ian McInerney", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( "Mark Roszko", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( "Thomas Pointhuber", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( "Mikolaj Wielgus", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Seth Hillbrand" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Ian McInerney" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mark Roszko" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Thomas Pointhuber" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mikolaj Wielgus" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Mike Williams" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( "Tomasz Wlostowski", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( "Jeff Young", LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Tomasz Wlostowski" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Jeff Young" ), LEAD_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "John Beard" ), FORMER_DEV, nullptr ) );
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Dick Hollenbeck" ), FORMER_DEV, nullptr ) );
@ -526,13 +526,13 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
aInfo.AddDeveloper( new CONTRIBUTOR( wxT( "Nick Østergaard" ), CONTRIB_DEV, nullptr ) );
// The document writers
aInfo.AddDocWriter( new CONTRIBUTOR( "Jean-Pierre Charras" ) );
aInfo.AddDocWriter( new CONTRIBUTOR( "Marco Ciampa" ) );
aInfo.AddDocWriter( new CONTRIBUTOR( "Jon Evans" ) );
aInfo.AddDocWriter( new CONTRIBUTOR( "Dick Hollenbeck" ) );
aInfo.AddDocWriter( new CONTRIBUTOR( "Igor Plyatov" ) );
aInfo.AddDocWriter( new CONTRIBUTOR( "Wayne Stambaugh" ) );
aInfo.AddDocWriter( new CONTRIBUTOR( "Fabrizio Tappero" ) );
aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Jean-Pierre Charras" ) ) );
aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Marco Ciampa" ) ) );
aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Jon Evans" ) ) );
aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Dick Hollenbeck" ) ) );
aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Igor Plyatov" ) ) );
aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Wayne Stambaugh" ) ) );
aInfo.AddDocWriter( new CONTRIBUTOR( wxS( "Fabrizio Tappero" ) ) );
/* The translators
* As category the language to which the translation was done is used
@ -573,19 +573,19 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
wxEmptyString,
wxEmptyString,
"German (DE)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Manolis Stefanis",
aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Manolis Stefanis" ),
wxEmptyString,
wxEmptyString,
"Greek (el_GR)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Athanasios Vlastos",
aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Athanasios Vlastos" ),
wxEmptyString,
wxEmptyString,
"Greek (el_GR)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Milonas Kostas",
aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Milonas Kostas" ),
wxEmptyString,
wxEmptyString,
"Greek (el_GR)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Michail Misirlis",
aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Michail Misirlis" ),
wxEmptyString,
wxEmptyString,
"Greek (el_GR)" ) );
@ -617,71 +617,71 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
wxEmptyString,
wxEmptyString,
"Spanish - Latin American (ES)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Vesa Solonen",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Vesa Solonen" ),
wxEmptyString,
wxEmptyString,
"Finnish (FI)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Alex Gellen",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Alex Gellen" ),
wxEmptyString,
wxEmptyString,
"Finnish (FI)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "J. Lavoie",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "J. Lavoie" ),
wxEmptyString,
wxEmptyString,
"Finnish (FI)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Purkka Koodari",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Purkka Koodari" ),
wxEmptyString,
wxEmptyString,
"Finnish (FI)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Ola Rinta-Koski",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Ola Rinta-Koski" ),
wxEmptyString,
wxEmptyString,
"Finnish (FI)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Riku Viitanen",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Riku Viitanen" ),
wxEmptyString,
wxEmptyString,
"Finnish (FI)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Simo Mattila",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Simo Mattila" ),
wxEmptyString,
wxEmptyString,
"Finnish (FI)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Jean-Pierre Charras",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Jean-Pierre Charras" ),
wxEmptyString,
wxEmptyString,
"French (FR)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Marco Ciampa",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Marco Ciampa" ),
wxEmptyString,
wxEmptyString,
"Italian (IT)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Hiroshi Tokita",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Hiroshi Tokita" ),
wxEmptyString,
wxEmptyString,
"Japanese (JA)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Kenta Yonekura",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Kenta Yonekura" ),
wxEmptyString,
wxEmptyString,
"Japanese (JA)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Ji Yoon Choi",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Ji Yoon Choi" ),
wxEmptyString,
wxEmptyString,
"Japanese (JA)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Hidemichi Gotou",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Hidemichi Gotou" ),
wxEmptyString,
wxEmptyString,
"Japanese (JA)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Kaoru Zenyouji",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Kaoru Zenyouji" ),
wxEmptyString,
wxEmptyString,
"Japanese (JA)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Kinichiro Inoguchi",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Kinichiro Inoguchi" ),
wxEmptyString,
wxEmptyString,
"Japanese (JA)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Norio Suzuki",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Norio Suzuki" ),
wxEmptyString,
wxEmptyString,
"Japanese (JA)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "starfort-jp",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "starfort-jp" ),
wxEmptyString,
wxEmptyString,
"Japanese (JA)" ) );
@ -733,19 +733,19 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
wxEmptyString,
wxEmptyString,
"Korean (KO)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Arend-Jan van Hilten",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Arend-Jan van Hilten" ),
wxEmptyString,
wxEmptyString,
"Dutch (NL)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "CJ van der Hoeven",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "CJ van der Hoeven" ),
wxEmptyString,
wxEmptyString,
"Dutch (NL)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Pim Jansen",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Pim Jansen" ),
wxEmptyString,
wxEmptyString,
"Dutch (NL)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Allan Nordhøy",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Allan Nordhøy" ),
wxEmptyString,
wxEmptyString,
"Norwegian (NO)" ) );
@ -753,39 +753,39 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
wxEmptyString,
wxEmptyString,
"Polish (PL)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Kerusey Karyu",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Kerusey Karyu" ),
wxEmptyString,
wxEmptyString,
"Polish (PL)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Mark Roszko",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Mark Roszko" ),
wxEmptyString,
wxEmptyString,
"Polish (PL)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "ZbeeGin",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "ZbeeGin" ),
wxEmptyString,
wxEmptyString,
"Polish (PL)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Augusto Fraga Giachero",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Augusto Fraga Giachero" ),
wxEmptyString,
wxEmptyString,
"Brazilian Portuguese (PT_BR)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Wellington Terumi Uemura",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Wellington Terumi Uemura" ),
wxEmptyString,
wxEmptyString,
"Brazilian Portuguese (PT_BR)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Augusto Fraga Giachero",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Augusto Fraga Giachero" ),
wxEmptyString,
wxEmptyString,
"Portuguese (PT)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Renie Marquet",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Renie Marquet" ),
wxEmptyString,
wxEmptyString,
"Portuguese (PT)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Rafael Silva",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Rafael Silva" ),
wxEmptyString,
wxEmptyString,
"Portuguese (PT)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Igor Plyatov",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Igor Plyatov" ),
wxEmptyString,
wxEmptyString,
"Russian (RU)" ) );
@ -793,87 +793,87 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
wxEmptyString,
wxEmptyString,
"Russian (RU)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Andrey Fedorushkov",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Andrey Fedorushkov" ),
wxEmptyString,
wxEmptyString,
"Russian (RU)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Eldar Khayrullin",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Eldar Khayrullin" ),
wxEmptyString,
wxEmptyString,
"Russian (RU)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Konstantin Baranovskiy",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Konstantin Baranovskiy" ),
wxEmptyString,
wxEmptyString,
"Russian (RU)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Axel Henriksson",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Axel Henriksson" ),
wxEmptyString,
wxEmptyString,
"Swedish (SV)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Richard Jonsson",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Richard Jonsson" ),
wxEmptyString,
wxEmptyString,
"Swedish (SV)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Allan Nordhøy",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Allan Nordhøy" ),
wxEmptyString,
wxEmptyString,
"Swedish (SV)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Boonchai Kingrungped",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Boonchai Kingrungped" ),
wxEmptyString,
wxEmptyString,
"Thai (TH)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Liu Guang",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Liu Guang" ),
wxEmptyString,
wxEmptyString,
"Simplified Chinese (zh_CN)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Taotieren",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Taotieren" ),
wxEmptyString,
wxEmptyString,
"Simplified Chinese (zh_CN)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Dingzhong Chen",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Dingzhong Chen" ),
wxEmptyString,
wxEmptyString,
"Simplified Chinese (zh_CN)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "David Chen",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "David Chen" ),
wxEmptyString,
wxEmptyString,
"Simplified Chinese (zh_CN)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Rigo Ligo",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Rigo Ligo" ),
wxEmptyString,
wxEmptyString,
"Simplified Chinese (zh_CN)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Tian Yunhao",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Tian Yunhao" ),
wxEmptyString,
wxEmptyString,
"Simplified Chinese (zh_CN)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "David Chen",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "David Chen" ),
wxEmptyString,
wxEmptyString,
"Traditional Chinese (zh_TW)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "kai chiao chuang",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "kai chiao chuang" ),
wxEmptyString,
wxEmptyString,
"Traditional Chinese (zh_TW)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Taotieren",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Taotieren" ),
wxEmptyString,
wxEmptyString,
"Traditional Chinese (zh_TW)" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Remy Halvick",
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Remy Halvick" ),
wxEmptyString,
wxEmptyString,
"Other" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "David J S Briscoe",
aInfo.AddTranslator( new CONTRIBUTOR( wxS( "David J S Briscoe" ),
wxEmptyString,
wxEmptyString,
"Other" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Dominique Laigle",
aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Dominique Laigle" ),
wxEmptyString,
wxEmptyString,
"Other" ) );
aInfo.AddTranslator( new CONTRIBUTOR( "Paul Burke",
aInfo.AddTranslator( new CONTRIBUTOR( wxS( "Paul Burke" ),
wxEmptyString,
wxEmptyString,
"Other" ) );
@ -896,31 +896,31 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
aInfo.AddLibrarian( new CONTRIBUTOR( wxT( "Evan Shultz"), LIBRARIANS, aInfo.CreateKiBitmap( BITMAPS::library ) ) );
#define MODELS_3D_CONTRIBUTION _( "3D models by" )
aInfo.AddLibrarian( new CONTRIBUTOR( "Scripts by Maui",
aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "Scripts by Maui" ),
"https://github.com/easyw",
"https://gitlab.com/kicad/libraries/kicad-packages3D-generator",
MODELS_3D_CONTRIBUTION,
aInfo.CreateKiBitmap( BITMAPS::three_d ) ) );
aInfo.AddLibrarian( new CONTRIBUTOR( "GitLab contributors",
aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "GitLab contributors" ),
wxEmptyString,
"https://gitlab.com/kicad/libraries/kicad-packages3D/-/graphs/master",
MODELS_3D_CONTRIBUTION,
aInfo.CreateKiBitmap( BITMAPS::three_d ) ) );
#define SYMBOL_LIB_CONTRIBUTION _( "Symbols by" )
aInfo.AddLibrarian( new CONTRIBUTOR( "GitLab contributors",
aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "GitLab contributors" ),
wxEmptyString,
"https://gitlab.com/kicad/libraries/kicad-symbols/-/graphs/master",
SYMBOL_LIB_CONTRIBUTION,
aInfo.CreateKiBitmap( BITMAPS::add_component ) ) );
#define FOOTPRINT_LIB_CONTRIBUTION _( "Footprints by" )
aInfo.AddLibrarian( new CONTRIBUTOR( "Scripts by Thomas Pointhuber",
aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "Scripts by Thomas Pointhuber" ),
wxEmptyString,
"https://gitlab.com/kicad/libraries/kicad-footprint-generator",
FOOTPRINT_LIB_CONTRIBUTION,
aInfo.CreateKiBitmap( BITMAPS::module ) ) );
aInfo.AddLibrarian( new CONTRIBUTOR( "GitLab contributors",
aInfo.AddLibrarian( new CONTRIBUTOR( wxS( "GitLab contributors" ),
wxEmptyString,
"https://gitlab.com/kicad/libraries/kicad-footprints/-/graphs/master",
FOOTPRINT_LIB_CONTRIBUTION,
@ -942,10 +942,10 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
ICON_CONTRIBUTION ) );
// Program credits for package developers.
aInfo.AddPackager( new CONTRIBUTOR( "Steven Falco" ) );
aInfo.AddPackager( new CONTRIBUTOR( "Jean-Samuel Reynaud" ) );
aInfo.AddPackager( new CONTRIBUTOR( "Bernhard Stegmaier" ) );
aInfo.AddPackager( new CONTRIBUTOR( "Adam Wolf" ) );
aInfo.AddPackager( new CONTRIBUTOR( wxS( "Steven Falco" ) ) );
aInfo.AddPackager( new CONTRIBUTOR( wxS( "Jean-Samuel Reynaud" ) ) );
aInfo.AddPackager( new CONTRIBUTOR( wxS( "Bernhard Stegmaier" ) ) );
aInfo.AddPackager( new CONTRIBUTOR( wxS( "Adam Wolf" ) ) );
aInfo.AddPackager( new CONTRIBUTOR( wxT( "Nick Østergaard" ) ) );
}
@ -978,9 +978,9 @@ static wxString HtmlHyperlink( const wxString& aUrl, const wxString& aDescriptio
wxString hyperlink = wxEmptyString;
if( aDescription.IsEmpty() )
hyperlink << "<a href='" << aUrl << "'>" << aUrl << "</a>";
hyperlink << wxS( "<a href='" ) << aUrl << wxS( "'>" ) << aUrl << wxS( "</a>" );
else
hyperlink << "<a href='" << aUrl << "'>" << aDescription << "</a>";
hyperlink << wxS( "<a href='" )<< aUrl << wxS( "'>" ) << aDescription << wxS( "</a>" );
return hyperlink;
}
@ -998,7 +998,7 @@ static wxString HtmlNewline( const unsigned int aCount )
wxString newlineTags = wxEmptyString;
for( size_t i = 0; i<aCount; ++i )
newlineTags << "<br>";
newlineTags << wxS( "<br>" );
return newlineTags;
}

View File

@ -405,8 +405,8 @@ void DIALOG_SHIM::OnPaint( wxPaintEvent &event )
void DIALOG_SHIM::OnModify()
{
if( !GetTitle().StartsWith( "*" ) )
SetTitle( "*" + GetTitle() );
if( !GetTitle().StartsWith( wxS( "*" ) ) )
SetTitle( wxS( "*" ) + GetTitle() );
}

View File

@ -434,7 +434,7 @@ void EDA_DRAW_FRAME::PrintPage( const RENDER_SETTINGS* aSettings )
void EDA_DRAW_FRAME::OnSelectGrid( wxCommandEvent& event )
{
wxCHECK_RET( m_gridSelectBox, "m_gridSelectBox uninitialized" );
wxCHECK_RET( m_gridSelectBox, wxS( "m_gridSelectBox uninitialized" ) );
int idx = m_gridSelectBox->GetCurrentSelection();
@ -540,7 +540,7 @@ void EDA_DRAW_FRAME::UpdateZoomSelectBox()
void EDA_DRAW_FRAME::OnSelectZoom( wxCommandEvent& event )
{
wxCHECK_RET( m_zoomSelectBox, "m_zoomSelectBox uninitialized" );
wxCHECK_RET( m_zoomSelectBox, wxS( "m_zoomSelectBox uninitialized" ) );
int id = m_zoomSelectBox->GetCurrentSelection();
@ -609,7 +609,7 @@ void EDA_DRAW_FRAME::DisplayGridMsg()
{
wxString msg;
msg.Printf( "grid %s", MessageTextFromValue( GetCanvas()->GetGAL()->GetGridSize().x, false ) );
msg.Printf( wxS( "grid %s" ), MessageTextFromValue( GetCanvas()->GetGAL()->GetGridSize().x, false ) );
SetStatusText( msg, 4 );
}
@ -1087,7 +1087,7 @@ bool EDA_DRAW_FRAME::LibraryFileBrowser( bool doOpen, wxFileName& aFilename,
{
// Ensure the file has a dummy name, otherwise GTK will display the regex from the filter
if( aFilename.GetName().empty() )
aFilename.SetName( "Library" );
aFilename.SetName( wxS( "Library" ) );
wxFileDialog dlg( this, prompt, defaultDir, aFilename.GetFullName(),
wildcard, doOpen ? wxFD_OPEN | wxFD_FILE_MUST_EXIST

View File

@ -107,7 +107,7 @@ wxString EDA_UNIT_UTILS::GetText( EDA_UNITS aUnits, EDA_DATA_TYPE aType )
case EDA_UNITS::INCHES: label = wxT( " in" ); break;
case EDA_UNITS::PERCENT: label = wxT( "%" ); break;
case EDA_UNITS::UNSCALED: break;
default: UNIMPLEMENTED_FOR( "Unknown units" ); break;
default: UNIMPLEMENTED_FOR( wxS( "Unknown units" ) ); break;
}
switch( aType )
@ -115,7 +115,7 @@ wxString EDA_UNIT_UTILS::GetText( EDA_UNITS aUnits, EDA_DATA_TYPE aType )
case EDA_DATA_TYPE::VOLUME: label += wxT( "³" ); break;
case EDA_DATA_TYPE::AREA: label += wxT( "²" ); break;
case EDA_DATA_TYPE::DISTANCE: break;
default: UNIMPLEMENTED_FOR( "Unknown measurement" ); break;
default: UNIMPLEMENTED_FOR( wxS( "Unknown measurement" ) ); break;
}
return label;
@ -496,7 +496,7 @@ double EDA_UNIT_UTILS::UI::DoubleValueFromString( const EDA_IU_SCALE& aIuScale,
{
aUnits = EDA_UNITS::INCHES;
}
else if( unit == "oz" ) // 1 oz = 1.37 mils
else if( unit == wxT( "oz" ) ) // 1 oz = 1.37 mils
{
aUnits = EDA_UNITS::MILS;
dtmp *= 1.37;

View File

@ -27,8 +27,8 @@
static bool normalizeAbsolutePaths( const wxFileName& aPathA, const wxFileName& aPathB,
wxString* aResultPath )
{
wxCHECK_MSG( aPathA.IsAbsolute(), false, aPathA.GetPath() + " is not an absolute path." );
wxCHECK_MSG( aPathB.IsAbsolute(), false, aPathB.GetPath() + " is not an absolute path." );
wxCHECK_MSG( aPathA.IsAbsolute(), false, aPathA.GetPath() + wxS( " is not an absolute path." ) );
wxCHECK_MSG( aPathB.IsAbsolute(), false, aPathB.GetPath() + wxS( " is not an absolute path." ) );
if( aPathA.GetPath() == aPathB.GetPath() )
return true;

View File

@ -34,14 +34,14 @@ using STRING_MAP = std::map<wxString, wxString>;
* (where they are originally defined)
*/
static const ENV_VAR::ENV_VAR_LIST predefinedEnvVars = {
"KIPRJMOD",
"KICAD6_SYMBOL_DIR",
"KICAD6_3DMODEL_DIR",
"KICAD6_FOOTPRINT_DIR",
"KICAD6_TEMPLATE_DIR",
"KICAD_USER_TEMPLATE_DIR",
"KICAD_PTEMPLATES",
"KICAD6_3RD_PARTY",
wxS( "KIPRJMOD" ),
wxS( "KICAD6_SYMBOL_DIR" ),
wxS( "KICAD6_3DMODEL_DIR" ),
wxS( "KICAD6_FOOTPRINT_DIR" ),
wxS( "KICAD6_TEMPLATE_DIR" ),
wxS( "KICAD_USER_TEMPLATE_DIR" ),
wxS( "KICAD_PTEMPLATES" ),
wxS( "KICAD6_3RD_PARTY" ),
};
@ -67,40 +67,40 @@ static void initialiseEnvVarHelp( STRING_MAP& aMap )
{
// Set up dynamically, as we want to be able to use _() translations,
// which can't be done statically
aMap["KICAD6_FOOTPRINT_DIR"] =
aMap[wxS( "KICAD6_FOOTPRINT_DIR" )] =
_( "The base path of locally installed system "
"footprint libraries (.pretty folders).");
aMap["KICAD6_3DMODEL_DIR"] =
aMap[wxS( "KICAD6_3DMODEL_DIR" )] =
_( "The base path of system footprint 3D shapes (.3Dshapes folders).");
aMap["KICAD6_SYMBOL_DIR"] =
aMap[wxS( "KICAD6_SYMBOL_DIR" )] =
_( "The base path of the locally installed symbol libraries.");
aMap["KICAD6_TEMPLATE_DIR"] =
aMap[wxS( "KICAD6_TEMPLATE_DIR" )] =
_( "A directory containing project templates installed with KiCad.");
aMap["KICAD_USER_TEMPLATE_DIR"] =
aMap[wxS( "KICAD_USER_TEMPLATE_DIR" )] =
_( "Optional. Can be defined if you want to create your own project "
"templates folder.");
aMap["KICAD6_3RD_PARTY"] =
aMap[wxS( "KICAD6_3RD_PARTY" )] =
_( "A directory containing 3rd party plugins, libraries and other "
"downloadable content.");
aMap["KIPRJMOD"] =
aMap[wxS( "KIPRJMOD" )] =
_("Internally defined by KiCad (cannot be edited) and is set "
"to the absolute path of the currently loaded project file. This environment "
"variable can be used to define files and paths relative to the currently loaded "
"project. For instance, ${KIPRJMOD}/libs/footprints.pretty can be defined as a "
"folder containing a project specific footprint library named footprints.pretty." );
aMap["KICAD6_SCRIPTING_DIR"] =
aMap[wxS( "KICAD6_SCRIPTING_DIR" )] =
_( "A directory containing system-wide scripts installed with KiCad" );
aMap["KICAD6_USER_SCRIPTING_DIR"] =
aMap[wxS( "KICAD6_USER_SCRIPTING_DIR" )] =
_( "A directory containing user-specific scripts installed with KiCad" );
// Deprecated vars
aMap["KICAD_PTEMPLATES"] =
aMap[wxS( "KICAD_PTEMPLATES" )] =
_( "Deprecated version of KICAD_TEMPLATE_DIR.");
aMap["KISYS3DMOD"] =
aMap[wxS( "KISYS3DMOD" )] =
_( "Deprecated version of KICAD6_3DMODEL_DIR." );
aMap["KISYSMOD"] =
aMap[wxS( "KISYSMOD" )] =
_( "Deprecated version of KICAD6_FOOTPRINT_DIR." );
aMap["KICAD_SYMBOL_DIR"] =
aMap[wxS( "KICAD_SYMBOL_DIR" )] =
_( "Deprecated version of KICAD_SYMBOL_DIR.");
}

View File

@ -30,7 +30,7 @@
const wxString IO_ERROR::What() const
{
#ifdef DEBUG
return wxString( "IO_ERROR: " ) + Problem() + "\n\n" + Where();
return wxString( wxS( "IO_ERROR: " ) ) + Problem() + wxS("\n\n" ) + Where();
#else
return Problem();
#endif

View File

@ -143,13 +143,13 @@ bool PROJECT::IsNullProject() const
const wxString PROJECT::SymbolLibTableName() const
{
return libTableName( "sym-lib-table" );
return libTableName( wxS( "sym-lib-table" ) );
}
const wxString PROJECT::FootprintLibTblName() const
{
return libTableName( "fp-lib-table" );
return libTableName( wxS( "fp-lib-table" ) );
}

View File

@ -54,7 +54,7 @@ wxString GetRefDesUnannotated( const wxString& aSource )
int GetRefDesNumber( const wxString& aRefDes )
{
int retval = -1; // negative to indicate not found
size_t firstnum = aRefDes.find_first_of( "0123456789" );
size_t firstnum = aRefDes.find_first_of( wxS( "0123456789" ) );
if( firstnum != wxString::npos )
{

View File

@ -248,7 +248,7 @@ void INFOBAR_REPORTER::Finalize()
case RPT_SEVERITY_DEBUG: icon = wxICON_INFORMATION; break;
}
if( m_message->EndsWith( "\n" ) )
if( m_message->EndsWith( wxS( "\n" ) ) )
*m_message = m_message->Left( m_message->Length() - 1 );
if( HasMessage() )

View File

@ -41,7 +41,7 @@ wxString SearchHelpFileFullPath( const wxString& aBaseName )
SystemDirsAppend( &basePaths );
#if defined( DEBUG )
basePaths.Show( wxString( __func__ ) + ": basePaths" );
basePaths.Show( wxString( __func__ ) + wxS( ": basePaths" ) );
#endif
// By default, the documentation from kicad-doc is installed to a folder called "help" with
@ -58,10 +58,10 @@ wxString SearchHelpFileFullPath( const wxString& aBaseName )
// short form of the current locale (e.g., "fr")
// wxLocale::GetName() does not always return the short form
localeNameDirs.Add( currentLocale->GetName().BeforeLast( '_' ) );
localeNameDirs.Add( currentLocale->GetName().BeforeLast( wxS( '_' ) ) );
// plain English (in case a localised version of the help file cannot be found)
localeNameDirs.Add( "en" );
localeNameDirs.Add( wxS( "en" ) );
for( wxString& locale : localeNameDirs )
{
@ -72,37 +72,38 @@ wxString SearchHelpFileFullPath( const wxString& aBaseName )
wxFileName path( base, wxEmptyString );
// add <base>/help/<locale>/
path.AppendDir( "help" );
path.AppendDir( wxS( "help" ) );
path.AppendDir( locale );
docPaths.AddPaths( path.GetPath() );
// add <base>/doc/help/<locale>/
path.InsertDir( path.GetDirCount() - 2, "doc" );
path.InsertDir( path.GetDirCount() - 2, wxS( "doc" ) );
docPaths.AddPaths( path.GetPath() );
// add <base>/doc/kicad/help/<locale>/
path.InsertDir( path.GetDirCount() - 2, "kicad" );
path.InsertDir( path.GetDirCount() - 2, wxS( "kicad" ) );
docPaths.AddPaths( path.GetPath() );
}
#if defined( DEBUG )
docPaths.Show( wxString( __func__ ) + ": docPaths (" + locale + ")" );
docPaths.Show( wxString( __func__ ) + wxS( ": docPaths (" ) + locale + wxS( ")" ) );
#endif
// search HTML first, as it is the preferred format for help files
wxLogTrace( tracePathsAndFiles, "Checking SEARCH_STACK for file %s.html", aBaseName );
helpFile = docPaths.FindValidPath( aBaseName + ".html" );
wxLogTrace( tracePathsAndFiles, wxS( "Checking SEARCH_STACK for file %s.html" ),
aBaseName );
helpFile = docPaths.FindValidPath( aBaseName + wxS( ".html" ) );
if( !helpFile.IsEmpty() )
{
// prepend URI protocol to open the file in a browser
helpFile = "file://" + helpFile;
helpFile = wxS( "file://" ) + helpFile;
break;
}
// search PDF only when no corresponding HTML file was found
wxLogTrace( tracePathsAndFiles, "Checking SEARCH_STACK for file %s.pdf", aBaseName );
helpFile = docPaths.FindValidPath( aBaseName + ".pdf" );
wxLogTrace( tracePathsAndFiles, wxS( "Checking SEARCH_STACK for file %s.pdf" ), aBaseName );
helpFile = docPaths.FindValidPath( aBaseName + wxS( ".pdf" ) );
if( !helpFile.IsEmpty() )
break;

View File

@ -134,7 +134,7 @@ bool NESTED_SETTINGS::SaveToFile( const wxString& aDirectory, bool aForce )
{
( *m_parent->m_internals )[m_path].update( *m_internals );
wxLogTrace( traceSettings, "Stored NESTED_SETTINGS %s with schema %d",
wxLogTrace( traceSettings, wxS( "Stored NESTED_SETTINGS %s with schema %d" ),
GetFilename(),
m_schemaVersion );
}
@ -143,7 +143,7 @@ bool NESTED_SETTINGS::SaveToFile( const wxString& aDirectory, bool aForce )
}
catch( ... )
{
wxLogTrace( traceSettings, "NESTED_SETTINGS %s: Could not store to %s at %s",
wxLogTrace( traceSettings, wxS( "NESTED_SETTINGS %s: Could not store to %s at %s" ),
m_filename,
m_parent->GetFilename(),
m_path );

View File

@ -243,7 +243,7 @@ public:
{
wxFileName file( aFilePath );
if( file.GetExt() == "json" )
if( file.GetExt() == wxS( "json" ) )
m_action( file );
return wxDIR_CONTINUE;
@ -299,14 +299,14 @@ void SETTINGS_MANAGER::loadAllColorSettings()
wxFileName third_party_path;
const ENV_VAR_MAP& env = Pgm().GetLocalEnvVariables();
auto it = env.find( "KICAD6_3RD_PARTY" );
auto it = env.find( wxS( "KICAD6_3RD_PARTY" ) );
if( it != env.end() && !it->second.GetValue().IsEmpty() )
third_party_path.SetPath( it->second.GetValue() );
else
third_party_path.SetPath( PATHS::GetDefault3rdPartyPath() );
third_party_path.AppendDir( "colors" );
third_party_path.AppendDir( wxS( "colors" ) );
wxDir third_party_colors_dir( third_party_path.GetFullPath() );
wxString color_settings_path = GetColorSettingsPath();
@ -494,7 +494,7 @@ bool SETTINGS_MANAGER::MigrateIfNeeded()
return true;
}
wxFileName path( GetUserSettingsPath(), "" );
wxFileName path( GetUserSettingsPath(), wxS( "" ) );
wxLogTrace( traceSettings, wxT( "Using settings path %s" ), path.GetFullPath() );
if( path.DirExists() )
@ -580,11 +580,11 @@ bool SETTINGS_MANAGER::GetPreviousVersionPaths( std::vector<wxString>* aPaths )
wxDir dir;
std::vector<wxFileName> base_paths;
base_paths.emplace_back( wxFileName( calculateUserSettingsPath( false ), "" ) );
base_paths.emplace_back( wxFileName( calculateUserSettingsPath( false ), wxS( "" ) ) );
// If the env override is set, also check the default paths
if( wxGetEnv( wxT( "KICAD_CONFIG_HOME" ), nullptr ) )
base_paths.emplace_back( wxFileName( calculateUserSettingsPath( false, false ), "" ) );
base_paths.emplace_back( wxFileName( calculateUserSettingsPath( false, false ), wxS( "" ) ) );
#ifdef __WXGTK__
// When running inside FlatPak, KIPLATFORM::ENV::GetUserConfigPath() will return a sandboxed
@ -594,12 +594,12 @@ bool SETTINGS_MANAGER::GetPreviousVersionPaths( std::vector<wxString>* aPaths )
// for it.
{
wxFileName wxGtkPath;
wxGtkPath.AssignDir( "~/.config/kicad" );
wxGtkPath.AssignDir( wxS( "~/.config/kicad" ) );
wxGtkPath.MakeAbsolute();
base_paths.emplace_back( wxGtkPath.GetPath() );
// We also want to pick up regular flatpak if we are nightly
wxGtkPath.AssignDir( "~/.var/app/org.kicad.KiCad/config/kicad" );
wxGtkPath.AssignDir( wxS( "~/.var/app/org.kicad.KiCad/config/kicad" ) );
wxGtkPath.MakeAbsolute();
base_paths.emplace_back( wxGtkPath.GetPath() );
}
@ -684,7 +684,7 @@ bool SETTINGS_MANAGER::GetPreviousVersionPaths( std::vector<wxString>* aPaths )
bool SETTINGS_MANAGER::IsSettingsPathValid( const wxString& aPath )
{
wxFileName test( aPath, "kicad_common" );
wxFileName test( aPath, wxS( "kicad_common" ) );
if( test.Exists() )
return true;
@ -700,7 +700,7 @@ wxString SETTINGS_MANAGER::GetColorSettingsPath()
wxFileName path;
path.AssignDir( GetUserSettingsPath() );
path.AppendDir( "colors" );
path.AppendDir( wxS( "colors" ) );
if( !path.DirExists() )
{
@ -936,7 +936,7 @@ bool SETTINGS_MANAGER::UnloadProject( PROJECT* aProject, bool aSave )
LoadProject( "" );
// Remove the reference in the environment to the previous project
wxSetEnv( PROJECT_VAR_NAME, "" );
wxSetEnv( PROJECT_VAR_NAME, wxS( "" ) );
// Release lock on the file, in case we had one
m_project_lock = nullptr;
@ -1213,7 +1213,7 @@ bool SETTINGS_MANAGER::TriggerBackupIfNeeded( REPORTER& aReporter ) const
{
wxDateTime dt;
wxString fn( wxFileName( aFile ).GetName() );
fn.Replace( prefix, "" );
fn.Replace( prefix, wxS( "" ) );
dt.ParseFormat( fn, backupDateTimeFormat );
return dt;
};

View File

@ -78,7 +78,7 @@ void ACTION_MANAGER::SetConditions( const TOOL_ACTION& aAction,
m_uiConditions[aAction.GetId()] = aConditions;
wxLogTrace( kicadTraceToolStack,
"ACTION_MANAGER::SetConditions: Registering conditions for ID %d - %s",
wxS( "ACTION_MANAGER::SetConditions: Registering conditions for ID %d - %s" ),
aAction.GetId(), aAction.GetName() );
// Register a new handler with the new conditions
@ -126,7 +126,7 @@ bool ACTION_MANAGER::RunHotKey( int aHotKey ) const
if( key >= 'a' && key <= 'z' )
key = std::toupper( key );
wxLogTrace( kicadTraceToolStack, "ACTION_MANAGER::RunHotKey Key: %s",
wxLogTrace( kicadTraceToolStack, wxS( "ACTION_MANAGER::RunHotKey Key: %s" ),
KeyNameFromKeyCode( aHotKey ) );
HOTKEY_LIST::const_iterator it = m_actionHotKeys.find( key | mod );
@ -138,7 +138,7 @@ bool ACTION_MANAGER::RunHotKey( int aHotKey ) const
if( it == m_actionHotKeys.end() )
{
wxLogTrace( kicadTraceToolStack,
"ACTION_MANAGER::RunHotKey No actions found, searching with key: %s",
wxS( "ACTION_MANAGER::RunHotKey No actions found, searching with key: %s" ),
KeyNameFromKeyCode( key | ( mod & ~MD_SHIFT ) ) );
it = m_actionHotKeys.find( key | ( mod & ~MD_SHIFT ) );
@ -192,8 +192,8 @@ bool ACTION_MANAGER::RunHotKey( int aHotKey ) const
runAction = aCond->enableCondition( sel );
wxLogTrace( kicadTraceToolStack,
"ACTION_MANAGER::RunHotKey %s context action: %s for hotkey %s",
runAction ? "Running" : "Not running",
wxS( "ACTION_MANAGER::RunHotKey %s context action: %s for hotkey %s" ),
runAction ? wxS( "Running" ) : wxS( "Not running" ),
context->GetName(),
KeyNameFromKeyCode( aHotKey ) );
@ -210,8 +210,8 @@ bool ACTION_MANAGER::RunHotKey( int aHotKey ) const
runAction = aCond->enableCondition( sel );
wxLogTrace( kicadTraceToolStack,
"ACTION_MANAGER::RunHotKey %s global action: %s for hotkey %s",
runAction ? "Running" : "Not running",
wxS( "ACTION_MANAGER::RunHotKey %s global action: %s for hotkey %s" ),
runAction ? wxS( "Running" ) : wxS( "Not running" ),
act->GetName(),
KeyNameFromKeyCode( aHotKey ) );
@ -221,7 +221,7 @@ bool ACTION_MANAGER::RunHotKey( int aHotKey ) const
}
wxLogTrace( kicadTraceToolStack,
"ACTION_MANAGER::RunHotKey No action found for key %s",
wxS( "ACTION_MANAGER::RunHotKey No action found for key %s" ),
KeyNameFromKeyCode( aHotKey ) );
return false;

View File

@ -134,7 +134,7 @@ void ACTION_MENU::DisplayTitle( bool aDisplay )
wxMenuItem* ACTION_MENU::Add( const wxString& aLabel, int aId, BITMAPS aIcon )
{
wxASSERT_MSG( FindItem( aId ) == nullptr, "Duplicate menu IDs!" );
wxASSERT_MSG( FindItem( aId ) == nullptr, wxS( "Duplicate menu IDs!" ) );
wxMenuItem* item = new wxMenuItem( this, aId, aLabel, wxEmptyString, wxITEM_NORMAL );
@ -148,7 +148,7 @@ wxMenuItem* ACTION_MENU::Add( const wxString& aLabel, int aId, BITMAPS aIcon )
wxMenuItem* ACTION_MENU::Add( const wxString& aLabel, const wxString& aTooltip, int aId,
BITMAPS aIcon, bool aIsCheckmarkEntry )
{
wxASSERT_MSG( FindItem( aId ) == nullptr, "Duplicate menu IDs!" );
wxASSERT_MSG( FindItem( aId ) == nullptr, wxS( "Duplicate menu IDs!" ) );
wxMenuItem* item = new wxMenuItem( this, aId, aLabel, aTooltip,
aIsCheckmarkEntry ? wxITEM_CHECK : wxITEM_NORMAL );
@ -185,7 +185,7 @@ wxMenuItem* ACTION_MENU::Add( ACTION_MENU* aMenu )
{
m_submenus.push_back( aMenu );
wxASSERT_MSG( !aMenu->m_title.IsEmpty(), "Set a title for ACTION_MENU using SetTitle()" );
wxASSERT_MSG( !aMenu->m_title.IsEmpty(), wxS( "Set a title for ACTION_MENU using SetTitle()" ) );
if( !!aMenu->m_icon )
{
@ -209,7 +209,7 @@ void ACTION_MENU::AddClose( const wxString& aAppname )
wxID_CLOSE,
BITMAPS::exit );
#else
Add( _( "Close" ) + "\tCtrl+W",
Add( _( "Close" ) + wxS( "\tCtrl+W" ),
wxString::Format( _( "Close %s" ), aAppname ),
wxID_CLOSE,
BITMAPS::exit );
@ -223,7 +223,7 @@ void ACTION_MENU::AddQuitOrClose( KIFACE_BASE* aKiface, wxString aAppname )
{
// Don't use ACTIONS::quit; wxWidgets moves this on OSX and expects to find it via
// wxID_EXIT
Add( _( "Quit" ) + "\tCtrl+Q",
Add( _( "Quit" ) + wxS( "\tCtrl+Q" ),
wxString::Format( _( "Quit %s" ), aAppname ),
wxID_EXIT,
BITMAPS::exit );
@ -532,7 +532,7 @@ void ACTION_MENU::OnMenuEvent( wxMenuEvent& aEvent )
// clients that don't supply a tool will have to check GetSelected() themselves
if( evt && m_tool )
{
wxLogTrace( kicadTraceToolStack, "ACTION_MENU::OnMenuEvent %s", evt->Format() );
wxLogTrace( kicadTraceToolStack, wxS( "ACTION_MENU::OnMenuEvent %s" ), evt->Format() );
// WARNING: if you're squeamish, look away.
// What follows is a series of egregious hacks necessitated by a lack of information from
@ -662,7 +662,7 @@ wxMenuItem* ACTION_MENU::appendCopy( const wxMenuItem* aSource )
if( aSource->IsSubMenu() )
{
ACTION_MENU* menu = dynamic_cast<ACTION_MENU*>( aSource->GetSubMenu() );
wxASSERT_MSG( menu, "Submenus are expected to be a ACTION_MENU" );
wxASSERT_MSG( menu, wxS( "Submenus are expected to be a ACTION_MENU" ) );
if( menu )
{

View File

@ -57,7 +57,7 @@ wxBitmap MakeDisabledBitmap( const wxBitmap& aSource )
ACTION_GROUP::ACTION_GROUP( const std::string& aName,
const std::vector<const TOOL_ACTION*>& aActions )
{
wxASSERT_MSG( aActions.size() > 0, "Action groups must have at least one action" );
wxASSERT_MSG( aActions.size() > 0, wxS( "Action groups must have at least one action" ) );
// The default action is just the first action in the vector
m_actions = aActions;
@ -83,7 +83,7 @@ void ACTION_GROUP::SetDefaultAction( const TOOL_ACTION& aDefault )
return aAction->GetId() == aDefault.GetId();
} );
wxASSERT_MSG( valid, "Action must be present in a group to be the default" );
wxASSERT_MSG( valid, wxS( "Action must be present in a group to be the default" ) );
m_defaultAction = &aDefault;
}
@ -230,7 +230,7 @@ ACTION_TOOLBAR::~ACTION_TOOLBAR()
void ACTION_TOOLBAR::Add( const TOOL_ACTION& aAction, bool aIsToggleEntry, bool aIsCancellable )
{
wxASSERT( GetParent() );
wxASSERT_MSG( !( aIsCancellable && !aIsToggleEntry ), "aIsCancellable requires aIsToggleEntry" );
wxASSERT_MSG( !( aIsCancellable && !aIsToggleEntry ), wxS( "aIsCancellable requires aIsToggleEntry" ) );
int toolId = aAction.GetUIId();
wxBitmap bmp = KiScaledBitmap( aAction.GetIcon(), GetParent() );

View File

@ -43,21 +43,21 @@
#include <eda_doc.h>
#include <wx/msgdlg.h>
#define URL_GET_INVOLVED "https://kicad.org/contribute/"
#define URL_DONATE "https://go.kicad.org/app-donate"
#define URL_DOCUMENTATION "https://docs.kicad.org/"
#define URL_GET_INVOLVED wxS( "https://kicad.org/contribute/" )
#define URL_DONATE wxS( "https://go.kicad.org/app-donate" )
#define URL_DOCUMENTATION wxS( "https://docs.kicad.org/" )
/// URL to launch a new issue with pre-populated description
wxString COMMON_CONTROL::m_bugReportUrl =
"https://gitlab.com/kicad/code/kicad/issues/new?issue[description]=%s";
wxS( "https://gitlab.com/kicad/code/kicad/issues/new?issue[description]=%s" );
/// Issue template to use for reporting bugs (this should not be translated)
wxString COMMON_CONTROL::m_bugReportTemplate =
wxString COMMON_CONTROL::m_bugReportTemplate = wxS(
"```\n"
"%s\n"
"```";
"```" );
void COMMON_CONTROL::Reset( RESET_REASON aReason )
@ -216,7 +216,7 @@ int COMMON_CONTROL::ShowHelp( const TOOL_EVENT& aEvent )
if( dlg.ShowModal() != wxID_YES )
return -1;
helpFile = baseUrl + names[0] + "/";
helpFile = baseUrl + names[0] + wxS( "/" );
}
}
else
@ -236,7 +236,7 @@ int COMMON_CONTROL::ShowHelp( const TOOL_EVENT& aEvent )
if( dlg.ShowModal() != wxID_YES )
return -1;
helpFile = baseUrl + base_name + "/";
helpFile = baseUrl + base_name + wxS( "/" );
}
}

View File

@ -84,7 +84,7 @@ void COMMON_TOOLS::SetLastUnits( EDA_UNITS aUnit )
else if( EDA_UNIT_UTILS::IsMetricUnit( aUnit ) )
m_metricUnit = aUnit;
else
wxASSERT_MSG( false, "Invalid unit" );
wxASSERT_MSG( false, wxS( "Invalid unit" ) );
}
@ -156,7 +156,7 @@ int COMMON_TOOLS::CursorControl( const TOOL_EVENT& aEvent )
return 0;
}
default:
wxFAIL_MSG( "CursorControl(): unexpected request" );
wxFAIL_MSG( wxS( "CursorControl(): unexpected request" ) );
}
getViewControls()->SetCursorPosition( cursor, true, true, type );
@ -521,7 +521,7 @@ int COMMON_TOOLS::SwitchUnits( const TOOL_EVENT& aEvent )
else if( EDA_UNIT_UTILS::IsImperialUnit( newUnit ) )
m_imperialUnit = newUnit;
else
wxASSERT_MSG( false, "Invalid unit for the frame" );
wxASSERT_MSG( false, wxS( "Invalid unit for the frame" ) );
m_frame->ChangeUserUnits( newUnit );
return 0;

View File

@ -89,7 +89,7 @@ wxString TOOL_ACTION::GetLabel() const
wxString TOOL_ACTION::GetMenuItem() const
{
wxString label = wxGetTranslation( m_label );
label.Replace( "&", "&&" );
label.Replace( wxS( "&" ), wxS( "&&" ) );
return AddHotkeyName( label, m_hotKey, IS_HOTKEY );
}

View File

@ -350,7 +350,7 @@ std::optional<TOOL_EVENT> TOOL_DISPATCHER::GetToolEvent( wxKeyEvent* aKeyEvent,
return evt;
}
wxLogTrace( kicadTraceKeyEvent, "TOOL_DISPATCHER::GetToolEvent %s", dump( *aKeyEvent ) );
wxLogTrace( kicadTraceKeyEvent, wxS( "TOOL_DISPATCHER::GetToolEvent %s" ), dump( *aKeyEvent ) );
// if the key event must be skipped, skip it here if the event is a wxEVT_CHAR_HOOK
// and do nothing.
@ -502,7 +502,7 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
{
wxKeyEvent* ke = static_cast<wxKeyEvent*>( &aEvent );
wxLogTrace( kicadTraceKeyEvent, "TOOL_DISPATCHER::DispatchWxEvent %s", dump( *ke ) );
wxLogTrace( kicadTraceKeyEvent, wxS( "TOOL_DISPATCHER::DispatchWxEvent %s" ), dump( *ke ) );
// Do not process wxEVT_CHAR_HOOK for a shift-modified key, as ACTION_MANAGER::RunHotKey
// will run the un-shifted key and that's not what we want. Wait to get the translated
@ -583,12 +583,12 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
if( evt )
{
wxLogTrace( kicadTraceToolStack, "TOOL_DISPATCHER::DispatchWxEvent %s", evt->Format() );
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_DISPATCHER::DispatchWxEvent %s" ), evt->Format() );
handled = m_toolMgr->ProcessEvent( *evt );
wxLogTrace( kicadTraceToolStack, "TOOL_DISPATCHER::DispatchWxEvent - Handled: %s %s",
( handled ? "true" : "false" ), evt->Format() );
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_DISPATCHER::DispatchWxEvent - Handled: %s %s" ),
( handled ? wxS( "true" ) : wxS( "false" ) ), evt->Format() );
}
// pass the event to the GUI, it might still be interested in it

View File

@ -262,7 +262,7 @@ bool TOOL_MANAGER::InvokeTool( TOOL_ID aToolId )
if( tool && tool->GetType() == INTERACTIVE )
return invokeTool( tool );
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::InvokeTool - no tool with ID %d",
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::InvokeTool - no tool with ID %d" ),
aToolId );
return false; // there is no tool with the given id
@ -276,7 +276,7 @@ bool TOOL_MANAGER::InvokeTool( const std::string& aToolName )
if( tool && tool->GetType() == INTERACTIVE )
return invokeTool( tool );
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::InvokeTool - no tool with name %s",
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::InvokeTool - no tool with name %s" ),
aToolName );
return false; // there is no tool with the given name
@ -420,7 +420,7 @@ bool TOOL_MANAGER::runTool( TOOL_BASE* aTool )
TOOL_ID id = aTool->GetId();
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::runTool - running tool %s",
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::runTool - running tool %s" ),
aTool->GetName() );
if( aTool->GetType() == INTERACTIVE )
@ -485,7 +485,7 @@ void TOOL_MANAGER::ShutdownTool( TOOL_ID aToolId )
if( tool && tool->GetType() == INTERACTIVE )
ShutdownTool( tool );
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::ShutdownTool - no tool with ID %d",
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::ShutdownTool - no tool with ID %d" ),
aToolId );
}
@ -497,7 +497,7 @@ void TOOL_MANAGER::ShutdownTool( const std::string& aToolName )
if( tool && tool->GetType() == INTERACTIVE )
ShutdownTool( tool );
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::ShutdownTool - no tool with name %s",
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::ShutdownTool - no tool with name %s" ),
aToolName );
}
@ -526,7 +526,7 @@ void TOOL_MANAGER::ShutdownTool( TOOL_BASE* aTool )
if( st->cofunc )
{
wxLogTrace( kicadTraceToolStack,
"TOOL_MANAGER::ShutdownTool - Shutting down tool %s",
wxS( "TOOL_MANAGER::ShutdownTool - Shutting down tool %s" ),
st->theTool->GetName() );
setActiveState( st );
@ -599,7 +599,7 @@ void TOOL_MANAGER::InitTools()
if( !tool->Init() )
{
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER initialization of tool '%s' failed",
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER initialization of tool '%s' failed" ),
tool->GetName() );
// Unregister the tool
@ -685,7 +685,7 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
{
bool handled = false;
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::dispatchInternal - received event: %s",
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::dispatchInternal - received event: %s" ),
aEvent.Format() );
auto it = m_activeTools.begin();
@ -721,7 +721,7 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
st->waitEvents.clear();
wxLogTrace( kicadTraceToolStack,
"TOOL_MANAGER::dispatchInternal - Waking tool %s for event: %s",
wxS( "TOOL_MANAGER::dispatchInternal - Waking tool %s for event: %s" ),
st->theTool->GetName(), aEvent.Format() );
setActiveState( st );
@ -737,7 +737,7 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
if( !st->wakeupEvent.PassEvent() )
{
wxLogTrace( kicadTraceToolStack,
"TOOL_MANAGER::dispatchInternal - tool %s stopped passing event: %s",
wxS( "TOOL_MANAGER::dispatchInternal - tool %s stopped passing event: %s" ),
st->theTool->GetName(), aEvent.Format() );
return true;
@ -781,7 +781,7 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
st->transitions.clear();
wxLogTrace( kicadTraceToolStack,
"TOOL_MANAGER::dispatchInternal - Running tool %s for event: %s",
wxS( "TOOL_MANAGER::dispatchInternal - Running tool %s for event: %s" ),
st->theTool->GetName(), aEvent.Format() );
// got match? Run the handler.
@ -807,8 +807,8 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
break; // only the first tool gets the event
}
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::dispatchInternal - %s handle event: %s",
( handled ? "Did" : "Did not" ), aEvent.Format() );
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::dispatchInternal - %s handle event: %s" ),
( handled ? wxS( "Did" ) : wxS( "Did not" ) ), aEvent.Format() );
return handled;
}
@ -825,7 +825,7 @@ bool TOOL_MANAGER::DispatchHotKey( const TOOL_EVENT& aEvent )
bool TOOL_MANAGER::dispatchActivation( const TOOL_EVENT& aEvent )
{
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::dispatchActivation - Received event: %s",
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::dispatchActivation - Received event: %s" ),
aEvent.Format() );
if( aEvent.IsActivate() )
@ -835,7 +835,7 @@ bool TOOL_MANAGER::dispatchActivation( const TOOL_EVENT& aEvent )
if( tool != m_toolNameIndex.end() )
{
wxLogTrace( kicadTraceToolStack,
"TOOL_MANAGER::dispatchActivation - Running tool %s for event: %s",
wxS( "TOOL_MANAGER::dispatchActivation - Running tool %s for event: %s" ),
tool->second->theTool->GetName(), aEvent.Format() );
runTool( tool->second->theTool );
@ -1141,7 +1141,7 @@ void TOOL_MANAGER::applyViewControls( const TOOL_STATE* aState )
bool TOOL_MANAGER::processEvent( const TOOL_EVENT& aEvent )
{
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::processEvent - %s", aEvent.Format() );
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::processEvent - %s", aEvent.Format() ) );
// First try to dispatch the action associated with the event if it is a key press event
bool handled = DispatchHotKey( aEvent );
@ -1179,7 +1179,7 @@ bool TOOL_MANAGER::processEvent( const TOOL_EVENT& aEvent )
}
}
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::processEvent - %s handle event: %s",
wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::processEvent - %s handle event: %s" ),
( handled ? "Did" : "Did not" ), aEvent.Format() );
return handled;

View File

@ -45,7 +45,7 @@ void TOOLS_HOLDER::PushTool( const TOOL_EVENT& aEvent )
{
const std::string& actionName = aEvent.getCommandStr();
wxASSERT_MSG( !actionName.empty(), "Pushed Empty Tool Name!" );
wxASSERT_MSG( !actionName.empty(), wxS( "Pushed Empty Tool Name!" ) );
m_toolStack.push_back( actionName );
@ -66,7 +66,7 @@ void TOOLS_HOLDER::PopTool( const TOOL_EVENT& aEvent )
{
const std::string& actionName = aEvent.getCommandStr();
wxASSERT_MSG( !aEvent.getCommandStr().empty(), "Popped Empty Tool Name!" );
wxASSERT_MSG( !aEvent.getCommandStr().empty(), wxS( "Popped Empty Tool Name!" ) );
// Push/pop events can get out of order (such as when they're generated by the Simulator
// frame but not processed until the mouse is back in the Schematic frame), so make sure
@ -103,7 +103,7 @@ void TOOLS_HOLDER::PopTool( const TOOL_EVENT& aEvent )
}
}
wxASSERT_MSG( false, "Popped a Tool Not on the Tool Stack!" );
wxASSERT_MSG( false, wxS( "Popped a Tool Not on the Tool Stack!" ) );
}