From 2356e593e07bbc6fc7c2deacf3c43c50e51b994d Mon Sep 17 00:00:00 2001 From: Kimmo Varis Date: Tue, 27 Dec 2011 22:12:52 +0200 Subject: [PATCH] GUI: Add menu items for selecting standards. This commit adds menuitems for selecting standards: - C++11 - C99 - Posix Fixes tickets: #3203 (GUI: Support std=c99) #3202 (GUI: Support std=posix) --- gui/common.h | 5 +++++ gui/main.ui | 28 ++++++++++++++++++++++++++++ gui/mainwindow.cpp | 21 +++++++++++++++++++++ 3 files changed, 54 insertions(+) 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/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()