Commit graph

2994 commits

Author SHA1 Message Date
Thomas Goyne
1cbf20f8ab Work around wxGTK issues with time edits
Modifying the contents of a text control after IM processing happens in
the same cycle of the event loop seems to be seriously broken. Work
around this by disabling IM processing for time edits, as it should
never be relevant for them anyway.

Closes #1679. Closes #1680.
2014-01-02 11:47:15 -08:00
Thomas Goyne
5298634721 Fix infinite loop of error messages when an invalid command is displayed in the hotkey editor 2014-01-01 19:20:50 -08:00
Thomas Goyne
5d38a9c585 Also return full paths from aegisub.dialog.save 2014-01-01 11:46:27 -08:00
Thomas Goyne
418e1cad98 Fix some warnings when compiling with gcc 2014-01-01 10:28:10 -08:00
Thomas Goyne
11581ccd28 Bump copyright years 2014-01-01 07:22:37 -08:00
Thomas Goyne
20b4515c24 Fix potential use-after-frees on redo
Don't delete the old copy of the file until after the new version is
committed to avoid a use-after-free when code tries to do things with
the active line in a COMMIT_NEW handler, as just trying to avoid doing
that hasn't really worked out.
2013-12-29 11:44:22 -08:00
Thomas Goyne
21b9fe1405 Replace the standard Lua include path entirely on Windows
The default Lua include path is encoded with the local charset rather
than UTF-8. This causes problems when the working directory includes
non-latin-1 characters which are valid in the local charset, as Aegisub
expects the string to be UTF-8. As the default path isn't very useful on
Windows (on other platforms it could potentially include things like
luarocks-installed modules), just clear it.

Closes #1676.
2013-12-27 14:52:01 -08:00
Thomas Goyne
f0d35a1cf3 Retinafy the video display 2013-12-27 09:56:39 -08:00
Thomas Goyne
c8368a500b Dynamically switch to the retina toolbar icons as appropriate 2013-12-27 09:29:53 -08:00
Thomas Goyne
f4a6d90db4 Use retina icons for the main toolbar if first opened on a retina display 2013-12-27 09:29:53 -08:00
Thomas Goyne
b4ed6a3b1a Add 48x48 and 64x64 icons 2013-12-27 09:29:53 -08:00
Thomas Goyne
55ff9bfd50 Simplify HelpButton a little
Switch to flat_map for trivially less memory usage and just use a global
map rather than a heap-allocated map since it's not
(de)initialization-order sensitive.
2013-12-26 17:43:55 -08:00
Thomas Goyne
6ca0349fc8 Simplify icon handling
Eliminate the pointless runtime command name -> icon map and just make
commands responsible for their icons. Don't bother predecoding and
caching icons since it wastes some RAM (~10 MB) and decoding icons takes
a trivial amount of time.

