* add support for selected Visual Studio configurations in the UI and the project file
* skip VS configurations that don't match the one in the project file
* rename xml tags
* disable selected VS config textbox if all VS configs should be analyzed
* on importing a VS project/solution also read all configurations
* add QListWidget for VS configurations
* auto select these configs that were loaded from the cppcheck file
* fine tune UI and handling if no VS solution/project is used
Co-authored-by: Daniel Marjamäki <daniel.marjamaki@gmail.com>
- CLI: Save the libraries that should be loaded to a list and load them
after the std.cfg has been loaded.
- GUI: Load std.cfg (and windows.cfg / posix.cfg when applicable) before
setting other options and loading the other libraries.
In the project-file-dialog the std.cfg is searched first. If some
other library fails to load is is retried with first loading std.cfg.
- boost.cfg: Enable containers that depend on std containers.
The function “QListWidget::takeItem” is documented in the way
that a null pointer can be returned. This result was not checked
by the function “ProjectFileDialog::removeSuppression” so far.
Thus add a corresponding check so that an inappropriate pointer access
should not happen any more here.
Link: https://sourceforge.net/p/cppcheck/discussion/development/thread/d1d0b65245/#a1bf
Link: https://trac.cppcheck.net/ticket/8814
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
[gui/projectfiledialog.h:283]: (performance) Function parameter 'shortText' should be passed by const reference.
[gui/projectfiledialog.cpp:675]: (performance) Function parameter 'shortText' should be passed by const reference.
also run dmake
* Allow selecting bcb6 projects in "Analyze" -> "Files..."
This change also splits the filters for files which can be analyzed into multiple entries and includes a helper class to construct filter strings.
* move FilterStringBuilder to its own class and document it
* add new files to .pro
* add missing include for Q_DECLARE_TR_FUNCTIONS macro
* re-run astyle
* allow to import bcb6 project when creating a new cppcheck project
exchange class FilterStringBuilder with a toFilterString() helper method
* add missing include
Platform::loadPlatformFile needs the path to the binary not only the
path to the directory where the binary is in. Otherwise the last
directory could get stripped away and the platform files maybe will not
be found.
The checked state of the addon checkboxes is already set in the
updateAddonCheckBox function directly above the removed code. I do not
see any reason to set it again and only for three of the four
checkboxes.
For quite a while, cppcheck-gui hasn't shown any of the standard
library packages on my Gentoo system. It turns out that cppcheck-gui
doesn't use CFGDIR, but it does use a DATADIR variable stored in
QSettings. Problem is, DATADIR isn't set unless you manually specify
--data-dir, which isn't very intuitive.
This commit adds CFGDIR to the default list of cfg paths if the
CFGDIR macro is defined during the build.
When adding a new include path check if the path is relative path to
the project file's path. If path is relative then remove the begin of
the path making it a relative path in project file.
Ticket: #3019 (GUI: Add project include paths as relative paths)
Since include dir order is important (Cppcheck uses the first file
it finds) user must be able to edit the order of include paths.
This commit adds "Up" and "Down" buttons to the Project-dialog's
inlude paths-tab. User can use those two buttons to re-order the
include directories.
Ticket: #3037 (GUI: Allow reordering include paths in project dialog)
Use project file's location as base path when adding new paths
(checked, included or ignored) to the project. In most cases user
wants to add paths in the same project so this reduces browsing
paths considerably when adding them.
Show native path separators in project file-dialog. Convert paths
to internal separators when reading from project file and when
reading from the dialog. Convert to native separators when adding
to the dialog (for the user).
Add similar GUI than include paths has. Currently there is only
possibly select directories directly from the GUI. But filename
can be added to the path by editing it.
Handling paths in line edit control is quite hard. List control is
much more pleasant to use for it. Convert Project file path
handling to similar list control usage than include paths earlier.
Editing include directories in edit control is not nice. Instead
add new tab and list control for the include directories. They
are now added, edited and removed like global include directories
in settings dialog.