3232#include " cppcheck.h"
3333#include " errorlogger.h"
3434
35- ProjectFileDialog::ProjectFileDialog (const QString &path , QWidget *parent)
35+ ProjectFileDialog::ProjectFileDialog (ProjectFile *projectFile , QWidget *parent)
3636 : QDialog(parent)
37- , mFilePath(path )
37+ , mProjectFile(projectFile )
3838{
3939 mUI .setupUi (this );
4040
41- const QFileInfo inf (path );
41+ const QFileInfo inf (projectFile-> getFilename () );
4242 QString filename = inf.fileName ();
4343 QString title = tr (" Project file: %1" ).arg (filename);
4444 setWindowTitle (title);
@@ -90,7 +90,7 @@ ProjectFileDialog::ProjectFileDialog(const QString &path, QWidget *parent)
9090 mLibraryCheckboxes << checkbox;
9191 }
9292
93- connect (mUI .mButtons , &QDialogButtonBox::accepted, this , &ProjectFileDialog::accept );
93+ connect (mUI .mButtons , &QDialogButtonBox::accepted, this , &ProjectFileDialog::ok );
9494 connect (mUI .mBtnBrowseBuildDir , &QPushButton::clicked, this , &ProjectFileDialog::browseBuildDir);
9595 connect (mUI .mBtnClearImportProject , &QPushButton::clicked, this , &ProjectFileDialog::clearImportProject);
9696 connect (mUI .mBtnBrowseImportProject , &QPushButton::clicked, this , &ProjectFileDialog::browseImportProject);
@@ -107,6 +107,8 @@ ProjectFileDialog::ProjectFileDialog(const QString &path, QWidget *parent)
107107 connect (mUI .mBtnIncludeDown , &QPushButton::clicked, this , &ProjectFileDialog::moveIncludePathDown);
108108 connect (mUI .mBtnAddSuppression , &QPushButton::clicked, this , &ProjectFileDialog::addSuppression);
109109 connect (mUI .mBtnRemoveSuppression , &QPushButton::clicked, this , &ProjectFileDialog::removeSuppression);
110+
111+ loadFromProjectFile (projectFile);
110112}
111113
112114ProjectFileDialog::~ProjectFileDialog ()
@@ -155,9 +157,16 @@ void ProjectFileDialog::saveToProjectFile(ProjectFile *projectFile) const
155157 projectFile->setSuppressions (getSuppressions ());
156158}
157159
160+ void ProjectFileDialog::ok ()
161+ {
162+ saveToProjectFile (mProjectFile );
163+ mProjectFile ->write ();
164+ accept ();
165+ }
166+
158167QString ProjectFileDialog::getExistingDirectory (const QString &caption, bool trailingSlash)
159168{
160- const QFileInfo inf (mFilePath );
169+ const QFileInfo inf (mProjectFile -> getFilename () );
161170 const QString rootpath = inf.absolutePath ();
162171 QString selectedDir = QFileDialog::getExistingDirectory (this ,
163172 caption,
@@ -211,7 +220,7 @@ void ProjectFileDialog::clearImportProject()
211220
212221void ProjectFileDialog::browseImportProject ()
213222{
214- const QFileInfo inf (mFilePath );
223+ const QFileInfo inf (mProjectFile -> getFilename () );
215224 const QDir &dir = inf.absoluteDir ();
216225 QString fileName = QFileDialog::getOpenFileName (this , tr (" Import Project" ),
217226 dir.canonicalPath (),
0 commit comments