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 @@
+
+
+
+
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()