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

View File

@ -405,8 +405,8 @@ void DIALOG_SHIM::OnPaint( wxPaintEvent &event )
void DIALOG_SHIM::OnModify() void DIALOG_SHIM::OnModify()
{ {
if( !GetTitle().StartsWith( "*" ) ) if( !GetTitle().StartsWith( wxS( "*" ) ) )
SetTitle( "*" + GetTitle() ); 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 ) 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(); int idx = m_gridSelectBox->GetCurrentSelection();
@ -540,7 +540,7 @@ void EDA_DRAW_FRAME::UpdateZoomSelectBox()
void EDA_DRAW_FRAME::OnSelectZoom( wxCommandEvent& event ) 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(); int id = m_zoomSelectBox->GetCurrentSelection();
@ -609,7 +609,7 @@ void EDA_DRAW_FRAME::DisplayGridMsg()
{ {
wxString msg; 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 ); 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 // Ensure the file has a dummy name, otherwise GTK will display the regex from the filter
if( aFilename.GetName().empty() ) if( aFilename.GetName().empty() )
aFilename.SetName( "Library" ); aFilename.SetName( wxS( "Library" ) );
wxFileDialog dlg( this, prompt, defaultDir, aFilename.GetFullName(), wxFileDialog dlg( this, prompt, defaultDir, aFilename.GetFullName(),
wildcard, doOpen ? wxFD_OPEN | wxFD_FILE_MUST_EXIST 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::INCHES: label = wxT( " in" ); break;
case EDA_UNITS::PERCENT: label = wxT( "%" ); break; case EDA_UNITS::PERCENT: label = wxT( "%" ); break;
case EDA_UNITS::UNSCALED: break; case EDA_UNITS::UNSCALED: break;
default: UNIMPLEMENTED_FOR( "Unknown units" ); break; default: UNIMPLEMENTED_FOR( wxS( "Unknown units" ) ); break;
} }
switch( aType ) 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::VOLUME: label += wxT( "³" ); break;
case EDA_DATA_TYPE::AREA: label += wxT( "²" ); break; case EDA_DATA_TYPE::AREA: label += wxT( "²" ); break;
case EDA_DATA_TYPE::DISTANCE: break; case EDA_DATA_TYPE::DISTANCE: break;
default: UNIMPLEMENTED_FOR( "Unknown measurement" ); break; default: UNIMPLEMENTED_FOR( wxS( "Unknown measurement" ) ); break;
} }
return label; return label;
@ -496,7 +496,7 @@ double EDA_UNIT_UTILS::UI::DoubleValueFromString( const EDA_IU_SCALE& aIuScale,
{ {
aUnits = EDA_UNITS::INCHES; 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; aUnits = EDA_UNITS::MILS;
dtmp *= 1.37; dtmp *= 1.37;

View File

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

View File

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

View File

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

View File

@ -143,13 +143,13 @@ bool PROJECT::IsNullProject() const
const wxString PROJECT::SymbolLibTableName() const const wxString PROJECT::SymbolLibTableName() const
{ {
return libTableName( "sym-lib-table" ); return libTableName( wxS( "sym-lib-table" ) );
} }
const wxString PROJECT::FootprintLibTblName() const 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 GetRefDesNumber( const wxString& aRefDes )
{ {
int retval = -1; // negative to indicate not found 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 ) if( firstnum != wxString::npos )
{ {

View File

@ -248,7 +248,7 @@ void INFOBAR_REPORTER::Finalize()
case RPT_SEVERITY_DEBUG: icon = wxICON_INFORMATION; break; 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 ); *m_message = m_message->Left( m_message->Length() - 1 );
if( HasMessage() ) if( HasMessage() )

View File

@ -41,7 +41,7 @@ wxString SearchHelpFileFullPath( const wxString& aBaseName )
SystemDirsAppend( &basePaths ); SystemDirsAppend( &basePaths );
#if defined( DEBUG ) #if defined( DEBUG )
basePaths.Show( wxString( __func__ ) + ": basePaths" ); basePaths.Show( wxString( __func__ ) + wxS( ": basePaths" ) );
#endif #endif
// By default, the documentation from kicad-doc is installed to a folder called "help" with // 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") // short form of the current locale (e.g., "fr")
// wxLocale::GetName() does not always return the short form // 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) // 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 ) for( wxString& locale : localeNameDirs )
{ {
@ -72,37 +72,38 @@ wxString SearchHelpFileFullPath( const wxString& aBaseName )
wxFileName path( base, wxEmptyString ); wxFileName path( base, wxEmptyString );
// add <base>/help/<locale>/ // add <base>/help/<locale>/
path.AppendDir( "help" ); path.AppendDir( wxS( "help" ) );
path.AppendDir( locale ); path.AppendDir( locale );
docPaths.AddPaths( path.GetPath() ); docPaths.AddPaths( path.GetPath() );
// add <base>/doc/help/<locale>/ // add <base>/doc/help/<locale>/
path.InsertDir( path.GetDirCount() - 2, "doc" ); path.InsertDir( path.GetDirCount() - 2, wxS( "doc" ) );
docPaths.AddPaths( path.GetPath() ); docPaths.AddPaths( path.GetPath() );
// add <base>/doc/kicad/help/<locale>/ // add <base>/doc/kicad/help/<locale>/
path.InsertDir( path.GetDirCount() - 2, "kicad" ); path.InsertDir( path.GetDirCount() - 2, wxS( "kicad" ) );
docPaths.AddPaths( path.GetPath() ); docPaths.AddPaths( path.GetPath() );
} }
#if defined( DEBUG ) #if defined( DEBUG )
docPaths.Show( wxString( __func__ ) + ": docPaths (" + locale + ")" ); docPaths.Show( wxString( __func__ ) + wxS( ": docPaths (" ) + locale + wxS( ")" ) );
#endif #endif
// search HTML first, as it is the preferred format for help files // search HTML first, as it is the preferred format for help files
wxLogTrace( tracePathsAndFiles, "Checking SEARCH_STACK for file %s.html", aBaseName ); wxLogTrace( tracePathsAndFiles, wxS( "Checking SEARCH_STACK for file %s.html" ),
helpFile = docPaths.FindValidPath( aBaseName + ".html" ); aBaseName );
helpFile = docPaths.FindValidPath( aBaseName + wxS( ".html" ) );
if( !helpFile.IsEmpty() ) if( !helpFile.IsEmpty() )
{ {
// prepend URI protocol to open the file in a browser // prepend URI protocol to open the file in a browser
helpFile = "file://" + helpFile; helpFile = wxS( "file://" ) + helpFile;
break; break;
} }
// search PDF only when no corresponding HTML file was found // search PDF only when no corresponding HTML file was found
wxLogTrace( tracePathsAndFiles, "Checking SEARCH_STACK for file %s.pdf", aBaseName ); wxLogTrace( tracePathsAndFiles, wxS( "Checking SEARCH_STACK for file %s.pdf" ), aBaseName );
helpFile = docPaths.FindValidPath( aBaseName + ".pdf" ); helpFile = docPaths.FindValidPath( aBaseName + wxS( ".pdf" ) );
if( !helpFile.IsEmpty() ) if( !helpFile.IsEmpty() )
break; 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 ); ( *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(), GetFilename(),
m_schemaVersion ); m_schemaVersion );
} }
@ -143,7 +143,7 @@ bool NESTED_SETTINGS::SaveToFile( const wxString& aDirectory, bool aForce )
} }
catch( ... ) 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_filename,
m_parent->GetFilename(), m_parent->GetFilename(),
m_path ); m_path );

