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

added two commands to move to first or last track

This commit is contained in:
David Bailes 2015-04-24 11:38:55 +01:00
parent 593cc6ee5e
commit 0b2d5729c5
4 changed files with 61 additions and 8 deletions

View File

@ -1138,8 +1138,12 @@ void AudacityProject::CreateMenusAndCommands()
TracksExistFlag | TrackPanelHasFocus);
c->AddCommand(wxT("PrevTrack"), _("Move Focus to Previous Track"), FN(OnCursorUp), wxT("Up"));
c->AddCommand(wxT("ShiftUp"), _("Move Focus to Previous and Select"), FN(OnShiftUp), wxT("Shift+Up"));
c->AddCommand(wxT("NextTrack"), _("Move Focus to Next Track"), FN(OnCursorDown), wxT("Down"));
c->AddCommand(wxT("FirstTrack"), _("Move Focus to First Track"), FN(OnFirstTrack), wxT("Ctrl+Home"));
c->AddCommand(wxT("LastTrack"), _("Move Focus to Last Track"), FN(OnLastTrack), wxT("Ctrl+End"));
c->AddCommand(wxT("ShiftUp"), _("Move Focus to Previous and Select"), FN(OnShiftUp), wxT("Shift+Up"));
c->AddCommand(wxT("ShiftDown"), _("Move Focus to Next and Select"), FN(OnShiftDown), wxT("Shift+Down"));
c->AddCommand(wxT("Toggle"), _("Toggle Focused Track"), FN(OnToggle), wxT("Return"));
c->AddCommand(wxT("ToggleAlt"), _("Toggle Focused Track"), FN(OnToggle), wxT("NUMPAD_ENTER"));
@ -2491,16 +2495,26 @@ void AudacityProject::OnCursorUp()
mTrackPanel->OnPrevTrack( false );
}
void AudacityProject::OnShiftUp()
{
mTrackPanel->OnPrevTrack( true );
}
void AudacityProject::OnCursorDown()
{
mTrackPanel->OnNextTrack( false );
}
void AudacityProject::OnFirstTrack()
{
mTrackPanel->OnFirstTrack();
}
void AudacityProject::OnLastTrack()
{
mTrackPanel->OnLastTrack();
}
void AudacityProject::OnShiftUp()
{
mTrackPanel->OnPrevTrack( true );
}
void AudacityProject::OnShiftDown()
{
mTrackPanel->OnNextTrack( true );

View File

@ -123,11 +123,16 @@ void OnSetPlaySpeed();
void OnPlaySpeedInc();
void OnPlaySpeedDec();
// Selection-Editing Commands
// Moving track focus commands
void OnCursorUp();
void OnShiftUp();
void OnCursorDown();
void OnFirstTrack();
void OnLastTrack();
// Selection-Editing Commands
void OnShiftUp();
void OnShiftDown();
void OnToggle();

View File

@ -7894,6 +7894,38 @@ void TrackPanel::OnNextTrack( bool shift )
}
}
void TrackPanel::OnFirstTrack()
{
Track *t = GetFocusedTrack();
if (!t)
return;
TrackListIterator iter(mTracks);
Track *f = iter.First();
if (t != f)
{
SetFocusedTrack(f);
MakeParentModifyState(false);
}
EnsureVisible(f);
}
void TrackPanel::OnLastTrack()
{
Track *t = GetFocusedTrack();
if (!t)
return;
TrackListIterator iter(mTracks);
Track *l = iter.Last();
if (t != l)
{
SetFocusedTrack(l);
MakeParentModifyState(false);
}
EnsureVisible(l);
}
void TrackPanel::OnToggle()
{
Track *t;

View File

@ -219,6 +219,8 @@ class AUDACITY_DLL_API TrackPanel:public wxPanel {
virtual void OnPrevTrack(bool shift = false);
virtual void OnNextTrack(bool shift = false);
virtual void OnFirstTrack();
virtual void OnLastTrack();
virtual void OnToggle();
virtual void OnCursorLeft(bool shift, bool ctrl, bool keyup = false);