Commit graph

336 commits

Author SHA1 Message Date
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
10e06ac3f9 Build and/or link the non-header-only boost libraries 2013-02-01 19:07:51 -08:00
Thomas Goyne
e8344ab0c7 Add agi::util::Remove for deleting files 2013-01-03 17:36:50 -08:00
Thomas Goyne
cec5f2256c Add agi::util::try_parse 2013-01-03 17:36:50 -08:00
Thomas Goyne
1f1cb36b6d Extract TEXT -> DRAWING conversion from SplitWords 2012-12-31 07:09:31 -08:00
Thomas Goyne
e270dc9aec Use stable_vector for AudioProviderRam's cache
stable_vector allocates its elements non-contiguously (as is required
for stability), while still giving O(1) indexing.
2012-12-22 14:44:35 -08:00
Thomas Goyne
835f7c0f78 Only enable the Remove Word button when the word can be removed. Updates #1184. 2012-12-21 16:56:26 -08:00
Stjepan Henc
fe630e052b Add Remove Word button to the spellchecker dialog. Updates #1184. 2012-12-21 16:56:26 -08:00
Thomas Goyne
eab11666a9 Remove some cruft from option.h 2012-12-17 09:32:42 -08:00
Thomas Goyne
fee60be5db Announce the set of lines changed in commits
Currently this is only populated when commits are amended, for the
simple reason that it's the only time that AssFile knows what lines
changed. It is probably worth expanding this in the future.
2012-12-17 09:32:42 -08:00
Thomas Goyne
cccd95941d Fix syntax highlighting for multiple karaoke templater expression blocks 2012-12-07 18:20:09 -08:00
Thomas Goyne
d3fc4dcb25 Remove things used in one (or zero) files from agi_pre.h 2012-12-02 06:33:30 -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
0b19908e7b Use std::prev and std::next where applicable 2012-11-30 10:54:57 -08:00
Thomas Goyne
0483c1cfbe Fix string vs color logic in the option parsing 2012-11-24 16:24:00 -08:00
Thomas Goyne
b055abae44 Fix compliation with gcc 4.7 2012-11-15 18:15:40 -08:00
Thomas Goyne
47c678bd63 Make UCDetect a little less insane 2012-11-13 08:46:31 -08:00
Thomas Goyne
2dd1da8333 Use C++11 stuff in libaegisub 2012-11-13 08:46:30 -08:00
Thomas Goyne
6212afb314 Add karaoke templater support to the syntax highlighter 2012-11-12 18:35:27 -08:00
Thomas Goyne
b3c1af11b7 Fix handling of unclosed override blocks starting at position 0 2012-11-12 18:35:27 -08:00
Thomas Goyne
7ca7b1d934 Fix syntax highlighting for fonts with spaces 2012-11-12 18:35:27 -08:00
Thomas Goyne
88fdee726b Extract word-splitting logic from the syntax highlighter 2012-11-12 18:35:25 -08:00
Thomas Goyne
238356406f Extract calltip logic from the edit ctrl to libaegisub 2012-11-12 18:35:25 -08:00
Thomas Goyne
e4d6b8661b Add range adaptor for filtering to a specific subclass from a heterogeneous range
This makes looping over the subtitle file and parsed dialogue lines less
awkward in many cases.
2012-11-12 18:35:25 -08:00
Thomas Goyne
1848aad5c1 Fix compilation with C++ 11/libc++ 2012-11-12 18:35:21 -08:00
Thomas Goyne
ebd56f2163 Include cstdint rather than stdint.h 2012-11-10 18:05:57 -08:00
Thomas Goyne
0893ed3f0a Remove references to tr1 2012-11-10 18:05:57 -08:00
Thomas Goyne
9d4be82be8 Replace syntax highlighting logic with new stuff in libaegisub 2012-11-10 18:05:57 -08:00
Thomas Goyne
76adcad999 Move the spellchecker base class to libaegisub 2012-11-10 18:05:57 -08:00
Thomas Goyne
47bafe4b9f Add a lexer for the body of dialogue lines to libaegisub 2012-11-10 18:05:56 -08:00
Thomas Goyne
9088ae994c Remove windows.h from the precompiled header
It's only used by a few source files and it defines a ton of garbage.
2012-11-10 18:05:56 -08:00
Thomas Goyne
08983adc96 Move agi::Color parsing to its own file
Keeping all uses of boost.spirit in a single translation unit helps
avoid having it murder compile times, which requires that it be off by
itself.
2012-11-10 18:05:56 -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
28175aadbe Switch to boost.container for containers of incomplete types
STL containers are not required to support incomplete types, and while
most implementations do, clang's libc++ does not.
2012-11-10 18:05:56 -08:00
Thomas Goyne
a266d32ce4 Remove pointless GetString override in the list option values 2012-10-27 05:54:50 -07:00
Thomas Goyne
e44c47c863 Remove $Id$ markers since git doesn't support them 2012-10-25 17:39:49 -07:00
Thomas Goyne
67c01d11f6 Delete unfinished and unused stuff from libaegisub 2012-10-25 17:39:49 -07:00
Thomas Goyne
decbf06de3 Timestamp temporary files to reduce the chance of name collisions 2012-10-21 15:29:52 -07:00
Thomas Goyne
b43f27396e Verify that creating the temp file for saving actually succeeded 2012-10-21 15:29:52 -07:00
Thomas Goyne
715c882a97 Actually check MoveFileEx's return value 2012-10-21 08:13:46 -07:00
Thomas Goyne
da79178cc9 Add _tmp before the extension when saving
This makes it easier to open the temporary file if an error occurs at
some point in the saving process.
2012-10-21 08:04:06 -07:00
Thomas Goyne
c7fb6a57a4 Remove the platform-specific agi::io implementations since they were nearly identical 2012-10-21 08:00:02 -07:00
Thomas Goyne
938ccfe39b Mark TimecodeRange::operator< as const 2012-10-16 15:53:49 -07:00
Thomas Goyne
682c7d5371 Fix an occasional crash on startup on Windows debug builds
Some of the debug iterator code seems to not like 'delete map[key]', so
change things a little to do things in a way that appears to be fine.
2012-10-16 09:51:31 -07:00
Thomas Goyne
53433426bb Fix some stuff from Coverity Scan
Mostly just bugs in unreachable code and stylistic things, but there's a
few incorrect reachable things that were working by coincidence and
gratuitous dynamic_casts.
2012-10-15 18:16:09 -07:00
Thomas Goyne
a0c92f83f9 Fix some PVS-Studio warnings 2012-10-12 14:51:30 -07:00
Thomas Goyne
79ef194238 Fix compilation error with clang 2012-10-12 14:36:29 -07:00
Thomas Goyne
863e041d4d Honor the configured MRU limits
Actually use the limits set in the preferences dialog rather than always
limiting the MRU lists to 16.

Currently only the Find and Replace limits can be set to above 16 due to
how the open recent items commands are implemented.

Closes #1528.
2012-10-11 10:19:49 -07:00
Thomas Goyne
0a5fa6ff39 Don't use ARC in the Obj-C++ code
It never allocated any non-autoreleased objects so ARC wasn't actually
doing anything other than breaking compilation with gcc.
2012-09-29 22:10:45 -07:00
Thomas Goyne
b0036b4d99 Statically link libaegisub
Dynamically linking it caused a steady stream of issues for no apparent
benefits.
2012-08-21 07:02:45 -07:00