Merge master.
[dcpomatic.git] / src / wx / about_dialog.cc
index cbac3ed4339541c21a84cdd348da77adccc48af8..9c7857c1e72c1dc6fddb8d6465446b651bc625fd 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 */
 
+/** @file  src/wx/about_dialog.cc
+ *  @brief The "about DCP-o-matic" dialogue box.
+ */
+
 #include <wx/notebook.h>
 #include <wx/hyperlink.h>
 #include "lib/version.h"
 using std::vector;
 
 AboutDialog::AboutDialog (wxWindow* parent)
-       : wxDialog (parent, wxID_ANY, _("About DVD-o-matic"))
+       : wxDialog (parent, wxID_ANY, _("About DCP-o-matic"))
 {
+       wxBoxSizer* overall_sizer = new wxBoxSizer (wxVERTICAL);
        wxBoxSizer* sizer = new wxBoxSizer (wxVERTICAL);
        
        wxFont title_font (*wxNORMAL_FONT);
-       title_font.SetPointSize (title_font.GetPointSize() + 4);
+       title_font.SetPointSize (title_font.GetPointSize() + 12);
        title_font.SetWeight (wxFONTWEIGHT_BOLD);
 
+       wxFont subtitle_font (*wxNORMAL_FONT);
+       subtitle_font.SetPointSize (subtitle_font.GetPointSize() + 2);
+
        wxFont version_font (*wxNORMAL_FONT);
        version_font.SetWeight (wxFONTWEIGHT_BOLD);
        
-       wxStaticText* t = new wxStaticText (this, wxID_ANY, _("DVD-o-matic"));
+       wxStaticText* t = new wxStaticText (this, wxID_ANY, _("DCP-o-matic"));
        t->SetFont (title_font);
-       sizer->Add (t, wxSizerFlags().Centre().Border());
+       sizer->Add (t, wxSizerFlags().Centre().Border(wxALL, 16));
 
        wxString s;
-       if (strcmp (dvdomatic_git_commit, "release") == 0) {
-               t = new wxStaticText (this, wxID_ANY, std_to_wx (String::compose ("Version %1", dvdomatic_version)));
+       if (strcmp (dcpomatic_git_commit, "release") == 0) {
+               t = new wxStaticText (this, wxID_ANY, std_to_wx (String::compose ("Version %1", dcpomatic_version)));
        } else {
-               t = new wxStaticText (this, wxID_ANY, std_to_wx (String::compose ("Version %1 git %2", dvdomatic_version, dvdomatic_git_commit)));
+               t = new wxStaticText (this, wxID_ANY, std_to_wx (String::compose ("Version %1 git %2", dcpomatic_version, dcpomatic_git_commit)));
        }
        t->SetFont (version_font);
-       sizer->Add (t, wxSizerFlags().Centre().Border());
+       sizer->Add (t, wxSizerFlags().Centre().Border(wxALL, 2));
        sizer->AddSpacer (12);
 
        t = new wxStaticText (
@@ -57,24 +65,25 @@ AboutDialog::AboutDialog (wxWindow* parent)
                _("Free, open-source DCP generation from almost anything."),
                wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER
                );
+       t->SetFont (subtitle_font);
        
-       sizer->Add (t, wxSizerFlags().Centre().Border());
+       sizer->Add (t, wxSizerFlags().Centre().Border(wxALL, 8));
 
        wxHyperlinkCtrl* h = new wxHyperlinkCtrl (
                this, wxID_ANY,
-               wxT ("www.carlh.net/software/dvdomatic"),
-               wxT ("http://www.carlh.net/software/dvdomatic")
+               wxT ("dcpomatic.com"),
+               wxT ("http://dcpomatic.com")
                );
 
-       sizer->Add (h, wxSizerFlags().Centre().Border());
+       sizer->Add (h, wxSizerFlags().Centre().Border(wxALL, 8));
 
        t = new wxStaticText (
                this, wxID_ANY,
-               _("(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"),
+               _("(C) 2012-2014 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen"),
                wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER
                );
        
-       sizer->Add (t, wxSizerFlags().Centre().Border());
+       sizer->Add (t, wxSizerFlags().Centre().Border(wxLEFT | wxRIGHT, 16));
 
        _notebook = new wxNotebook (this, wxID_ANY);
 
@@ -86,44 +95,129 @@ AboutDialog::AboutDialog (wxWindow* parent)
        add_section (_("Written by"), written_by);
 
        wxArrayString translated_by;
-       translated_by.Add (wxT ("Olivier Perriere"));
-       translated_by.Add (wxT ("Lilian Lefranc"));
-       translated_by.Add (wxT ("Thierry Journet"));
-       translated_by.Add (wxT ("Massimiliano Broggi"));
        translated_by.Add (wxT ("Manuel AC"));
+       translated_by.Add (wxT ("Massimiliano Broggi"));
+       translated_by.Add (wxT ("William Fanelli"));
+       translated_by.Add (wxT ("Thierry Journet"));
        translated_by.Add (wxT ("Adam Klotblixt"));
+       translated_by.Add (wxT ("Lilian Lefranc"));
+       translated_by.Add (wxT ("Olivier Perriere"));
+       translated_by.Add (wxT ("Markus Raab"));
+       translated_by.Add (wxT ("Theo Kooijmans"));
+       translated_by.Add (wxT ("Max Aeschlimann"));
+       translated_by.Add (wxT ("Carsten Kurz"));
+       translated_by.Add (wxT ("Grégoire Ausina"));
        add_section (_("Translated by"), translated_by);
 
+       wxArrayString artwork_by;
+       artwork_by.Add (wxT ("David Vignoni"));
+       add_section (_("Artwork by"), artwork_by);
+
        wxArrayString supported_by;
-       supported_by.Add (wxT ("Carsten Kurz"));
-       supported_by.Add (wxT ("Wolfgang Woehl"));
        supported_by.Add (wxT ("Manual AC"));
-       supported_by.Add (wxT ("Theo Lipfert"));
-       supported_by.Add (wxT ("Olivier Lemaire"));
-       supported_by.Add (wxT ("Andrä Steiner"));
-       supported_by.Add (wxT ("Jonathan Jensen"));
-       supported_by.Add (wxT ("Kjarten Michaelsen"));
-       supported_by.Add (wxT ("Jussi Siponen"));
+       supported_by.Add (wxT ("Kambiz Afshar"));
+       supported_by.Add (wxT ("Louis Belloisy"));
+       supported_by.Add (wxT ("Mike Blakesley"));
+       supported_by.Add (wxT ("Jeff Boot"));
+       supported_by.Add (wxT ("Kieran Carroll"));
+       supported_by.Add (wxT ("Frank Cianciolo"));
        supported_by.Add (wxT ("Cinema Clarici"));
+       supported_by.Add (wxT ("Adam Colt"));
+       supported_by.Add (wxT ("Matthias Damm"));
+       supported_by.Add (wxT ("Andres Fink"));
        supported_by.Add (wxT ("Evan Freeze"));
+       supported_by.Add (wxT ("Silvio Giuliano"));
        supported_by.Add (wxT ("Flor Guillaume"));
-       supported_by.Add (wxT ("Adam Klotblixt "));
+       supported_by.Add (wxT ("Jonathan Jensen"));
+       supported_by.Add (wxT ("Chris Kay"));
+       supported_by.Add (wxT ("Adam Klotblixt"));
+       supported_by.Add (wxT ("Filip Kovcin"));
+       supported_by.Add (wxT ("Carsten Kurz"));
        supported_by.Add (wxT ("Lilian Lefranc"));
+       supported_by.Add (wxT ("Sean Leigh"));
+       supported_by.Add (wxT ("Olivier Lemaire"));
        supported_by.Add (wxT ("Gavin Lewarne"));
+       supported_by.Add (wxT ("Theo Lipfert"));
+       supported_by.Add (wxT ("Mattias Mattsson"));
+       supported_by.Add (wxT ("Kjarten Michaelsen"));
+       supported_by.Add (wxT ("Aldo Midali"));
+       supported_by.Add (wxT ("Sylvain Mielle"));
+       supported_by.Add (wxT ("Lindsay Morris"));
+       supported_by.Add (wxT ("Tim O'Brien"));
+       supported_by.Add (wxT ("Ivan Pullman"));
+       supported_by.Add (wxT ("Mark Rolfe"));
+       supported_by.Add (wxT ("Andrä Steiner"));
+       supported_by.Add (wxT ("Jussi Siponen"));
        supported_by.Add (wxT ("Lasse Salling"));
-       supported_by.Add (wxT ("Andres Fink"));
-       supported_by.Add (wxT ("Kieran Carroll"));
+       supported_by.Add (wxT ("Mike Stiebing"));
+       supported_by.Add (wxT ("Randy Stankey"));
+       supported_by.Add (wxT ("Wolfgang Woehl"));
+       supported_by.Add (wxT ("Wolfram Weber"));
+       supported_by.Add (wxT ("Frank de Wulf"));
+       supported_by.Add (wxT ("Pavel Zhdanko"));
        add_section (_("Supported by"), supported_by);
 
-       sizer->Add (_notebook, wxSizerFlags().Centre().Border().Expand());
+       wxArrayString tested_by;
+       tested_by.Add (wxT ("Trever Anderson"));
+       tested_by.Add (wxT ("Mike Blakesley"));
+       tested_by.Add (wxT ("David Booty"));
+       tested_by.Add (wxT ("Roop Chand"));
+       tested_by.Add (wxT ("Daniel Chauvet"));
+       tested_by.Add (wxT ("Adam Colt"));
+       tested_by.Add (wxT ("John Convertino"));
+       tested_by.Add (wxT ("Andreas Eli"));
+       tested_by.Add (wxT ("Maurizio Giampà"));
+       tested_by.Add (wxT ("Luke Granger-Brown"));
+       tested_by.Add (wxT ("Sumit Guha"));
+       tested_by.Add (wxT ("Steve Guttag"));
+       tested_by.Add (wxT ("Patrick Haderer"));
+       tested_by.Add (wxT ("Bill Hamell"));
+       tested_by.Add (wxT ("Jonathan Jensen"));
+       tested_by.Add (wxT ("Thierry Journet"));
+       tested_by.Add (wxT ("Ada de Kamper"));
+       tested_by.Add (wxT ("Stefan Karner"));
+       tested_by.Add (wxT ("Adam Keay"));
+       tested_by.Add (wxT ("Simon Kesselman"));
+       tested_by.Add (wxT ("Pepijn Klijs"));
+       tested_by.Add (wxT ("Denzil Kriekenbeek"));
+       tested_by.Add (wxT ("Carsten Kurz"));
+       tested_by.Add (wxT ("Bill Lam"));
+       tested_by.Add (wxT ("Lilian Lefranc"));
+       tested_by.Add (wxT ("Olivier Lemaire"));
+       tested_by.Add (wxT ("Gavin Lewarne"));
+       tested_by.Add (wxT ("Mattias Mattsson"));
+       tested_by.Add (wxT ("Gérald Maruccia"));
+       tested_by.Add (wxT ("Will Meadows"));
+       tested_by.Add (wxT ("Brad Miller"));
+       tested_by.Add (wxT ("Anders Nordentoft-Madsen"));
+       tested_by.Add (wxT ("Mauro Ottonello"));
+       tested_by.Add (wxT ("Peter Puchner"));
+       tested_by.Add (wxT ("Markus Raab"));
+       tested_by.Add (wxT ("Greg Rooke"));
+       tested_by.Add (wxT ("Karim Senoucci"));
+       tested_by.Add (wxT ("Simon Vannarath"));
+       tested_by.Add (wxT ("Andrew Walls"));
+       tested_by.Add (wxT ("Andreas Weiss"));
+       tested_by.Add (wxT ("Paul Willmott"));
+       tested_by.Add (wxT ("Wolfgang Woehl"));
+       add_section (_("Tested by"), tested_by);
        
-#if 0  
-       info.SetWebSite (wxT ("http://carlh.net/software/dvdomatic"));
-#endif
+       sizer->Add (_notebook, wxSizerFlags().Centre().Border(wxALL, 16).Expand());
+
+       overall_sizer->Add (sizer);
 
-       SetSizerAndFit (sizer);
+       wxSizer* buttons = CreateButtonSizer (wxOK);
+       if (buttons) {
+               overall_sizer->Add (buttons, 1, wxEXPAND | wxALL, 4);
+       }
+       
+       SetSizerAndFit (overall_sizer);
 }
 
+/** Add a section of credits.
+ *  @param name Name of section.
+ *  @param credits List of names.
+ */
 void
 AboutDialog::add_section (wxString name, wxArrayString credits)
 {