|
43 | 43 | static const char ADDON_MISRA[] = "misra"; |
44 | 44 | static const char CODING_STANDARD_MISRA_CPP_2008[] = "misra-cpp-2008"; |
45 | 45 | static const char CODING_STANDARD_CERT_C[] = "cert-c-2016"; |
| 46 | +static const char CODING_STANDARD_CERT_CPP[] = "cert-cpp-2016"; |
46 | 47 | static const char CODING_STANDARD_AUTOSAR[] = "autosar"; |
47 | 48 |
|
48 | 49 | class QModelIndex; |
@@ -224,7 +225,6 @@ ProjectFileDialog::ProjectFileDialog(ProjectFile *projectFile, bool premium, QWi |
224 | 225 | connect(mUI->mBtnAddSuppression, &QPushButton::clicked, this, &ProjectFileDialog::addSuppression); |
225 | 226 | connect(mUI->mBtnRemoveSuppression, &QPushButton::clicked, this, &ProjectFileDialog::removeSuppression); |
226 | 227 | connect(mUI->mListSuppressions, &QListWidget::doubleClicked, this, &ProjectFileDialog::editSuppression); |
227 | | - connect(mUI->mBtnBrowseMisraFile, &QPushButton::clicked, this, &ProjectFileDialog::browseMisraFile); |
228 | 228 | connect(mUI->mChkAllVsConfigs, &QCheckBox::clicked, this, &ProjectFileDialog::checkAllVSConfigs); |
229 | 229 | loadFromProjectFile(projectFile); |
230 | 230 | } |
@@ -349,35 +349,30 @@ void ProjectFileDialog::loadFromProjectFile(const ProjectFile *projectFile) |
349 | 349 | const QString dataDir = getDataDir(); |
350 | 350 | updateAddonCheckBox(mUI->mAddonThreadSafety, projectFile, dataDir, "threadsafety"); |
351 | 351 | updateAddonCheckBox(mUI->mAddonY2038, projectFile, dataDir, "y2038"); |
352 | | - updateAddonCheckBox(mUI->mMisraC2012, projectFile, dataDir, ADDON_MISRA); |
353 | | - |
354 | | - const QString &misraFile = settings.value(SETTINGS_MISRA_FILE, QString()).toString(); |
355 | | - mUI->mEditMisraFile->setText(misraFile); |
356 | | - if (mPremium) { |
357 | | - mUI->mLabelMisraFile->setVisible(false); |
358 | | - mUI->mEditMisraFile->setVisible(false); |
359 | | - mUI->mBtnBrowseMisraFile->setVisible(false); |
360 | | - } else if (!mUI->mMisraC2012->isEnabled()) { |
361 | | - mUI->mEditMisraFile->setEnabled(false); |
362 | | - mUI->mBtnBrowseMisraFile->setEnabled(false); |
363 | | - } |
364 | 352 |
|
365 | | - mUI->mPremiumCertC->setChecked(projectFile->getCodingStandards().contains(CODING_STANDARD_CERT_C)); |
366 | | - mUI->mMisraCpp2008->setChecked(projectFile->getCodingStandards().contains(CODING_STANDARD_MISRA_CPP_2008)); |
367 | | - mUI->mAutosar->setChecked(projectFile->getCodingStandards().contains(CODING_STANDARD_AUTOSAR)); |
| 353 | + if (mPremium) |
| 354 | + updateAddonCheckBox(mUI->mMisraC2012, projectFile, dataDir, ADDON_MISRA); |
| 355 | + else |
| 356 | + mUI->mMisraC2012->setChecked(false); |
| 357 | + mUI->mCertC2016->setChecked(mPremium && projectFile->getCodingStandards().contains(CODING_STANDARD_CERT_C)); |
| 358 | + mUI->mCertCpp2016->setChecked(mPremium && projectFile->getCodingStandards().contains(CODING_STANDARD_CERT_CPP)); |
| 359 | + mUI->mMisraCpp2008->setChecked(mPremium && projectFile->getCodingStandards().contains(CODING_STANDARD_MISRA_CPP_2008)); |
| 360 | + mUI->mAutosar->setChecked(mPremium && projectFile->getCodingStandards().contains(CODING_STANDARD_AUTOSAR)); |
368 | 361 |
|
369 | 362 | if (projectFile->getCertIntPrecision() <= 0) |
370 | 363 | mUI->mEditCertIntPrecision->setText(QString()); |
371 | 364 | else |
372 | 365 | mUI->mEditCertIntPrecision->setText(QString::number(projectFile->getCertIntPrecision())); |
373 | 366 |
|
374 | | - mUI->mPremiumCertC->setVisible(mPremium); |
375 | | - mUI->mMisraCpp2008->setVisible(mPremium); |
376 | | - mUI->mAutosar->setVisible(mPremium); |
| 367 | + mUI->mMisraC2012->setEnabled(mPremium); |
| 368 | + mUI->mMisraCpp2008->setEnabled(mPremium); |
| 369 | + mUI->mCertC2016->setEnabled(mPremium); |
| 370 | + mUI->mCertCpp2016->setEnabled(mPremium); |
| 371 | + mUI->mAutosar->setEnabled(mPremium); |
377 | 372 | mUI->mLabelCertIntPrecision->setVisible(mPremium); |
378 | 373 | mUI->mEditCertIntPrecision->setVisible(mPremium); |
379 | | - mUI->mBughunting->setChecked(projectFile->getBughunting()); |
380 | | - mUI->mGroupboxBughunting->setVisible(mPremium); |
| 374 | + mUI->mBughunting->setChecked(mPremium && projectFile->getBughunting()); |
| 375 | + mUI->mBughunting->setEnabled(mPremium); |
381 | 376 |
|
382 | 377 | mUI->mToolClangAnalyzer->setChecked(projectFile->getClangAnalyzer()); |
383 | 378 | mUI->mToolClangTidy->setChecked(projectFile->getClangTidy()); |
@@ -444,8 +439,10 @@ void ProjectFileDialog::saveToProjectFile(ProjectFile *projectFile) const |
444 | 439 | addons << ADDON_MISRA; |
445 | 440 | projectFile->setAddons(addons); |
446 | 441 | QStringList codingStandards; |
447 | | - if (mUI->mPremiumCertC->isChecked()) |
| 442 | + if (mUI->mCertC2016->isChecked()) |
448 | 443 | codingStandards << CODING_STANDARD_CERT_C; |
| 444 | + if (mUI->mCertCpp2016->isChecked()) |
| 445 | + codingStandards << CODING_STANDARD_CERT_CPP; |
449 | 446 | if (mUI->mMisraCpp2008->isChecked()) |
450 | 447 | codingStandards << CODING_STANDARD_MISRA_CPP_2008; |
451 | 448 | if (mUI->mAutosar->isChecked()) |
@@ -902,20 +899,3 @@ int ProjectFileDialog::getSuppressionIndex(const QString &shortText) const |
902 | 899 | } |
903 | 900 | return -1; |
904 | 901 | } |
905 | | - |
906 | | -void ProjectFileDialog::browseMisraFile() |
907 | | -{ |
908 | | - const QString fileName = QFileDialog::getOpenFileName(this, |
909 | | - tr("Select MISRA rule texts file"), |
910 | | - QDir::homePath(), |
911 | | - tr("MISRA rule texts file (%1)").arg("*.txt")); |
912 | | - if (!fileName.isEmpty()) { |
913 | | - QSettings settings; |
914 | | - mUI->mEditMisraFile->setText(fileName); |
915 | | - settings.setValue(SETTINGS_MISRA_FILE, fileName); |
916 | | - |
917 | | - mUI->mMisraC2012->setText("MISRA C 2012"); |
918 | | - mUI->mMisraC2012->setEnabled(true); |
919 | | - updateAddonCheckBox(mUI->mMisraC2012, nullptr, getDataDir(), ADDON_MISRA); |
920 | | - } |
921 | | -} |
0 commit comments