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
2f73b55b64
Delete agi::Options::DumpAll declaration, as the definition doesn't exist
...
Originally committed to SVN as r6015.
2011-12-22 21:11:57 +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
4823706206
Fix some spelling errors in comments in option.h
...
Originally committed to SVN as r6012.
2011-12-22 21:11:29 +00:00
Thomas Goyne
a7a159288f
Make agi::Options's one protected member private, as agi::Option is not designed to be inherited from
...
Originally committed to SVN as r6011.
2011-12-22 21:11:21 +00:00
Thomas Goyne
ef3414931f
Fix off-by-one error in MRU::GetEntry
...
Originally committed to SVN as r6009.
2011-12-22 21:11:01 +00:00
Thomas Goyne
d0ee3029de
Make the MRU tests significantly less worthless
...
Originally committed to SVN as r6008.
2011-12-22 21:10:50 +00:00
Thomas Goyne
522e634122
Simplify some uses of cajun types and eliminate some copies
...
Originally committed to SVN as r6007.
2011-12-22 21:10:41 +00:00
Thomas Goyne
9cbaa01e63
Update and significantly expand the cajun tests
...
Originally committed to SVN as r6006.
2011-12-22 21:10:32 +00:00
Thomas Goyne
3097dc634e
Only automatically convert json objects to other types when they are uninitialized
...
Originally committed to SVN as r6005.
2011-12-22 21:10:22 +00:00
Thomas Goyne
a78417177a
Move cajun implementations from .inl files included by the headers to .cpp files
...
Originally committed to SVN as r6004.
2011-12-22 21:10:10 +00:00
Thomas Goyne
c601351a50
Silence a pile of prefast warnings in cajun
...
Originally committed to SVN as r6003.
2011-12-22 21:10:00 +00:00
Thomas Goyne
34a87b1c1e
Silence a pile of /W4 warnings
...
Originally committed to SVN as r6001.
2011-12-22 21:09:31 +00:00
Thomas Goyne
dfc68a4db9
Make the int/double option type detection slightly less broken
...
Choosing between int and double based on whether the default value is an
int is dumb and broken enough, but with the "ceil" the detection didn't
even work for negative numbers.
Originally committed to SVN as r5937.
2011-11-29 23:18:34 +00:00
Thomas Goyne
893ec95841
Don't load the FPS from Aegisub keyframes. The format breaks vfr and setting the fps should be done with timecode files.
...
Originally committed to SVN as r5900.
2011-11-20 17:35:00 +00:00
Thomas Goyne
0b742ef3c1
Add operator unspecified-bool-type to agi::scoped_ptr
...
Originally committed to SVN as r5844.
2011-11-12 01:23:09 +00:00
Thomas Goyne
1073b3f7f0
Remove bogus (and pointless) initialization in the glibc iconv-backed converter
...
Originally committed to SVN as r5833.
2011-11-08 03:44:46 +00:00
Thomas Goyne
2f394a7792
Fix compilation with clang (but not linking because wxAny is currently broken with it)
...
Originally committed to SVN as r5826.
2011-11-07 06:18:34 +00:00
Thomas Goyne
5176ae4407
Flush hotkeys after they're modified
...
Originally committed to SVN as r5821.
2011-11-06 17:18:08 +00:00
Thomas Goyne
092ecafe58
Make ConfigVisitor::AddOptionValue less dumb
...
Originally committed to SVN as r5818.
2011-11-04 19:42:50 +00:00
Thomas Goyne
8fcd3daf28
Rewrite the array config visitor so that it doesn't need the OptionValueList base class
...
Originally committed to SVN as r5817.
2011-11-04 19:42:40 +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
ba2794b2fe
Replace some const strings with const references to strings
...
Originally committed to SVN as r5815.
2011-11-04 19:42:21 +00:00
Thomas Goyne
579203989b
Remove pointless explicit empty constructors from OptionValue base classes
...
Originally committed to SVN as r5813.
2011-11-04 19:42:04 +00:00
Thomas Goyne
723d3b9780
Pass const references into OptionValue::SetList* rather than const values
...
Originally committed to SVN as r5812.
2011-11-04 19:41:54 +00:00
Thomas Goyne
6a31f840a6
Fix crash when slots disconnect from a signal in response to that signal
...
Originally committed to SVN as r5806.
2011-11-03 00:29:13 +00:00
Thomas Goyne
6c995e7780
Add support for modifying hotkeys while the program is running
...
Originally committed to SVN as r5793.
2011-10-28 20:40:32 +00:00
Thomas Goyne
ffa622d698
Fix compilation without precompiled headers
...
Originally committed to SVN as r5791.
2011-10-28 20:15:10 +00:00
Thomas Goyne
0a04b62d1d
Add a long overload to UnknownElement for gcc
...
Originally committed to SVN as r5790.
2011-10-28 20:13:58 +00:00
Thomas Goyne
a75aa7a633
Eliminate a bunch of pointlessness in json::Writer
...
Originally committed to SVN as r5753.
2011-10-17 22:00:49 +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
b4fa4e6f0c
Expose all std::deque members in json::Array
...
Originally committed to SVN as r5750.
2011-10-17 22:00:18 +00:00
Thomas Goyne
0dee6ea223
Add some convenience overloads to UnknownElement's constructor
...
Originally committed to SVN as r5749.
2011-10-17 22:00:09 +00:00
Thomas Goyne
36280b7a2b
Kill TrivialType_T as it's completely pointless
...
Originally committed to SVN as r5748.
2011-10-17 21:59:59 +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
34a7f16214
Skip over invalid entries in the MRU file rather than crashing on startup
...
Originally committed to SVN as r5670.
2011-09-29 00:37:18 +00:00
Thomas Goyne
6a49b5392d
Write MRU data to disk whenever a change is made rather than only on program exit
...
Originally committed to SVN as r5667.
2011-09-28 19:52:46 +00:00
Thomas Goyne
bfcd76c4aa
Add missing #include <algorithm> to scoped_ptr.h
...
Originally committed to SVN as r5654.
2011-09-28 19:50:50 +00:00
Thomas Goyne
53b6765dd8
Redesign DialogProgress
...
Add agi::ProgressSink and agi::BackgroundRunner interfaces to libaegisub
which represent a generic progress sink and a thing which calls funtions
that need progress sinks. Make DialogProgress implement
agi::BackgroundRunner, invoking the passed function on a worker thread
and giving it a progress sink to update the dialog with.
Rewrite Automation4::ProgressSink, LuaThreadedCall and all related
classes to be based on agi::ProgressSink. Automation now simply uses
DialogProgress (although that's merely an implementation detail) and
adds a single method to route dialog opening from the worker thread to
the GUI thread.
Originally committed to SVN as r5634.
2011-09-28 19:47:40 +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
0c1794a93f
Don't silently fail to start up if a config file is invalid
...
Originally committed to SVN as r5535.
2011-08-17 05:32:09 +00:00
Thomas Goyne
330411c94a
Add some special cases to line_iterator that makes it significantly faster in common cases
...
Originally committed to SVN as r5534.
2011-08-17 05:32:01 +00:00
Thomas Goyne
3c18ed542c
Clean up libaegisub includes
...
Consistently use the C++ names for headers rather than a combination of the
C and C++ names.
Remove empty LAGI_PRE blocks.
Remove checks for both AGI_PRE and LAGI_PRE and change a check for only
AGI_PRE to LAGI_PRE.
Originally committed to SVN as r5516.
2011-07-26 22:25:21 +00:00
Thomas Goyne
ead31761db
Include lagi_pre.h in agi_pre.h and remove all duplicates
...
This eliminates some duplicated logic and potential tr1/non-tr1 header
mismatches, and removes the need for the #if defined(AGI_PRE) ||
defined(LAGI_PRE) guard that was used in a few of the libaegisub headers.
Originally committed to SVN as r5515.
2011-07-26 22:25:10 +00:00