/////////////// // 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(); }
void TXTSubtitleFormat::WriteFile(const AssFile *src, agi::fs::path const& filename, std::string const& encoding) const { size_t num_actor_names = 0, num_dialogue_lines = 0; // Detect number of lines with Actor field filled out for (auto dia : src->Line | agi::of_type<AssDialogue>()) { if (!dia->Comment) { num_dialogue_lines++; if (!dia->Actor.get().empty()) num_actor_names++; } } // If too few lines have Actor filled out, don't write it bool write_actors = num_actor_names > num_dialogue_lines/2; bool strip_formatting = true; TextFileWriter file(filename, encoding); file.WriteLineToFile(std::string("# Exported by Aegisub ") + GetAegisubShortVersionString()); // Write the file for (auto dia : src->Line | agi::of_type<AssDialogue>()) { std::string out_line; if (dia->Comment) out_line = "# "; if (write_actors) out_line += dia->Actor.get() + ": "; std::string out_text = strip_formatting ? dia->GetStrippedText() : dia->Text; out_line += out_text; if (!out_text.empty()) file.WriteLineToFile(out_line); } }
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(); }