|
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