← Back to team overview

kicad-developers team mailing list archive

Re: Add links to library contributor page(s) on GitHub

 

Wayne,

Ah, dropped the wxT.

I have fixed it in the attached patch.

Thanks,

On Tue, Dec 12, 2017 at 3:36 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx>
wrote:

> Oliver,
>
> I see you noticed that I added a place holder for library devs.  I was
> going to ask you for a list of contributors but I like you solution
> better.  That being said, there is a problem with your patch on windows
> (see attached image).
>
> Cheers,
>
> Wayne
>
> On 12/11/2017 9:02 AM, Oliver Walters wrote:
> > The attached patch adds links to the library contributor pages, which
> > list all the contributors to the various library repositories:
> >
> > Previously the symbols and footprints were attributed to "Leet hacker1"
> > and her associate "Leet hacker2". While I am sure they have made
> > valuable contributions, I think their time has come.
> >
> > Inline image 1
> >
> >
> > Wayne: I would like to reiterate that Christophe and Renie have not made
> > contributions to the _current_ 3D model repository which has been
> > completely remastered thanks to the great efforts of Maurice et al. It
> > has _no_ resemblance to the old hodge-podge of model files, it's a real
> > credit to the work of the modeling team
> >
> > I think here (unlike the icons credits) it would be sufficient to just
> > link to the GitHub contributors page - would you agree?
> >
> > Thanks,
> > Oliver
> >
> >
> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers
> > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~kicad-developers
> > More help   : https://help.launchpad.net/ListHelp
> >
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
>
From d1eec5b40dc1a3684af70e24e0de071bd0260779 Mon Sep 17 00:00:00 2001
From: Oliver <oliver.henry.walters@xxxxxxxxx>
Date: Tue, 12 Dec 2017 00:56:32 +1100
Subject: [PATCH] Add links to list of library contributors on GitHub

- Apologies to "leet hackers"
- Add URL option to contributor entity
---
 common/dialog_about/AboutDialog_main.cpp | 43 ++++++++++++++++++++++++++++++--
 common/dialog_about/aboutinfo.h          |  4 +++
 common/dialog_about/dialog_about.cpp     | 29 ++++++++++++++++-----
 3 files changed, 68 insertions(+), 8 deletions(-)

