Commit graph

91 commits

Author SHA1 Message Date
Thomas Goyne
be94ab70f4 Extract cut/copy/delete lines logic from SubtitlesGrid 2012-10-14 18:57:57 -07:00
Thomas Goyne
610b2a9494 Make pasting lines not horribly slow and bad. Closes #1534. 2012-10-13 21:32:26 -07:00
Thomas Goyne
06e23b9296 Use SetSelectionAndActive whenever both are set at once
I'm not sure if this fixes any current actual problems as using slightly
stale data is normally only a problem when lines are being deleted, but
it's easier to fix it across the board than to figure out where it is
and isn't needed, and the speed impact of batching is trivial.

Originally committed to SVN as r6753.
2012-05-05 02:11:09 +00:00
Thomas Goyne
5f00eb62f4 Fix a case where Recombine Lines would leave an empty line
If a "1, 1+2, 1" pattern appeared at the end of the selection the blank
line at the end would never get cleaned up as it's removed when the line
after it is checked for recombination, so add a special case for that.

Closes #1468.

Originally committed to SVN as r6669.
2012-04-06 15:50:54 +00:00
Thomas Goyne
b32515da80 Strip trailing whitespace from all cpp and h files
Originally committed to SVN as r6600.
2012-03-25 04:05:06 +00:00
Thomas Goyne
ae5d6edaed End the batch if the Paste Over dialog is cancelled rather than horribly breaking everything
Originally committed to SVN as r6596.
2012-03-25 04:04:42 +00:00
Thomas Goyne
75ae053958 Make some stuff const
Originally committed to SVN as r6590.
2012-03-20 00:39:10 +00:00
Thomas Goyne
9b69ce7a27 Add support for noncontiguous selections to the duplicate lines commands
Originally committed to SVN as r6476.
2012-02-15 22:14:10 +00:00
Thomas Goyne
c2d3c910c7 Replace some uses of "" with wxString()
Despite special-casing zero-length input, wxString("") takes over four
times as long as wxString() - and on a 10k line script, this change cuts
AssFile's copy constructor's runtime in half.

Originally committed to SVN as r6401.
2012-01-31 00:44:43 +00:00
Thomas Goyne
a54983a9bc Fix a few minor issues with the Paste Over dialog
Remove the pointlessly hardcoded height of the checklist.

Set the parent correctly.

Set the initial focus to the OK button.

Originally committed to SVN as r6373.
2012-01-26 23:21:19 +00:00
Thomas Goyne
99a7eece9c Significantly speed up duplicating multiple lines
SubtitlesGrid::DuplicateLines iterated over the entire file multiple
times for each line duplicated, making duplicating large numbers of
lines extremely slow.

Originally committed to SVN as r6366.
2012-01-26 20:08:54 +00:00
Thomas Goyne
71a4e38c7d Fix over-escaping that resulted in Recombine Lines stripping 't' rather than tabs. Closes #1418.
Originally committed to SVN as r6361.
2012-01-25 19:07:27 +00:00
Thomas Goyne
86aacca631 Move SplitLine from SubtitlesGrid to SubsEditCtrl
This still isn't a very good place for the functionality, but it breaks
SubsEditCtrl's dependency on SubtitlesGrid.

Originally committed to SVN as r6275.
2012-01-11 19:19:30 +00:00
Thomas Goyne
68b2ae8275 Eliminate most clang warnings
Originally committed to SVN as r6183.
2011-12-28 21:27:22 +00:00
Thomas Goyne
71345af81a Overload operator int() on AssTime and remove GetMS/SetMS
Originally committed to SVN as r6123.
2011-12-22 21:28:51 +00:00
Thomas Goyne
ed51e7b668 Fix memory leak when deleting or cutting rows
Originally committed to SVN as r6045.
2011-12-22 21:16:34 +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
9a53dc0440 Eliminate some unused variables
Originally committed to SVN as r5893.
2011-11-19 04:46:45 +00:00
Thomas Goyne
8e81fd07ed Move everything but the subtitle modification utility functions from SubtitlesGrid to BaseGrid. There never has been a clean division of responsibilities between them and the split mostly just made things awkward.
Originally committed to SVN as r5828.
2011-11-08 00:24:41 +00:00
Thomas Goyne
c936306593 Rewrite nearly everything related to karaoke
Move most karaoke parsing/serializing/editing code to AssKaraoke rather
than being scattered all over the place, and add much better support for
non-karaoke override tags and comments.

