|
60 | 60 | static constexpr char ADDON_MISRA[] = "misra"; |
61 | 61 | static constexpr char CODING_STANDARD_MISRA_C_2023[] = "misra-c-2023"; |
62 | 62 | static constexpr char CODING_STANDARD_MISRA_CPP_2008[] = "misra-cpp-2008"; |
| 63 | +static constexpr char CODING_STANDARD_MISRA_CPP_2023[] = "misra-cpp-2023"; |
63 | 64 | static constexpr char CODING_STANDARD_CERT_C[] = "cert-c-2016"; |
64 | 65 | static constexpr char CODING_STANDARD_CERT_CPP[] = "cert-cpp-2016"; |
65 | 66 | static constexpr char CODING_STANDARD_AUTOSAR[] = "autosar"; |
@@ -391,17 +392,22 @@ void ProjectFileDialog::loadFromProjectFile(const ProjectFile *projectFile) |
391 | 392 | mUI->mBtnBrowseMisraFile->setEnabled(false); |
392 | 393 | } |
393 | 394 |
|
| 395 | + mUI->mMisraCpp->setEnabled(mPremium); |
| 396 | + mUI->mMisraCppVersion->setEnabled(mUI->mMisraCpp->isChecked()); |
| 397 | + connect(mUI->mMisraCpp, &QCheckBox::toggled, mUI->mMisraCppVersion, &QComboBox::setEnabled); |
| 398 | + |
| 399 | + mUI->mMisraCppVersion->setVisible(mPremium); |
| 400 | + mUI->mMisraCppVersion->setCurrentIndex(projectFile->getCodingStandards().contains(CODING_STANDARD_MISRA_CPP_2023)); |
| 401 | + |
394 | 402 | mUI->mCertC2016->setChecked(mPremium && projectFile->getCodingStandards().contains(CODING_STANDARD_CERT_C)); |
395 | 403 | mUI->mCertCpp2016->setChecked(mPremium && projectFile->getCodingStandards().contains(CODING_STANDARD_CERT_CPP)); |
396 | | - mUI->mMisraCpp2008->setChecked(mPremium && projectFile->getCodingStandards().contains(CODING_STANDARD_MISRA_CPP_2008)); |
397 | 404 | mUI->mAutosar->setChecked(mPremium && projectFile->getCodingStandards().contains(CODING_STANDARD_AUTOSAR)); |
398 | 405 |
|
399 | 406 | if (projectFile->getCertIntPrecision() <= 0) |
400 | 407 | mUI->mEditCertIntPrecision->setText(QString()); |
401 | 408 | else |
402 | 409 | mUI->mEditCertIntPrecision->setText(QString::number(projectFile->getCertIntPrecision())); |
403 | 410 |
|
404 | | - mUI->mMisraCpp2008->setEnabled(mPremium); |
405 | 411 | mUI->mCertC2016->setEnabled(mPremium); |
406 | 412 | mUI->mCertCpp2016->setEnabled(mPremium); |
407 | 413 | mUI->mAutosar->setEnabled(mPremium); |
@@ -482,8 +488,10 @@ void ProjectFileDialog::saveToProjectFile(ProjectFile *projectFile) const |
482 | 488 | codingStandards << CODING_STANDARD_CERT_CPP; |
483 | 489 | if (mPremium && mUI->mMisraVersion->currentIndex() == 1) |
484 | 490 | codingStandards << CODING_STANDARD_MISRA_C_2023; |
485 | | - if (mUI->mMisraCpp2008->isChecked()) |
| 491 | + if (mUI->mMisraCpp->isChecked() && mUI->mMisraCppVersion->currentIndex() == 0) |
486 | 492 | codingStandards << CODING_STANDARD_MISRA_CPP_2008; |
| 493 | + if (mUI->mMisraCpp->isChecked() && mUI->mMisraCppVersion->currentIndex() == 1) |
| 494 | + codingStandards << CODING_STANDARD_MISRA_CPP_2023; |
487 | 495 | if (mUI->mAutosar->isChecked()) |
488 | 496 | codingStandards << CODING_STANDARD_AUTOSAR; |
489 | 497 | projectFile->setCodingStandards(std::move(codingStandards)); |
|
0 commit comments