mirror of
https://github.com/cookiengineer/audacity
synced 2025-09-24 16:01:16 +02:00
Remove TrackList::Select
This commit is contained in:
parent
5c6fd64a0e
commit
05ddfaf82b
@ -3534,7 +3534,7 @@ void MenuCommandHandler::OnPrevTrack( AudacityProject &project, bool shift )
|
||||
if( tSelected && pSelected )
|
||||
{
|
||||
selectionState.SelectTrack
|
||||
( *tracks, *t, false, false, mixerBoard );
|
||||
( *t, false, false, mixerBoard );
|
||||
trackPanel->SetFocusedTrack( p ); // move focus to next track up
|
||||
trackPanel->EnsureVisible( p );
|
||||
project.ModifyState(false);
|
||||
@ -3543,7 +3543,7 @@ void MenuCommandHandler::OnPrevTrack( AudacityProject &project, bool shift )
|
||||
if( tSelected && !pSelected )
|
||||
{
|
||||
selectionState.SelectTrack
|
||||
( *tracks, *p, true, false, mixerBoard );
|
||||
( *p, true, false, mixerBoard );
|
||||
trackPanel->SetFocusedTrack( p ); // move focus to next track up
|
||||
trackPanel->EnsureVisible( p );
|
||||
project.ModifyState(false);
|
||||
@ -3552,7 +3552,7 @@ void MenuCommandHandler::OnPrevTrack( AudacityProject &project, bool shift )
|
||||
if( !tSelected && pSelected )
|
||||
{
|
||||
selectionState.SelectTrack
|
||||
( *tracks, *p, false, false, mixerBoard );
|
||||
( *p, false, false, mixerBoard );
|
||||
trackPanel->SetFocusedTrack( p ); // move focus to next track up
|
||||
trackPanel->EnsureVisible( p );
|
||||
project.ModifyState(false);
|
||||
@ -3561,7 +3561,7 @@ void MenuCommandHandler::OnPrevTrack( AudacityProject &project, bool shift )
|
||||
if( !tSelected && !pSelected )
|
||||
{
|
||||
selectionState.SelectTrack
|
||||
( *tracks, *t, true, false, mixerBoard );
|
||||
( *t, true, false, mixerBoard );
|
||||
trackPanel->SetFocusedTrack( p ); // move focus to next track up
|
||||
trackPanel->EnsureVisible( p );
|
||||
project.ModifyState(false);
|
||||
@ -3646,7 +3646,7 @@ void MenuCommandHandler::OnNextTrack( AudacityProject &project, bool shift )
|
||||
if( tSelected && nSelected )
|
||||
{
|
||||
selectionState.SelectTrack
|
||||
( *tracks, *t, false, false, mixerBoard );
|
||||
( *t, false, false, mixerBoard );
|
||||
trackPanel->SetFocusedTrack( n ); // move focus to next track down
|
||||
trackPanel->EnsureVisible( n );
|
||||
project.ModifyState(false);
|
||||
@ -3655,7 +3655,7 @@ void MenuCommandHandler::OnNextTrack( AudacityProject &project, bool shift )
|
||||
if( tSelected && !nSelected )
|
||||
{
|
||||
selectionState.SelectTrack
|
||||
( *tracks, *n, true, false, mixerBoard );
|
||||
( *n, true, false, mixerBoard );
|
||||
trackPanel->SetFocusedTrack( n ); // move focus to next track down
|
||||
trackPanel->EnsureVisible( n );
|
||||
project.ModifyState(false);
|
||||
@ -3664,7 +3664,7 @@ void MenuCommandHandler::OnNextTrack( AudacityProject &project, bool shift )
|
||||
if( !tSelected && nSelected )
|
||||
{
|
||||
selectionState.SelectTrack
|
||||
( *tracks, *n, false, false, mixerBoard );
|
||||
( *n, false, false, mixerBoard );
|
||||
trackPanel->SetFocusedTrack( n ); // move focus to next track down
|
||||
trackPanel->EnsureVisible( n );
|
||||
project.ModifyState(false);
|
||||
@ -3673,7 +3673,7 @@ void MenuCommandHandler::OnNextTrack( AudacityProject &project, bool shift )
|
||||
if( !tSelected && !nSelected )
|
||||
{
|
||||
selectionState.SelectTrack
|
||||
( *tracks, *t, true, false, mixerBoard );
|
||||
( *t, true, false, mixerBoard );
|
||||
trackPanel->SetFocusedTrack( n ); // move focus to next track down
|
||||
trackPanel->EnsureVisible( n );
|
||||
project.ModifyState(false);
|
||||
@ -3780,7 +3780,6 @@ void MenuCommandHandler::OnToggle(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto tracks = project.GetTracks();
|
||||
auto &selectionState = project.GetSelectionState();
|
||||
auto mixerBoard = project.GetMixerBoard();
|
||||
|
||||
@ -3791,7 +3790,7 @@ void MenuCommandHandler::OnToggle(const CommandContext &context)
|
||||
return;
|
||||
|
||||
selectionState.SelectTrack
|
||||
( *tracks, *t, !t->GetSelected(), true, mixerBoard );
|
||||
( *t, !t->GetSelected(), true, mixerBoard );
|
||||
trackPanel->EnsureVisible( t );
|
||||
project.ModifyState(false);
|
||||
|
||||
|
@ -54,12 +54,14 @@ void SelectionState::SelectTrackLength
|
||||
}
|
||||
|
||||
void SelectionState::SelectTrack
|
||||
( TrackList &tracks, Track &track, bool selected, bool updateLastPicked,
|
||||
( Track &track, bool selected, bool updateLastPicked,
|
||||
MixerBoard *pMixerBoard )
|
||||
{
|
||||
bool wasCorrect = (selected == track.GetSelected());
|
||||
|
||||
tracks.Select( &track, selected );
|
||||
for (auto channel : TrackList::Channels(&track))
|
||||
channel->SetSelected(selected);
|
||||
|
||||
if (updateLastPicked)
|
||||
mLastPickedTrack = Track::Pointer( &track );
|
||||
|
||||
@ -98,7 +100,7 @@ void SelectionState::SelectRangeOfTracks
|
||||
TrackListIterator iter( &tracks );
|
||||
sTrack = iter.StartWith( sTrack );
|
||||
do {
|
||||
SelectTrack( tracks, *sTrack, true, false, pMixerBoard );
|
||||
SelectTrack( *sTrack, true, false, pMixerBoard );
|
||||
if ( sTrack == eTrack ) {
|
||||
break;
|
||||
}
|
||||
@ -112,7 +114,7 @@ void SelectionState::SelectNone( TrackList &tracks, MixerBoard *pMixerBoard )
|
||||
TrackListIterator iter( &tracks );
|
||||
Track *track = iter.First();
|
||||
while ( track ) {
|
||||
SelectTrack( tracks, *track, false, false, pMixerBoard );
|
||||
SelectTrack( *track, false, false, pMixerBoard );
|
||||
track = iter.Next();
|
||||
}
|
||||
}
|
||||
@ -155,7 +157,7 @@ void SelectionState::ChangeSelectionOnShiftClick
|
||||
if( pExtendFrom )
|
||||
SelectRangeOfTracks( tracks, track, *pExtendFrom, pMixerBoard );
|
||||
else
|
||||
SelectTrack( tracks, track, true, true, pMixerBoard );
|
||||
SelectTrack( track, true, true, pMixerBoard );
|
||||
mLastPickedTrack = pExtendFrom;
|
||||
}
|
||||
|
||||
@ -166,13 +168,13 @@ void SelectionState::HandleListSelection
|
||||
// AS: If the shift button is being held down, invert
|
||||
// the selection on this track.
|
||||
if (ctrl)
|
||||
SelectTrack( tracks, track, !track.GetSelected(), true, pMixerBoard );
|
||||
SelectTrack( track, !track.GetSelected(), true, pMixerBoard );
|
||||
else {
|
||||
if (shift && mLastPickedTrack.lock())
|
||||
ChangeSelectionOnShiftClick( tracks, track, pMixerBoard );
|
||||
else {
|
||||
SelectNone( tracks, pMixerBoard );
|
||||
SelectTrack( tracks, track, true, true, pMixerBoard );
|
||||
SelectTrack( track, true, true, pMixerBoard );
|
||||
SelectTrackLength( tracks, viewInfo, track, syncLocked );
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
( TrackList &tracks, ViewInfo &viewInfo, Track &track, bool syncLocked );
|
||||
|
||||
void SelectTrack
|
||||
( TrackList &tracks, Track &track,
|
||||
( Track &track,
|
||||
bool selected, bool updateLastPicked, MixerBoard *pMixerBoard );
|
||||
// Inclusive range of tracks, the limits specified in either order:
|
||||
void SelectRangeOfTracks
|
||||
|
@ -1078,26 +1078,6 @@ void TrackList::Clear(bool sendEvent)
|
||||
DeletionEvent();
|
||||
}
|
||||
|
||||
void TrackList::Select(Track * t, bool selected /* = true */ )
|
||||
{
|
||||
if (t) {
|
||||
const auto node = t->GetNode();
|
||||
if ( !isNull( node ) ) {
|
||||
t->SetSelected( selected );
|
||||
if ( t->GetLinked() ) {
|
||||
auto next = getNext( node );
|
||||
if ( !isNull( next ) )
|
||||
(*next.first)->SetSelected( selected );
|
||||
}
|
||||
else {
|
||||
auto prev = getPrev( node );
|
||||
if ( !isNull( prev ) && (*prev.first)->GetLinked() )
|
||||
(*prev.first)->SetSelected( selected );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Return a track in the list that comes after Track t
|
||||
Track *TrackList::GetNext(Track * t, bool linked) const
|
||||
{
|
||||
|
@ -1523,9 +1523,6 @@ public:
|
||||
/// Make the list empty
|
||||
void Clear(bool sendEvent = true);
|
||||
|
||||
/** Select a track, and if it is linked to another track, select it, too. */
|
||||
void Select(Track * t, bool selected = true);
|
||||
|
||||
int GetGroupHeight(const Track * t) const;
|
||||
|
||||
bool CanMoveUp(Track * t) const;
|
||||
|
@ -104,7 +104,7 @@ UIHandle::Result LabelTextHandle::Click
|
||||
while (t)
|
||||
{
|
||||
selectionState.SelectTrack
|
||||
( *pProject->GetTracks(), *t, true, true,
|
||||
( *t, true, true,
|
||||
pProject->GetMixerBoard() );
|
||||
t = iter.Next();
|
||||
}
|
||||
@ -113,7 +113,7 @@ UIHandle::Result LabelTextHandle::Click
|
||||
// Do this after, for its effect on TrackPanel's memory of last selected
|
||||
// track (which affects shift-click actions)
|
||||
selectionState.SelectTrack
|
||||
( *pProject->GetTracks(), *pLT, true, true,
|
||||
( *pLT, true, true,
|
||||
pProject->GetMixerBoard() );
|
||||
}
|
||||
|
||||
|
@ -563,7 +563,7 @@ UIHandle::Result SelectHandle::Click
|
||||
selectionState.SelectNone( *trackList, pProject->GetMixerBoard() );
|
||||
|
||||
selectionState.SelectTrack
|
||||
( *trackList, *pTrack, true, true, pProject->GetMixerBoard() );
|
||||
( *pTrack, true, true, pProject->GetMixerBoard() );
|
||||
|
||||
// Default behavior: select whole track
|
||||
SelectionState::SelectTrackLength
|
||||
@ -617,7 +617,7 @@ UIHandle::Result SelectHandle::Click
|
||||
// Don't toggle away the last selected track.
|
||||
if( !bIsSelected || trackPanel->GetSelectedTrackCount() > 1 )
|
||||
selectionState.SelectTrack
|
||||
( *trackList, *pTrack, !bIsSelected, true, pMixerBoard );
|
||||
( *pTrack, !bIsSelected, true, pMixerBoard );
|
||||
}
|
||||
|
||||
double value;
|
||||
@ -773,7 +773,7 @@ UIHandle::Result SelectHandle::Click
|
||||
#endif
|
||||
StartSelection(pProject);
|
||||
selectionState.SelectTrack
|
||||
( *trackList, *pTrack, true, true, pMixerBoard );
|
||||
( *pTrack, true, true, pMixerBoard );
|
||||
trackPanel->SetFocusedTrack(pTrack);
|
||||
//On-Demand: check to see if there is an OD thing associated with this track.
|
||||
if (pTrack->GetKind() == Track::Wave) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user