From a53432736ccb2af3017d26187f548c3f0fc4cced Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Thu, 11 Oct 2012 20:18:47 -0700 Subject: [PATCH] Get wxMessageBox out of AssFile --- aegisub/src/ass_file.cpp | 15 +-------------- aegisub/src/ass_file.h | 4 ---- aegisub/src/dialog_style_manager.cpp | 12 ++++++++++++ aegisub/src/frame_main.cpp | 5 ++++- 4 files changed, 17 insertions(+), 19 deletions(-) diff --git a/aegisub/src/ass_file.cpp b/aegisub/src/ass_file.cpp index 3d0a7ddae..c3ad498e8 100644 --- a/aegisub/src/ass_file.cpp +++ b/aegisub/src/ass_file.cpp @@ -82,10 +82,7 @@ void AssFile::Load(const wxString &_filename, wxString charset, bool addToRecent try { // Get proper format reader const SubtitleFormat *reader = SubtitleFormat::GetReader(_filename); - if (!reader) { - wxMessageBox("Unknown file type","Error loading file",wxOK | wxICON_ERROR | wxCENTER); - return; - } + if (!reader) throw "Unknown file type"; AssFile temp; reader->ReadFile(&temp, _filename, charset); @@ -112,16 +109,6 @@ void AssFile::Load(const wxString &_filename, wxString charset, bool addToRecent catch (agi::UserCancelException const&) { return; } - // Real exception - catch (agi::Exception &e) { - wxMessageBox(lagi_wxString(e.GetChainedMessage()), "Error loading file", wxOK | wxICON_ERROR | wxCENTER); - return; - } - // Other error - catch (...) { - wxMessageBox("Unknown error","Error loading file",wxOK | wxICON_ERROR | wxCENTER); - return; - } // Set general data loaded = true; diff --git a/aegisub/src/ass_file.h b/aegisub/src/ass_file.h index f61c919c2..580d27be6 100644 --- a/aegisub/src/ass_file.h +++ b/aegisub/src/ass_file.h @@ -48,13 +48,9 @@ #include -class FrameRate; class AssDialogue; class AssStyle; class AssAttachment; -class AssDialogueBlock; -class AssDialogueBlockOverride; -class AssDialogueBlockPlain; class AssEntry; typedef std::list::iterator entryIter; diff --git a/aegisub/src/dialog_style_manager.cpp b/aegisub/src/dialog_style_manager.cpp index f49aaee22..4bb7c4491 100644 --- a/aegisub/src/dialog_style_manager.cpp +++ b/aegisub/src/dialog_style_manager.cpp @@ -600,7 +600,19 @@ void DialogStyleManager::OnCurrentImport() { try { temp.Load(filename, "", false); } + catch (const char *err) { + wxMessageBox(err, "Error", wxOK | wxICON_ERROR | wxCENTER, this); + return; + } + catch (wxString const& err) { + wxMessageBox(err, "Error", wxOK | wxICON_ERROR | wxCENTER, this); + return; + } + catch (agi::Exception const& err) { + wxMessageBox(lagi_wxString(err.GetChainedMessage()), "Error", wxOK | wxICON_ERROR | wxCENTER, this); + } catch (...) { + wxMessageBox("Unknown error", "Error", wxOK | wxICON_ERROR | wxCENTER, this); return; } diff --git a/aegisub/src/frame_main.cpp b/aegisub/src/frame_main.cpp index dae5ec74e..534ab953a 100644 --- a/aegisub/src/frame_main.cpp +++ b/aegisub/src/frame_main.cpp @@ -436,13 +436,16 @@ void FrameMain::LoadSubtitles(wxString filename,wxString charset) { return; } catch (const char *err) { - wxMessageBox(wxString(err), "Error", wxOK | wxICON_ERROR | wxCENTER, this); + wxMessageBox(err, "Error", wxOK | wxICON_ERROR | wxCENTER, this); return; } catch (wxString const& err) { wxMessageBox(err, "Error", wxOK | wxICON_ERROR | wxCENTER, this); return; } + catch (agi::Exception const& err) { + wxMessageBox(lagi_wxString(err.GetChainedMessage()), "Error", wxOK | wxICON_ERROR | wxCENTER, this); + } catch (...) { wxMessageBox("Unknown error", "Error", wxOK | wxICON_ERROR | wxCENTER, this); return;