Commit Graph

43591 Commits

Author SHA1 Message Date
Ulf Hermann
ffc11d5e9e QmlProfiler: allow for multiple sequential traces to be aggregated
Task-number: QTCREATORBUG-13317
Change-Id: Ic7d1d5c94d8d522741b6c4207a21a43f521da5fb
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 12:16:44 +00:00
Ulf Hermann
030acfdf73 QmlProfiler: Send the client recording state to new engines
Otherwise some engine can stop recording by sending a "Complete" event
and that will be the state we send to any new engines, although the
recording button was checked when the recording started.

Also, don't redirect state changes and the associated recording state
sending through a signal and slot. This allows us to remove the
"enabled" property of QmlProfilerTraceClient and adapt the signature
of sendRecordingStatus() to facilitate the redirection of newEngine()
through the client manager.

Task-number: QTCREATORBUG-13317
Change-Id: Ie9dc6785eb761514bc96aaf5724f7b23d3c2932e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 12:16:41 +00:00
Ulf Hermann
d7f6dec98e QmlProfiler: Use correct coding style and remove dead code
Change-Id: I10967ee080076d40cf54aaf4ae28c63d78b7f216
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 12:16:38 +00:00
Ulf Hermann
d58b714a3a QmlProfiler: Debug messages are no QML events ...
In particular, they can also occur if we're not AcquiringData.

Change-Id: Ia310206ee15973fc5b2fa1c607d7c9a48b6f435f
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 12:16:35 +00:00
Ulf Hermann
4416acc16d QmlProfiler: Remove unused "gap" feature
Change-Id: Ie3efdf4a7b54e470b6a3d3a7ab78277b7ab19218
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:33:25 +00:00
Ulf Hermann
7b4e253a1e QmlProfiler: Support local connections on Qt >= 5.6
This removes the need to receive messages from the application via
stderr. The "Connecting to socket" is still parsed, but only for
diagnostic purposes. If it doesn't arrive, the profiling will still
work.

Change-Id: I022691293da2a1e671ba1263bc76e4044bf1a5b7
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:33:20 +00:00
Ulf Hermann
2217eef3a3 QmlDebug: Allow different styles of command line arguments
We have tcp, local, and native by now. We have to expose that in a
clean way.

Change-Id: I0ce7be693aa7f47ebea7abe435a224a176b6c94b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:33:15 +00:00
Ulf Hermann
e1dd3cf701 Remove unused include
Change-Id: Ica45c05004aacbd209067eb2a77bb5b94585a2a0
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:33:02 +00:00
Ulf Hermann
93c157e3f7 QmlDebug: Allow connecting through a local socket
This removes the necessity for listening to debug messages, as the
server is created by QtCreator then. Also, most of the time the
connections are local anyway, and TCP is a waste for that.

Change-Id: Ie5e1d7ba55dbda035a9ea7432f3af13915813de9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:32:58 +00:00
Ulf Hermann
6b2cad3e53 QmlDebug: Use proper interfaces between debug connection and client
Mutual friend declarations are not the most beautiful thing ...

Change-Id: I0f3c2a3c0cb9bc018b63d73b463a9068278e705e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:32:53 +00:00
Ulf Hermann
db6a65210c QmlDebug: Rework public/private QmlDebugConnection
Follow the common pattern. The private object doesn't have to be a
QObject after all.

Change-Id: Ife5693444fb910b6803e47ea3742815d8aa8d63e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:32:50 +00:00
Ulf Hermann
81eea72d44 QmlDebug: Simplify error and state signaling
There is no point in sending two signals for every state change and
error. Also, the signals only reflect events in the socket, not in the
logical connection.

Change-Id: I617a925c69164aa1a02a7781b9da7dca55daa304
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:32:46 +00:00
Ulf Hermann
47317eff60 QmlDebug: Rename some members of QmlDebugConnection
This is to adopt the naming to the code in src/qmldebug in
qtdeclarative. Once we can require a version of Qt that has qmldebug
for building QtCreator we can then remove our own version of this code.

Change-Id: I573f0703871b5812789c5c7a6287567d5c2875e6
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:32:42 +00:00
Ulf Hermann
a3e4a28bee QmlDebug: Unify QPacket and QmlDebugStream and remove unused code
There is no point in having both as they serve the same purpose. Also,
most of the packet protocol API was never used or tested, and wrapping
each byte to be sent into a QPacket is wasteful and unnecessary.

Change-Id: Ia421eae33b644fe86a53bcd04092a84ea3000f0d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-19 11:32:39 +00:00
Leena Miettinen
d6284c5863 Doc: changing file encoding from editor toolbar
Change-Id: I0931f1f4cd9641662fdaf5e67943e6b85c19c1c0
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-19 09:42:41 +00:00
Ulf Hermann
55afbb59e1 Timeline: Allow zooming with ctrl-wheel
Change-Id: I83f18af8394c9820e07e7bb41a627bf33e98d6c4
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-11-19 09:27:35 +00:00
Ulf Hermann
7c410663c1 Timeline: Introduce properties for zoom constants
minimumRangeLength and maximumZoomFactor should be accessible from QML.
Also, the timer offset is obviously not the same as minimumRangeLength,
and as the exact number doesn't matter we give it a different value to
make that clear.

