GUI: Allow that platform is selected in project dialog
This commit is contained in:
parent
af4181f4d1
commit
9800e82d13
|
@ -850,6 +850,21 @@ Settings MainWindow::getCppcheckSettings()
|
||||||
result.buildDir = (prjpath + '/' + buildDir).toStdString();
|
result.buildDir = (prjpath + '/' + buildDir).toStdString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QString platform = mProjectFile->getPlatform();
|
||||||
|
if (platform.endsWith(".xml")) {
|
||||||
|
const QString applicationFilePath = QCoreApplication::applicationFilePath();
|
||||||
|
const QString appPath = QFileInfo(applicationFilePath).canonicalPath();
|
||||||
|
result.loadPlatformFile(appPath.toStdString().c_str(), platform.toStdString());
|
||||||
|
} else {
|
||||||
|
for (int i = cppcheck::Platform::Native; i <= cppcheck::Platform::Unix64; i++) {
|
||||||
|
const cppcheck::Platform::PlatformType p = (cppcheck::Platform::PlatformType)i;
|
||||||
|
if (platform == cppcheck::Platform::platformString(p)) {
|
||||||
|
result.platform(p);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Include directories (and files) are searched in listed order.
|
// Include directories (and files) are searched in listed order.
|
||||||
|
@ -878,7 +893,8 @@ Settings MainWindow::getCppcheckSettings()
|
||||||
result.jobs = mSettings->value(SETTINGS_CHECK_THREADS, 1).toInt();
|
result.jobs = mSettings->value(SETTINGS_CHECK_THREADS, 1).toInt();
|
||||||
result.inlineSuppressions = mSettings->value(SETTINGS_INLINE_SUPPRESSIONS, false).toBool();
|
result.inlineSuppressions = mSettings->value(SETTINGS_INLINE_SUPPRESSIONS, false).toBool();
|
||||||
result.inconclusive = mSettings->value(SETTINGS_INCONCLUSIVE_ERRORS, false).toBool();
|
result.inconclusive = mSettings->value(SETTINGS_INCONCLUSIVE_ERRORS, false).toBool();
|
||||||
result.platformType = (Settings::PlatformType) mSettings->value(SETTINGS_CHECKED_PLATFORM, 0).toInt();
|
if (result.platformType == cppcheck::Platform::Unspecified)
|
||||||
|
result.platform((cppcheck::Platform::PlatformType) mSettings->value(SETTINGS_CHECKED_PLATFORM, 0).toInt());
|
||||||
if (mSettings->value(SETTINGS_STD_CPP03, false).toBool())
|
if (mSettings->value(SETTINGS_STD_CPP03, false).toBool())
|
||||||
result.standards.cpp = Standards::CPP03;
|
result.standards.cpp = Standards::CPP03;
|
||||||
else if (mSettings->value(SETTINGS_STD_CPP11, false).toBool())
|
else if (mSettings->value(SETTINGS_STD_CPP11, false).toBool())
|
||||||
|
@ -894,7 +910,7 @@ Settings MainWindow::getCppcheckSettings()
|
||||||
if (result.standards.posix)
|
if (result.standards.posix)
|
||||||
posix = tryLoadLibrary(&result.library, "posix.cfg");
|
posix = tryLoadLibrary(&result.library, "posix.cfg");
|
||||||
bool windows = true;
|
bool windows = true;
|
||||||
if (result.platformType == Settings::Win32A || result.platformType == Settings::Win32W || result.platformType == Settings::Win64)
|
if (result.isWindowsPlatform())
|
||||||
windows = tryLoadLibrary(&result.library, "windows.cfg");
|
windows = tryLoadLibrary(&result.library, "windows.cfg");
|
||||||
|
|
||||||
if (!std || !posix || !windows)
|
if (!std || !posix || !windows)
|
||||||
|
|
|
@ -50,6 +50,7 @@ static const char ExcludePathName[] = "path";
|
||||||
static const char ExcludePathNameAttrib[] = "name";
|
static const char ExcludePathNameAttrib[] = "name";
|
||||||
static const char LibrariesElementName[] = "libraries";
|
static const char LibrariesElementName[] = "libraries";
|
||||||
static const char LibraryElementName[] = "library";
|
static const char LibraryElementName[] = "library";
|
||||||
|
static const char PlatformElementName[] = "platform";
|
||||||
static const char SuppressionsElementName[] = "suppressions";
|
static const char SuppressionsElementName[] = "suppressions";
|
||||||
static const char SuppressionElementName[] = "suppression";
|
static const char SuppressionElementName[] = "suppression";
|
||||||
static const char AddonElementName[] = "addon";
|
static const char AddonElementName[] = "addon";
|
||||||
|
@ -84,6 +85,7 @@ void ProjectFile::clear()
|
||||||
mPaths.clear();
|
mPaths.clear();
|
||||||
mExcludedPaths.clear();
|
mExcludedPaths.clear();
|
||||||
mLibraries.clear();
|
mLibraries.clear();
|
||||||
|
mPlatform.clear();
|
||||||
mSuppressions.clear();
|
mSuppressions.clear();
|
||||||
mAddons.clear();
|
mAddons.clear();
|
||||||
mClangAnalyzer = mClangTidy = false;
|
mClangAnalyzer = mClangTidy = false;
|
||||||
|
@ -149,6 +151,9 @@ bool ProjectFile::read(const QString &filename)
|
||||||
if (insideProject && xmlReader.name() == LibrariesElementName)
|
if (insideProject && xmlReader.name() == LibrariesElementName)
|
||||||
readStringList(mLibraries, xmlReader,LibraryElementName);
|
readStringList(mLibraries, xmlReader,LibraryElementName);
|
||||||
|
|
||||||
|
if (insideProject && xmlReader.name() == PlatformElementName)
|
||||||
|
readPlatform(xmlReader);
|
||||||
|
|
||||||
// Find suppressions list from inside project element
|
// Find suppressions list from inside project element
|
||||||
if (insideProject && xmlReader.name() == SuppressionsElementName)
|
if (insideProject && xmlReader.name() == SuppressionsElementName)
|
||||||
readStringList(mSuppressions, xmlReader,SuppressionElementName);
|
readStringList(mSuppressions, xmlReader,SuppressionElementName);
|
||||||
|
@ -434,6 +439,30 @@ void ProjectFile::readExcludes(QXmlStreamReader &reader)
|
||||||
} while (!allRead);
|
} while (!allRead);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProjectFile::readPlatform(QXmlStreamReader &reader)
|
||||||
|
{
|
||||||
|
do {
|
||||||
|
const QXmlStreamReader::TokenType type = reader.readNext();
|
||||||
|
switch (type) {
|
||||||
|
case QXmlStreamReader::Characters:
|
||||||
|
mPlatform = reader.text().toString();
|
||||||
|
case QXmlStreamReader::EndElement:
|
||||||
|
return;
|
||||||
|
// Not handled
|
||||||
|
case QXmlStreamReader::StartElement:
|
||||||
|
case QXmlStreamReader::NoToken:
|
||||||
|
case QXmlStreamReader::Invalid:
|
||||||
|
case QXmlStreamReader::StartDocument:
|
||||||
|
case QXmlStreamReader::EndDocument:
|
||||||
|
case QXmlStreamReader::Comment:
|
||||||
|
case QXmlStreamReader::DTD:
|
||||||
|
case QXmlStreamReader::EntityReference:
|
||||||
|
case QXmlStreamReader::ProcessingInstruction:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} while (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void ProjectFile::readStringList(QStringList &stringlist, QXmlStreamReader &reader, const char elementname[])
|
void ProjectFile::readStringList(QStringList &stringlist, QXmlStreamReader &reader, const char elementname[])
|
||||||
{
|
{
|
||||||
|
@ -498,6 +527,11 @@ void ProjectFile::setLibraries(const QStringList &libraries)
|
||||||
mLibraries = libraries;
|
mLibraries = libraries;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProjectFile::setPlatform(const QString &platform)
|
||||||
|
{
|
||||||
|
mPlatform = platform;
|
||||||
|
}
|
||||||
|
|
||||||
void ProjectFile::setSuppressions(const QStringList &suppressions)
|
void ProjectFile::setSuppressions(const QStringList &suppressions)
|
||||||
{
|
{
|
||||||
mSuppressions = suppressions;
|
mSuppressions = suppressions;
|
||||||
|
@ -535,6 +569,12 @@ bool ProjectFile::write(const QString &filename)
|
||||||
xmlWriter.writeEndElement();
|
xmlWriter.writeEndElement();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!mPlatform.isEmpty()) {
|
||||||
|
xmlWriter.writeStartElement(PlatformElementName);
|
||||||
|
xmlWriter.writeCharacters(mPlatform);
|
||||||
|
xmlWriter.writeEndElement();
|
||||||
|
}
|
||||||
|
|
||||||
if (!mImportProject.isEmpty()) {
|
if (!mImportProject.isEmpty()) {
|
||||||
xmlWriter.writeStartElement(ImportProjectElementName);
|
xmlWriter.writeStartElement(ImportProjectElementName);
|
||||||
xmlWriter.writeCharacters(mImportProject);
|
xmlWriter.writeCharacters(mImportProject);
|
||||||
|
|
|
@ -106,6 +106,14 @@ public:
|
||||||
return mLibraries;
|
return mLibraries;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get platform.
|
||||||
|
* @return Current platform. If it ends with .xml then it is a file. Otherwise it must match one of the return values from @sa cppcheck::Platform::platformString() ("win32A", "unix32", ..)
|
||||||
|
*/
|
||||||
|
QString getPlatform() const {
|
||||||
|
return mPlatform;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get list suppressions.
|
* @brief Get list suppressions.
|
||||||
* @return list of suppressions.
|
* @return list of suppressions.
|
||||||
|
@ -206,6 +214,12 @@ public:
|
||||||
*/
|
*/
|
||||||
void setLibraries(const QStringList &libraries);
|
void setLibraries(const QStringList &libraries);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set platform.
|
||||||
|
* @param platform platform.
|
||||||
|
*/
|
||||||
|
void setPlatform(const QString &platform);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set list of suppressions.
|
* @brief Set list of suppressions.
|
||||||
* @param suppressions List of suppressions.
|
* @param suppressions List of suppressions.
|
||||||
|
@ -282,6 +296,12 @@ protected:
|
||||||
*/
|
*/
|
||||||
void readExcludes(QXmlStreamReader &reader);
|
void readExcludes(QXmlStreamReader &reader);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Read platform text.
|
||||||
|
* @param reader XML stream reader.
|
||||||
|
*/
|
||||||
|
void readPlatform(QXmlStreamReader &reader);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Read string list
|
* @brief Read string list
|
||||||
* @param stringlist destination string list
|
* @param stringlist destination string list
|
||||||
|
@ -359,6 +379,11 @@ private:
|
||||||
*/
|
*/
|
||||||
QStringList mLibraries;
|
QStringList mLibraries;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Platform
|
||||||
|
*/
|
||||||
|
QString mPlatform;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief List of suppressions.
|
* @brief List of suppressions.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -33,6 +33,19 @@
|
||||||
#include "library.h"
|
#include "library.h"
|
||||||
#include "cppcheck.h"
|
#include "cppcheck.h"
|
||||||
#include "errorlogger.h"
|
#include "errorlogger.h"
|
||||||
|
#include "platforms.h"
|
||||||
|
|
||||||
|
/** Platforms shown in the platform combobox */
|
||||||
|
static const cppcheck::Platform::PlatformType builtinPlatforms[] = {
|
||||||
|
cppcheck::Platform::Native,
|
||||||
|
cppcheck::Platform::Win32A,
|
||||||
|
cppcheck::Platform::Win32W,
|
||||||
|
cppcheck::Platform::Win64,
|
||||||
|
cppcheck::Platform::Unix32,
|
||||||
|
cppcheck::Platform::Unix64
|
||||||
|
};
|
||||||
|
|
||||||
|
static const int numberOfBuiltinPlatforms = sizeof(builtinPlatforms) / sizeof(builtinPlatforms[0]);
|
||||||
|
|
||||||
ProjectFileDialog::ProjectFileDialog(ProjectFile *projectFile, QWidget *parent)
|
ProjectFileDialog::ProjectFileDialog(ProjectFile *projectFile, QWidget *parent)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
|
@ -94,6 +107,32 @@ ProjectFileDialog::ProjectFileDialog(ProjectFile *projectFile, QWidget *parent)
|
||||||
mLibraryCheckboxes << checkbox;
|
mLibraryCheckboxes << checkbox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Platforms..
|
||||||
|
Platforms p;
|
||||||
|
for (int i = 0; i < numberOfBuiltinPlatforms; i++)
|
||||||
|
mUI.mComboBoxPlatform->addItem(p.get(builtinPlatforms[i]).mTitle);
|
||||||
|
QStringList platformFiles;
|
||||||
|
foreach (QString sp, searchPaths) {
|
||||||
|
if (sp.endsWith("/cfg"))
|
||||||
|
sp = sp.mid(0,sp.length()-3) + "platforms";
|
||||||
|
QDir dir(sp);
|
||||||
|
dir.setSorting(QDir::Name);
|
||||||
|
dir.setNameFilters(QStringList("*.xml"));
|
||||||
|
dir.setFilter(QDir::Files | QDir::NoDotAndDotDot);
|
||||||
|
foreach (QFileInfo item, dir.entryInfoList()) {
|
||||||
|
const QString platformFile = item.fileName();
|
||||||
|
|
||||||
|
cppcheck::Platform p;
|
||||||
|
if (!p.loadPlatformFile(appPath.toStdString().c_str(), platformFile.toStdString()))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (platformFiles.indexOf(platformFile) == -1)
|
||||||
|
platformFiles << platformFile;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
qSort(platformFiles);
|
||||||
|
mUI.mComboBoxPlatform->addItems(platformFiles);
|
||||||
|
|
||||||
mUI.mEditTags->setValidator(new QRegExpValidator(QRegExp("[a-zA-Z0-9 ;]*"),this));
|
mUI.mEditTags->setValidator(new QRegExpValidator(QRegExp("[a-zA-Z0-9 ;]*"),this));
|
||||||
|
|
||||||
connect(mUI.mButtons, &QDialogButtonBox::accepted, this, &ProjectFileDialog::ok);
|
connect(mUI.mButtons, &QDialogButtonBox::accepted, this, &ProjectFileDialog::ok);
|
||||||
|
@ -156,6 +195,33 @@ void ProjectFileDialog::loadFromProjectFile(const ProjectFile *projectFile)
|
||||||
mUI.mChkAllVsConfigs->setChecked(projectFile->getAnalyzeAllVsConfigs());
|
mUI.mChkAllVsConfigs->setChecked(projectFile->getAnalyzeAllVsConfigs());
|
||||||
setExcludedPaths(projectFile->getExcludedPaths());
|
setExcludedPaths(projectFile->getExcludedPaths());
|
||||||
setLibraries(projectFile->getLibraries());
|
setLibraries(projectFile->getLibraries());
|
||||||
|
const QString platform = projectFile->getPlatform();
|
||||||
|
if (platform.endsWith(".xml")) {
|
||||||
|
int i;
|
||||||
|
for (i = numberOfBuiltinPlatforms; i < mUI.mComboBoxPlatform->count(); ++i) {
|
||||||
|
if (mUI.mComboBoxPlatform->itemText(i) == platform)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i < mUI.mComboBoxPlatform->count())
|
||||||
|
mUI.mComboBoxPlatform->setCurrentIndex(i);
|
||||||
|
else {
|
||||||
|
mUI.mComboBoxPlatform->addItem(platform);
|
||||||
|
mUI.mComboBoxPlatform->setCurrentIndex(i);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < numberOfBuiltinPlatforms; ++i) {
|
||||||
|
const cppcheck::Platform::PlatformType p = builtinPlatforms[i];
|
||||||
|
if (platform == cppcheck::Platform::platformString(p))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i < numberOfBuiltinPlatforms)
|
||||||
|
mUI.mComboBoxPlatform->setCurrentIndex(i);
|
||||||
|
else
|
||||||
|
mUI.mComboBoxPlatform->setCurrentIndex(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
mUI.mComboBoxPlatform->setCurrentText(projectFile->getPlatform());
|
||||||
setSuppressions(projectFile->getSuppressions());
|
setSuppressions(projectFile->getSuppressions());
|
||||||
|
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
|
@ -193,6 +259,15 @@ void ProjectFileDialog::saveToProjectFile(ProjectFile *projectFile) const
|
||||||
projectFile->setCheckPaths(getCheckPaths());
|
projectFile->setCheckPaths(getCheckPaths());
|
||||||
projectFile->setExcludedPaths(getExcludedPaths());
|
projectFile->setExcludedPaths(getExcludedPaths());
|
||||||
projectFile->setLibraries(getLibraries());
|
projectFile->setLibraries(getLibraries());
|
||||||
|
if (mUI.mComboBoxPlatform->currentText().endsWith(".xml"))
|
||||||
|
projectFile->setPlatform(mUI.mComboBoxPlatform->currentText());
|
||||||
|
else {
|
||||||
|
int i = mUI.mComboBoxPlatform->currentIndex();
|
||||||
|
if (i < numberOfBuiltinPlatforms)
|
||||||
|
projectFile->setPlatform(cppcheck::Platform::platformString(builtinPlatforms[i]));
|
||||||
|
else
|
||||||
|
projectFile->setPlatform(QString());
|
||||||
|
}
|
||||||
projectFile->setSuppressions(getSuppressions());
|
projectFile->setSuppressions(getSuppressions());
|
||||||
QStringList list;
|
QStringList list;
|
||||||
if (mUI.mAddonThreadSafety->isChecked())
|
if (mUI.mAddonThreadSafety->isChecked())
|
||||||
|
|
|
@ -268,35 +268,11 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="mTabProject">
|
<widget class="QWidget" name="mTabChecking">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Project</string>
|
<string>Checking</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
<layout class="QVBoxLayout" name="verticalLayout_15">
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="groupBox">
|
|
||||||
<property name="title">
|
|
||||||
<string>Root path:</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_13">
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="mEditProjectRoot"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="groupBox_5">
|
|
||||||
<property name="title">
|
|
||||||
<string>Warning tags (separated by semicolon)</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="mEditTags"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
|
@ -316,6 +292,18 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_6">
|
||||||
|
<property name="title">
|
||||||
|
<string>Platform</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_12">
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="mComboBoxPlatform"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_3">
|
<widget class="QGroupBox" name="groupBox_3">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
|
@ -338,6 +326,143 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_7">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>96</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="mTabWarningOptions">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Warning options</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Root path:</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_13">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="mEditProjectRoot"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_5">
|
||||||
|
<property name="title">
|
||||||
|
<string>Warning tags (separated by semicolon)</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="mEditTags"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_7">
|
||||||
|
<property name="title">
|
||||||
|
<string>Exclude paths</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
<item>
|
||||||
|
<widget class="QListWidget" name="mListExcludedPaths"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="layoutExcludePathButtons">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="mBtnAddIgnorePath">
|
||||||
|
<property name="text">
|
||||||
|
<string>Add...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="mBtnEditIgnorePath">
|
||||||
|
<property name="text">
|
||||||
|
<string>Edit</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="mBtnRemoveIgnorePath">
|
||||||
|
<property name="text">
|
||||||
|
<string>Remove</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_8">
|
||||||
|
<property name="title">
|
||||||
|
<string>Suppressions</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||||
|
<item>
|
||||||
|
<widget class="QListWidget" name="mListSuppressions"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="mBtnAddSuppression">
|
||||||
|
<property name="text">
|
||||||
|
<string>Add</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="mBtnRemoveSuppression">
|
||||||
|
<property name="text">
|
||||||
|
<string>Remove</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_10">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_9">
|
<spacer name="verticalSpacer_9">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
@ -353,151 +478,76 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="mTabExclude">
|
<widget class="QWidget" name="mTabAddonsAndTools">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Exclude</string>
|
<string>Addons and tools</string>
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="labelExcludePaths">
|
|
||||||
<property name="text">
|
|
||||||
<string>Paths:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="layoutExcludePaths">
|
|
||||||
<item>
|
|
||||||
<widget class="QListWidget" name="mListExcludedPaths"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="layoutExcludePathButtons">
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="mBtnAddIgnorePath">
|
|
||||||
<property name="text">
|
|
||||||
<string>Add...</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="mBtnEditIgnorePath">
|
|
||||||
<property name="text">
|
|
||||||
<string>Edit</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="mBtnRemoveIgnorePath">
|
|
||||||
<property name="text">
|
|
||||||
<string>Remove</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="verticalSpacer_4">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>40</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="mTabSuppressions">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Suppressions</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="labelSuppressions">
|
|
||||||
<property name="text">
|
|
||||||
<string>Suppression list:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QListWidget" name="mListSuppressions"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="layoutSuppressionButtons">
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="mBtnAddSuppression">
|
|
||||||
<property name="text">
|
|
||||||
<string>Add</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="mBtnRemoveSuppression">
|
|
||||||
<property name="text">
|
|
||||||
<string>Remove</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="mTabAddons">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Addons</string>
|
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_10">
|
<layout class="QVBoxLayout" name="verticalLayout_10">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="mAddonY2038">
|
<widget class="QGroupBox" name="mGroupBoxAddons">
|
||||||
<property name="text">
|
<property name="title">
|
||||||
<string>Y2038</string>
|
<string>Addons</string>
|
||||||
</property>
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="mAddonY2038">
|
||||||
|
<property name="text">
|
||||||
|
<string>Y2038</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="mAddonThreadSafety">
|
||||||
|
<property name="text">
|
||||||
|
<string>Thread safety</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Coding standards</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="mAddonCert">
|
||||||
|
<property name="text">
|
||||||
|
<string>Cert</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="mAddonMisra">
|
||||||
|
<property name="text">
|
||||||
|
<string>MISRA C 2012</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="mAddonThreadSafety">
|
<widget class="QGroupBox" name="mGroupBoxTools">
|
||||||
<property name="text">
|
<property name="title">
|
||||||
<string>Thread safety</string>
|
<string>External tools</string>
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Coding standards</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="mAddonCert">
|
|
||||||
<property name="text">
|
|
||||||
<string>Cert</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="mAddonMisra">
|
|
||||||
<property name="text">
|
|
||||||
<string>MISRA C 2012</string>
|
|
||||||
</property>
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="mToolClangTidy">
|
||||||
|
<property name="text">
|
||||||
|
<string>Clang-tidy</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="mToolClangAnalyzer">
|
||||||
|
<property name="text">
|
||||||
|
<string>Clang analyzer</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@ -515,47 +565,6 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="mTabTools">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Extra Tools</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_12">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_3">
|
|
||||||
<property name="text">
|
|
||||||
<string>It is common best practice to use several tools.</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="mToolClangAnalyzer">
|
|
||||||
<property name="text">
|
|
||||||
<string>Clang analyzer</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="mToolClangTidy">
|
|
||||||
<property name="text">
|
|
||||||
<string>Clang-tidy</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="verticalSpacer_7">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>310</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@ -572,10 +581,6 @@
|
||||||
</widget>
|
</widget>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>mButtons</tabstop>
|
<tabstop>mButtons</tabstop>
|
||||||
<tabstop>mListExcludedPaths</tabstop>
|
|
||||||
<tabstop>mBtnAddIgnorePath</tabstop>
|
|
||||||
<tabstop>mBtnEditIgnorePath</tabstop>
|
|
||||||
<tabstop>mBtnRemoveIgnorePath</tabstop>
|
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections>
|
<connections>
|
||||||
|
|
|
@ -122,7 +122,11 @@ namespace cppcheck {
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *platformString() const {
|
const char *platformString() const {
|
||||||
switch (platformType) {
|
return platformString(platformType);
|
||||||
|
}
|
||||||
|
|
||||||
|
static const char *platformString(PlatformType pt) {
|
||||||
|
switch (pt) {
|
||||||
case Unspecified:
|
case Unspecified:
|
||||||
return "Unspecified";
|
return "Unspecified";
|
||||||
case Native:
|
case Native:
|
||||||
|
|
Loading…
Reference in New Issue