Two areas are touched:
1. Select multiple diagnostics if they have the same set
of fix-its.
2. Watch the files and invalidate diagnostics if corresponding
file was edited.
Change-Id: If4487ba91f45c25d1aed1a98990dd9b6df9d7fe2
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
The user does not usually need the whole command line.
Task-number: QTCREATORBUG-20707
Change-Id: I30cd395cd85eb0a3dd19b9d5f1b34a1c7a4b95a5
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Make possible to select or deselect all fix-its.
Change-Id: I2ff88afb0c451092752ee2cd7c9f083e24033500
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
...if new items are added to the model or if filter is used.
When items were added, we have called
ClangToolsDiagnosticModel::diagnostics() two times:
* from DiagnosticFilterModel::filterAcceptsRow()
* from ClangTidyClazyTool::handleStateUpdate()
However, this does not scale since diagnostics() creates a temporary.
Fix this by accessing the diagnostics or the count directly from the
tree.
Change-Id: I4c6a32e0076c1b4228ed1b1ff9222c9918f92c5c
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
If a file had multiple fixits and only a subset was applied, the
remaining fixits in that file were invalidated. Fix this by adjusting
the locations of the not yet applied fixits.
Change-Id: I2c190412e871e9011c4d4a62ed938e76ad4cdf72
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Also, show the diagnostic text in the tooltip because the text might be
elided in the view now.
Change-Id: I7f38acacf72d68d7e4b696a01c7a0d1a76b4ed98
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
...in the fixit column to avoid confusion.
As a side effect, add some error handling.
Change-Id: Ia30e9c9782f3c8021aedd2be7c682853a26d3f39
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
"Apply Fixits" is disabled by default and enabled as soon as some fixits
are checked by the user.
Change-Id: I7e1345512b206f52d1e8628705c81c6b34dfb9ba
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Add a new column to the view that allows to check diagnostics with
fixits. The checked fixits can then be applied with the also new "Apply
Fixits" button in the toolbar.
Some corner cases are not yet handled:
* File is open in editor
* File changed in the mean time
Change-Id: I3d3f353a4150699a0d082f2a4348e331a4213bcf
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
...to some more generic names since they are not anymore specific to the
clang static analyzer.
* ClangStaticAnalyzerDiagnosticView --> DiagnosticView
* ClangStaticAnalyzerDiagnosticFilterModel --> DiagnosticFilterModel
* ClangStaticAnalyzerPreconfiguredSesssionTest -->
PreconfiguredSessionTests
* clangstaticanalyzerprojectsettingswidget.* -->
clangtoolsdiagnosticwidget.*
Change-Id: Ifd34f207d31dc24d6a97654aca76ff27b5025547
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
... over the whole project.
Generate and read serialized files to get diagnostics.
Change-Id: Iafc25fc70443107a040a995efc038aed35102bbf
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
To reuse it for other clang-based tools.
Change-Id: I6c0d8e9eee543fa08faf3bf93c9fac33e43c6820
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>