bool Gui::saveProject() { ProjectPtr project = getApp()->getProject(); if ( project->hasProjectBeenSavedByUser() ) { QString projectFilename = project->getProjectFilename(); QString projectPath = project->getProjectPath(); if ( !_imp->checkProjectLockAndWarn(projectPath, projectFilename) ) { return false; } bool ret = project->saveProject(projectPath, projectFilename, 0); ///update the open recents if ( !projectPath.endsWith( QLatin1Char('/') ) ) { projectPath.append( QLatin1Char('/') ); } if (ret) { QString file = projectPath + projectFilename; updateRecentFiles(file); } return ret; } else { return saveProjectAs(); } }
bool GuiAppInstance::save(const std::string& filename) { if ( filename.empty() ) { ProjectPtr project = getProject(); if ( project->hasProjectBeenSavedByUser() ) { return _imp->_gui->saveProject(); } else { return _imp->_gui->saveProjectAs(); } } else { return _imp->_gui->saveProjectAs(filename); } }