Пример #1
0
bool ShowAboutDialog( wxWindow* parent )
{
    AboutAppInfo info;

    InitKiCadAboutNew( info );

    dialog_about* dlg = new dialog_about( parent, info );
    dlg->SetIcon( info.GetIcon() );
    dlg->Show();

    return true;
}
/**
 * Initializes the <code>AboutAppInfo</code> object with application specific information.
 *
 * This the object which holds all information about the application
 */
static void InitKiCadAboutNew( AboutAppInfo& info )
{
    // Set application specific icon
    const wxTopLevelWindow* const tlw = wxDynamicCast( Pgm().App().GetTopWindow(), wxTopLevelWindow );

    if( tlw )
        info.SetIcon( tlw->GetIcon() );
    else
    {
        wxBitmap    bitmap = KiBitmap( icon_kicad_xpm  );
        wxIcon      icon;

        icon.CopyFromBitmap( bitmap );

        info.SetIcon( icon );
    }

    /* Set title */
    info.SetAppName( wxT( ".: " ) + Pgm().App().GetAppName() + wxT( " :." ) );

    /* Copyright information */
    info.SetCopyright( wxT( "(C) 1992-2015 KiCad Developers Team" ) );

    /* KiCad build version */
    wxString version;
    version << wxT( "Version: " ) << GetBuildVersion()
#ifdef DEBUG
            << wxT( ", debug" )
#else
            << wxT( ", release" )
#endif
            << wxT( " build" );

    info.SetBuildVersion( version );

    /* wxWidgets version */
    wxString libVersion;
    libVersion
        << wxT( "wxWidgets " )
        << wxMAJOR_VERSION << wxT( "." )
        << wxMINOR_VERSION << wxT( "." )
        << wxRELEASE_NUMBER

    /* Unicode or ANSI version */
#if wxUSE_UNICODE
        << wxT( " Unicode " );
#else
        << wxT( " ANSI " );
Пример #3
0
/**
 * Initializes the <code>AboutAppInfo</code> object with application specific information.
 *
 * This the object which holds all information about the application
 */
static void InitKiCadAboutNew( AboutAppInfo& info )
{
    // Set application specific icon
    const wxTopLevelWindow* const tlw = wxDynamicCast( Pgm().App().GetTopWindow(),
                                                       wxTopLevelWindow );

    if( tlw )
        info.SetIcon( tlw->GetIcon() );
    else
    {
        wxBitmap    bitmap = KiBitmap( icon_kicad_xpm  );
        wxIcon      icon;

        icon.CopyFromBitmap( bitmap );

        info.SetIcon( icon );
    }

    /* Set title */
    info.SetAppName( Pgm().App().GetAppName() );

    /* Copyright information */
    info.SetCopyright( wxT( "(C) 1992-2016 KiCad Developers Team" ) );

    /* KiCad build version */
    wxString version;
    version << GetBuildVersion()
#ifdef DEBUG
            << wxT( ", debug" )
#else
            << wxT( ", release" )
#endif
            << wxT( " build" );

    info.SetBuildVersion( version );

    /* wxWidgets version */
    wxString libVersion;
    libVersion << wxGetLibraryVersionInfo().GetVersionString();

    /* Unicode or ANSI version */
#if wxUSE_UNICODE
    libVersion << wxT( " Unicode " );
#else
    libVersion << wxT( " ANSI " );
#endif

    // Just in case someone builds KiCad with the platform native of Boost instead of
    // the version included with the KiCad source.
    libVersion << wxT( "and Boost " ) << ( BOOST_VERSION / 100000 ) << wxT( "." )
               << ( BOOST_VERSION / 100 % 1000 ) << wxT( "." ) << ( BOOST_VERSION % 100 )
               << wxT( "\n" );

    // Operating System Information

    wxPlatformInfo platformInfo;

    libVersion << wxT( "Platform: " ) << wxGetOsDescription() << wxT( ", " )
               << platformInfo.GetArchName();

    info.SetLibVersion( libVersion );


    /* info/description part HTML formatted */

    wxString description;

    /* short description */
    description << wxT( "<p>" );
    description << wxT( "<b><u>" )
                << _( "Description" )
                << wxT( "</u></b>" ); // bold & underlined font for caption

    description << wxT( "<p>" )
                << _( "The KiCad EDA Suite is a set of open source applications for the "
                      "creation of electronic schematics and to design printed circuit boards." )
                << wxT( "</p>" );

    description << wxT( "</p>" );

    /* websites */
    description << wxT( "<p><b><u>" )
                << _( "KiCad on the web" )
                << wxT( "</u></b>" ); // bold & underlined font for caption

    // bullet-ed list with some http links
    description << wxT( "<ul>" );
    description << wxT( "<li>" )
                << HtmlHyperlink( wxT( "http://www.kicad-pcb.org" ),
                                  _( "The official KiCad site" ) )
                << wxT( "</li>" );
    description << wxT( "<li>" )
                << HtmlHyperlink( wxT( "https://launchpad.net/kicad" ),
                                  _( "Developer's website on Launchpad" ) )
                << wxT("</li>" );

    description << wxT( "<li>" )
                << HtmlHyperlink( wxT( "https://github.com/KiCad/" ),
                                  _( "Our official Repository for component and footprint libraries" ) )
                << wxT( "</li>" );

    description << wxT( "<li>" )
                << HtmlHyperlink( wxT( "https://github.com/KiCad/Footprint_Wizards" ),
                                  _( "Footprint wizards info on our official repository " ) )
                << wxT( "</li>" );

    description << wxT( "<p><u>" )
                << _( "Non official repositories" )
                << wxT( "</u>" );
    description << wxT( "<li>" )
                << HtmlHyperlink( wxT( "http://www.kicadlib.org" ),
                                  _( "Additional component libraries repository (kicadlib)" ) )
                << wxT( "</li>" );
    description << wxT( "<li>" )
                << HtmlHyperlink( wxT( "http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm" ),
                                  _( "Additional component libraries repository (smisioto)" ) )
                << wxT( "</li>" );
    description << wxT( "</ul>" );
    description << wxT( "</p>" );

    description << wxT( "<p><b><u>" )
                << _( "Bug tracker" )
                << wxT( "</u></b>" ); // bold & underlined font caption

    // bullet-ed list with some http links
    description << wxT( "<ul>" );
    description << wxT( "<li>" )
                <<HtmlHyperlink( wxT( "https://bugs.launchpad.net/kicad/+bugs?orderby=-id&start=0" ),
                                 _( "Report or examine bugs" ) )
                << wxT( "</li>" );
    description << wxT( "</ul></p>" );

    description << wxT( "<p><b><u>" )
                << _( "KiCad user group and community" )
                << wxT( "</u></b>" ); // bold & underlined font caption

    description << wxT( "<ul>" );
    description << wxT( "<li>" )
                << HtmlHyperlink( wxT( "https://groups.yahoo.com/neo/groups/kicad-users/info" ),
                                  _( "KiCad user group" ) )
                << wxT( "</li>" );

    description << wxT( "<li>" )
                << HtmlHyperlink( wxT( "https://forum.kicad.info" ),
                                  _( "KiCad forum" ) )
                << wxT( "</li>" );

    description << wxT( "</ul></p>" );

    info.SetDescription( description );


    // License information also HTML formatted:
    wxString license;
    license
        << wxT( "<div align='center'>" )
        << HtmlNewline( 4 )
        << _( "The complete KiCad EDA Suite is released under the" ) << HtmlNewline( 2 )
        << HtmlHyperlink( wxT( "http://www.gnu.org/licenses" ),
                          _( "GNU General Public License (GPL) version 3 or any later version" ) )
        << wxT( "</div>" );

    info.SetLicense( license );


    /* A contributor consists of the following information:
     * Mandatory:
     * - Name
     * - EMail address
     * Optional:
     * - Category
     * - Category specific icon
     *
     * All contributors of the same category will be enumerated under this category
     * which should be represented by the same icon.
     */

    // The core developers
    info.AddDeveloper( new Contributor( wxT( "Jean-Pierre Charras" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Dick Hollenbeck" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Wayne Stambaugh" ),
                                        wxT( "*****@*****.**" ) ) );

    // alphabetically by last name after main 3 above:
    info.AddDeveloper( new Contributor( wxT( "Frank Bennett" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Cirilo Bernardo" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Jonas Diemer" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Torsten Hüter" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Jerry Jacobs" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Mario Luzeiro" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Daniel Majewski" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Lorenzo Marcantonio" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Marco Mattila" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Chris Pavlina" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Miguel Angel Ajo Pelayo" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Jacobo Aragunde Perez" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Simon Richter" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Mark Roszko" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Marco Serantoni" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Brian Sidebotham" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Mateusz Skowroński" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Rafael Sokolowski" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Vesa Solonen" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Bernhard Stegmaier" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Orson (Maciej Sumiński)" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Tomasz Wlostowski" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Adam Wolf" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Alexander Zakamaldin" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Henner Zeller" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Andrew Zonenberg" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDeveloper( new Contributor( wxT( "Nick Østergaard" ),
                                        wxT( "*****@*****.**" ) ) );

    // The document writers
    info.AddDocWriter( new Contributor( wxT( "Jean-Pierre Charras" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDocWriter( new Contributor( wxT( "Marco Ciampa" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDocWriter( new Contributor( wxT( "Dick Hollenbeck" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDocWriter( new Contributor( wxT( "Igor Plyatov" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDocWriter( new Contributor( wxT( "Wayne Stambaugh" ),
                                        wxT( "*****@*****.**" ) ) );
    info.AddDocWriter( new Contributor( wxT( "Fabrizio Tappero" ),
                                        wxT( "*****@*****.**" ) ) );

    /* The translators
     * As category the language to which the translation was done is used
     * and as icon the national flag of the corresponding country.
     */
    info.AddTranslator( new Contributor( wxT( "Robert Buj" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Catalan (CA)" ),
                                         KiBitmapNew( lang_catalan_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Martin Kratoška" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Czech (CZ)" ),
                                         KiBitmapNew( lang_cs_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Jerry Jacobs" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Dutch (NL)" ),
                                         KiBitmapNew( lang_nl_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Vesa Solonen" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Finnish (FI)" ),
                                         KiBitmapNew( lang_fi_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Jean-Pierre Charras" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "French (FR)" ),
                                         KiBitmapNew( lang_fr_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Mateusz Skowroński" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Polish (PL)" ),
                                         KiBitmapNew( lang_pl_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Kerusey Karyu" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Polish (PL)" ),
                                         KiBitmapNew( lang_pl_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Renie Marquet" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Portuguese (PT)" ),
                                         KiBitmapNew( lang_pt_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Igor Plyatov" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Russian (RU)" ),
                                         KiBitmapNew( lang_ru_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Andrey Fedorushkov" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Russian (RU)" ),
                                         KiBitmapNew( lang_ru_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Eldar Khayrullin" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Russian (RU)" ),
                                         KiBitmapNew( lang_ru_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Pedro Martin del Valle" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Spanish (ES)" ),
                                         KiBitmapNew( lang_es_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Iñigo Zuluaga" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Spanish (ES)" ),
                                         KiBitmapNew( lang_es_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Iñigo Figuero" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Spanish (ES)" ),
                                         KiBitmapNew( lang_es_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Rafael Sokolowski" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "German (DE)" ),
                                         KiBitmapNew( lang_de_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Kenta Yonekura" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Japanese (JA)" ),
                                         KiBitmapNew( lang_jp_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Manolis Stefanis" ),
                                         wxT( "" ),
                                         wxT( "Greek (el_GR)" ),
                                         KiBitmapNew( lang_gr_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Athanasios Vlastos" ),
                                         wxT( "" ),
                                         wxT( "Greek (el_GR)" ),
                                         KiBitmapNew( lang_gr_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Milonas Kostas" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Greek (el_GR)" ),
                                         KiBitmapNew( lang_gr_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Michail Misirlis" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Greek (el_GR)" ),
                                         KiBitmapNew( lang_gr_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Massimo Cioce" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Italian (IT)" ),
                                         KiBitmapNew( lang_it_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Marco Ciampa" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Italian (IT)" ),
                                         KiBitmapNew( lang_it_xpm ) ) );
    info.AddTranslator( new Contributor( wxT( "Evgeniy Ivanov" ),
                                         wxT( "*****@*****.**" ),
                                         wxT( "Bulgarian (BG)" ),
                                         KiBitmapNew( lang_bg_xpm ) ) );

    // Maintainer who helper in translations, but not in a specific translation
    #define OTHERS_IN_TRANSLATION _( "Others" )
    info.AddTranslator( new Contributor( wxT( "Remy Halvick" ),
                                         wxEmptyString,
                                         OTHERS_IN_TRANSLATION ) );
    info.AddTranslator( new Contributor( wxT( "David Briscoe" ),
                                         wxEmptyString,
                                         OTHERS_IN_TRANSLATION ) );
    info.AddTranslator( new Contributor( wxT( "Dominique Laigle" ),
                                         wxEmptyString,
                                         OTHERS_IN_TRANSLATION ) );
    info.AddTranslator( new Contributor( wxT( "Paul Burke" ),
                                         wxEmptyString,
                                         OTHERS_IN_TRANSLATION ) );

    // Programm credits for icons
    #define ICON_CONTRIBUTION _( "Icons by" )
    info.AddArtist( new Contributor( wxT( "Iñigo Zuluaga" ),
                                     wxT( "*****@*****.**" ),
                                     ICON_CONTRIBUTION,
                                     KiBitmapNew( edit_module_xpm ) ) );
    info.AddArtist( new Contributor( wxT( "Konstantin Baranovskiy" ),
                                     wxT( "*****@*****.**" ),
                                     ICON_CONTRIBUTION,
                                     KiBitmapNew( edit_module_xpm ) ) );
    info.AddArtist( new Contributor( wxT( "Fabrizio Tappero" ),
                                     wxT( "*****@*****.**" ),
                                     ICON_CONTRIBUTION,
                                     KiBitmapNew( edit_module_xpm ) ) );

    // Programm credits for 3d models
    #define MODELS_3D_CONTRIBUTION _( "3D models by" )
    info.AddArtist( new Contributor( wxT( "Christophe Boschat" ),
                                     wxT( "*****@*****.**" ),
                                     MODELS_3D_CONTRIBUTION,
                                     KiBitmapNew( three_d_xpm ) ) );
    info.AddArtist( new Contributor( wxT( "Renie Marquet" ),
                                     wxT( "*****@*****.**" ),
                                     MODELS_3D_CONTRIBUTION,
                                     KiBitmapNew( three_d_xpm ) ) );

    // Programm credits for package developers.
    info.AddPackager( new Contributor( wxT( "Jean-Samuel Reynaud" ),
                                       wxT( "*****@*****.**" ) ) );
    info.AddPackager( new Contributor( wxT( "Bernhard Stegmaier" ),
                                       wxT( "*****@*****.**" ) ) );
    info.AddPackager( new Contributor( wxT( "Adam Wolf" ),
                                       wxT( "*****@*****.**" ) ) );
    info.AddPackager( new Contributor( wxT( "Nick Østergaard" ),
                                       wxT( "*****@*****.**" ) ) );
}