Commit Graph

115 Commits

Author SHA1 Message Date
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 83761d881a Convert AssFile::Line to an intrusive list
Gives O(1) pointer -> iterator conversions, better memory usage, better
performance, and overall slightly simplifies the code using it.
2012-11-10 18:05:56 -08:00
Thomas Goyne e44c47c863 Remove $Id$ markers since git doesn't support them 2012-10-25 17:39:49 -07:00
Thomas Goyne 40bb3b857e Allow scrolling the subtitles grid a page past the last row. Closes #888. 2012-10-20 08:26:38 -07:00
Thomas Goyne c7fd04a739 Rename ASS -> Ass in symbol names
Most types and functions used Ass, but a decent number used ASS, so make
them consistent.
2012-10-16 09:52:19 -07:00
Thomas Goyne 8aeb611745 Make the correct row visible when selecting rows with shift + arrow keys in the grid. Closes #1533. 2012-10-14 08:31:16 -07:00
Thomas Goyne b7e0af6bbb Delete BaseGrid::GetFirstSelRow() since it's no longer used by anything 2012-10-14 08:22:13 -07:00
Thomas Goyne e4a6092b36 Use signals for selection change notifications 2012-10-12 14:54:07 -07:00
Thomas Goyne f756aa73c1 Add SelectionController::SetSelectionAndActive, which automatically batches the changes to the selection and active line
Originally committed to SVN as r6752.
2012-05-05 02:11:03 +00:00
Thomas Goyne 1bd24d837c Allow block selections on the grid with modifier keys held down
Originally committed to SVN as r6747.
2012-05-04 02:52:58 +00:00
Thomas Goyne 213ccccf86 Redesign the logic for scrolling the grid on drags
Update the grid scroll position on mouse up rather than mouse down,
eliminating the need for the logic that made it impossible to do a drag
selection from the top or bottom rows of the grid, and fix some cases
where the grid would scroll in an undesirable direction.

Originally committed to SVN as r6746.
2012-05-04 02:52:52 +00:00
Thomas Goyne 123f02f0fb Process hotkeys in wxEVT_CHAR_HOOK rather than wxEVT_KEY_DOWN
Char hook events propagate by default, removing the need for the event
filter to make key down events propagate, which was causing some funny
issues.

On Windows, the char hook handler runs before menu accelerators, fixing
a bug where Default context hotkeys would override more specific ones
when they appeared on a menu. Unfortunately, this is not the case on
GTK, so the dumb accelerator-disabling hack is still required.

Originally committed to SVN as r6724.
2012-04-27 19:07:49 +00:00
Thomas Goyne 3403734c00 Update the cached grid colors when the relevant options are changed rather than just repainting the grid. Closes #1466.
Originally committed to SVN as r6668.
2012-04-06 15:50:46 +00:00
Thomas Goyne 9f3fd691e2 Unskip key events handled by the non-command keypress handling in BaseGrid
hotkey::check marks non-matching events as skipped, so the default key
event handler was running even if BaseGrid did something with the
keypress.

Closes #1464.

Originally committed to SVN as r6667.
2012-04-06 03:53:38 +00:00
Thomas Goyne de9cc755d2 Stop key event propagation when checking for hotkeys to avoid checking keypresses that aren't hotkeys several times
Originally committed to SVN as r6577.
2012-03-12 23:34:34 +00:00
Thomas Goyne de7df882e9 Seek audio to the line on double-click in the grid in addition to video
Originally committed to SVN as r6456.
2012-02-07 23:17:26 +00:00
Thomas Goyne aa49a4eb0f Factor out the options lookups from BaseGrid::GetRowStrings so that they aren't pointlessly checked every row
Originally committed to SVN as r6393.
2012-01-31 00:43:32 +00:00
Thomas Goyne 0c972886fb Cache most of the brushes used in grid painting
Originally committed to SVN as r6391.
2012-01-31 00:43:15 +00:00
Thomas Goyne cf1425f9d1 Don't get the strings for hidden columns when painting the grid. Speeds up grid painting by up to 25%.
Originally committed to SVN as r6390.
2012-01-31 00:43:06 +00:00
Thomas Goyne b34d2c547f Use wxAutoBufferedPaintDC rather than manual double-buffering in BaseGrid, as it's simpler and slightly faster
Originally committed to SVN as r6389.
2012-01-31 00:42:58 +00:00
Thomas Goyne 8c246e1cb8 Make shift-scrollwheel scroll the grid a page at a time. Closes #1407.
Originally committed to SVN as r6372.
2012-01-26 22:46:09 +00:00
Thomas Goyne 6d550b4a5d Repaint the entire grid on timing changes
Timing changes can potentially make all of the columns need to be
repainted (due to the collision line color), and the grid currently
isn't smart enough to know when this is actually the case, so just
always repaint the entire thing.