View File

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

View File

@ -78,7 +78,7 @@ void ACTION_MANAGER::SetConditions( const TOOL_ACTION& aAction,
m_uiConditions[aAction.GetId()] = aConditions; m_uiConditions[aAction.GetId()] = aConditions;
wxLogTrace( kicadTraceToolStack, 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() ); aAction.GetId(), aAction.GetName() );
// Register a new handler with the new conditions // Register a new handler with the new conditions
@ -126,7 +126,7 @@ bool ACTION_MANAGER::RunHotKey( int aHotKey ) const
if( key >= 'a' && key <= 'z' ) if( key >= 'a' && key <= 'z' )
key = std::toupper( key ); key = std::toupper( key );
wxLogTrace( kicadTraceToolStack, "ACTION_MANAGER::RunHotKey Key: %s", wxLogTrace( kicadTraceToolStack, wxS( "ACTION_MANAGER::RunHotKey Key: %s" ),
KeyNameFromKeyCode( aHotKey ) ); KeyNameFromKeyCode( aHotKey ) );
HOTKEY_LIST::const_iterator it = m_actionHotKeys.find( key | mod ); 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() ) if( it == m_actionHotKeys.end() )
{ {
wxLogTrace( kicadTraceToolStack, 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 ) ) ); KeyNameFromKeyCode( key | ( mod & ~MD_SHIFT ) ) );
it = m_actionHotKeys.find( 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 ); runAction = aCond->enableCondition( sel );
wxLogTrace( kicadTraceToolStack, wxLogTrace( kicadTraceToolStack,
"ACTION_MANAGER::RunHotKey %s context action: %s for hotkey %s", wxS( "ACTION_MANAGER::RunHotKey %s context action: %s for hotkey %s" ),
runAction ? "Running" : "Not running", runAction ? wxS( "Running" ) : wxS( "Not running" ),
context->GetName(), context->GetName(),
KeyNameFromKeyCode( aHotKey ) ); KeyNameFromKeyCode( aHotKey ) );
@ -210,8 +210,8 @@ bool ACTION_MANAGER::RunHotKey( int aHotKey ) const
runAction = aCond->enableCondition( sel ); runAction = aCond->enableCondition( sel );
wxLogTrace( kicadTraceToolStack, wxLogTrace( kicadTraceToolStack,
"ACTION_MANAGER::RunHotKey %s global action: %s for hotkey %s", wxS( "ACTION_MANAGER::RunHotKey %s global action: %s for hotkey %s" ),
runAction ? "Running" : "Not running", runAction ? wxS( "Running" ) : wxS( "Not running" ),
act->GetName(), act->GetName(),
KeyNameFromKeyCode( aHotKey ) ); KeyNameFromKeyCode( aHotKey ) );
@ -221,7 +221,7 @@ bool ACTION_MANAGER::RunHotKey( int aHotKey ) const
} }
wxLogTrace( kicadTraceToolStack, wxLogTrace( kicadTraceToolStack,
"ACTION_MANAGER::RunHotKey No action found for key %s", wxS( "ACTION_MANAGER::RunHotKey No action found for key %s" ),
KeyNameFromKeyCode( aHotKey ) ); KeyNameFromKeyCode( aHotKey ) );
return false; 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 ) 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 ); 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, wxMenuItem* ACTION_MENU::Add( const wxString& aLabel, const wxString& aTooltip, int aId,
BITMAPS aIcon, bool aIsCheckmarkEntry ) 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, wxMenuItem* item = new wxMenuItem( this, aId, aLabel, aTooltip,
aIsCheckmarkEntry ? wxITEM_CHECK : wxITEM_NORMAL ); aIsCheckmarkEntry ? wxITEM_CHECK : wxITEM_NORMAL );
@ -185,7 +185,7 @@ wxMenuItem* ACTION_MENU::Add( ACTION_MENU* aMenu )
{ {
m_submenus.push_back( 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 ) if( !!aMenu->m_icon )
{ {
@ -209,7 +209,7 @@ void ACTION_MENU::AddClose( const wxString& aAppname )
wxID_CLOSE, wxID_CLOSE,
BITMAPS::exit ); BITMAPS::exit );
#else #else
Add( _( "Close" ) + "\tCtrl+W", Add( _( "Close" ) + wxS( "\tCtrl+W" ),
wxString::Format( _( "Close %s" ), aAppname ), wxString::Format( _( "Close %s" ), aAppname ),
wxID_CLOSE, wxID_CLOSE,
BITMAPS::exit ); 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 // Don't use ACTIONS::quit; wxWidgets moves this on OSX and expects to find it via
// wxID_EXIT // wxID_EXIT
Add( _( "Quit" ) + "\tCtrl+Q", Add( _( "Quit" ) + wxS( "\tCtrl+Q" ),
wxString::Format( _( "Quit %s" ), aAppname ), wxString::Format( _( "Quit %s" ), aAppname ),
wxID_EXIT, wxID_EXIT,
BITMAPS::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 // clients that don't supply a tool will have to check GetSelected() themselves
if( evt && m_tool ) 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. // WARNING: if you're squeamish, look away.
// What follows is a series of egregious hacks necessitated by a lack of information from // 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() ) if( aSource->IsSubMenu() )
{ {
ACTION_MENU* menu = dynamic_cast<ACTION_MENU*>( aSource->GetSubMenu() ); 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 ) if( menu )
{ {

View File

@ -57,7 +57,7 @@ wxBitmap MakeDisabledBitmap( const wxBitmap& aSource )
ACTION_GROUP::ACTION_GROUP( const std::string& aName, ACTION_GROUP::ACTION_GROUP( const std::string& aName,
const std::vector<const TOOL_ACTION*>& aActions ) 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 // The default action is just the first action in the vector
m_actions = aActions; m_actions = aActions;
@ -83,7 +83,7 @@ void ACTION_GROUP::SetDefaultAction( const TOOL_ACTION& aDefault )
return aAction->GetId() == aDefault.GetId(); 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; m_defaultAction = &aDefault;
} }
@ -230,7 +230,7 @@ ACTION_TOOLBAR::~ACTION_TOOLBAR()
void ACTION_TOOLBAR::Add( const TOOL_ACTION& aAction, bool aIsToggleEntry, bool aIsCancellable ) void ACTION_TOOLBAR::Add( const TOOL_ACTION& aAction, bool aIsToggleEntry, bool aIsCancellable )
{ {
wxASSERT( GetParent() ); wxASSERT( GetParent() );
wxASSERT_MSG( !( aIsCancellable && !aIsToggleEntry ), "aIsCancellable requires aIsToggleEntry" ); wxASSERT_MSG( !( aIsCancellable && !aIsToggleEntry ), wxS( "aIsCancellable requires aIsToggleEntry" ) );
int toolId = aAction.GetUIId(); int toolId = aAction.GetUIId();
wxBitmap bmp = KiScaledBitmap( aAction.GetIcon(), GetParent() ); wxBitmap bmp = KiScaledBitmap( aAction.GetIcon(), GetParent() );

View File

@ -43,21 +43,21 @@
#include <eda_doc.h> #include <eda_doc.h>
#include <wx/msgdlg.h> #include <wx/msgdlg.h>
#define URL_GET_INVOLVED "https://kicad.org/contribute/" #define URL_GET_INVOLVED wxS( "https://kicad.org/contribute/" )
#define URL_DONATE "https://go.kicad.org/app-donate" #define URL_DONATE wxS( "https://go.kicad.org/app-donate" )
#define URL_DOCUMENTATION "https://docs.kicad.org/" #define URL_DOCUMENTATION wxS( "https://docs.kicad.org/" )
/// URL to launch a new issue with pre-populated description /// URL to launch a new issue with pre-populated description
wxString COMMON_CONTROL::m_bugReportUrl = 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) /// Issue template to use for reporting bugs (this should not be translated)
wxString COMMON_CONTROL::m_bugReportTemplate = wxString COMMON_CONTROL::m_bugReportTemplate = wxS(
"```\n" "```\n"
"%s\n" "%s\n"
"```"; "```" );
void COMMON_CONTROL::Reset( RESET_REASON aReason ) void COMMON_CONTROL::Reset( RESET_REASON aReason )
@ -216,7 +216,7 @@ int COMMON_CONTROL::ShowHelp( const TOOL_EVENT& aEvent )
if( dlg.ShowModal() != wxID_YES ) if( dlg.ShowModal() != wxID_YES )
return -1; return -1;
helpFile = baseUrl + names[0] + "/"; helpFile = baseUrl + names[0] + wxS( "/" );
} }
} }
else else
@ -236,7 +236,7 @@ int COMMON_CONTROL::ShowHelp( const TOOL_EVENT& aEvent )
if( dlg.ShowModal() != wxID_YES ) if( dlg.ShowModal() != wxID_YES )
return -1; 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 ) ) else if( EDA_UNIT_UTILS::IsMetricUnit( aUnit ) )
m_metricUnit = aUnit; m_metricUnit = aUnit;
else 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; return 0;
} }
default: default:
wxFAIL_MSG( "CursorControl(): unexpected request" ); wxFAIL_MSG( wxS( "CursorControl(): unexpected request" ) );
} }
getViewControls()->SetCursorPosition( cursor, true, true, type ); 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 ) ) else if( EDA_UNIT_UTILS::IsImperialUnit( newUnit ) )
m_imperialUnit = newUnit; m_imperialUnit = newUnit;
else else
wxASSERT_MSG( false, "Invalid unit for the frame" ); wxASSERT_MSG( false, wxS( "Invalid unit for the frame" ) );
m_frame->ChangeUserUnits( newUnit ); m_frame->ChangeUserUnits( newUnit );
return 0; return 0;

