///////////////////////////////////////////////////////////////////////////// // Name: About.cpp // Purpose: About dialog // Author: Alex Thuering // Created: 6.11.2003 // RCS-ID: $Id: About.cpp,v 1.32 2007/08/19 09:06:13 ntalex Exp $ // Copyright: (c) Alex Thuering // Licence: GPL ///////////////////////////////////////////////////////////////////////////// #include "About.h" #include "hyperlink.h" #include #include #include #include #ifdef __WXMSW__ #undef wxBITMAP #define wxBITMAP(icon) wxBitmap(icon##_xpm) #endif #include "rc/logo.xpm" About::About(wxWindow* parent): wxDialog(parent, -1, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER) { // sets the application icon SetTitle(_("About ...")); wxNotebook* notebook = new wxNotebook(this, -1); wxPanel* aboutPanel = new wxPanel(notebook, -1); notebook->AddPage(aboutPanel, _("About")); wxBoxSizer* aboutSizer = new wxBoxSizer(wxVERTICAL); aboutPanel->SetAutoLayout(true); aboutPanel->SetSizer(aboutSizer); // about info wxGridSizer* aboutinfo = new wxFlexGridSizer(2, 3, 3); aboutinfo->Add(new wxStaticText(aboutPanel, -1, _("Written by: ")), 0, wxALIGN_LEFT); aboutinfo->Add(new wxStaticText(aboutPanel, -1, APP_MAINT), 1, wxEXPAND | wxALIGN_LEFT); aboutinfo->Add(new wxStaticText(aboutPanel, -1, _("Version: ")), 0, wxALIGN_LEFT); aboutinfo->Add(new wxStaticText(aboutPanel, -1, APP_VERSION), 1, wxEXPAND | wxALIGN_LEFT); aboutinfo->Add(new wxStaticText(aboutPanel, -1, _("Licence type: ")), 0, wxALIGN_LEFT); aboutinfo->Add(new wxStaticText(aboutPanel, -1, APP_LICENCE), 1, wxEXPAND | wxALIGN_LEFT); aboutinfo->Add(new wxStaticText(aboutPanel, -1, _("Copyright: ")), 0, wxALIGN_LEFT); aboutinfo->Add(new wxStaticText(aboutPanel, -1, APP_COPYRIGTH), 1, wxEXPAND | wxALIGN_LEFT); // about title/info wxBoxSizer* abouttext = new wxBoxSizer(wxVERTICAL); wxStaticText* appname = new wxStaticText(aboutPanel, -1, APP_NAME); appname->SetFont(wxFont(10, wxDEFAULT, wxNORMAL, wxBOLD)); abouttext->Add(appname, 0, wxALIGN_LEFT); abouttext->Add(0, 10); abouttext->Add(aboutinfo, 1, wxEXPAND); // about icontitle//info wxBoxSizer* aboutpane = new wxBoxSizer(wxHORIZONTAL); wxBitmap bitmap = wxBITMAP(logo); aboutpane->Add(new wxStaticBitmap(aboutPanel, -1, bitmap), 0, wxALIGN_LEFT); aboutpane->Add(10, 0); aboutpane->Add(abouttext, 1, wxEXPAND); // about description aboutSizer->Add(aboutpane, 0, wxEXPAND | wxALL, 10); aboutSizer->Add(new wxStaticText(aboutPanel, -1, _("DVDStyler is a crossplatform authoring system for Video DVD production.")), 0, wxALIGN_CENTER | wxLEFT | wxRIGHT, 10); aboutSizer->Add(0, 6); myHyperLink* website = new myHyperLink(aboutPanel, -1, APP_WEBSITE); wxString url = APP_WEBSITE; website->SetURL(url); aboutSizer->Add(website, 0, wxALIGN_CENTER); // authors wxHtmlWindow* authorsPanel = new wxHtmlWindow(notebook, -1, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxHW_SCROLLBAR_AUTO); wxString page = _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T(""); page += _T("
"); page += _("Author and Maintainer"); page += _T("
 "); page += _T("Alex Thüring <alex.thuering at web.de>"); page += _T("
 
