diff --git a/gui/compliancereportdialog.cpp b/gui/compliancereportdialog.cpp index daae1df06..adcb25b4d 100644 --- a/gui/compliancereportdialog.cpp +++ b/gui/compliancereportdialog.cpp @@ -95,6 +95,18 @@ ComplianceReportDialog::ComplianceReportDialog(ProjectFile* projectFile, QString mUI->setupUi(this); mUI->mEditProjectName->setText(projectFile->getProjectName()); connect(mUI->buttonBox, &QDialogButtonBox::clicked, this, &ComplianceReportDialog::buttonClicked); + mUI->mCodingStandard->clear(); + if (projectFile->getCodingStandards().contains("misra-c-2023")) + mUI->mCodingStandard->addItem("Misra C 2023"); + else if (projectFile->getAddons().contains("misra")) + mUI->mCodingStandard->addItem("Misra C 2012"); + if (projectFile->getCodingStandards().contains("misra-c++-2008")) + mUI->mCodingStandard->addItem("Misra C++ 2008"); + if (projectFile->getCodingStandards().contains("cert-c-2016")) + mUI->mCodingStandard->addItem("Cert C"); + if (projectFile->getCodingStandards().contains("cert-c++-2016")) + mUI->mCodingStandard->addItem("Cert C++"); + mUI->mCodingStandard->addItems(projectFile->getCodingStandards()); } ComplianceReportDialog::~ComplianceReportDialog() @@ -197,8 +209,9 @@ void ComplianceReportDialog::save() QStringList args{"--project-name=" + projectName, "--project-version=" + projectVersion, - "--output-file=" + outFile, - "--suppressions=" + suppressions.join(",")}; + "--output-file=" + outFile}; + if (!suppressions.isEmpty()) + args << "--suppressions=" + suppressions.join(","); args << ("--" + std); @@ -215,4 +228,13 @@ void ComplianceReportDialog::save() process.start(appPath + "/compliance-report", args); #endif process.waitForFinished(); + const QString output = process.readAll(); + if (!output.isEmpty()) { + QMessageBox msg(QMessageBox::Critical, + tr("Save compliance report"), + output, + QMessageBox::Ok, + this); + msg.exec(); + } }