From b959c11889d63c561d96671351df62dfdc20b398 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Sat, 20 Jan 2024 15:42:50 +0100 Subject: [PATCH] Fixed #12369 (GUI: Compliance report for Misra C++ 2008) (#5900) --- gui/compliancereportdialog.cpp | 16 ++++++---------- gui/mainwindow.cpp | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/gui/compliancereportdialog.cpp b/gui/compliancereportdialog.cpp index 316a71e40cc..e588d804f75 100644 --- a/gui/compliancereportdialog.cpp +++ b/gui/compliancereportdialog.cpp @@ -96,17 +96,13 @@ ComplianceReportDialog::ComplianceReportDialog(ProjectFile* projectFile, QString 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")) + if (!projectFile->getCodingStandards().contains("misra-c-2023") && 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()); + for (QString std: projectFile->getCodingStandards()) { + std[0] = std[0].toUpper(); + std = std.replace("-", " ").replace(" c ", " C ").replace(" cpp ", " C++ ").replace(" c++ ", " C++ "); + mUI->mCodingStandard->addItem(std); + } } ComplianceReportDialog::~ComplianceReportDialog() diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 7f88449b635..dad4deb434e 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -1359,7 +1359,7 @@ void MainWindow::enableCheckButtons(bool enable) mUI->mActionAnalyzeDirectory->setEnabled(enable); if (isCppcheckPremium()) { - mUI->mActionComplianceReport->setEnabled(enable && mProjectFile && mProjectFile->getAddons().contains("misra")); + mUI->mActionComplianceReport->setEnabled(enable && mProjectFile && (mProjectFile->getAddons().contains("misra") || !mProjectFile->getCodingStandards().empty())); } }