1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-25 16:48:44 +02:00

Bug1442 again: Fix TAB cycle through labels, special case...

... of a point label exactly at zero, with or without other labels.
This commit is contained in:
Paul Licameli 2016-07-13 14:17:14 -04:00
parent 2e156f64d5
commit 9b7e66b30f

View File

@ -1674,6 +1674,12 @@ bool LabelTrack::CaptureKey(wxKeyEvent & event)
return false;
}
// Always capture the navigation keys, if we have any labels
auto code = event.GetKeyCode();
if ((code == WXK_TAB || code == WXK_NUMPAD_TAB) &&
!mLabels.empty())
return true;
if (mSelIndex >= 0) {
if (IsGoodLabelEditKey(event)) {
return true;
@ -1897,7 +1903,7 @@ bool LabelTrack::OnKeyDown(SelectedRegion &newSel, wxKeyEvent & event)
mSelIndex = len - 1;
if (newSel.t0() > mLabels[0].getT0()) {
while (mSelIndex >= 0 &&
mLabels[mSelIndex].getT0() >= newSel.t0()) {
mLabels[mSelIndex].getT0() > newSel.t0()) {
mSelIndex--;
}
}
@ -1905,7 +1911,7 @@ bool LabelTrack::OnKeyDown(SelectedRegion &newSel, wxKeyEvent & event)
mSelIndex = 0;
if (newSel.t0() < mLabels[len - 1].getT0()) {
while (mSelIndex < len &&
mLabels[mSelIndex].getT0() <= newSel.t0()) {
mLabels[mSelIndex].getT0() < newSel.t0()) {
mSelIndex++;
}
}