Originally committed to SVN as r6371.
2012-01-26 22:27:57 +00:00
Thomas Goyne 2094814077 Save the current row and scroll position in the file and restore it when the file is reopened. Closes #1417.
Originally committed to SVN as r6362.
2012-01-25 19:07:36 +00:00
Thomas Goyne 26c3e13340 Fix poor synchronization between mouse and keyboard modifications to the selection
Combining Shift+Up/Down (or Home/End or Page Up/Page Down) with
shift-clicking had very odd results due to that they used separate
variables to decide where to extend from (and even when only one was
used they were handled incorrectly in some cases).

Closes #1311.

Originally committed to SVN as r6355.
2012-01-25 04:59:17 +00:00
Thomas Goyne 9ac2f93bf0 Fix some mostly unimportant uses of uninitialized memory
Originally committed to SVN as r6304.
2012-01-18 20:08:06 +00:00
Thomas Goyne cae10121ed Fix a bunch of -pedantic stuff
Originally committed to SVN as r6181.
2011-12-28 21:27:06 +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 a66cc26706 Remove all calls to wxKeyEvent::StopPropagation. Key events don't propagate by default and even if they did, events which are marked as processed don't propagate further.
Originally committed to SVN as r6046.
2011-12-22 21:16:43 +00:00
Thomas Goyne 95fe6a523f Actually use the selection foreground color for selected rows in the grid
Originally committed to SVN as r6029.
2011-12-22 21:14:06 +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 89541a949f Actually hide override tags in hide tags mode. Closes #1360.
Originally committed to SVN as r5830.
2011-11-08 00:25:02 +00:00
Thomas Goyne dc380c5848 Refactor BaseGrid painting a bit
Originally committed to SVN as r5829.
2011-11-08 00:24:53 +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 84c545b978 Return const references from OptionValue::GetList* rather than taking an output parameter. Eliminates some copies of lists and makes the calling code less awkward.
Originally committed to SVN as r5816.
2011-11-04 19:42:31 +00:00
Thomas Goyne 9a8fb66fbf Remove an unused variable in BaseGrid::UpdateMaps
Originally committed to SVN as r5795.
2011-10-28 20:40:53 +00:00
Thomas Goyne 1741ce93f6 Factor out the mouse wheel forwarding code in the audio display to a function used by the audio display, video display and subtitles grid, and make it actually work
Originally committed to SVN as r5781.
2011-10-25 19:40:45 +00:00
Thomas Goyne f29e889776 Always update column widths after a new line is added or removed
Originally committed to SVN as r5762.
2011-10-23 17:00:26 +00:00
Thomas Goyne b7efafe3b8 Fix calculation of the time column widths
Originally committed to SVN as r5734.
2011-10-12 23:07:38 +00:00
Thomas Goyne 9b00fad2fc Include the column headers in the column width calculations in BaseGrid
Originally committed to SVN as r5704.
2011-10-01 18:35:06 +00:00
Thomas Goyne 3dc0ed6c56 Use CmdDown in BaseGrid rather than #ifdefs
Originally committed to SVN as r5703.
2011-10-01 18:35:00 +00:00
Thomas Goyne 5a49abb2eb Fix bug in BaseGrid::GetSelection that resulted in row 0 always being selected
Originally committed to SVN as r5653.
2011-09-28 19:50:41 +00:00
Thomas Goyne 94998f4283 Update ths column widths in BaseGrid when the number of digits in the row number changes
Originally committed to SVN as r5651.
2011-09-28 19:50:24 +00:00
Thomas Goyne 683dd6c0a9 Kill BaseGrid::SelectVisible
Originally committed to SVN as r5600.
2011-09-15 05:17:43 +00:00
Thomas Goyne 11c40188c2 Eliminate some old selection code in BaseGrid
Originally committed to SVN as r5599.
2011-09-15 05:17:36 +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 5b3b821696 Always keep the active line visible in the grid
Originally committed to SVN as r5593.
2011-09-15 05:16:54 +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 03d7849d12 Significantly speed up grid painting, especially when only some columns need to be repainted
Originally committed to SVN as r5571.
2011-08-27 06:52:42 +00:00
Thomas Goyne 561216d4c8 Make hotkey::check take a project context and make FrameMain::context private
Originally committed to SVN as r5532.
2011-07-29 23:16:55 +00:00