View File

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

View File

@ -350,7 +350,7 @@ std::optional<TOOL_EVENT> TOOL_DISPATCHER::GetToolEvent( wxKeyEvent* aKeyEvent,
return evt; 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 // if the key event must be skipped, skip it here if the event is a wxEVT_CHAR_HOOK
// and do nothing. // and do nothing.
@ -502,7 +502,7 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
{ {
wxKeyEvent* ke = static_cast<wxKeyEvent*>( &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 // 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 // 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 ) if( evt )
{ {
wxLogTrace( kicadTraceToolStack, "TOOL_DISPATCHER::DispatchWxEvent %s", evt->Format() ); wxLogTrace( kicadTraceToolStack, wxS( "TOOL_DISPATCHER::DispatchWxEvent %s" ), evt->Format() );
handled = m_toolMgr->ProcessEvent( *evt ); handled = m_toolMgr->ProcessEvent( *evt );
wxLogTrace( kicadTraceToolStack, "TOOL_DISPATCHER::DispatchWxEvent - Handled: %s %s", wxLogTrace( kicadTraceToolStack, wxS( "TOOL_DISPATCHER::DispatchWxEvent - Handled: %s %s" ),
( handled ? "true" : "false" ), evt->Format() ); ( handled ? wxS( "true" ) : wxS( "false" ) ), evt->Format() );
} }
// pass the event to the GUI, it might still be interested in it // 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 ) if( tool && tool->GetType() == INTERACTIVE )
return invokeTool( tool ); 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 ); aToolId );
return false; // there is no tool with the given id 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 ) if( tool && tool->GetType() == INTERACTIVE )
return invokeTool( tool ); 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 ); aToolName );
return false; // there is no tool with the given name 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(); TOOL_ID id = aTool->GetId();
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::runTool - running tool %s", wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::runTool - running tool %s" ),
aTool->GetName() ); aTool->GetName() );
if( aTool->GetType() == INTERACTIVE ) if( aTool->GetType() == INTERACTIVE )
@ -485,7 +485,7 @@ void TOOL_MANAGER::ShutdownTool( TOOL_ID aToolId )
if( tool && tool->GetType() == INTERACTIVE ) if( tool && tool->GetType() == INTERACTIVE )
ShutdownTool( tool ); ShutdownTool( tool );
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::ShutdownTool - no tool with ID %d", wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::ShutdownTool - no tool with ID %d" ),
aToolId ); aToolId );
} }
@ -497,7 +497,7 @@ void TOOL_MANAGER::ShutdownTool( const std::string& aToolName )
if( tool && tool->GetType() == INTERACTIVE ) if( tool && tool->GetType() == INTERACTIVE )
ShutdownTool( tool ); ShutdownTool( tool );
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::ShutdownTool - no tool with name %s", wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::ShutdownTool - no tool with name %s" ),
aToolName ); aToolName );
} }
@ -526,7 +526,7 @@ void TOOL_MANAGER::ShutdownTool( TOOL_BASE* aTool )
if( st->cofunc ) if( st->cofunc )
{ {
wxLogTrace( kicadTraceToolStack, wxLogTrace( kicadTraceToolStack,
"TOOL_MANAGER::ShutdownTool - Shutting down tool %s", wxS( "TOOL_MANAGER::ShutdownTool - Shutting down tool %s" ),
st->theTool->GetName() ); st->theTool->GetName() );
setActiveState( st ); setActiveState( st );
@ -599,7 +599,7 @@ void TOOL_MANAGER::InitTools()
if( !tool->Init() ) if( !tool->Init() )
{ {
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER initialization of tool '%s' failed", wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER initialization of tool '%s' failed" ),
tool->GetName() ); tool->GetName() );
// Unregister the tool // Unregister the tool
@ -685,7 +685,7 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
{ {
bool handled = false; bool handled = false;
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::dispatchInternal - received event: %s", wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::dispatchInternal - received event: %s" ),
aEvent.Format() ); aEvent.Format() );
auto it = m_activeTools.begin(); auto it = m_activeTools.begin();
@ -721,7 +721,7 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
st->waitEvents.clear(); st->waitEvents.clear();
wxLogTrace( kicadTraceToolStack, 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() ); st->theTool->GetName(), aEvent.Format() );
setActiveState( st ); setActiveState( st );
@ -737,7 +737,7 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
if( !st->wakeupEvent.PassEvent() ) if( !st->wakeupEvent.PassEvent() )
{ {
wxLogTrace( kicadTraceToolStack, 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() ); st->theTool->GetName(), aEvent.Format() );
return true; return true;
@ -781,7 +781,7 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
st->transitions.clear(); st->transitions.clear();
wxLogTrace( kicadTraceToolStack, 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() ); st->theTool->GetName(), aEvent.Format() );
// got match? Run the handler. // got match? Run the handler.
@ -807,8 +807,8 @@ bool TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
break; // only the first tool gets the event break; // only the first tool gets the event
} }
wxLogTrace( kicadTraceToolStack, "TOOL_MANAGER::dispatchInternal - %s handle event: %s", wxLogTrace( kicadTraceToolStack, wxS( "TOOL_MANAGER::dispatchInternal - %s handle event: %s" ),
( handled ? "Did" : "Did not" ), aEvent.Format() ); ( handled ? wxS( "Did" ) : wxS( "Did not" ) ), aEvent.Format() );
return handled; return handled;
} }
@ -825,7 +825,7 @@ bool TOOL_MANAGER::DispatchHotKey( const TOOL_EVENT& aEvent )
bool TOOL_MANAGER::dispatchActivation( 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() ); aEvent.Format() );
if( aEvent.IsActivate() ) if( aEvent.IsActivate() )
@ -835,7 +835,7 @@ bool TOOL_MANAGER::dispatchActivation( const TOOL_EVENT& aEvent )
if( tool != m_toolNameIndex.end() ) if( tool != m_toolNameIndex.end() )
{ {
wxLogTrace( kicadTraceToolStack, 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() ); tool->second->theTool->GetName(), aEvent.Format() );
runTool( tool->second->theTool ); runTool( tool->second->theTool );
@ -1141,7 +1141,7 @@ void TOOL_MANAGER::applyViewControls( const TOOL_STATE* aState )
bool TOOL_MANAGER::processEvent( const TOOL_EVENT& aEvent ) 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 // First try to dispatch the action associated with the event if it is a key press event
bool handled = DispatchHotKey( aEvent ); 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() ); ( handled ? "Did" : "Did not" ), aEvent.Format() );
return handled; return handled;

View File

@ -45,7 +45,7 @@ void TOOLS_HOLDER::PushTool( const TOOL_EVENT& aEvent )
{ {
const std::string& actionName = aEvent.getCommandStr(); 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 ); m_toolStack.push_back( actionName );
@ -66,7 +66,7 @@ void TOOLS_HOLDER::PopTool( const TOOL_EVENT& aEvent )
{ {
const std::string& actionName = aEvent.getCommandStr(); 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 // 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 // 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!" ) );
} }