Fix a few places where icons were being set for the wrong command names.
2013-12-26 17:43:50 -08:00
Thomas Goyne
f95f2dcd25 Refactor spellchecker language listing 2013-12-24 09:42:20 -08:00
Thomas Goyne
dbf5af1d49 Load the thesaurus dictionary asynchronously 2013-12-24 09:26:29 -08:00
Thomas Goyne
6957cd76a6 Refactor thesaurus language listing a bit 2013-12-24 09:25:45 -08:00
Thomas Goyne
c28a02a34d Don't overwrite alpha when using the color picker screen dropper 2013-12-24 09:23:32 -08:00
Thomas Goyne
45726bea3c Fix loading automation script names from subtitle files 2013-12-23 11:46:52 -08:00
Thomas Goyne
22e4a8bd58 Ignore errors when canonicalizing paths for automation
It's only being done to make the error reporting prettier, so it failing
shouldn't block the loading of the file.
2013-12-23 11:37:20 -08:00
Thomas Goyne
41ce8d7c31 More crash log writing fixes 2013-12-23 10:19:01 -08:00
Thomas Goyne
40da549a56 Set the path to write crash recovery files to correctly 2013-12-23 10:00:24 -08:00
Thomas Goyne
1601c9c68d Handle uncaught exceptions thrown from more places 2013-12-23 09:07:20 -08:00
Thomas Goyne
3d6cbc8c99 Don't spam the user with many dialogs when pasting invalid styles
Just show a single error dialog regardless of the number of styles that
failed to parse.
2013-12-23 07:54:13 -08:00
Thomas Goyne
3c8160f1e3 Preserve the detached video dialog size when changing tools
The relayout to handle the changed subtoolbar size was fitting the
dialog to the size of the video, which was rather undesirable.
2013-12-21 08:25:01 -08:00
Thomas Goyne
32acb6067b Fix the default angle for styles 2013-12-16 20:23:02 -08:00
Thomas Goyne
d0bcc2e22c Apply the line's shear to the x/y rotation grid 2013-12-15 08:06:50 -08:00
Thomas Goyne
80cb3d04c7 Make the X/Y rotation grid much bigger
This is still a totally arbitrary size. Maybe it should be customizable
or adaptive somehow?
2013-12-13 19:51:44 -08:00
Thomas Goyne
41434ec5a1 Cut down on magic numbers in the drawing code for the x/y rotate grid 2013-12-13 19:47:29 -08:00
Thomas Goyne
be485dd4d4 Use raw string literals for regular expressions where useful 2013-12-12 09:27:52 -08:00
Thomas Goyne
14fcfce71a Delete pre-3.0 hotkey/option migration information 2013-12-12 06:36:54 -08:00
Thomas Goyne
30b475410e Fix compilation with boost 1.52. Closes #1670. 2013-12-11 19:36:29 -08:00
Thomas Goyne
038eb6e58b Use the new much shorter event names 2013-12-11 18:50:12 -08:00
Thomas Goyne
7c68c81ea3 Remove #ifs for older versions of wx 2013-12-11 18:50:12 -08:00
Thomas Goyne
6fad60e58d Use NSDMIs where applicable 2013-12-11 18:50:12 -08:00
Thomas Goyne
d6a5d9c458 Use initializer lists in some places 2013-12-11 18:50:11 -08:00
Thomas Goyne
af96b305bf Switch to VC++ 2013 on Windows
Remove the faux-variadic make_unique since 2013 has real variadic
templates.

Switch to the non-deprecated windows version check functions.

Switch to the develop branch of boost since master doesn't fully support
VS 2013 atm.

Fix some assorted compilation errors.