"); page += _("Doc Writer"); page += _T("
 "); page += _T("Don Brett <dlbrett at zoominternet.net>"); page += _T("
 
"); page += _("Packager (.deb)"); page += _T("
 "); page += _T("Jürgen Braun <jaybe at users.sourceforge.net>"); page += _T("
 "); page += _T("Uwe Bugla <uwe.bugla at gmx.de>"); page += _T("
 
"); page += _("Translations"); page += _T("
 BasquePiarres Beobide <pi at beobide.net>
 BrazilianHenrique Lopes Barone <barone_henrique at yahoo.com.br>, Marco de Freitas <marcodefreitas at gmail.com>
 CatalanMiguel Canteras <ca at openlang.net>
 CzechVlastimil Skácel <vlastiks at gmail.com>
 DanishPatrick Fust <patrick_fust at hotmail.com>
 DutchPatrick Vijgeboom <patrick.vijgeboom at wanadoo.nl>
 FrenchPhilippe Martin <phil.martins at laposte.net>, Uwe Bugla
 GermanAlex Thuering <alex.thuering at web.de>, Uwe Bugla
 HungarianFaczan Laszlo <faczan at freemail.hu>
 ItalianRoberto Minotti <khazad-dum at mail.orson.it>
 JapaneseMontty <montty_jp at yahoo.co.jp>
 PolishMichal Jusyk <drewnozlasu at o2.pl>
 PortugueseHenrique Lopes Barone <barone_henrique at yahoo.com.br>
 RussianAlex Thuering <alex.thuering at web.de>
 SerbianCICIC Ivana <ozzii23 at gmail.com>
 SlovakMichal Kovac <deadsock at deadsock.co.uk>
 SpanishRedy Rodriguez <redy at telefonica.net>
 SwedishDaniel Nylander <po at danielnylander.se>
 
"); page += _("Libraries and Tools"); page += _T("
 wxWidgetsJulian Smart, Robert Roebling and other
 dvdauthorScott Smith
 mjpeg toolsRainer Johanni, Gernot Ziegler and other
 mpgtxLaurent Alacoque
 cdrtoolsJoerg Schilling
 dvd+rw-toolsAndy Polyakov
"); page += _T("
"); page += _T(""); authorsPanel->SetPage(page); notebook->AddPage(authorsPanel, _("Authors")); // licence wxHtmlWindow* licencePanel = new wxHtmlWindow(notebook, -1, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxHW_SCROLLBAR_AUTO); page = _T(""); page += _T(""); page += _T("

"); page += _("DVDStyler is free software \ distributed under GNU General Public License (GPL). \ Please visit those sites for details of each agreement."); page += _T("

"); page += _T("

"); page += _("THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, \ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, \ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS \ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, \ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR \ IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."); page += _T("

"); page += _T("
"); page += _T(""); licencePanel->SetPage(page); notebook->AddPage(licencePanel, _("Licence")); // buttons wxBoxSizer* totalpane = new wxBoxSizer(wxVERTICAL); #if wxCHECK_VERSION(2,6,0) totalpane->Add(notebook, 1, wxEXPAND|wxALL, 6); #else totalpane->Add(new wxNotebookSizer(notebook), 1, wxEXPAND|wxALL, 6); #endif wxButton* okButton = new wxButton(this, wxID_OK, _("OK")); okButton->SetDefault(); #if defined(__WXGTK__) && wxCHECK_VERSION(2,5,2) && !wxCHECK_VERSION(2,5,4) okButton->SetSizeHints(-1, okButton->GetSize().GetY()+8); #endif totalpane->Add(okButton, 0, wxALIGN_CENTER|wxLEFT|wxRIGHT|wxBOTTOM, 10); SetSizerAndFit(totalpane); Center(); ShowModal(); }