Commit Graph

36 Commits

Author SHA1 Message Date
Thomas Goyne a315ce6903 Fix assert failure when opening with no args 2016-02-08 06:59:49 -08:00
Thomas Goyne 28eb475fc2 Actually use the list of filenames in AegisubApp::OpenFiles() 2016-01-10 19:47:26 -08:00
Thomas Goyne 9b815ac8cc Fix a crash when reattaching video
The window close event propagates up to the detached window's parent, so
the handler for the parent window closing needs to filter it out.
2016-01-02 13:48:00 -08:00
Thomas Goyne ead12de8b6 Actually close all windows on quit 2015-12-21 17:18:07 -08:00
Thomas Goyne 8de8724660 Support creating multiple main windows
This is not yet actually exposed in any way in the UI.
2015-12-21 17:17:51 -08:00
Thomas Goyne 57edbafdda Replace uses of wxThreadEvent with a statically typed event 2015-01-01 10:24:01 -08:00
Thomas Goyne ef4424f5e2 Eliminate implicit std::string <-> wxString conversions
On Windows these don't use UTF-8 and so are broken.
2015-01-01 10:24:00 -08:00
Thomas Goyne 3c59ea9a0a Remove AegisubApp::HandleEvent
OnExceptionInMainLoop covers the same functionality.
2015-01-01 10:24:00 -08:00
Thomas Goyne 13fe4fe9ff Actually load the platform config rather than the default config twice 2014-06-28 19:49:39 -07:00
Thomas Goyne 7de5fbac92 Eliminate all remaining places where strings are thrown as exceptions
Closes #916.
2014-06-11 12:52:30 -07:00
Thomas Goyne ce358c1367 Move global_scripts to options.h
Not the perfect place for it by any means, but that's where the rest of
the application-global stuff is these days and it removed the need for
automation stuff to include main.h (and thus all the wxApp garbage).
2014-06-06 12:08:41 -07:00
Thomas Goyne 07cf50f7d3 Use non-deprecated wxIMPLEMENT_APP 2014-06-06 12:08:40 -07:00
Thomas Goyne 392c9ea35a Catch std::exceptions thrown during startup 2014-06-06 12:08:40 -07:00
Thomas Goyne 37c02ae127 Replace wxString::Format with agi::format
It's modestly faster, significantly more type-safe, and doesn't assert
when there's too few arguments, which causes problems for plural forms.

Closes #1733.
2014-05-30 11:53:14 -07:00
Thomas Goyne 8d26c66d0f Remove a bunch of unused functionalty from agi::Exception 2014-05-30 11:53:14 -07:00
Thomas Goyne b43788fa7f Replace boost::format with agi::format
boost::format is slow to compile, slow to run, and has an unpleasant
interface.
2014-05-30 08:30:31 -07:00
Thomas Goyne 09e325a1c3 Clean up unused includes 2014-05-23 07:28:24 -07:00
Thomas Goyne 2bf23af00a Remove a lot of pointless headers for dialogs
Most of the dialogs in Aegisub have a public interface consisting of a
single function, so there's really no need to expose the actual dialog
classes to the rest of the program. Add dialogs.h with the declarations
of all of those functions (most of which are just ShowFooDialog()), and
kill a million other headers.
2014-05-22 14:58:39 -07:00
Thomas Goyne 49357eec20 Add missing subs_controller.h include for release builds 2014-05-22 09:54:59 -07:00
Thomas Goyne 19e8f19e52 Redesign project file handling
Add a new Project class which is responsible for everything related to
opening and closing audio, video, subtitles, timecodes and keyframes.
This pulls almost everything not directly related to playing audio/video
out of the audio and video controllers, pulls more crap out of
FrameMain, and happens to make things a little simpler in the process.
2014-05-22 09:29:12 -07:00
Thomas Goyne 26cfd3ecbd Add missing check for if the context has been initialized in the crash handler 2014-05-15 12:07:46 -07:00
Thomas Goyne 79fd39d6ca Default to the language selected in the installer 2014-05-15 11:09:38 -07:00
Thomas Goyne eadf555da3 Pass exceptions in async workers back to the main thread 2014-05-09 07:00:48 -07:00
Thomas Goyne 77a2c1bb16 Verify that we're actually using a UTF-8 locale and switch to en_US.UTF-8 if not
Should fix #1587 and #1675, but I was never able to reproduce either of
them so maybe not.
2014-05-06 18:16:36 -07:00
Thomas Goyne 6fc4c8da14 Move make_unique to its own header file
Rebuilding the entire project after touching util.h gets old fast.
2014-04-23 15:29:23 -07:00
Thomas Goyne 1d5292fdee Kill config.h and just force-include acconf.h in non-pch builds 2014-04-16 08:11:37 -07:00
Thomas Goyne dcf1270fc4 Ensure boost.locale is initialized with a UTF-8 locale on OS X
This fixes the find/replace dialog stripping non-us-ascii characters
from the file.

See #1587 for the same issue on Windows.
2014-04-15 16:57:45 -07:00
Thomas Goyne 2ba88537a8 Pull some global init logic out of FrameMain's constructor 2014-03-26 11:33:33 -07:00
Thomas Goyne c4c0f6f125 Kill VideoContext::Get() 2014-03-26 08:23:43 -07:00
Thomas Goyne e71270f0f0 Refactor the rest of the factories 2014-03-24 12:40:03 -07:00
Thomas Goyne 53188cca47 Expunge remaining references to <fstream> and <iostream> 2014-03-21 14:31:48 -07:00
Thomas Goyne d615dcb30a Replace all uses of strstream and stringstream with bufferstream
istringstream makes a copy of its input, which is not very nice for
performance. strstream doesn't do bounds checking, which is not very
nice for safety (and is deprecated).
2014-03-21 13:50:28 -07:00
Thomas Goyne aab025c830 Write minidumps on windows rather than just basic stack traces 2014-03-20 10:41:12 -07:00
Thomas Goyne 4b6946dcec Reinitialize the crash error message after the UI language is selected 2014-03-20 10:41:12 -07:00
Thomas Goyne 61b19a17e8 Extract crashlog writing from main.cpp 2014-03-20 10:41:12 -07:00
Thomas Goyne 33a4a056a4 Move everything up a level since the root dir no longer has stuff 2014-03-11 12:14:57 -07:00