| 1982 | } |
| 1983 | |
| 1984 | void MainWindow::newProjectFile() |
| 1985 | { |
| 1986 | const QString filter = tr("Project files (*.cppcheck)"); |
| 1987 | QString filepath = QFileDialog::getSaveFileName(this, |
| 1988 | tr("Select Project Filename"), |
| 1989 | getPath(SETTINGS_LAST_PROJECT_PATH), |
| 1990 | filter); |
| 1991 | |
| 1992 | if (filepath.isEmpty()) |
| 1993 | return; |
| 1994 | if (!filepath.endsWith(".cppcheck", Qt::CaseInsensitive)) |
| 1995 | filepath += ".cppcheck"; |
| 1996 | |
| 1997 | setPath(SETTINGS_LAST_PROJECT_PATH, filepath); |
| 1998 | |
| 1999 | QFileInfo inf(filepath); |
| 2000 | const QString filename = inf.fileName(); |
| 2001 | formatAndSetTitle(tr("Project:") + QString(" ") + filename); |
| 2002 | |
| 2003 | delete mProjectFile; |
| 2004 | mProjectFile = new ProjectFile(this); |
| 2005 | mProjectFile->setActiveProject(); |
| 2006 | mProjectFile->setFilename(filepath); |
| 2007 | mProjectFile->setProjectName(filename.left(filename.indexOf("."))); |
| 2008 | mProjectFile->setBuildDir(filename.left(filename.indexOf(".")) + "-cppcheck-build-dir"); |
| 2009 | |
| 2010 | ProjectFileDialog dlg(mProjectFile, isCppcheckPremium(), this); |
| 2011 | if (dlg.exec() == QDialog::Accepted) { |
| 2012 | addProjectMRU(filepath); |
| 2013 | analyzeProject(mProjectFile, QStringList()); |
| 2014 | } else { |
| 2015 | closeProjectFile(); |
| 2016 | } |
| 2017 | } |
| 2018 | |
| 2019 | void MainWindow::closeProjectFile() |
| 2020 | { |
nothing calls this directly
no test coverage detected