The toolPreparer can do a last minute check and stop the execution of
the actual tool. The QML profiler uses this to check for unsaved notes.
Change-Id: I5185430f50ffb01e9854cafa442f0eaaad27fa5d
Reviewed-by: hjk <hjk@theqtcompany.com>
This is what it is on the top level. The change makes it obvious
that in the valgrind(-derived) plugins the value is later wrongly
used to make a decision on whether to run the valgrind process
locally or remotely. But that's isolated in valgrind now and
can be fixed there.
Change-Id: I6fa5e669dec1f9e2cdebe42a1591d15144082a21
Reviewed-by: Anton Kreuzkamp <anton.kreuzkamp@kdab.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
- Open timeline view when clicking search button
- Use the usual search tool bar
- Implement incremental search and the various search options
Change-Id: Id83ab502cf4175738a825f531d9e454169663765
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Move the main part of the loading work into a background thread
and show the standard progress indicator for the "reading file"
part of the load operation.
The load operation can be canceled now.
Change-Id: I4cb3b762072ab4a0665dcf9d4a39d6d6630d22e8
Task-number: QTCREATORBUG-11822
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Trace data is saved in the background, progress is emitted, and
the save operation can be canceled. While data is being saved
the views are disabled and a semitransparent layer is put on top
of the trace view.
Task-number: QTCREATORBUG-11822
Change-Id: I94ec93147fb1788fc85939ddc591961d058050b5
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
... and default to C_GLOBAL. A rather common case.
Similar for ActionContainer::addSeparator().
Change-Id: I7f9ba573af201c0a472132d5a494ad17cc4175b7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Fallout after the demise of IAnalizerTool.
Change-Id: I68f936ed5f2929dc4f09a408bdf6b0ea38e568ef
Reviewed-by: Christian Stenger <christian.stenger@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: I492792bb9e5655c55795e938031efc557c9a462f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Added a text field to search for notes within the timeline's events.
Task-number: QTCREATORBUG-13417
Change-Id: Ic121ec8ade42b1ef99d5da13d1f732761d244327
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Remove some unnecessary code and consolidate things.
Change-Id: I3f6c971b84368013a60a7a7fa9545480b0cd551b
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
The ones we'll refactor into the timeline library should be called
timeline* and the others should be called qmlprofiler*.
Change-Id: I6ecccbe4ef523681ca0baeef140368e2c1839964
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
The stopIt() slot is already connected in the constructor of
AnalyzerRunControl.
The double connection is clearly not intended and, considering that
various analyzers modify internal state from those callse, could lead
to incorrect behavior.
Change-Id: I1c68eb06729849771f4a25257a219c84a032adf3
Reviewed-by: hjk <hjk121@nokiamail.com>
We cannot just set it unconditionally on setRecording() because the
client recording state is supposed to reflect the user's intention.
Instead, if the recording button's state differs from the intention
and then spontaneously changes to match it (through a change in the
application), we toggle the client recording state twice to make sure
everything is properly synchronized.
Change-Id: I070d38364e63ab9cf0597fabed3d326ac3685589
Task-number: QTCREATORBUG-13322, QTCREATORBUG-13430
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
We want to only navigate the text editor when browsing through profile
data.
Change-Id: I2156b9853a6a1547a52c491ea021a68ca4f6dde9
Task-number: QTCREATORBUG-13433
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
If a change was triggered from the profiled application we still need
to update the client recording state for the UI to stay consistent.
Change-Id: I2955bd9f2da27a2c32ac93e33742ee5fefbd2751
Task-number: QTCREATORBUG-13322
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
qmlprofilertraceclient.cpp:280: warning: C4334: '<<' : result of 32-bit
shift implicitly converted to 64 bits (was 64-bit shift intended?)
qmlprofilertool.cpp:539: warning: C4554: '<<' : check operator
precedence for possible error; use parentheses to clarify precedence
Change-Id: Ifaa048d42bccf203e6587a474c197c22b0f69fec
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
This allows us to reduce the amount of data we need to handle
if the user isn't interested in certain categories.
Task-number: QTBUG-41118
Change-Id: Ieaac12fb1dec29d6035642f433bc1a1d49e545c2
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The local file names are in fact not cached and it's unclear if that
would be a good idea.
Task-number: QTCREATORBUG-11525
Change-Id: Ib4faa5b2cfcc094e24d1a42333c3db1843068539
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
setPalette() does not replace the old one but rather adds the
difference. Thus a previous copy of the palette is unnecessary.
Change-Id: I5c06da456b76144efc4a984ccda13c7d2243a7bc
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
They should both look up the source details when loading data
and they shouldn't do that again on gotoSourceLocation.
Change-Id: I433a4ff36a314822dff320ba4c8f398a6e3eaee3
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This allows us to steer the timeline models in a more fine grained
way and avoid duplicate processing of the same data. We don't need
to rebuild everything on stateChanged of the model manager then.
Task-number: QTCREATORBUG-10950
Change-Id: I2aa9a96a33c602f062fc3b644ac06280ba7cd45a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The canvas integrated in QtQuick does the same thing. We can remove a
lot of code like this.
Change-Id: I6425ae4e1b542107defd9d76fa5755712a0f8613
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This seems to be a better abstraction than the "pseudo dynamic cast"
in the QmlProfilerTool and the DebuggerPlugin itself.
Change-Id: If7dea70e1353852ebb6d3ce43220c0b03ccb4b00
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>