Commit Graph

2689 Commits

Author SHA1 Message Date
Thomas Goyne d3cfa20db9 Fix unicode issues in the karaoke split/join bar
Use ICU to split the text into characters rather than assuming that one
wchar_t == one character in some places, and one char == one character
in other places.
2013-04-07 11:36:06 -07:00
Thomas Goyne e89fb6eeb8 Improve the edit box tooltips 2013-04-07 08:43:56 -07:00
Thomas Goyne 51e17b4c38 Remove unused private member 2013-03-30 07:52:49 -07:00
Thomas Goyne cb9c48d6af Strip Collisions lines on read
Nothing supports them and malformed values crash VSFilter.

Closes #1583.
2013-03-30 07:18:34 -07:00
Thomas Goyne 1598e81773 Remove the 'Collisions' setting from the properties dialog
No renderers actually support it so there's really no reason for it to
be settable.
2013-03-30 07:08:57 -07:00
Thomas Goyne c1b99aba0e Select the contents of the find box when opening the search/replace dialog 2013-03-29 17:21:07 -07:00
Thomas Goyne de68a1995d Fix crashes from unchecked uses of lua_tostring. Closes #1588. 2013-03-18 07:01:54 -07:00
Thomas Goyne 890379bb86 Fix compilation error in auto4_lua_scriptreader.cpp 2013-02-16 19:53:54 -08:00
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 84410f770b Fix loading subtitles from Matroska files without track names 2013-02-13 20:22:02 -08:00
Thomas Goyne 959be0a64a Handle partial characters at the end of the read buffer when loading Lua scripts. Closes #1576. 2013-02-12 15:52:00 -08:00
Thomas Goyne 1f5484fedb Return the ifstream from agi::io::Open by move 2013-02-12 15:51:59 -08:00
Thomas Goyne d99647ba28 Fix crash when closing video while a frame request is pending 2013-02-08 21:05:57 -08:00
Thomas Goyne e7306ae642 Release mouse capture from the visual tools when the zoom is changed 2013-02-08 20:37:43 -08:00
Thomas Goyne e9a949954f Split ass drawings on spaces, not | 2013-02-08 20:29:39 -08:00
Thomas Goyne 1a8c88faea Actually decode strings in inline_string_decode 2013-02-08 20:27:38 -08:00
Thomas Goyne 4a4583a77d Fix path generation for saving screenshots 2013-02-08 09:53:34 -08:00
Thomas Goyne d3606eac99 Don't complain about things in the autoload folder which aren't automation scripts 2013-02-07 16:02:44 -08:00
Thomas Goyne a872fc50b8 Store ass attachments in the encoded form in memory
This marginally increases memory use, but vastly speeds up pretty much
everything when a file has attachments (other than extracting the
attachments, but that's generally IO-bound anyway).
2013-02-07 16:02:44 -08:00
Thomas Goyne 73217fd0e9 Move uuencoding logic to libaegisub and add tests 2013-02-07 16:02:44 -08:00
Thomas Goyne be8790942a Change AssParameterClass to an enum class 2013-02-07 08:55:01 -08:00
Thomas Goyne e115206998 Change VariableDataType to an enum class 2013-02-07 08:49:11 -08:00
Thomas Goyne 14afce006e Remove AssStyleStorage's dependencies on other Aegisub classes 2013-02-07 08:47:43 -08:00
Thomas Goyne 9a69017752 Don't drop the last two chaacters in inline_string_decode 2013-02-06 17:13:14 -08:00
Thomas Goyne 48921c35e0 Use ICU for checking if characters are whitespace 2013-02-06 13:38:35 -08:00
Thomas Goyne 9f2fdb2a86 Count characters rather than bytes in the character counter 2013-02-06 13:38:35 -08:00
Thomas Goyne 777649a551 Update the character count asynchronously 2013-02-06 13:38:35 -08:00
Thomas Goyne 40a7a452a2 Delay loading command line arguments until after Aegisub is fully initialized 2013-02-06 13:38:35 -08:00
Thomas Goyne 8118d790a4 Don't display an error message if user cancels the charset selection dialog 2013-02-06 13:38:35 -08:00
Thomas Goyne 3d48f18542 Display the full list of supported character sets if detection fails catastrophically 2013-02-06 13:38:34 -08:00
Thomas Goyne 1f831be170 Ask the user if they want to close the current file before prompting for a new file to open rather than after 2013-02-06 13:38:34 -08:00
Thomas Goyne 6cb9665202 Support extensions with multiple dots in agi::fs::HasExtension 2013-02-06 13:38:34 -08:00
Thomas Goyne 386f60daa7 Remove an unused private member from VideoDisplay 2013-02-06 13:38:34 -08:00
Thomas Goyne 841ec898d3 Add ICU to the configure script 2013-02-06 13:38:33 -08:00
Thomas Goyne fd6f4a38e5 Remove unused private member in AudioMarkerInteractionObject 2013-02-06 13:38:33 -08:00
Thomas Goyne 5efba3fda1 Improve handling of whitespace in the fonts collector
When whitespace characters are missing in the font, print the names of
the characters rather than seemingly printing nothing.

Closes #1553.
2013-02-06 13:38:33 -08:00
Thomas Goyne 2a5134a5ca Add an option to not skip blank lines when importing plain text files 2013-02-06 13:38:33 -08:00
Thomas Goyne d55949d9c1 Only perform charset detection once when opening subtitles
Relying on TextFileReader to do the charset detection results in the
user being prompted to pick a charset twice when it can't be
auto-detected, since the result from trying to open the subtitles as
timecodes was not being reused.

Closes #1512.
2013-02-06 13:38:33 -08:00
Thomas Goyne 47c36c9033 Use ICU/boost.locale for case-insensitive searching
Do proper unicode case-folding for case-insensitive searching rather
than converting only ascii characters to lowercase. The Turkish 'i' is
still not handled correctly (since it's the only place where
case-folding is locale-dependent), but that's probably not worth caring
about as long as we don't have a Turkish UI translation.

This affects both the find/replace dialog and the select lines dialog.

Closes #1342.
2013-02-06 13:38:33 -08:00
Thomas Goyne 09aa873ed7 Hide the StatusTimeout awfulness in a util function 2013-02-06 13:22:34 -08:00
Thomas Goyne a9467836f9 Move autosave logic to SubsController 2013-02-06 13:22:34 -08:00
Thomas Goyne 396ff897e5 Kill StandardPaths
It's now just a pointless wrapper around agi::Path.
2013-02-06 13:22:33 -08:00
Thomas Goyne 9f7e865196 Set the default string encoding to UTF-8 2013-02-06 13:22:33 -08:00
Thomas Goyne 8846d77845 Use ICU regular expressions for user-entered regexps 2013-02-06 13:22:33 -08:00
Thomas Goyne be930e68ef Use std::atomic rather than a mutex in the progress dialog 2013-02-06 13:22:32 -08:00
Thomas Goyne bc5417de4a Give all of the Aegisub-created threads names 2013-02-06 13:22:32 -08:00
Thomas Goyne a0d3dbc550 Extract Loading/Saving/Undo stuff from AssFile
Add SubsController, which deals with things like what subtitle file is
currently open, rather than the contents of the current subtitle file.
Move the rest of the relevant logic from FrameMain there in addition to
all of the stuff from AssFile.
2013-02-06 13:22:32 -08:00
Thomas Goyne 9a146d1fc0 Remove AssFile::loaded since it isn't actually used for anything 2013-02-06 13:22:17 -08:00
Thomas Goyne 5092ab20c9 Do logging on a background thread
Makes logging actually thread-safe and slightly improves performance.
2013-02-06 13:22:17 -08:00
Thomas Goyne 2e99223977 Factor out some duplicated code in the color picker slider generation 2013-02-06 13:22:16 -08:00