Hardcode the paths to a bunch of Visual Studio things since it's now
expanding the relevant macros to nothing for whatever reason.
2013-12-11 15:02:35 -08:00
Thomas Goyne
5493c025bc Fix the color picker recent colors box on OS X
SetBitmap triggers a size event, which results in UpdateBitmap being
called again. For some reason, rather than being an infinite loop this
just resulted in the bitmap never being set.
2013-12-11 10:14:55 -08:00
Thomas Goyne
5b7b5811f1 Remove pointless sizer in the colorpicker dialog 2013-12-11 09:38:40 -08:00
Thomas Goyne
fc7bf8f1b0 Fix AssAttachment::Clone 2013-12-11 07:55:17 -08:00
Thomas Goyne
d4c831e346 Fix crash when FFMS_GetCodecNameI returns NULL 2013-12-10 12:37:03 -08:00
Thomas Goyne
16d55f9d64 Also add the track cursor font name option to the non-OS X config file 2013-12-10 12:08:36 -08:00
Thomas Goyne
533bb4cd1c Fix crash when writing crash logs 2013-12-10 10:38:57 -08:00
Thomas Goyne
c83b2ace2a Eliminate CoreText warnings on 10.9 from the audio track cursor 2013-12-10 09:18:27 -08:00
Thomas Goyne
85148002bc Get the UI font from CoreText on OS X 2013-12-10 09:08:30 -08:00
Thomas Goyne
29eb7b5e9e Preserve the filename header when reading attachments 2013-12-09 13:45:29 -08:00
Thomas Goyne
4c1a8a21b9 Fix assertion failure when deleting all lines
Lines need to be deselected before they're deleted, but new lines need
to be committed before they can be selected, so reorder things to
remove -> insert new line if needed -> commit -> update selection -> delete.
2013-12-01 20:27:31 -08:00
Thomas Goyne
11d1348c2c Fix check for if the first arg to log is a number 2013-11-27 17:14:19 -08:00
Thomas Goyne
0b1b10fb52 Remove the installed copy of the docs
Keeping them up to date is annoying.
2013-11-24 09:19:33 -08:00
Thomas Goyne
91e4cd292e Fix keyboard layout handling issues in time edits. Closes #1630. 2013-11-23 15:07:53 -08:00
Thomas Goyne
1f66e776c1 Fix uncaught exception when resampling empty drawings 2013-11-23 09:57:22 -08:00
Thomas Goyne
a7f4fb5b87 Run clang-modernize on things 2013-11-23 09:57:22 -08:00
Thomas Goyne
2e051a8fde Fix non-pch compliation 2013-11-23 09:57:21 -08:00
Thomas Goyne
3d573f0e70 Add Split at cursor (at video frame) 2013-11-17 17:21:23 -08:00
Thomas Goyne
0ef9963782 Replace Duplicate and Shift with Split (before|after) current frame
If the current frame is outside the bounds of the selected line, create
a duplicate of it at the current video frame. Otherwise, make the line
end on the previous frame and create a copy of it which starts on the
current frame (for split before).
2013-11-17 15:07:17 -08:00
Thomas Goyne
bf13603ae1 Swallow all filesystem errors when automatically opening audio from video 2013-11-10 07:25:31 -08:00
Thomas Goyne
747e34b981 Fix crash when a subtitles file is not found 2013-11-09 15:56:18 -08:00
Thomas Goyne
f0ff8c6179 Improve the error message in the fonts collector when a style does not exist
Closes #1661.
2013-11-09 06:25:51 -08:00
Thomas Goyne
466b69ba59 Fix ESC handling in automation dialogs when no button IDs are set
Closes #1660.
2013-11-09 06:17:41 -08:00
Thomas Goyne
f0ef14669f Handle override blocks starting at the beginning of the line correctly 2013-11-04 13:54:12 -08:00
Thomas Goyne
10cbff0ee2 Fix crash when adjusting vertical zoom 2013-11-03 06:21:02 -08:00
Thomas Goyne
62a81df4b2 Fix handling of unpaired braces in the edit box buttons 2013-11-03 05:38:13 -08:00
Thomas Goyne
0a34a5fc94 Always search all lines if only one line is selected
I.e. ignore the "In Selection" option for find (but not Replace All) if
the selection is probably not meaningful.
2013-11-02 16:25:31 -07:00
Thomas Goyne
a8bee18308 Select the contents of the Find Next box when the dialog is first created
It was only being selected when the dialog already existed and was just
being re-shown.
2013-11-02 07:57:57 -07:00
Thomas Goyne
766b82d71b Fix some edge-cases in the thesarus code
Handle missing parts-of-speach and trailing pipes on lines.
2013-11-02 07:53:04 -07:00
tophf
3948bdc6f4 Fix trimming of second line in Recombine Lines 2013-11-01 08:44:21 -07:00
Thomas Goyne
dd325acd81 Add accelerators to more stuff in the find/replace dialog 2013-10-29 09:35:54 -07:00
Thomas Goyne
e15ef04b72 Limit shift times history to the last 50 shifts 2013-10-27 13:08:58 -07:00
Thomas Goyne
95ef444c20 More unique_ptr 2013-10-27 13:07:19 -07:00
Thomas Goyne
eee4da0642 Change the selection before committing deletions of lines
For whatever reason this was sometimes being done after the commit,
which resulted in a lot of code only working by coincidence when the
grid commit handler happened to be the first one to be called.
2013-10-27 07:03:51 -07:00
Thomas Goyne
2f14c395e7 Preserve line current length in Duplicate and Shift
It's quite rare to actually want a multi-frame line followed by a
single-frame line; in most cases they're either all a single frame (in
which case this behaves the same as it always has), or they're all
multi-line, in which case this should be more convenient.
2013-10-26 08:44:16 -07:00
Thomas Goyne
1f04d02c1b Fix check for script yuv matrix matching video yuv matrix 2013-10-25 16:31:56 -07:00
Thomas Goyne
f275ed5628 Update the manual URL now that the 3.1 manual partially exists 2013-10-25 14:10:33 -07:00
Thomas Goyne
5f63a3fcce Remove the help/files command
The local docs it tries to open don't actually exists and if they're
ever added, the help contents command opens them anyway so I'm not sure
what the intended purpose of the command ever was.
2013-10-25 14:09:42 -07:00
Thomas Goyne
3a852f102d Remove entirely superfluous doxygen comments in commands 2013-10-25 14:03:35 -07:00
Thomas Goyne
51d516979b Improve some help text for commands
Consistently use the imperative mood and expand some overly terse help
messages.
2013-10-25 13:54:20 -07:00
Thomas Goyne
c5e30709a6 Add a command to cycle between subtitle providers 2013-10-24 14:32:49 -07:00
Thomas Goyne
879ef35bd4 Add missing include 2013-10-24 13:17:53 -07:00
Thomas Goyne
e737ea415d Fix compilation with UTF-8 wxString 2013-10-24 13:16:13 -07:00
Thomas Goyne
50f92ef573 Actually uudecode attachments when extracting them
Closes #1653.
2013-10-24 09:00:42 -07:00
Thomas Goyne
b1ecefe0f2 Remove pointless data member (CID #739030) 2013-10-23 17:08:27 -07:00
Thomas Goyne
01a38a5e86 Use more make_unique
Shuts up a bunch of Coverity false-positives and might fix a true
positive or two.
2013-10-23 17:08:12 -07:00
Thomas Goyne
da5445a09f Fix incorrect scope of variable in mkv_wrap.cpp
Worked by coincidence since the required value was left on the stack.

CID #1111282.
2013-10-23 17:08:12 -07:00
Thomas Goyne
09a3174cb8 Initialize more stuff in OpenALPlayer's constructor (CID #1111296) 2013-10-23 17:08:11 -07:00
Thomas Goyne
8367f9960c Eliminate warnings with VS2012 + Win8 SDK 2013-10-22 07:45:23 -07:00
Thomas Goyne
535a17bcf2 Remove pointess OSX_ prefix from functions 2013-10-21 18:11:37 -07:00
Thomas Goyne
2640dc42a1 Fix EBU STL export 2013-10-17 09:43:44 -07:00
Thomas Goyne
73e1dc1b60 Honor the color matrix tag from the subtitles file when appropriate
If the script's matrix matches the video's matrix, use that even if
Force BT.601 is on, and if it's TV.601, use that even if Force BT.601 is
off.

This should mostly eliminate the common problems resulting from  mixed
values of the Force BT.601 option.

Closes #1649.
2013-10-17 08:04:03 -07:00
Thomas Goyne
4116f030af Clean up factory_manager a bit 2013-10-16 18:08:43 -07:00
Thomas Goyne
7bd1da7d45 Fix saving screenshots of dummy video 2013-10-16 17:29:03 -07:00
Thomas Goyne
e57035c832 Lock aspect ratio in the scale tool when alt is held down 2013-10-16 16:41:21 -07:00
Thomas Goyne
b254a6823b Fix double confirmation when exiting with unsaved changes
For some reason the close event is getting sent multiple times and
them getting processed in the event loop for the confirmation dialog,
resulting in two dialogs.
2013-10-16 16:41:04 -07:00
Thomas Goyne
9dbca06179 Actually copy the current value in IntValidator's copy constructor 2013-10-15 16:02:25 -07:00
Thomas Goyne
ebd01c50c9 Rewrite NumValidator
Split int validating and double validating into two separate classes.

Make double parsing, validating and stringifying locale-aware. This is
far more complicated than it needs to be due to that Aegisub's locale
handling is a total mess.

Use DoubleValidator rather than wxFloatingPointValidator, because the
latter doesn't work with Aegisub's locale mess (on OS X it uses the C
locale for some things, and the locale reported by CoreFoundation for
others).

Closes #1568.
2013-10-15 10:59:23 -07:00
Thomas Goyne
82412e6428 Fix compilation with UTF-8 wxString 2013-10-12 08:41:37 -07:00
Thomas Goyne
267de7ed07 Fix crash when the video height or width is zero
Closes #1555. Closes #1644.
2013-10-08 15:21:26 -07:00
Thomas Goyne
6694baf3f0 Allow using , as the separator in time edit controls 2013-10-08 07:19:56 -07:00
Thomas Goyne
7a6fd4bb1e Make saving transient UI state in the file optional
It significantly increases the amount of noise when tracking subtitle
files in source control.

Closes #1535.
2013-10-07 17:57:16 -07:00
Thomas Goyne
1cdd461023 Separate UI state info from functional ASS info headers a bit
Prefix script info entries that are just storing Aegisub UI state with
"Aegisub ", and use a separate AssFile method to get/set them.
2013-10-07 17:57:16 -07:00
Thomas Goyne
62114d45f5 Fix reading MicroDVD files 2013-10-06 07:37:35 -07:00
Thomas Goyne
6f79d8731f Pass the detected or chosen charset to SubtitleFormat::CanReadFile
The MicroDVD format needs it since it also probes the file contents.
2013-10-06 07:04:40 -07:00