Add a karaoke timing controller.

Redesign the karaoke syllable split/join interface to have a single mode
from which both splitting and joining can be done rather than separate
split and join modes.

Only show the karaoke split/join bar when karaoke mode is enabled.

Closes #886, #987, #1190.

Originally committed to SVN as r5613.
2011-09-28 19:44:07 +00:00
Thomas Goyne
d990bbbb99 Eliminate all unnecessary uses of L and _T
Originally committed to SVN as r5611.
2011-09-28 19:43:11 +00:00
Thomas Goyne
3c4191e649 Kill SubtitlesGrid::SetSubsToVideo
Originally committed to SVN as r5597.
2011-09-15 05:17:22 +00:00
Thomas Goyne
0c4eb020a4 Rewrite the shift times dialog, detangling it from the grid and making it modeless, and add support for characters outside the local charset in the shift history file path. Closes #1269.
Originally committed to SVN as r5596.
2011-09-15 05:17:14 +00:00
Thomas Goyne
1f095b0a01 Remove the SubsEditBox from the context in favor of the SubsEditTextCtrl as it was the only public member of SubsEditBox
Originally committed to SVN as r5595.
2011-09-15 05:17:07 +00:00
Thomas Goyne
934a5b24eb Refine the commit types
Switch to a bitmask with much more finely-grained information about what
changed in the commit, fixing a few potential correctness problems and
significantly improving the performance of several scenarios where commits
are spammed very frequently.

Originally committed to SVN as r5590.
2011-09-15 05:16:32 +00:00
Thomas Goyne
d82e2bb496 Use wxEVT_CONTEXT_MENU for context menus rather than right button down so that the context menu key works correctly. Updates #1238.
Originally committed to SVN as r5578.
2011-08-31 04:17:37 +00:00
Thomas Goyne
41119ff6fc Convert the subtitles grid context menu over to the new menu system
Originally committed to SVN as r5559.
2011-08-27 06:30:10 +00:00
Thomas Goyne
626df4db05 Rewrite the dynamic menu generation code
Remove hardcoded assumptions about where in the menu items are and
instead bind menu items directly to commands so that customizing the
menu actually works.

Add support for user menu files that override the default one.

Add better support for multiple menus so that all of the menus can
potentially be created by the dynamic menu system rather than just the
main menu bar.

Add support for commands whose names change based on the current project
state so that undo and redo can work properly.

Simplify the menu json format and make commands responsible for
controlling what type of menu item is created rather than allowing
nonsensical configurations.

The Automation menu is currently not implemented.

Originally committed to SVN as r5554.
2011-08-27 06:29:36 +00:00
Thomas Goyne
ef26170214 Rearrange FrameMain deinitialization so that things which depend on the project context are guaranteed to be destroyed before the context
Originally committed to SVN as r5531.
2011-07-29 23:16:46 +00:00
Thomas Goyne
7842ccbeb1 Kill SubtitlesGrid::SetVideoToSubs
Originally committed to SVN as r5470.
2011-07-15 04:25:23 +00:00
Thomas Goyne
95cadb5226 Clean up base_grid a bit
Reduce the visibilty of many members and document some of them

Cut down on recreation of wxPen and wxBrush objects in DrawImage,
probably speeding up painting somewhat

Simplify handling of extendRow

Move event IDs to base_grid.cpp

Remove worthless comments and dead code

Assorted cosmetic changes

