forked from mia/Aegisub
Remove charset detection from AssFile::Load
All of the subtitle formats also already do charset detection when needed, so doing it in it AssFile::Load is pointless and results in performing the auto-detection even when it's pointless (because the format isn't text-based or always uses a single encoding). Originally committed to SVN as r6459.
This commit is contained in:
parent
e20bc09052
commit
51a3831794
2 changed files with 3 additions and 12 deletions
|
@ -51,7 +51,6 @@
|
|||
#include "ass_file.h"
|
||||
#include "ass_override.h"
|
||||
#include "ass_style.h"
|
||||
#include "charset_detect.h"
|
||||
#include "compat.h"
|
||||
#include "main.h"
|
||||
#include "standard_paths.h"
|
||||
|
@ -79,21 +78,15 @@ AssFile::~AssFile() {
|
|||
}
|
||||
|
||||
/// @brief Load generic subs
|
||||
void AssFile::Load(const wxString &_filename,wxString charset,bool addToRecent) {
|
||||
void AssFile::Load(const wxString &_filename, wxString charset, bool addToRecent) {
|
||||
try {
|
||||
if (charset.empty()) {
|
||||
charset = CharSetDetect::GetEncoding(_filename);
|
||||
}
|
||||
|
||||
// Get proper format reader
|
||||
const SubtitleFormat *reader = SubtitleFormat::GetReader(_filename);
|
||||
|
||||
if (!reader) {
|
||||
wxMessageBox("Unknown file type","Error loading file",wxICON_ERROR | wxOK);
|
||||
return;
|
||||
}
|
||||
|
||||
// Read file
|
||||
AssFile temp;
|
||||
reader->ReadFile(&temp, _filename, charset);
|
||||
swap(temp);
|
||||
|
@ -106,7 +99,6 @@ void AssFile::Load(const wxString &_filename,wxString charset,bool addToRecent)
|
|||
wxMessageBox(lagi_wxString(e.GetChainedMessage()), "Error loading file", wxICON_ERROR|wxOK);
|
||||
return;
|
||||
}
|
||||
|
||||
// Other error
|
||||
catch (...) {
|
||||
wxMessageBox("Unknown error","Error loading file",wxICON_ERROR | wxOK);
|
||||
|
@ -116,8 +108,7 @@ void AssFile::Load(const wxString &_filename,wxString charset,bool addToRecent)
|
|||
// Set general data
|
||||
loaded = true;
|
||||
filename = _filename;
|
||||
wxFileName fn(filename);
|
||||
StandardPaths::SetPathValue("?script", fn.GetPath());
|
||||
StandardPaths::SetPathValue("?script", wxFileName(filename).GetPath());
|
||||
|
||||
// Save backup of file
|
||||
if (CanSave() && OPT_GET("App/Auto/Backup")->GetBool()) {
|
||||
|
|
|
@ -79,7 +79,7 @@ bool MicroDVDSubtitleFormat::CanReadFile(wxString const& filename) const {
|
|||
}
|
||||
|
||||
void MicroDVDSubtitleFormat::ReadFile(AssFile *target, wxString const& filename, wxString const& encoding) const {
|
||||
TextFileReader file(filename);
|
||||
TextFileReader file(filename, encoding);
|
||||
wxRegEx exp("^[\\{\\[]([0-9]+)[\\}\\]][\\{\\[]([0-9]+)[\\}\\]](.*)$", wxRE_ADVANCED);
|
||||
|
||||
target->LoadDefault(false);
|
||||
|
|
Loading…
Reference in a new issue