Change-Id: I9cc0289809b14ed32ec06a49276e31ce7b86a301
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-11-19 09:27:31 +00:00
Alessandro Portale
19eb9e4f06 Todo: Store icons in the settings via index instead of strings
This allows us to use something else than a string in order to reference
icons. For an upcoming patch this will be necessary.

Since this patch introduces a settings structure change, a migration
feature from the old "Keyword\iconResource" string to the new "Keyword
\iconType" int is implemented.

Change-Id: Ia5695418fb135510ed549cf9a7cb59aab5389f31
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-11-18 17:12:53 +00:00
Nikolai Kosjar
82cf0e60fb Clang: Fix include paths for MSVC toolchains
Prevent libclang from using any builtin includes paths or any standard system
directories. The project manager provides us all the necessary information.

Task-number: QTCREATORBUG-15345
Change-Id: I70e2dafea8d049a9b7a32b24ce2d4ce3dac2cd3b
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
2015-11-18 15:11:42 +00:00
Lassi Hämäläinen
10e947f65f C++: Fix crashes with the pattern "enum class operator A"
Parser parsed the pattern as an enum declaration the name of
which is a conversion operator. Add check to disallow keywords
after enum-key (enum, enum class, enum struct).
Add tests tst_AST::enumDeclaration and
invalidEnumClassDeclaration.

Task-number: QTCREATORBUG-15341
Change-Id: Ia037f00184c1d7e5b0374f39331bb6748f8d90b1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-11-18 15:09:40 +00:00
Tobias Hunger
c62ad6c450 CustomWizard: Make sure to create wizards with unique ids only
* Warn when somebody tries to register the same id twice
* Make sure the user wizards override the global once so that
  this warning actually makes sense

Change-Id: I69624666960c8836e25fd34abeef67015c1363ad
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-11-18 13:31:45 +00:00
Tobias Hunger
e39b515cd2 GenericProject: Fix display of files in project directory
Having a folder "." in the project tree is ugly, so fix that.

Task-number: QTCREATORBUG-15344
Change-Id: I0817f609162dbc39f7bb4f98e6afe85169710fb7
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-11-18 13:31:39 +00:00
Christian Kandeler
e072133aa4 Update qbs submodule.
To HEAD of 1.4 branch.

Change-Id: Ida2b0359866ce4397a8a10338103d592b0037d4f
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-18 12:37:31 +00:00
Orgad Shaneh
c37193f884 BareMetal: Fix cloning of GDB server providers
Change-Id: Ie063ce3ab2caf5cf2ee709236db891e22bb9cc8b
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Tim Sander <tim@krieglstein.org>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-18 12:22:51 +00:00
Ulf Hermann
04fda7d0f5 QmlProfiler: Avoid unrestricted unions
It seems we cannot use them, yet.

Change-Id: Ie5b0fd7daffbdc46992fc040448058dbde4b7209
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2015-11-18 11:35:24 +00:00
Jochen Becher
53335c2fda ModelEditor: Apply some source code formatting rules
1. Reduce 2 or more empty lines to a single empty line
2. Remove duplicate access specifiers
3. Remove lots of single empty lines between member declarations
4. Remove braces around single lines
5. List base classes on same line as class declaration
6. Ensure opening brace of class declaration is on next line
7. Add comment to end of namespace block

Change-Id: I95e2efa3abea806683e0943d54d6f203ad4af0e4
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-17 18:06:50 +00:00
Ulf Hermann
131c8027da QmlProfiler: Fix traceTime updates
If the trace time hasn't been set yet, decreaseStartTime and
increaseEndTime should still do something.

Change-Id: I626c0df66a5d7327708ada77c78546ad4aafc52b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-17 16:44:01 +00:00
Ulf Hermann
9f857880a7 QmlProfiler: Initialize the model progress numbers
Change-Id: I037d0146e20d5fe1681f455fbd5da9ac5e89184b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-17 16:03:31 +00:00
Ulf Hermann
f3902fffa2 Remove dead code
Change-Id: I57f2e5e4d8b4637039a53d10a5126610b895e4ec
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-17 13:06:37 +00:00
Ulf Hermann
b89d12c450 QmlProfiler: Include debug messages in trace
A separate model will show them in the timeline for better orientation.

Change-Id: I537bac82ddef6a8bcc64ae403731512f8edcc9db
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-17 13:06:33 +00:00
Ulf Hermann
35cedb2aee QmlProfiler: Allow string data in events
The restriction to put all strings in the type data is becoming a
burden to further enhancements. Also, introduce proper ctors for all
event structs.

Change-Id: I42d3bac96155ac1ac183a2b82785ce0396c5a932
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-17 13:06:29 +00:00
Marco Bubke
bcd93b594e Clang: Extract highlighting information
Prepare the move of the semantic highlighting to the clang back end. We
have it under tests too so it should be quite easy to make changes or
corrections.