diff --git a/common/dialog_about/AboutDialog_main.cpp b/common/dialog_about/AboutDialog_main.cpp
index d259962..2c362f4 100644
--- a/common/dialog_about/AboutDialog_main.cpp
+++ b/common/dialog_about/AboutDialog_main.cpp
@@ -254,94 +254,117 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
      */
     aInfo.AddTranslator( new CONTRIBUTOR( "Robert Buj",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Catalan (CA)",
                                           KiBitmapNew( lang_catalan_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Martin Kratoška" ),
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Czech (CZ)",
                                           KiBitmapNew( lang_cs_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Jerry Jacobs",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Dutch (NL)",
                                           KiBitmapNew( lang_nl_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Vesa Solonen",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Finnish (FI)",
                                           KiBitmapNew( lang_fi_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Jean-Pierre Charras",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "French (FR)",
                                           KiBitmapNew( lang_fr_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Mateusz Skowroński" ),
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Polish (PL)",
                                           KiBitmapNew( lang_pl_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Kerusey Karyu",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Polish (PL)",
                                           KiBitmapNew( lang_pl_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Renie Marquet",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Portuguese (PT)",
                                           KiBitmapNew( lang_pt_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Igor Plyatov",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Russian (RU)",
                                           KiBitmapNew( lang_ru_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Andrey Fedorushkov",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Russian (RU)",
                                           KiBitmapNew( lang_ru_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Eldar Khayrullin",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Russian (RU)",
                                          KiBitmapNew( lang_ru_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Pedro Martin del Valle",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Spanish (ES)",
                                           KiBitmapNew( lang_es_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Iñigo Zuluaga" ),
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Spanish (ES)",
                                           KiBitmapNew( lang_es_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( wxT( "Iñigo Figuero" ),
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Spanish (ES)",
                                           KiBitmapNew( lang_es_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Rafael Sokolowski",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "German (DE)",
                                           KiBitmapNew( lang_de_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Kenta Yonekura",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Japanese (JA)",
                                           KiBitmapNew( lang_jp_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Manolis Stefanis",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Greek (el_GR)",
                                           KiBitmapNew( lang_gr_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Athanasios Vlastos",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Greek (el_GR)",
                                           KiBitmapNew( lang_gr_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Milonas Kostas",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Greek (el_GR)",
                                           KiBitmapNew( lang_gr_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Michail Misirlis",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Greek (el_GR)",
                                           KiBitmapNew( lang_gr_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Massimo Cioce",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Italian (IT)",
                                           KiBitmapNew( lang_it_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Marco Ciampa",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Italian (IT)",
                                           KiBitmapNew( lang_it_xpm ) ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Evgeniy Ivanov",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           "Bulgarian (BG)",
                                           KiBitmapNew( lang_bg_xpm ) ) );
 
@@ -349,52 +372,68 @@ static void buildKicadAboutBanner( EDA_BASE_FRAME* aParent, ABOUT_APP_INFO& aInf
     #define OTHERS_IN_TRANSLATION _( "Others" )
     aInfo.AddTranslator( new CONTRIBUTOR( "Remy Halvick",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           OTHERS_IN_TRANSLATION ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "David Briscoe",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           OTHERS_IN_TRANSLATION ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Dominique Laigle",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           OTHERS_IN_TRANSLATION ) );
     aInfo.AddTranslator( new CONTRIBUTOR( "Paul Burke",
                                           wxEmptyString,
+                                          wxEmptyString,
                                           OTHERS_IN_TRANSLATION ) );
 
     // Programm credits for icons
     #define ICON_CONTRIBUTION _( "Icons by" )
     aInfo.AddArtist( new CONTRIBUTOR( wxT( "Iñigo Zuluaga" ),
                                       wxEmptyString,
+                                      wxEmptyString,
                                       ICON_CONTRIBUTION,
                                       KiBitmapNew( svg_file_xpm ) ) );
     aInfo.AddArtist( new CONTRIBUTOR( "Konstantin Baranovskiy",
                                       wxEmptyString,
+                                      wxEmptyString,
                                       ICON_CONTRIBUTION,
                                       KiBitmapNew( svg_file_xpm ) ) );
     aInfo.AddArtist( new CONTRIBUTOR( "Fabrizio Tappero",
                                       wxEmptyString,
+                                      wxEmptyString,
                                       ICON_CONTRIBUTION,
                                       KiBitmapNew( svg_file_xpm ) ) );
 
     // Program credits for 3d models
     #define MODELS_3D_CONTRIBUTION _( "3D models by" )
+    aInfo.AddArtist( new CONTRIBUTOR( "GitHub contributors",
+                                      wxEmptyString,
+                                      "https://github.com/KiCad/kicad-packages3D/graphs/contributors";,
+                                      MODELS_3D_CONTRIBUTION,
+                                      KiBitmapNew( three_d_xpm ) ) );
     aInfo.AddArtist( new CONTRIBUTOR( "Christophe Boschat",
                                       wxEmptyString,
+                                      wxEmptyString,
                                       MODELS_3D_CONTRIBUTION,
                                       KiBitmapNew( three_d_xpm ) ) );
     aInfo.AddArtist( new CONTRIBUTOR( "Renie Marquet",
                                       wxEmptyString,
+                                      wxEmptyString,
                                       MODELS_3D_CONTRIBUTION,
                                       KiBitmapNew( three_d_xpm ) ) );
 
     #define SYMBOL_LIB_CONTRIBUTION _( "Symbols by" )
-    aInfo.AddArtist( new CONTRIBUTOR( "Leet Hacker1",
+    aInfo.AddArtist( new CONTRIBUTOR( "GitHub contributors",
                                       wxEmptyString,
+                                      "https://github.com/KiCad/kicad-symbols/graphs/contributors";,
                                       SYMBOL_LIB_CONTRIBUTION,
                                       KiBitmapNew( edit_component_xpm ) ) );
 
     #define FOOTPRINT_LIB_CONTRIBUTION _( "Footprints by" )
-    aInfo.AddArtist( new CONTRIBUTOR( "Leet Hacker2",
+    aInfo.AddArtist( new CONTRIBUTOR( "GitHub contributors",
                                       wxEmptyString,
+                                      "https://github.com/KiCad/kicad-footprints/graphs/contributors";,
                                       FOOTPRINT_LIB_CONTRIBUTION,
                                       KiBitmapNew( edit_module_xpm ) ) );
 
diff --git a/common/dialog_about/aboutinfo.h b/common/dialog_about/aboutinfo.h
index 0d51c89..cb66215 100644
--- a/common/dialog_about/aboutinfo.h
+++ b/common/dialog_about/aboutinfo.h
@@ -138,11 +138,13 @@ class CONTRIBUTOR
 public:
     CONTRIBUTOR( const wxString& aName,
                  const wxString& aEmail = wxEmptyString,
+                 const wxString& aUrl = wxEmptyString,
                  const wxString& aCategory = wxEmptyString,
                  wxBitmap*       aIcon = NULL )
     {
         m_checked = false;
         m_name = aName;
+        m_url = aUrl,
         m_email = aEmail;
         m_category = aCategory;
         m_icon = aIcon;
@@ -152,6 +154,7 @@ public:
 
     wxString& GetName()     { return m_name; }
     wxString& GetEMail()    { return m_email; }
+    wxString& GetUrl()      { return m_url; }
     wxString& GetCategory() { return m_category; }
     wxBitmap* GetIcon()     { return m_icon; }
     void SetChecked( bool status ) { m_checked = status; }
@@ -160,6 +163,7 @@ public:
 private:
     wxString  m_name;
     wxString  m_email;
+    wxString  m_url;
     wxString  m_category;
     wxBitmap* m_icon;
     bool      m_checked;
diff --git a/common/dialog_about/dialog_about.cpp b/common/dialog_about/dialog_about.cpp
index 0e4d881..0936240 100644
--- a/common/dialog_about/dialog_about.cpp
+++ b/common/dialog_about/dialog_about.cpp
@@ -39,6 +39,7 @@ extern std::string GetCurlLibVersion();
 #include <boost/version.hpp>
 #include <wx/clipbrd.h>
 #include <wx/msgdlg.h>
+#include <wx/hyperlink.h>
 
 /* All KiCad icons are linked into shared library 'libbitmaps.a'.
  *  Icons:
@@ -251,13 +252,29 @@ void DIALOG_ABOUT::createNotebookPageByCategory(wxAuiNotebook* aParent, const wx
                     // First column is empty
                     fgSizer1->AddSpacer(5);
 
-                    // Name of contributor at second column
-                    wxStaticText* m_staticText2 = new wxStaticText( m_scrolledWindow1, wxID_ANY,
-                                                                    wxT(" • ") + sub_contributor->GetName(),
-                                                                    wxDefaultPosition,
-                                                                    wxDefaultSize, 0 );
+                    wxControl* ctrl;
+
+                    // No URL supplied, display normal text control
+                    if( sub_contributor->GetUrl().IsEmpty() )
+                    {
+                        ctrl = new wxStaticText( m_scrolledWindow1, wxID_ANY,
+                                                 wxT( "  • " ) + sub_contributor->GetName(),
+                                                 wxDefaultPosition,
+                                                 wxDefaultSize, 0 );
+                    }
+                    else
+                    {
+                        // Display a hyperlink control instead
+                        ctrl = new wxHyperlinkCtrl( m_scrolledWindow1, wxID_ANY,
+                                                    wxT( "• " ) + sub_contributor->GetName(),
+                                                    sub_contributor->GetUrl(),
+                                                    wxDefaultPosition,
+                                                    wxDefaultSize, wxHL_ALIGN_LEFT );
+                    }
+
                     m_staticText1->Wrap( -1 );
-                    fgSizer1->Add( m_staticText2, 0, wxALIGN_LEFT|wxBOTTOM, 2 );
+
+                    fgSizer1->Add( ctrl, 0, wxALIGN_LEFT|wxBOTTOM, 2 );
 
                     // Email address of contributor at third column
                     if( sub_contributor->GetEMail() != wxEmptyString )
-- 
2.7.4


Follow ups

References