Originally committed to SVN as r5462.
2011-07-15 04:05:43 +00:00
Thomas Goyne
ef4bfb1535 use agi::Context::Validate for subsgrid context menu item validation
Originally committed to SVN as r5460.
2011-07-15 04:05:31 +00:00
Thomas Goyne
f098e2fac8 Add an optional Validate method to commands
Originally committed to SVN as r5459.
2011-07-15 04:05:22 +00:00
Thomas Goyne
4d924b3f27 Move line joining from SubtitlesGrid to the commands
Originally committed to SVN as r5454.
2011-07-15 04:04:48 +00:00
Thomas Goyne
256e098aa7 Remove header include order requirements
Originally committed to SVN as r5449.
2011-07-15 04:04:13 +00:00
Thomas Goyne
ccddf8eab1 Make hotkey::check return whether any hotkeys matched, and skip events which did not match any hotkeys
Originally committed to SVN as r5241.
2011-01-19 03:12:46 +00:00
Thomas Goyne
45c33ab675 Add commands for the remaining subtitles grid hotkeys and remove SubtitlesGrid::OnKeyDown entirely
Originally committed to SVN as r5238.
2011-01-18 05:13:26 +00:00
Thomas Goyne
be71a66600 Add command and AudioController support for saving audio clips
Originally committed to SVN as r5218.
2011-01-16 07:18:00 +00:00
Thomas Goyne
a1bd974969 Partially convert the subtitles grid's context menu over to using commands
Originally committed to SVN as r5216.
2011-01-16 07:17:46 +00:00
Thomas Goyne
df1dce3593 Kill SubtitlesGrid::ass and SubtitlesGrid::EditBox and convert everything that used them over to agi::Context
Originally committed to SVN as r5215.
2011-01-16 07:17:36 +00:00
Thomas Goyne
8544565c0e Rearrange FrameMain initialization order to seperate context initialization and control creation a bit, and eliminate local pointers to non-view parts of the context
Originally committed to SVN as r5209.
2011-01-16 07:16:54 +00:00
Thomas Goyne
7210ea17d8 Add pre-save signal to AssFile and move most of the logic in FrameMain::SaveSubtitles to slots for this signal
Originally committed to SVN as r5207.
2011-01-16 07:16:40 +00:00
Thomas Goyne
59300cbc27 Add a subtitle open signal and move most of the logic in FrameMain::LoadSubtitles to slots for this signal.
Originally committed to SVN as r5206.
2011-01-16 07:16:33 +00:00
Thomas Goyne
1664faf159 Make SubtitlesGrid listen for changes to "Subtitle/Grid/Hide Overrides" rather than refreshing it from the command
Originally committed to SVN as r5204.
2011-01-16 07:16:21 +00:00
Thomas Goyne
e450cb3e7e Fix include paths
Originally committed to SVN as r5132.
2011-01-05 18:40:37 +00:00
Amar Takhar
167f09a610 Merge the dynamic menu, hotkey and toolbar branch to trunk. This doesn't include Windows support as vs2008 was being a major pain. This involves revisions r4921:4950, r4961:5002, r5005:5006, r5008:5056, r5062:5065, r5072, r5081:5082, r5087, r5096:5110, r5124:5125. Updates #1258.
Originally committed to SVN as r5126.
2011-01-05 13:00:46 +00:00
Thomas Goyne
e1e98d0ddd Only refresh the time columns of the subtitle grid when times change
Originally committed to SVN as r4913.
2010-12-08 08:09:55 +00:00
Amar Takhar
c15777f844 Merge audio_display_rewrite branch to trunk. This is not a complete work, don't expect to time anything for a while.
Originally committed to SVN as r4903.
2010-12-08 03:36:10 +00:00
Thomas Goyne
6d2b941e76 Rework how committing changes works
Rather than everything having to separately commit changes to the ass
and then tell the subs grid to notify various parts of Aegisub about the
changes, committing the AssFile now triggers an event which objects
listen for.

AssFile::Commit now also has an argument to indicate what sorts of
changes were made to the file. For now these types are very broad.

Originally committed to SVN as r4901.
2010-12-07 19:09:28 +00:00
Thomas Goyne
d9006b0eb4 Make VideoContext use events for some of its communication with other objects
Originally committed to SVN as r4900.
2010-12-07 19:09:21 +00:00