Change-Id: I5706a8a06fde5a9ba2eba3a8ba62782102ac0bd3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-11-17 12:41:37 +00:00
Marco Bubke
611d7db4de Clang: Don't instantiate value two times
Change-Id: I5619f157a8a251ad06f6ea63d310015d13eb4c9c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-11-17 12:41:04 +00:00
Tobias Hunger
8d936b8aa6 AndroidDeployQtStep: Keep data requested from user around
Reuse the data for the following AndroidDeployQtSteps that
are in the same batch submitted to the BuildManager.

This should fix Qt Creator asking for the device multiple times
when building projects that depend on other projects.

Task-number: QTCREATORBUG-15338
Change-Id: I4fbb04d4d8e492f6a766461bca3e6f9683824def
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-17 12:11:42 +00:00
BogDan Vatra
9db8adec7d Export explicitly instantiate templates.
LLVM & MSVC needs to explicitly export the instantiate templates.

Change-Id: I51562750415400bfa561fd6e759211f2b4b10650
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2015-11-17 11:35:44 +00:00
Ulf Hermann
7d87b9cd97 Timeline: Pass the right dragOffset to CategoryLabels
Also, make sure the category dragger only reacts to vertical mouse
movements.

Change-Id: Ic53db9030536a1f2d35ea02facb920a4d3f0a005
Task-number: QTCREATORBUG-15333
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-17 10:07:00 +00:00
Tobias Hunger
f996f05b0f AndroidDeployQtStep: Pack data
Change-Id: I044dd8a71ad2a3502ce3c96dcbce3c850a13e819
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-17 10:05:20 +00:00
Tobias Hunger
8e55ee6377 Android: Clean up AndroidDeviceInfo
Turn it into a class, add a isValid method and initialize it properly

Change-Id: I413ca931b125c9bbfc58b855280e9e58402f3d0b
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-17 10:05:06 +00:00
Tobias Hunger
d2bb143552 TargetSettingsPanel: Small cleanup
Change-Id: I39b75d3af36c5770c995f2923ac2e7e49b042850
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-17 10:04:37 +00:00
Tobias Hunger
3be770eeae Target: Use Qt5-style connects
Make the slots private now, remove protected as nothing inherits
from Target.

Change-Id: I4aaa4402ef6ee83a27dd6233f188a507e9de8169
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-17 10:04:23 +00:00
Tobias Hunger
3bb3ece568 Abi: Fix warning about conversion from int to unsigned char
Change-Id: I49ce840823d4a60a1d97a7313551b00e39929619
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-17 10:04:11 +00:00
Eike Ziller
1dc8d0f032 Merge remote-tracking branch 'origin/3.6'
Change-Id: Ibee24c1c80984cdc45e7bcf3e4fbb5f1e6b81454
2015-11-17 09:38:05 +01:00
Ulf Hermann
4ff20dfa8c QmlProfiler: Move location lookup into base model
We will need it in a second derived model.

Change-Id: I5d2459c490034b592f643f248bf5be2e44af44aa
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-16 14:50:32 +00:00
Ulf Hermann
185412cee7 QmlProfiler: Remove QtQuick1-specific hack
Change-Id: I541fde69fcd337b5cf637b25dc0b610a956e65b9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-16 14:50:27 +00:00
Ulf Hermann
58a9b0c760 QmlDebug: Allow retrieval of connection from debug client
Change-Id: Ifae983771dd0fcf1c12fb7d3e9fa496de6d24373
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-16 14:50:24 +00:00
Ulf Hermann
87b2d5cdfe QmlDebug: Add category and timestamp to debug message client
Change-Id: Id81c443251b237b56e515ede8dc579427e13d782
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-16 14:50:20 +00:00
Ulf Hermann
1b8c1af2c6 QmlProfiler: Only emit gotoSourceLocation on internal updates
If we're merely synchronizing to another view the source location has
already been taken care of.

Change-Id: I272c1f3a664271327d3a59d851632eb1241108a0
Task-number: QTCREATORBUG-13360
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-11-16 14:50:14 +00:00
Marco Bubke
7fb4315da2 Clang: Adapt to new Google Test project directories
Google mock moved to github and merged with Google Test.

Change-Id: I66639532be1cd399c47dfd4511430b2d65b76b23
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
2015-11-16 14:39:12 +00:00
Svenn-Arne Dragly
b604e91f5b Show folders as tree view for resources
This patch builds a tree view of the paths to files
in resource files.
Previously all files were shown in a flat structure
under prefixes with the entire path as part of their
displayed name.
Because folders based on prefixes are different from
folders in the paths, a new class, SimpleResourceFolderNode,
was introduced.

Change-Id: Ifc4773cff6a678b50e64b0d56713f80704e12f6f
Reviewed-by: Svenn-Arne Dragly <s@dragly.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-16 14:25:35 +00:00
Nikolai Kosjar
f7741ef63c Clang: Report only diagnostics that can be shown in the editor
Change-Id: I9c258159d240c6ba7eeff34702d8512d9220b3af
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
2015-11-16 14:18:37 +00:00