| 711 | } |
| 712 | |
| 713 | AudacityProject *ProjectManager::OpenProject( |
| 714 | AudacityProject *pGivenProject, const FilePath &fileNameArg, |
| 715 | bool addtohistory, bool reuseNonemptyProject) |
| 716 | { |
| 717 | ProjectManager::ProjectChooser chooser{ pGivenProject, reuseNonemptyProject }; |
| 718 | if (auto pProject = ProjectFileManager::OpenFile( |
| 719 | std::ref(chooser), fileNameArg, addtohistory )) { |
| 720 | chooser.Commit(); |
| 721 | |
| 722 | auto &projectFileIO = ProjectFileIO::Get( *pProject ); |
| 723 | if( projectFileIO.IsRecovered() ) { |
| 724 | auto &viewport = Viewport::Get(*pProject); |
| 725 | viewport.Zoom(viewport.GetZoomOfToFit()); |
| 726 | // "Project was recovered" replaces "Create new project" in Undo History. |
| 727 | auto &undoManager = UndoManager::Get( *pProject ); |
| 728 | undoManager.RemoveStates(0, 1); |
| 729 | } |
| 730 | return pProject; |
| 731 | } |
| 732 | return nullptr; |
| 733 | } |
| 734 | |
| 735 | // This is done to empty out the tracks, but without creating a new project. |
| 736 | void ProjectManager::ResetProjectToEmpty() { |
no test coverage detected