- Stored global information about cppcheck version and copyright string in a single resource.h file.
- Use macros of windows.h instead of numeric values for filetype, etc.
- Added versioninfo metadata to lib (#4275)
- Removed VS resource editor code from resource files - these files shouldn't be modified with it to avoid information loss
- Renamed files to version.h/rc
- Encoded files as ANSI again - use escape sequences for unicode characters in literals (#4281)
If user tried to save results after re-checking files and not
getting new results by the re-check, the save was failed since
Cppcheck thought there were no results. This was caused by wrong
clearing of "has results" flag when removing single items from
the results.
Ticket: #4121 (Bogus error message when saving the report)
Currently if there were results in the GUI the results from XML
file were imported to list of results. This is confusing and not
what users usually want to do.
This patch makes GUI to clear the results before opening new
results from XML file.
Ticket #3829 (Rename open xml to import xml)
The Polish translation doesn't have any translated text. So it is
only waste of resources to have it available. And it may confuse
some people who try it.
Ticket #4008 (GUI: Polish translation does not translate and should be removed)
When I updated it through QT, it added some missing things to the other translation files, I hope that doesn't break anything :x
So far from what I've tested, everything works fine.
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)
It is handy to remember the last location of the opened project file.
Currently the Open Project -dialog was always opened to location of
the executable file. Which is never the correct place. But last
opened project file location might at least be near the location user
wants to open next.
Ticket: #3493 (GUI: remember last path in Open Project File)
The GUI crashed if the project file was tried to open from the
command line. The project file loading was run before the MRU menu
was created but tried to add a new item to it.
Project file can't be opened when the check is running. So the menu
items must be disabled.
Fixes ticket: #3446 (GUI: MRU items must be disabled while checking)
There was (obviously) a copy-paste bug in code converting severities
to GUI's show types. This caused some severities not being
filtered correctly when severity selection in GUI was changed.
Fixes ticket: #3242 (GUI: Unmatched suppression: message in wrong category)
We are using ShowTypes around the GUI codebase so it makes sense
to have it in its own class. And the class also contains related
helper functions instead of scattering them around different
classes.
ShowTypes also contains the visibility settings for all the
GUI severities. Implementation in this commit makes ShowTypes
class to load the visibility settings when it is created. And save
the settings when it is destroyed.
"default" as platform name/definition doesn't tell much and would
only confuse users. "Build-in" is not perfect either but it is
best I've can come with before the release.
Ticket: #3156 (GUI: "default" platform needs proper name)
When GUI was started not all the categories visibility statuses
were not preserved. I.e.
Ticket: #3087 (GUI does not show all reported files until a filter button state is changed)
The iterator was not advanced in the loop. So the code worked when
I ran it in Linux as the first item was matching.
Thanks for Robert for spotting and reporting it.
When running in Windows platforms, set the GUI's checked platform
initially to Windows 32-bit ANSI. Other platforms are set
initially to default/unspecified which means the type sizes are
from the platform GUI was compiled on.
This was suggested by Rober in ticket #3119.
We have now one list for checked platforms, menu items are created
dynamically based on that list. This makes it much easier to alter
the platforms list later on.