diff --git a/gui/common.h b/gui/common.h index cf1b71a55..5b337694f 100644 --- a/gui/common.h +++ b/gui/common.h @@ -53,6 +53,11 @@ #define SETTINGS_SHOW_INFORMATION "Show information" #define SETTINGS_SHOW_PORTABILITY "Show portability" +// Standards support +#define SETTINGS_STD_CPP11 "Platform CPP11" +#define SETTINGS_STD_C99 "Platform C99" +#define SETTINGS_STD_POSIX "Platform Posix" + // Other settings #define SETTINGS_CHECK_PATH "Check path" #define SETTINGS_CHECK_FORCE "Check force" diff --git a/gui/gui.pro b/gui/gui.pro index e7859ac57..3d94f6c5a 100644 --- a/gui/gui.pro +++ b/gui/gui.pro @@ -71,6 +71,7 @@ HEADERS += aboutdialog.h \ resultstree.h \ resultsview.h \ settingsdialog.h \ + showtypes.h \ statsdialog.h \ threadhandler.h \ threadresult.h \ @@ -78,8 +79,7 @@ HEADERS += aboutdialog.h \ txtreport.h \ xmlreport.h \ xmlreportv1.h \ - xmlreportv2.h \ - showtypes.h + xmlreportv2.h SOURCES += aboutdialog.cpp \ application.cpp \ @@ -102,6 +102,7 @@ SOURCES += aboutdialog.cpp \ resultstree.cpp \ resultsview.cpp \ settingsdialog.cpp \ + showtypes.cpp \ statsdialog.cpp \ threadhandler.cpp \ threadresult.cpp \ @@ -109,8 +110,7 @@ SOURCES += aboutdialog.cpp \ txtreport.cpp \ xmlreport.cpp \ xmlreportv1.cpp \ - xmlreportv2.cpp \ - showtypes.cpp + xmlreportv2.cpp win32 { DEFINES += _CRT_SECURE_NO_WARNINGS diff --git a/gui/main.ui b/gui/main.ui index 00d355bbb..ef09dd67a 100644 --- a/gui/main.ui +++ b/gui/main.ui @@ -134,6 +134,10 @@ + + + + @@ -602,6 +606,30 @@ false + + + true + + + C++11 + + + + + true + + + C99 + + + + + true + + + Posix + + diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 25caed592..20b86e75c 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -213,6 +213,13 @@ void MainWindow::LoadSettings() mUI.mActionShowPerformance->setChecked(types->isShown(ShowTypes::ShowPerformance)); mUI.mActionShowInformation->setChecked(types->isShown(ShowTypes::ShowInformation)); + const bool stdCpp11 = mSettings->value(SETTINGS_STD_CPP11, false).toBool(); + mUI.mActionCplusplus11->setChecked(stdCpp11); + const bool stdC99 = mSettings->value(SETTINGS_STD_C99, false).toBool(); + mUI.mActionC99->setChecked(stdC99); + const bool stdPosix = mSettings->value(SETTINGS_STD_POSIX, false).toBool(); + mUI.mActionPosix->setChecked(stdPosix); + // Main window settings const bool showMainToolbar = mSettings->value(SETTINGS_TOOLBARS_MAIN_SHOW, true).toBool(); mUI.mActionToolBarMain->setChecked(showMainToolbar); @@ -263,6 +270,10 @@ void MainWindow::SaveSettings() mSettings->setValue(SETTINGS_SHOW_PERFORMANCE, mUI.mActionShowPerformance->isChecked()); mSettings->setValue(SETTINGS_SHOW_INFORMATION, mUI.mActionShowInformation->isChecked()); + mSettings->setValue(SETTINGS_STD_CPP11, mUI.mActionCplusplus11->isChecked()); + mSettings->setValue(SETTINGS_STD_C99, mUI.mActionC99->isChecked()); + mSettings->setValue(SETTINGS_STD_POSIX, mUI.mActionPosix->isChecked()); + // Main window settings mSettings->setValue(SETTINGS_TOOLBARS_MAIN_SHOW, mUI.mToolBarMain->isVisible()); mSettings->setValue(SETTINGS_TOOLBARS_VIEW_SHOW, mUI.mToolBarView->isVisible()); @@ -484,6 +495,9 @@ Settings MainWindow::GetCppcheckSettings() result._inlineSuppressions = mSettings->value(SETTINGS_INLINE_SUPPRESSIONS, false).toBool(); result.inconclusive = mSettings->value(SETTINGS_INCONCLUSIVE_ERRORS, false).toBool(); result.platformType = (Settings::PlatformType) mSettings->value(SETTINGS_CHECKED_PLATFORM, 0).toInt(); + result.standards.cpp11 = mSettings->value(SETTINGS_STD_CPP11, false).toBool(); + result.standards.c99 = mSettings->value(SETTINGS_STD_C99, false).toBool(); + result.standards.posix = mSettings->value(SETTINGS_STD_POSIX, false).toBool(); if (result._jobs <= 0) { result._jobs = 1; @@ -506,6 +520,10 @@ void MainWindow::CheckDone() EnableProjectActions(true); EnableProjectOpenActions(true); mPlatformActions->setEnabled(true); + mUI.mActionCplusplus11->setEnabled(true); + mUI.mActionC99->setEnabled(true); + mUI.mActionPosix->setEnabled(true); + if (mUI.mResults->HasResults()) { mUI.mActionClearResults->setEnabled(true); @@ -524,6 +542,9 @@ void MainWindow::CheckLockDownUI() EnableProjectActions(false); EnableProjectOpenActions(false); mPlatformActions->setEnabled(false); + mUI.mActionCplusplus11->setEnabled(false); + mUI.mActionC99->setEnabled(false); + mUI.mActionPosix->setEnabled(false); } void MainWindow::ProgramSettings()