Thomas Goyne
a9f83663e8
Revert "Return the ifstream from agi::io::Open by move"
...
This reverts commit 1f5484fedb
.
Move constructors for fstreams are not implemented yet in libstdc++.
Closes #1578 .
2013-02-16 19:47:31 -08:00
Thomas Goyne
1f5484fedb
Return the ifstream from agi::io::Open by move
2013-02-12 15:51:59 -08:00
Thomas Goyne
1e0f08c0ed
Mostly purge wxWidgets from non-UI stuff
...
Use boost::filesystem::path for all paths, and std::string for all other
strings, converting to/from wxString as close to the actual uses of wx
as possible.
Where possible, replace the uses of non-UI wxWidgets functionality with
the additions to the standard library in C++11, or the equivalents in
boost.
Move the path token management logic to libaegisub (and rewrite it in
the process).
Add a basic thread pool based on asio and std::thread to libaegisub.
This touches nearly every file in the project and a nontrivial amount of
code had to be rewritten entirely, so there's probably a lot of broken
stuff.
2013-02-06 13:22:15 -08:00
Thomas Goyne
eab11666a9
Remove some cruft from option.h
2012-12-17 09:32:42 -08:00
Thomas Goyne
96cf5ea7ed
Kill the #ifndef AGI_PRE guards
...
They don't actually improve compilation performance and make it more
annoying to modify what things are in the precompiled header.
2012-12-02 06:33:29 -08:00
Thomas Goyne
2dd1da8333
Use C++11 stuff in libaegisub
2012-11-13 08:46:30 -08:00
Thomas Goyne
1848aad5c1
Fix compilation with C++ 11/libc++
2012-11-12 18:35:21 -08:00
Thomas Goyne
ea5428b65f
Replace AssColor with agi::Color
...
Add agi::Color, and replace AssColor and all uses of wxColor that are
not immediately passed to/from wx with it.
2012-11-10 18:05:56 -08:00
Thomas Goyne
e44c47c863
Remove $Id$ markers since git doesn't support them
2012-10-25 17:39:49 -07:00
Thomas Goyne
bdafd8f201
Reset to the platform-specific default option values rather than the global defaults
...
Originally committed to SVN as r6692.
2012-04-11 04:10:56 +00:00
Thomas Goyne
7dd6cfe37d
Derive agi::acs exceptions from agi::FileSystemError and friends rather than having two sets of errors for the same thing
...
Originally committed to SVN as r6278.
2012-01-12 22:31:54 +00:00
Thomas Goyne
d2d28401bd
Change how local config mode works
...
Rather than loading both the local and user config files and saving to
the local directory if an option is set, simply try to load the local
config file, and if it exists switch to local mode and never even touch
the user file.
Originally committed to SVN as r6244.
2012-01-08 01:35:56 +00:00
Thomas Goyne
84d1315736
Write the config and MRU files to ?data in portable mode rather than ?user
...
Originally committed to SVN as r6187.
2011-12-30 01:21:03 +00:00
Thomas Goyne
7adbe07b4e
Silence a bunch of PREFast warnings
...
Originally committed to SVN as r6162.
2011-12-26 22:20:49 +00:00
Thomas Goyne
863e7070a6
Add a bunch of missing config.h includes
...
Originally committed to SVN as r6072.
2011-12-22 21:20:44 +00:00
Thomas Goyne
07da6f6f1b
Split json::Number into json::Double and json::Integer
...
Trying to decide whether an option should be an int or double after
discarding the differences between "1.0" and "1" simply isn't possible,
and even if an option was initialized correctly, if it was changed to a
round number it could get written as an int and break later.
Also convert cajun to tabs because three spaces to indent is terrible.
Originally committed to SVN as r6018.
2011-12-22 21:12:25 +00:00
Thomas Goyne
daff67b150
Simply log errors and continue when type errors occur while loading the user config file, rather than only loading the portion of the file before the error
...
Originally committed to SVN as r6017.
2011-12-22 21:12:15 +00:00
Thomas Goyne
d7ae51a5af
Remove some unused members of agi::Options
...
Originally committed to SVN as r6016.
2011-12-22 21:12:06 +00:00
Thomas Goyne
4c3d191de8
Significantly simplify agi::Options::PutOption
...
Originally committed to SVN as r6014.
2011-12-22 21:11:46 +00:00
Thomas Goyne
56165305a4
Change the check for duplicate keys when writing the options file to an assertion as it can't actually happen
...
Originally committed to SVN as r6013.
2011-12-22 21:11:38 +00:00
Thomas Goyne
84c545b978
Return const references from OptionValue::GetList* rather than taking an output parameter. Eliminates some copies of lists and makes the calling code less awkward.
...
Originally committed to SVN as r5816.
2011-11-04 19:42:31 +00:00
Thomas Goyne
dd46c7af7f
Completely ditch json::Array and json::Object's custom implementations and switch to typedefs to STL types.
...
Originally committed to SVN as r5752.
2011-10-17 22:00:38 +00:00
Thomas Goyne
4e8848c110
Eliminate a bunch of now unneccesary explicit casts to/from json types
...
Originally committed to SVN as r5751.
2011-10-17 22:00:28 +00:00
Thomas Goyne
9dc9047c11
Change json::Object's backing store from a list to a map. Cajun used list to preserve order, but json objects do not guarantee that order will be preserved
...
Originally committed to SVN as r5747.
2011-10-17 21:59:47 +00:00
Thomas Goyne
2f64a116a7
Make cajun containers implement the STL container interfaces rather than being retarded special snowflakes
...
Originally committed to SVN as r5746.
2011-10-17 21:59:35 +00:00
Thomas Goyne
91ab2ee9ba
Make option names not dumb and wrong
...
Originally committed to SVN as r5731.
2011-10-11 00:06:34 +00:00
Thomas Goyne
a25c5c1909
Rewrite the subtitles edit control's syntax highlighting
...
Simplify and clean up the parsing code to better represent how VSFilter
actually handles many odd edge cases as well as making it significantly
faster.
Use an enum for syntax style IDs rather than magic numbers.
Add styles for comments, draw mode and karaoke templater variables
rather than reusing other styles and move some hardcoded style
information to the config file.
Operate on the utf-8 representation of the edit box text rather than a
wxString, as it's both faster and simpler.
Originally committed to SVN as r5615.
2011-09-28 19:44:34 +00:00
Thomas Goyne
7824348f10
Include the name of the option in the exception thrown when an option is not found
...
Originally committed to SVN as r5501.
2011-07-26 19:51:47 +00:00
Thomas Goyne
a33da9cba5
Replace all uses of std::cout in libaegisub with logging statements and eliminate a lot of nonsense in the windows implementation of acs::Check
...
Originally committed to SVN as r5500.
2011-07-26 19:51:38 +00:00
Thomas Goyne
b25066e3c3
Remove a write-only variable in option.cpp
...
Originally committed to SVN as r5453.
2011-07-15 04:04:42 +00:00
Thomas Goyne
6ec63cdde1
Clean up libaegisub includes
...
Remove cajun includes from all public headers and the precompiled header
Add a pile of missing standard library headers used in multiple files
to lagi_pre
Originally committed to SVN as r5452.
2011-07-15 04:04:34 +00:00
Amar Takhar
cdc73b17d2
Add support for bitmask options to Options. First one is to avoid flushing the config to disk which we don't want to happen when the reporter uses Options to read config values.
...
Originally committed to SVN as r5123.
2011-01-04 04:24:40 +00:00
Thomas Goyne
2b47f34e76
Fix a pile of actual memory leaks
...
Originally committed to SVN as r4575.
2010-06-24 01:24:09 +00:00
Amar Takhar
d8a9bac4b0
Handle the lack of a pre-existing config file.
...
Originally committed to SVN as r4489.
2010-06-13 01:29:32 +00:00
Thomas Goyne
612b583e2b
Move cajun includes into the cpp files rather than headers so that only files in libaegisub include them.
...
Originally committed to SVN as r4473.
2010-06-11 02:25:07 +00:00
Amar Takhar
401560b190
Add some debug trace info.
...
Originally committed to SVN as r4418.
2010-06-03 18:09:00 +00:00
Thomas Goyne
0dc6a082ca
Fix memory leaks in Option
...
Originally committed to SVN as r4349.
2010-05-23 06:58:11 +00:00
Amar Takhar
40e12403d5
Merge all changes from the libaegisub branch into trunk, the effective range is r4175:4330. All options have been re-done and now use Cajun to support a json-backed format.
...
Initial support for low-level access and file I/O methods are included as well.
Originally committed to SVN as r4331.
2010-05-21 01:13:36 +00:00