mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-27 06:07:59 +02:00
Bug 1484 - No ctrl-click toggling; History for anchor (mLastPickedTrack)
This commit is contained in:
parent
ea1015596c
commit
44375c252a
@ -1914,6 +1914,11 @@ void TrackPanel::ChangeSelectionOnShiftClick(Track * pTrack){
|
|||||||
// We will either extend from the first or from the last.
|
// We will either extend from the first or from the last.
|
||||||
Track* pExtendFrom= nullptr;
|
Track* pExtendFrom= nullptr;
|
||||||
|
|
||||||
|
if( mLastPickedTrack ){
|
||||||
|
pExtendFrom = mLastPickedTrack;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
TrackListIterator iter(GetTracks());
|
TrackListIterator iter(GetTracks());
|
||||||
for (Track *t = iter.First(); t; t = iter.Next()) {
|
for (Track *t = iter.First(); t; t = iter.Next()) {
|
||||||
const bool isSelected = t->GetSelected();
|
const bool isSelected = t->GetSelected();
|
||||||
@ -1931,12 +1936,14 @@ void TrackPanel::ChangeSelectionOnShiftClick(Track * pTrack){
|
|||||||
// Our track was earlier than the first. Extend from the last.
|
// Our track was earlier than the first. Extend from the last.
|
||||||
if( !pExtendFrom )
|
if( !pExtendFrom )
|
||||||
pExtendFrom = pLast;
|
pExtendFrom = pLast;
|
||||||
|
}
|
||||||
|
|
||||||
SelectNone();
|
SelectNone();
|
||||||
if( pExtendFrom )
|
if( pExtendFrom )
|
||||||
SelectRangeOfTracks(pTrack, pExtendFrom);
|
SelectRangeOfTracks(pTrack, pExtendFrom);
|
||||||
else
|
else
|
||||||
SelectTrack( pTrack, true );
|
SelectTrack( pTrack, true );
|
||||||
|
mLastPickedTrack = pExtendFrom;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// This method gets called when we're handling selection
|
/// This method gets called when we're handling selection
|
||||||
@ -1986,13 +1993,13 @@ void TrackPanel::SelectionHandleClick(wxMouseEvent & event,
|
|||||||
if( bShiftDown )
|
if( bShiftDown )
|
||||||
ChangeSelectionOnShiftClick( pTrack );
|
ChangeSelectionOnShiftClick( pTrack );
|
||||||
if( bCtrlDown ){
|
if( bCtrlDown ){
|
||||||
bool bIsSelected = pTrack->GetSelected();
|
//Commented out bIsSelected toggles, as in Track Control Panel.
|
||||||
//bool bIsSelected = true;
|
//bool bIsSelected = pTrack->GetSelected();
|
||||||
// could set bIsSelected true here, but toggling is more technically correct.
|
//Actual bIsSelected will always add.
|
||||||
// if we want to match behaviour in Track Control Panel.
|
bool bIsSelected = false;
|
||||||
// Don't toggle away the last selected track.
|
// Don't toggle away the last selected track.
|
||||||
if( !bIsSelected || GetSelectedTrackCount() > 1 )
|
if( !bIsSelected || GetSelectedTrackCount() > 1 )
|
||||||
SelectTrack( pTrack, !bIsSelected, false );
|
SelectTrack( pTrack, !bIsSelected, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
double value;
|
double value;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user