<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>ProjectFile</class> <widget class="QDialog" name="ProjectFile"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>940</width> <height>617</height> </rect> </property> <property name="windowTitle"> <string>Project File</string> </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QTabWidget" name="tabWidget"> <property name="currentIndex"> <number>0</number> </property> <widget class="QWidget" name="mTabPathsAndDefines"> <attribute name="title"> <string>Paths and Defines</string> </attribute> <layout class="QVBoxLayout" name="verticalLayout_8"> <item> <widget class="QGroupBox" name="groupBox_4"> <property name="title"> <string>Import Project (Visual studio / compile database/ Borland C++ Builder 6)</string> </property> <layout class="QVBoxLayout" name="verticalLayout_17"> <item> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <widget class="QLineEdit" name="mEditImportProject"> <property name="readOnly"> <bool>true</bool> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnClearImportProject"> <property name="enabled"> <bool>false</bool> </property> <property name="text"> <string/> </property> <property name="icon"> <iconset> <activeon>:/images/edit-clear.png</activeon> </iconset> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnBrowseImportProject"> <property name="text"> <string>Browse...</string> </property> </widget> </item> </layout> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_8"> <item> <layout class="QVBoxLayout" name="verticalLayout_4"> <item> <widget class="QCheckBox" name="mChkAllVsConfigs"> <property name="toolTip"> <string><html><head/><body><p>You have a choice:</p><p> * Analyze all Debug and Release configurations</p><p> * Only analyze the first matching Debug configuration</p><p><br/></p></body></html></string> </property> <property name="text"> <string>Analyze all Visual Studio configurations</string> </property> </widget> </item> <item> <spacer name="verticalSpacer_11"> <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> <item> <spacer name="horizontalSpacer_2"> <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> <layout class="QVBoxLayout" name="verticalLayout_16"> <item> <widget class="QLabel" name="mLabelVSConfig"> <property name="text"> <string>Selected VS Configurations</string> </property> </widget> </item> <item> <spacer name="verticalSpacer_12"> <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> <item> <widget class="QListWidget" name="mListVsConfigs"/> </item> </layout> </item> </layout> </widget> </item> <item> <layout class="QHBoxLayout" name="mLayoutCheckPaths"> <item> <layout class="QVBoxLayout" name="verticalLayout_5"> <item> <widget class="QLabel" name="mLabelCheckPaths"> <property name="text"> <string>Paths:</string> </property> </widget> </item> <item> <spacer name="verticalSpacer_2"> <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> <item> <widget class="QListWidget" name="mListCheckPaths"> <property name="maximumSize"> <size> <width>16777215</width> <height>140</height> </size> </property> </widget> </item> <item> <layout class="QVBoxLayout" name="mLayoutCheckPathsButtons"> <item> <widget class="QPushButton" name="mBtnAddCheckPath"> <property name="text"> <string>Add...</string> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnEditCheckPath"> <property name="text"> <string>Edit</string> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnRemoveCheckPath"> <property name="text"> <string>Remove</string> </property> </widget> </item> <item> <spacer name="verticalSpacer_3"> <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> <item> <layout class="QHBoxLayout" name="mLayoutDefines"> <item> <widget class="QLabel" name="mLabelDefines"> <property name="text"> <string>Defines:</string> </property> <property name="buddy"> <cstring>mEditDefines</cstring> </property> </widget> </item> <item> <widget class="QLineEdit" name="mEditDefines"> <property name="toolTip"> <string>Defines must be separated by a semicolon. Example: DEF1;DEF2=5;DEF3=int</string> </property> </widget> </item> </layout> </item> <item> <layout class="QHBoxLayout" name="mLayoutUndefines"> <item> <widget class="QLabel" name="mLabelUndefines"> <property name="text"> <string>Undefines:</string> </property> <property name="buddy"> <cstring>mEditUndefines</cstring> </property> </widget> </item> <item> <widget class="QLineEdit" name="mEditUndefines"> <property name="toolTip"> <string>Undefines must be separated by a semicolon. Example: UNDEF1;UNDEF2;UNDEF3</string> </property> </widget> </item> </layout> </item> <item> <layout class="QHBoxLayout" name="mLayoutIncludePaths"> <item> <layout class="QVBoxLayout" name="verticalLayout_11"> <item> <widget class="QLabel" name="mLabelIncludePaths"> <property name="text"> <string>Include Paths:</string> </property> </widget> </item> <item> <spacer name="verticalSpacer_6"> <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> <item> <widget class="QListWidget" name="mListIncludeDirs"> <property name="selectionBehavior"> <enum>QAbstractItemView::SelectRows</enum> </property> </widget> </item> <item> <layout class="QVBoxLayout" name="mLayoutIncludePathsButtons"> <item> <widget class="QPushButton" name="mBtnAddInclude"> <property name="text"> <string>Add...</string> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnEditInclude"> <property name="text"> <string>Edit</string> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnRemoveInclude"> <property name="text"> <string>Remove</string> </property> </widget> </item> <item> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>40</height> </size> </property> </spacer> </item> <item> <widget class="QPushButton" name="mBtnIncludeUp"> <property name="text"> <string>Up</string> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnIncludeDown"> <property name="text"> <string>Down</string> </property> </widget> </item> </layout> </item> </layout> </item> <item> <spacer name="verticalSpacer_8"> <property name="orientation"> <enum>Qt::Vertical</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>0</height> </size> </property> </spacer> </item> </layout> </widget> <widget class="QWidget" name="mTabTypesAndFunctions"> <attribute name="title"> <string>Types and Functions</string> </attribute> <layout class="QVBoxLayout" name="verticalLayout_15"> <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> <widget class="QGroupBox" name="groupBox_3"> <property name="title"> <string>Libraries</string> </property> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QListWidget" name="mLibraries"/> </item> <item> <widget class="QLabel" name="mLabelLibrariesNote"> <property name="text"> <string>Note: Put your own custom .cfg files in the same folder as the project file. You should see them above.</string> </property> <property name="wordWrap"> <bool>true</bool> </property> </widget> </item> </layout> </widget> </item> </layout> </widget> <widget class="QWidget" name="mTabAnalysis"> <attribute name="title"> <string>Analysis</string> </attribute> <layout class="QVBoxLayout" name="verticalLayout_18"> <item> <widget class="QGroupBox" name="groupBox_2"> <property name="title"> <string>Cppcheck build dir (whole program analysis, incremental analysis, statistics, etc)</string> </property> <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> <widget class="QLineEdit" name="mEditBuildDir"> <property name="toolTip"> <string>This is a workfolder that Cppcheck will use for various purposes.</string> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnBrowseBuildDir"> <property name="text"> <string>Browse...</string> </property> </widget> </item> </layout> </widget> </item> <item> <widget class="QGroupBox" name="groupBox_10"> <property name="title"> <string>Parser</string> </property> <layout class="QVBoxLayout" name="verticalLayout_14"> <item> <widget class="QRadioButton" name="mBtnCppcheckParser"> <property name="text"> <string>Cppcheck (built in)</string> </property> <property name="checked"> <bool>true</bool> </property> </widget> </item> <item> <widget class="QRadioButton" name="mBtnClangParser"> <property name="text"> <string>Clang (experimental)</string> </property> </widget> </item> </layout> </widget> </item> <item> <widget class="QGroupBox" name="groupBox_11"> <property name="title"> <string>Analysis</string> </property> <layout class="QVBoxLayout" name="verticalLayout_19"> <item> <widget class="QCheckBox" name="mBtnSafeClasses"> <property name="toolTip"> <string>If you want to design your classes to be as flexible and robust as possible then the public interface must be very robust. Cppcheck will asumme that arguments can take *any* value.</string> </property> <property name="text"> <string>Check that each class has a safe public interface</string> </property> </widget> </item> </layout> </widget> </item> <item> <widget class="QGroupBox" name="groupBox_9"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="title"> <string>Limit analysis</string> </property> <layout class="QVBoxLayout" name="verticalLayout_9"> <item> <widget class="QCheckBox" name="mCheckHeaders"> <property name="text"> <string>Check code in headers (should be ON normally. if you want a limited quick analysis then turn this OFF)</string> </property> <property name="checked"> <bool>true</bool> </property> </widget> </item> <item> <widget class="QCheckBox" name="mCheckUnusedTemplates"> <property name="text"> <string>Check code in unused templates (should be ON normally, however in theory you can safely ignore warnings in unused templates)</string> </property> <property name="checked"> <bool>true</bool> </property> </widget> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_7"> <item> <widget class="QLabel" name="label_3"> <property name="text"> <string>Max CTU depth</string> </property> </widget> </item> <item> <widget class="QSpinBox" name="mMaxCtuDepth"> <property name="value"> <number>10</number> </property> </widget> </item> <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> </layout> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_9"> <item> <widget class="QLabel" name="label_4"> <property name="text"> <string>Max recursion in template instantiation</string> </property> </widget> </item> <item> <widget class="QSpinBox" name="mMaxTemplateRecursion"> <property name="maximum"> <number>1000</number> </property> <property name="value"> <number>100</number> </property> </widget> </item> <item> <spacer name="horizontalSpacer_3"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>40</width> <height>20</height> </size> </property> </spacer> </item> </layout> </item> </layout> </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>73</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"> <property name="toolTip"> <string>Filepaths in warnings will be relative to this path</string> </property> </widget> </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"> <property name="toolTip"> <string>If tags are added, you will be able to right click on warnings and set one of these tags. You can manually categorize warnings.</string> </property> </widget> </item> </layout> </widget> </item> <item> <widget class="QGroupBox" name="groupBox_7"> <property name="title"> <string>Exclude source files</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>Exclude folder...</string> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnAddIgnoreFile"> <property name="text"> <string>Exclude file...</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> <spacer name="verticalSpacer_9"> <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="mTabAddons"> <attribute name="title"> <string>Addons</string> </attribute> <layout class="QVBoxLayout" name="verticalLayout_10"> <item> <widget class="QGroupBox" name="mGroupBoxAddons"> <property name="title"> <string>Addons</string> </property> <layout class="QVBoxLayout" name="verticalLayout_3"> <item> <widget class="QLabel" name="label_addons_require_python"> <property name="text"> <string>Note: Addons require <a href="https://www.python.org/">Python</a> being installed.</string> </property> <property name="openExternalLinks"> <bool>true</bool> </property> </widget> </item> <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> </layout> </widget> </item> <item> <widget class="QGroupBox" name="groupBox_12"> <property name="title"> <string>Coding standards</string> </property> <layout class="QVBoxLayout" name="verticalLayout_20"> <item> <widget class="QCheckBox" name="mMisraC2012"> <property name="text"> <string>Misra C 2012</string> </property> </widget> </item> <item> <layout class="QHBoxLayout" name="mLayoutMisraRuleTexts"> <item> <widget class="QLabel" name="mLabelMisraFile"> <property name="text"> <string>MISRA rule texts</string> </property> </widget> </item> <item> <widget class="QLineEdit" name="mEditMisraFile"> <property name="toolTip"> <string><html><head/><body><p>Copy/paste the text from Appendix A &quot;Summary of guidelines&quot; from the MISRA C 2012 pdf to a text file.</p></body></html></string> </property> </widget> </item> <item> <widget class="QPushButton" name="mBtnBrowseMisraFile"> <property name="text"> <string>...</string> </property> </widget> </item> </layout> </item> <item> <widget class="QCheckBox" name="mMisraCpp2008"> <property name="text"> <string>Misra C++ 2008</string> </property> </widget> </item> <item> <widget class="QCheckBox" name="mCertC2016"> <property name="text"> <string>Cert C</string> </property> </widget> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_10"> <item> <widget class="QLabel" name="mLabelCertIntPrecision"> <property name="text"> <string>CERT-INT35-C: int precision (if size equals precision, you can leave empty)</string> </property> </widget> </item> <item> <widget class="QLineEdit" name="mEditCertIntPrecision"/> </item> </layout> </item> <item> <widget class="QCheckBox" name="mCertCpp2016"> <property name="text"> <string>Cert C++</string> </property> </widget> </item> <item> <widget class="QCheckBox" name="mAutosar"> <property name="text"> <string>Autosar</string> </property> </widget> </item> </layout> </widget> </item> <item> <widget class="QGroupBox" name="mGroupboxBughunting"> <property name="title"> <string>Bug hunting (Premium)</string> </property> <layout class="QVBoxLayout" name="verticalLayout_21"> <item> <widget class="QCheckBox" name="mBughunting"> <property name="text"> <string>Bug hunting</string> </property> </widget> </item> </layout> </widget> </item> <item> <widget class="QGroupBox" name="mGroupBoxTools"> <property name="title"> <string>External tools</string> </property> <layout class="QVBoxLayout" name="verticalLayout_1"> <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> </item> <item> <spacer name="verticalSpacer_5"> <property name="orientation"> <enum>Qt::Vertical</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>368</height> </size> </property> </spacer> </item> </layout> </widget> </widget> </item> <item> <widget class="QDialogButtonBox" name="mButtons"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> <property name="standardButtons"> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> </layout> </widget> <tabstops> <tabstop>mButtons</tabstop> </tabstops> <resources/> <connections> <connection> <sender>mButtons</sender> <signal>accepted()</signal> <receiver>ProjectFile</receiver> <slot>accept()</slot> <hints> <hint type="sourcelabel"> <x>270</x> <y>352</y> </hint> <hint type="destinationlabel"> <x>157</x> <y>158</y> </hint> </hints> </connection> <connection> <sender>mButtons</sender> <signal>rejected()</signal> <receiver>ProjectFile</receiver> <slot>reject()</slot> <hints> <hint type="sourcelabel"> <x>338</x> <y>352</y> </hint> <hint type="destinationlabel"> <x>286</x> <y>158</y> </hint> </hints> </connection> </connections> </ui>