Fixed a memleak in About dialog. Updated the copyright year.
This commit is contained in:
parent
39b4afecfa
commit
0e9dedf3cd
|
@ -64,7 +64,7 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
|
|||
aInfo.SetAppName( Pgm().App().GetAppName() );
|
||||
|
||||
/* Copyright information */
|
||||
aInfo.SetCopyright( "(C) 1992-2017 KiCad Developers Team" );
|
||||
aInfo.SetCopyright( "(C) 1992-2018 KiCad Developers Team" );
|
||||
|
||||
/* KiCad build version */
|
||||
wxString version;
|
||||
|
@ -256,117 +256,117 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
|
|||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Catalan (CA)",
|
||||
KiBitmapNew( lang_catalan_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_catalan_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Martin Kratoška" ),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Czech (CZ)",
|
||||
KiBitmapNew( lang_cs_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_cs_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Jerry Jacobs",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Dutch (NL)",
|
||||
KiBitmapNew( lang_nl_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_nl_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Vesa Solonen",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Finnish (FI)",
|
||||
KiBitmapNew( lang_fi_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_fi_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Jean-Pierre Charras",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"French (FR)",
|
||||
KiBitmapNew( lang_fr_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_fr_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Mateusz Skowroński" ),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Polish (PL)",
|
||||
KiBitmapNew( lang_pl_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_pl_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Kerusey Karyu",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Polish (PL)",
|
||||
KiBitmapNew( lang_pl_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_pl_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Renie Marquet",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Portuguese (PT)",
|
||||
KiBitmapNew( lang_pt_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_pt_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Igor Plyatov",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Russian (RU)",
|
||||
KiBitmapNew( lang_ru_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_ru_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Andrey Fedorushkov",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Russian (RU)",
|
||||
KiBitmapNew( lang_ru_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_ru_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Eldar Khayrullin",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Russian (RU)",
|
||||
KiBitmapNew( lang_ru_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_ru_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Pedro Martin del Valle",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Spanish (ES)",
|
||||
KiBitmapNew( lang_es_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_es_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Iñigo Zuluaga" ),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Spanish (ES)",
|
||||
KiBitmapNew( lang_es_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_es_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Iñigo Figuero" ),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Spanish (ES)",
|
||||
KiBitmapNew( lang_es_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_es_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Rafael Sokolowski",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"German (DE)",
|
||||
KiBitmapNew( lang_de_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_de_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Kenta Yonekura",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Japanese (JA)",
|
||||
KiBitmapNew( lang_jp_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_jp_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Manolis Stefanis",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Greek (el_GR)",
|
||||
KiBitmapNew( lang_gr_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_gr_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Athanasios Vlastos",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Greek (el_GR)",
|
||||
KiBitmapNew( lang_gr_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_gr_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Milonas Kostas",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Greek (el_GR)",
|
||||
KiBitmapNew( lang_gr_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_gr_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Michail Misirlis",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Greek (el_GR)",
|
||||
KiBitmapNew( lang_gr_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_gr_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Massimo Cioce",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Italian (IT)",
|
||||
KiBitmapNew( lang_it_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_it_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Marco Ciampa",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Italian (IT)",
|
||||
KiBitmapNew( lang_it_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_it_xpm ) ) );
|
||||
aInfo.AddTranslator( new CONTRIBUTOR( "Evgeniy Ivanov",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
"Bulgarian (BG)",
|
||||
KiBitmapNew( lang_bg_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( lang_bg_xpm ) ) );
|
||||
|
||||
// Maintainer who helper in translations, but not in a specific translation
|
||||
#define OTHERS_IN_TRANSLATION _( "Others" )
|
||||
|
@ -393,17 +393,17 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
|
|||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
ICON_CONTRIBUTION,
|
||||
KiBitmapNew( svg_file_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( svg_file_xpm ) ) );
|
||||
aInfo.AddArtist( new CONTRIBUTOR( "Konstantin Baranovskiy",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
ICON_CONTRIBUTION,
|
||||
KiBitmapNew( svg_file_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( svg_file_xpm ) ) );
|
||||
aInfo.AddArtist( new CONTRIBUTOR( "Fabrizio Tappero",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
ICON_CONTRIBUTION,
|
||||
KiBitmapNew( svg_file_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( svg_file_xpm ) ) );
|
||||
|
||||
// Program credits for 3d models
|
||||
#define MODELS_3D_CONTRIBUTION _( "3D models by" )
|
||||
|
@ -411,31 +411,31 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
|
|||
wxEmptyString,
|
||||
"https://github.com/KiCad/kicad-packages3D/graphs/contributors",
|
||||
MODELS_3D_CONTRIBUTION,
|
||||
KiBitmapNew( three_d_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( three_d_xpm ) ) );
|
||||
aInfo.AddArtist( new CONTRIBUTOR( "Christophe Boschat",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
MODELS_3D_CONTRIBUTION,
|
||||
KiBitmapNew( three_d_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( three_d_xpm ) ) );
|
||||
aInfo.AddArtist( new CONTRIBUTOR( "Renie Marquet",
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
MODELS_3D_CONTRIBUTION,
|
||||
KiBitmapNew( three_d_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( three_d_xpm ) ) );
|
||||
|
||||
#define SYMBOL_LIB_CONTRIBUTION _( "Symbols by" )
|
||||
aInfo.AddArtist( new CONTRIBUTOR( "GitHub contributors",
|
||||
wxEmptyString,
|
||||
"https://github.com/KiCad/kicad-symbols/graphs/contributors",
|
||||
SYMBOL_LIB_CONTRIBUTION,
|
||||
KiBitmapNew( edit_component_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( edit_component_xpm ) ) );
|
||||
|
||||
#define FOOTPRINT_LIB_CONTRIBUTION _( "Footprints by" )
|
||||
aInfo.AddArtist( new CONTRIBUTOR( "GitHub contributors",
|
||||
wxEmptyString,
|
||||
"https://github.com/KiCad/kicad-footprints/graphs/contributors",
|
||||
FOOTPRINT_LIB_CONTRIBUTION,
|
||||
KiBitmapNew( edit_module_xpm ) ) );
|
||||
aInfo.CreateKiBitmap( edit_module_xpm ) ) );
|
||||
|
||||
// Program credits for package developers.
|
||||
aInfo.AddPackager( new CONTRIBUTOR( "Jean-Samuel Reynaud" ) );
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
#include <wx/bitmap.h>
|
||||
#include <wx/dynarray.h>
|
||||
|
||||
#include "bitmap_types.h"
|
||||
|
||||
class CONTRIBUTOR;
|
||||
|
||||
WX_DECLARE_OBJARRAY( CONTRIBUTOR, CONTRIBUTORS );
|
||||
|
@ -102,6 +104,13 @@ public:
|
|||
void SetAppIcon( const wxIcon& aIcon ) { m_appIcon = aIcon; }
|
||||
wxIcon& GetAppIcon() { return m_appIcon; }
|
||||
|
||||
///> Wrapper to manage memory allocation for bitmaps
|
||||
wxBitmap* CreateKiBitmap( BITMAP_DEF aBitmap )
|
||||
{
|
||||
m_bitmaps.emplace_back( KiBitmapNew( aBitmap ) );
|
||||
return m_bitmaps.back().get();
|
||||
}
|
||||
|
||||
private:
|
||||
CONTRIBUTORS developers;
|
||||
CONTRIBUTORS docwriters;
|
||||
|
@ -118,6 +127,9 @@ private:
|
|||
wxString libVersion;
|
||||
|
||||
wxIcon m_appIcon;
|
||||
|
||||
///> Bitmaps to be freed when the dialog is closed
|
||||
std::vector<std::unique_ptr<wxBitmap>> m_bitmaps;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ private:
|
|||
wxBitmap m_picPackagers;
|
||||
wxBitmap m_picLicense;
|
||||
|
||||
ABOUT_APP_INFO m_info;
|
||||
ABOUT_APP_INFO& m_info;
|
||||
|
||||
public:
|
||||
DIALOG_ABOUT( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aAppInfo );
|
||||
|
|
Loading…
Reference in New Issue