1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-02 00:29:41 +02:00

Zoom to fit after any import (labels, audio, or midi)

This commit is contained in:
Paul Licameli 2017-07-19 21:51:48 -04:00
parent cfab325af2
commit cfeb7bced1
3 changed files with 19 additions and 9 deletions

View File

@ -6733,6 +6733,8 @@ void AudacityProject::OnImport()
Import(fileName);
}
ZoomAfterImport(nullptr);
}
void AudacityProject::OnImportLabels()
@ -6776,7 +6778,7 @@ void AudacityProject::OnImportLabels()
Format(_("Imported labels from '%s'"), fileName.c_str()),
_("Import Labels"));
RedrawProject();
ZoomAfterImport(nullptr);
}
}
@ -6821,8 +6823,7 @@ AudacityProject *AudacityProject::DoImportMIDI(
pProject->PushState(wxString::Format(_("Imported MIDI from '%s'"),
fileName.c_str()), _("Import MIDI"));
pProject->RedrawProject();
pProject->mTrackPanel->EnsureVisible(pTrack);
pProject->ZoomAfterImport(pTrack);
pNewProject = nullptr;
return pProject;
}

View File

@ -463,6 +463,8 @@ public:
for (const auto &name : sortednames)
mProject->Import(name);
mProject->ZoomAfterImport(nullptr);
return true;
} );
}
@ -4171,12 +4173,6 @@ void AudacityProject::AddImportedTracks(const wxString &fileName,
wxEventLoopBase::GetActive()->YieldFor(wxEVT_CATEGORY_UI | wxEVT_CATEGORY_USER_INPUT);
#endif
OnZoomFit();
mTrackPanel->SetFocus();
mTrackPanel->EnsureVisible(mTrackPanel->GetFirstSelectedTrack());
mTrackPanel->Refresh(false);
if (initiallyEmpty && mDirManager->GetProjectName() == wxT("")) {
wxString name = fileName.AfterLast(wxFILE_SEP_PATH).BeforeLast(wxT('.'));
mFileName =::wxPathOnly(fileName) + wxFILE_SEP_PATH + name + wxT(".aup");
@ -4190,6 +4186,17 @@ void AudacityProject::AddImportedTracks(const wxString &fileName,
newTracks.clear();
}
void AudacityProject::ZoomAfterImport(Track *pTrack)
{
OnZoomFit();
mTrackPanel->SetFocus();
RedrawProject();
if (!pTrack)
pTrack = mTrackPanel->GetFirstSelectedTrack();
mTrackPanel->EnsureVisible(pTrack);
}
// If pNewTrackList is passed in non-NULL, it gets filled with the pointers to NEW tracks.
bool AudacityProject::Import(const wxString &fileName, WaveTrackArray* pTrackArray /*= NULL*/)
{

View File

@ -265,6 +265,8 @@ public:
// If pNewTrackList is passed in non-NULL, it gets filled with the pointers to NEW tracks.
bool Import(const wxString &fileName, WaveTrackArray *pTrackArray = NULL);
void ZoomAfterImport(Track *pTrack);
void AddImportedTracks(const wxString &fileName,
TrackHolders &&newTracks);