Commit Graph

112 Commits

Author SHA1 Message Date
Thomas Goyne 6c6f60eb98 Add an option to ignore punctuation for the character counter 2014-04-18 20:11:38 -07:00
Thomas Goyne cff3c0a3df Don't repopulate the actor/effect fields when the active line changes
Speeds up switching lines on a totally arbitrary test file that doesn't
even use very many actors or effects by ~20%.
2014-04-18 20:11:38 -07:00
Thomas Goyne 8aea747b88 Update the character counter synchronously
It's not longer even vaguely in the realm of slow enough to justify
dumping off on a background thread.
2014-04-18 20:11:38 -07:00
Thomas Goyne af32733797 Move character count stuff to libaegisub 2014-04-18 20:11:38 -07:00
Thomas Goyne bd53302907 Remove unused variable 2014-04-18 14:28:55 -07:00
Thomas Goyne 744717a164 Skip calculating the CPS for lines where it's very unlikely to be meaningful 2014-04-18 14:08:12 -07:00
Thomas Goyne 5143c34d70 Fix right and vertical margin columns 2014-04-18 14:05:31 -07:00
Thomas Goyne 5df871f599 Extract all of the column-specific logic from BaseGrid 2014-04-18 12:17:03 -07:00
Thomas Goyne 909be4494a Use a struct for the cached grid brushes rather than an array+enum 2014-04-18 07:17:38 -07:00
Thomas Goyne d5274b72d4 Cap CPS column at 999 2014-04-18 07:07:03 -07:00
Thomas Goyne 867eaae7a8 Add basic characters-per-second column to the grid 2014-04-17 19:11:35 -07:00
Thomas Goyne 393d1dd269 Fix combine lines commands 2014-04-17 18:08:03 -07:00
Thomas Goyne c93d38cc34 Clean up BaseGrid a little
Eliminate the hardcoded uses of 11 all over the place and cache the
calculation of the header widths.
2014-04-17 18:08:03 -07:00
Thomas Goyne 27c1522622 Use AssDialogue::Row more places 2014-04-17 17:30:06 -07:00
Thomas Goyne e729d38164 Add a warning for faux bold/italic to the fonts collector 2014-04-17 16:07:01 -07:00
Thomas Goyne 1a67ee1fdf Add SelectionController::GetSortedSelection and use it where useful 2014-04-17 14:32:18 -07:00
Thomas Goyne df42fdb2d2 Restore the text selection and cursor position on undo 2014-04-17 11:46:28 -07:00
Thomas Goyne 56699e4800 Mark move constructors as noexcept
Or just default them for non-MSVC when possible.
2014-04-17 11:46:28 -07:00
Thomas Goyne 09d0d039e0 Convert signal.h to variadic templates 2014-04-17 11:46:27 -07:00
Thomas Goyne ecdf7c4fc3 Cut the width of the lines for the visual features in half 2014-04-17 11:46:27 -07:00
Thomas Goyne 18d9a43edb Cut the opacity of visual tool features in half 2014-04-17 11:46:27 -07:00
Thomas Goyne 73c2e92655 Clean up VideoBox a little 2014-04-17 11:46:27 -07:00
Thomas Goyne 00a3547453 Make find/replace and automation text fields unlimited length
On Windows text fields default to a maximum of 30,000 characters.
2014-04-16 08:11:38 -07:00
Thomas Goyne d07cba4875 Keep the old active line when an automation script changes the selection but not active line 2014-04-16 08:11:38 -07:00
Thomas Goyne 162e119afa Make subs.delete accept a table of rows to delete
Lua has a limit to how many arguments can be pushed onto the stack, so
when deleting very large numbers of lines at once unpacking a table can
fail.
2014-04-16 08:11:38 -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 489eca221d Fix compilation with clang 2014-04-15 11:09:25 -07:00
Thomas Goyne a141ef1264 Remove the never-actually-used BASE block type 2014-04-15 11:09:25 -07:00
Thomas Goyne 3528e49286 Make the duration field not completely wrong in frame mode 2014-04-15 11:09:25 -07:00
Thomas Goyne 780c93ed4d Make modifying multiple lines at once less brittle
Only count characters outside of override blocks for the relative
positions to do the edits on each line, which handles the case where the
lines have different lengths of stuff in override blocks but the same
text.
2014-04-15 06:19:12 -07:00
Thomas Goyne 7ed3fbade0 Eliminate some awful in/out arguments 2014-04-15 06:19:12 -07:00
Thomas Goyne 0e04794ffd Make the edit box buttons less dumb with multiple lines selected
Apply the modification at the cursor position to each selected line
rather than just setting all selected lines to the active line's text.
Still doesn't have good results in any nontrivial cases, but it's at
least sometimes useful.
2014-04-14 13:52:14 -07:00
Thomas Goyne 7fc78d40ab Switch from boost::ptr_vector to a vector of unique_ptr
ptr_vector hasn't been updated for C++11, so despite being specifically
designed to store pointers to objects it's less safe and not really any
easier to use than a regular vector of unique_ptrs
2014-04-14 13:52:14 -07:00
Thomas Goyne f53d840520 Unbind the progress dialog's idle handler when it's unneeded 2014-04-06 09:57:01 -07:00
Thomas Goyne 3e4b6a725f Change both selection and active line in SetSelectionAndActive before announcing 2014-04-04 09:01:03 -07:00
Thomas Goyne df762b5b99 Add a checked iterator_to() to AssFile
iterator_to requires that the object be in the list, which is sometimes
not the case when processing a commit which removed the active line or a
selected line. To handle this, add a checked version that returns
Events.end() when it is not in the list rather than crashing.
2014-04-04 09:01:02 -07:00
Thomas Goyne 9c4574ed34 Add a missing word to a help string 2014-04-04 09:01:02 -07:00
Thomas Goyne 54fa37c855 Fix compilation on linux
Closes tgoyne/aegisub#4.
2014-04-03 17:43:41 -07:00
Thomas Goyne b8d67b3d8e Update row numbers after an order-changing commit 2014-04-01 09:19:30 -07:00
Thomas Goyne caf5ac9cd7 Sort the audio display markers
This was accidentally removed in 5d3bc0d. Closes #1731.
2014-04-01 09:19:30 -07:00
Thomas Goyne c59b9d59b8 Clean up OptionValue
Make the vtables less absurdly huge (knocks 100KB off aegisub32.exe),
eliminate some copies of the values when constructing the options, and
use an enum class for the value type.
2014-03-31 10:23:36 -07:00
Thomas Goyne fcd0df2e96 Preserve the old selection when an automation script doesn't return a new one 2014-03-31 08:11:43 -07:00
Thomas Goyne 3bbbc56053 Add the line's row number to AssDialogue
The grid needs to be able to map AssDialogue * to a row number, and just
storing it in the AssDialogue is nearly strictly better than a std::map
mapping events to rows. Probably will be of use elsewhere as well.
2014-03-31 08:11:43 -07:00
Thomas Goyne 84c5eb25b3 Actually check lines other than the active line in the spellchecker dialog 2014-03-31 08:11:43 -07:00
Thomas Goyne dbec5ff0bc Fix out-of-bounds read when looking for subtitles in a matroska file with no subtitles 2014-03-28 09:15:09 -07:00
Thomas Goyne 4a46f09d31 Force the final progress of operations to 100%. Closes #1728. 2014-03-27 19:17:24 -07:00
Thomas Goyne f07a2559b8 Update the grid scrollbar after dialogue count changes 2014-03-27 18:49:16 -07:00
Thomas Goyne ad8d11d87f Don't animate the progress bar when moving backwards 2014-03-27 07:21:55 -07:00
Thomas Goyne cf6e274c49 Fix incorrect capitalization of frame_main.h
Closes tgoyne/aegisub#3.
2014-03-27 06:50:16 -07:00