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)
This commit is contained in:
Kimmo Varis 2011-12-27 22:12:52 +02:00
parent a057c8f30d
commit 2356e593e0
3 changed files with 54 additions and 0 deletions

View File

@ -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"

View File

@ -134,6 +134,10 @@
<addaction name="mActionRecheck"/>
<addaction name="mActionStop"/>
<addaction name="separator"/>
<addaction name="mActionCplusplus11"/>
<addaction name="mActionC99"/>
<addaction name="mActionPosix"/>
<addaction name="separator"/>
<addaction name="mActionPlatforms"/>
</widget>
<widget class="QMenu" name="mMenuEdit">
@ -602,6 +606,30 @@
<bool>false</bool>
</property>
</action>
<action name="mActionCplusplus11">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>C++11</string>
</property>
</action>
<action name="mActionC99">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>C99</string>
</property>
</action>
<action name="mActionPosix">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Posix</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>

View File

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