///////////////
// Constructor
AboutScreen::AboutScreen(wxWindow *parent)
: wxDialog (parent, -1, _("About Aegisub"), wxDefaultPosition, wxSize(300,240), wxSTAY_ON_TOP | wxCAPTION | wxCLOSE_BOX , _("About Aegisub"))
{
	// Get splash
	wxBitmap splash = wxBITMAP(splash);

	// Picture
	wxSizer *PicSizer = new wxBoxSizer(wxHORIZONTAL);
	PicSizer->Add(new BitmapControl(this,splash));

	// Generate about string
	wxString aboutString;
	wxString translatorCredit = _("Translated into LANGUAGE by PERSON\n");
	if (translatorCredit == _T("Translated into LANGUAGE by PERSON\n")) translatorCredit.Clear();
	aboutString += wxString(_T("Aegisub ")) + GetAegisubShortVersionString() + _(" by ArchMage ZeratuL.\n");
	aboutString += _("Copyright (c) 2005-2006 - Rodrigo Braz Monteiro.\n\n");
	aboutString += _("Automation module is Copyright (c) 2005-2006 Niels Martin Hansen (aka jfs).\n");
	aboutString += _("Motion tracker module is Copyright (c) 2006 Hajo Krabbenhoeft (aka Tentacle).\n");
	aboutString += _("Coding by ArchMageZeratuL, jfs, Myrsloik, equinox, Tentacle and nmap.\n");
	aboutString += _("Manual by ArchMage ZeratuL, jfs, movax, Kobi, TheFluff and Jcubed.\n");
	aboutString += _("Forum and bug tracker hosting by Bot1.\n");
	aboutString += _("SVN hosting by BerliOS and Mentar.\n");
	aboutString += translatorCredit;
	aboutString += _("\nSee the help file for full credits.\n");
	aboutString += wxString::Format(_("Built by %s on %s."), GetAegisubBuildCredit().c_str(), GetAegisubBuildTime().c_str());

	// Text sizer
	wxSizer *TextSizer = new wxBoxSizer(wxVERTICAL);
	TextSizer->Add(new wxStaticText(this,-1,aboutString),1);

	// Button sizer
	wxSizer *ButtonSizer = new wxBoxSizer(wxHORIZONTAL);
	ButtonSizer->AddStretchSpacer(1);
#ifndef __WXMAC__
	ButtonSizer->Add(new wxButton(this,wxID_OK),0,0,0);
#else
	wxButton *okButton = new wxButton(this,wxID_OK);
	ButtonSizer->Add(okButton,0,0,0);
	okButton->SetDefault();
#endif

	// Main sizer
	wxSizer *MainSizer = new wxBoxSizer(wxVERTICAL);
	MainSizer->Add(PicSizer,0,wxBOTTOM,5);
	MainSizer->Add(TextSizer,0,wxEXPAND | wxBOTTOM | wxRIGHT | wxLEFT,5);
	MainSizer->Add(new wxStaticLine(this,wxID_ANY),0,wxEXPAND | wxALL,5);
	MainSizer->Add(ButtonSizer,0,wxEXPAND | wxBOTTOM | wxRIGHT | wxLEFT,5);

	// Set sizer
	MainSizer->SetSizeHints(this);
	SetSizer(MainSizer);

	// Draw logo
	Centre();
}
Exemple #2
0
void ShowAboutDialog(wxWindow *parent) {
	wxDialog d(parent, -1, _("About Aegisub"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX);

	wxString translatorCredit = _("Translated into LANGUAGE by PERSON\n");
	if (translatorCredit == "Translated into LANGUAGE by PERSON\n")
		translatorCredit.clear();

	// Generate about string
	wxString aboutString = wxString("Aegisub ") + GetAegisubShortVersionString() + ".\n"
		"Copyright (c) 2005-2014 Rodrigo Braz Monteiro, Niels Martin Hansen, Thomas Goyne et al.\n\n"
		"Programmers:\n"
		"    Alysson Souza e Silva\n"
		"    Amar Takhar\n"
		"    Dan Donovan\n"
		"    Daniel Moscoviter\n"
		"    David Conrad\n"
		"    David Lamparter\n"
		"    Eric Batalitzky\n"
		"    Evgeniy Stepanov\n"
		"    Fredrik Mellbin\n"
		"    Grigori Goronzy\n"
		"    Karl Blomster\n"
		"    Mike Matsnev\n"
		"    Moritz Brunner\n"
		"    Muhammad Lukman Nasaruddin\n"
		"    Niels Martin Hansen\n"
		"    Patryk Pomykalski\n"
		"    Ravi Pinjala\n"
		"    Rodrigo Braz Monteiro\n"
		"    Simone Cociancich\n"
		"    Thomas Goyne\n"
		"User manual written by:\n"
		"    Karl Blomster\n"
		"    Niels Martin Hansen\n"
		"    Rodrigo Braz Monteiro\n"
		"Icons by:\n"
		"    Philip Cash\n"
		"Additional thanks to:\n"
		"    Mentar\n"
		"    Sigurd Tao Lyngse\n"
		"    Everyone in the Aegisub IRC channel\n"
		"    Everyone who ever reported a bug\n"
		+ translatorCredit + "\n"
		"Aegisub includes portions from the following other projects:\n"
		"    wxWidgets - Copyright (c) Julian Smart, Robert Roebling et al;\n"
		"    wxStyledTextCtrl - Copyright (c) Robin Dunn, Neil Hodgson;\n"
		"    Scintilla - Copyright (c) Neil Hodgson;\n"
		"    Boost - Copyright (c) Beman Dawes, David Abrahams et al;\n"
		"    UniversalCharDet - Copyright (c) Netscape Communications Corp.;\n"
		"    ICU - Copyright (c) International Business Machines Corp.;\n"
		"    Lua - Copyright (c) Lua.org, PUC-Rio;\n"
		"    LuaJIT - Copyright (c) Mike Pall;\n"
		"    luabins - Copyright (c) Alexander Gladysh;\n"
#ifdef WITH_HUNSPELL
		"    Hunspell - Copyright (c) Kevin Hendricks;\n"
#endif
#ifdef WITH_PORTAUDIO
		"    PortAudio - Copyright (c) Ross Bencina, Phil Burk;\n"
#endif
#ifdef WITH_FFMS2
		"    FFmpeg - Copyright (c) Fabrice Bellard;\n"
		"    FFMS2 - Copyright (c) Fredrik Mellbin;\n"
#endif
#ifdef WITH_AVISYNTH
		"    Avisynth 2.5 - Copyright (c) Ben Rudiak-Gould et al;\n"
#endif
#ifdef WITH_CSRI
		"    csri - Copyright (c) David Lamparter;\n"
# ifdef __WINDOWS__
		"    vsfilter - Copyright (c) Gabest et al;\n"
# endif
#endif
		"    libass - Copyright (c) Evgeniy Stepanov, Grigori Goronzy;\n"
		"    Matroska Parser - Copyright (c) Mike Matsnev;\n"
		"    Freetype - Copyright (c) David Turner, Robert Wilhelm, Werner Lemberg;\n"
		"    Fontconfig - Copyright (c) Keith Packard et al;\n"
#ifdef WITH_FFTW3
		"    FFTW - Copyright (c) Matteo Frigo, Massachusetts Institute of Technology;\n"
#endif
		+ _("\nSee the help file for full credits.\n")
#ifdef BUILD_CREDIT
		+ fmt_tl("Built by %s on %s.", GetAegisubBuildCredit(), GetAegisubBuildTime())
#endif
		;

	// Replace copyright symbol
	wxChar copySymbol = 0xA9;
	aboutString.Replace("(c)", wxString(copySymbol));

	wxTextCtrl *textctrl = new wxTextCtrl(&d, -1, aboutString, wxDefaultPosition, wxSize(-1, 200), wxTE_MULTILINE | wxTE_READONLY | wxBORDER_NONE);

	wxSizer *MainSizer = new wxBoxSizer(wxVERTICAL);
	MainSizer->Add(new wxStaticBitmap(&d, -1, GETIMAGE(splash)), 0, wxCENTER, 0);
	MainSizer->Add(new wxStaticLine(&d, wxID_ANY), 0, wxEXPAND | wxALL, 0);
	MainSizer->Add(textctrl, 0, wxEXPAND | wxALL, 0);
	MainSizer->Add(new wxStaticLine(&d, wxID_ANY), 0, wxEXPAND | wxALL, 0);
	MainSizer->Add(d.CreateButtonSizer(wxOK), 0, wxEXPAND | wxALL, 6);

	d.SetSizerAndFit(MainSizer);
	d.CentreOnParent();
	d.ShowModal();
}