Fixes compile error C3487 ('const Valgrind::XmlProtocol::Frame':
all return expressions in a lambda must have the same type: previously
it was 'Valgrind::XmlProtocol::Frame')
Change-Id: I6545cd2eda1fba4058bf0dc59ed835fed07f86e8
Reviewed-by: hjk <hjk@theqtcompany.com>
Makes code more compact and local.
Change-Id: Id8973558292257e4d8a5a2648cd93f54411984a8
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This prevents multiple starts of the same tool.
Change-Id: I2df89fa4336ff649a56c4dfb1f721ac31497d396
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
On the user-visible side, only the 'Analyze' mode button disappears,
and instead a combobox to switch between different tools in appears
in the Debug mode toolbar.
Internally, that's quite some re-organzition: The centralized
'Analyze mode is busy' flag is gone, allowing us to run e.g.
ClangStaticAnalyzer and MemCheck in parallel.
Analyzer tools and debugger now share the same mechanism to
generate/load/save dock widgets.
Analyzer tools now create and handle their own start/stop button
when appropriate. In general, Analyzer tools can create/handle more
than one run control at a time.
Further consolidation is possible, e.g. RunControl state handling
could be merged into the base ProjectExplorer::RunControl to
avoid the still existing duplication in ~15 instances.
Change-Id: I91e5940ebc4211f98056d507cf2f7b5f8efe7f07
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The applications to attach to do not have to be remote at all.
Also, the name should be as short as possible as space in the
status bar is not unlimited.
Change-Id: I1df8e025114cd8ad94daa5219c26e61ce70e5e5d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
After some discussion we agreed that the contents is ephemeral
and does not need to survive perspective switching.
Change-Id: I41de6a8f9478e4bd229c8b204ef7a3fa0a344b75
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Mainly move tool specific code from plugin.cpp to *tool.cpp.
Clean up includes etc.
Change-Id: Ic968ead9d93099c59abe9f99a9db529305160f95
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Decouple layout generation from widget generation and
separate analyzer action description from menu action creation.
Tool specific layouts are named "Perspective" now.
Change-Id: I774efe77a07640c4cc26e4e566662c8a673c8831
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This is the first mechanical step to execute on the 'shared pool of
debugger/analyzer views' idea.
Future steps would be providing infrastructure for the view pool,
making all analyzer/debugger views use the pool and then re-extract
a sensible base for a 'analyzer-and/or-debugger' tool plugin interface.
Change-Id: I1bb392e6dd3084fc56937956bee1d6fd9530335d
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Remove unneeded function arguments, Qt 5 connects etc.
Change-Id: I95faf80e7b5ccc574e2457b841f7913bc2aa05d3
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* SysRoot can always be determined from kit.
* Pass around RunMode as extra parameter
not as part of AnalyzerStartParameters.
That's closer to the pattern used elsewhere.
* Environment was always initialized from the runconfig's
EnvironmentAspect. The tools can do that directly.
* Provide setter for display name for cases where
it is not equal to RunConfiguration::displayName
Change-Id: I811a0d7cdeb55cc37a16a593b3942abb567a2150
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Instead of describing icons via file name or in the themed icons case
via
a string that is a list of mask/color pairs, we have now a class for it.
Icons are now listed in per-plugin *icons.h headers.
RunControl::m_icon was The only place left where an icon property was in
fact a string. This patch changes that member to be a Utils::Icon.
Change-Id: Ibcfa8bb25e6d2e330c567ee7ccc0b97ead603177
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
There is no reason for these messages to fade away after a while.
Change-Id: I6dcf199af87df77b6d65e267a45f5553c85bc952
Reviewed-by: hjk <hjk@theqtcompany.com>
It does not make sense for all the analyzers to share a single status
label, as they are unrelated to each other.
Change-Id: I9cf885263853251f841ef96836860455905677ac
Reviewed-by: hjk <hjk@theqtcompany.com>
This does not need to go through the PE machinery.
Change-Id: If0b2fde5309d7e119e8ac27245a22939b68d847d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The code sharing in the base was along a somewhat unfortunate
boundary. Moving it into the only user also removes some of
the wrong local/remote separation.
Change-Id: I0be9636ea448d123f9f5105a52d56f47ff7871c3
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Just as informative, but less intrusive and can't introduce event loop
problems.
Change-Id: I7dec17b1e82ba23340376075125f965017047959
Reviewed-by: hjk <hjk@theqtcompany.com>
It's always known from the context when needed.
Change-Id: Ibf314dfb779190e89b775acab784ed71acff2c83
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Slim down tool before dissolving.
Change-Id: I502aaa8860293acf8bfd93f541b751d5b96a9563
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Medium term all *Tool should be replaced by RunControl(Factory)
to make the analyzer architecture more similar to Qt Creator core
Change-Id: I892cfc7fe45c73cc6ac4442a288810b83cb24c17
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
next if file =~ %r{src/shared/qbs|/qmljs/}
s = File.read(file)
s.scan(/^using namespace (.*);$/) {
ns = $1
t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
before = $1
char = $2
if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
m
else
before + char
end
}
if t != s
puts file
File.open(file, 'w').write(t)
end
}
}
Change-Id: I919da493d0629b719d328e5e71c96a29d230dfd1
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
This makes the view of the valgrind tools avilable for other analyzers.
Change-Id: Icb28a3a6d6dbd7d437de803d50e30fada7dca0da
Reviewed-by: hjk <hjk121@nokiamail.com>
The icon already includes the 'down' arrow, thus we need to set the 'noArrow' property to prevent
the theme from drawing a second arrow.
Change-Id: Ia910bcebb68b6faf4cc101685ba71e36069ef057
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Will be promoted to dockwidget title by the fancy mainwindow.
Change-Id: Idbb4d2869c254140a241cd5a8f5b75b3ef739692
Reviewed-by: Eike Ziller <eike.ziller@digia.com>