Makes item snap to selection start and end points.
Also makes items snap to edit cursor, which follows
selection start point.
Signed-off-by: akleja <storspov@gmail.com>
Reference-to: https://github.com/tenacityteam/tenacity/pull/387
List of commands that were executed in the `src directory`:
* sed -i 's/Audacity: A Digital Audio Editor/Tenacity/g' *.h
* sed -i 's/Audacity: A Digital Audio Editor/Tenacity/g' *.cpp
Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
one taking candidate list directly, the others delegating to it.
Some members removed, some in-class initializers.
The special constructor for TimeShift only has extra arguments. It will go
away.
This change is believed to be a direct refactoring that does not change functionality. It paves the way for more complex kinds of selection, such as selections involving frequency as well as time. It also reduces risk of left and right edges being swapped in future code using SelectedRegion, as the default is to swap on assignment if needed.
bug #115.
But, since there's some definite preferences on which is correct, I've
left the change in, but added a simple way (SNAP_TO_NEAREST define in Snap.c)
to change it once a decision is made.
If set SNAP_TO_NEAREST back to true since that is the current (as of 2.0.5)
behavior.
Completes James' TimeConverter work
This completes the work that James started. It moves most of the non-GUI
related processing from TimeTextCtrl to James' TimeConverter class.
Other changes include:
1) TimeTextCtrl now expects the format name instead of the format string to be
passed when creating a new instance. I found that almost all cases created the
instance with a blank format string and then set the string after creation.
2) To simplify maintenance and prevent a possible discrepancy between the two,
Increase() and Decrease() were merged into a single routine.
As a result:
1) All cases where a TimeTextCtrl was being used to extract information and
not actually display a control have been changed to use TimeConverter instead.
2) All cases where TimeTextCtrl was being created with an empty format and
then immediately followed by something like this:
tt.SetFormatString(tt.GetBuiltinFormat(c->GetFormat()))
have been changed to pass the format name instead of the format string when
creating the TimeTextCtrl instance.