Commit Graph

54723 Commits

Author SHA1 Message Date
Nikolai Kosjar
415d3c4784 Clang: Fix cursor position after completion of overloads
struct Foo {
    void begin();
    void begin() const;
};

void c(Foo &foo)
{
    foo.beg // complete to foo.begin()| instead of foo.begin(|)
}

Task-number: QTCREATORBUG-17443
Change-Id: I60ca16bbfeeb75c5c37a0d5bc6f46e9e9913b86e
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-08-14 12:51:15 +00:00
hjk
e5631e2ebe Debugger: Fix location marker update for LLDB Jump to Line
Change-Id: I93c46eabb8c91c3e7158454f04cf027d55ece621
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2017-08-14 12:48:32 +00:00
hjk
e16a30712e Debugger: Re-enable some shutdown cleanup code
It is still needed with LLDB.

Task-number: QTCREATORBUG-18723
Change-Id: If78dcbf8e074add969c403c37193c9f4ce857625
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2017-08-14 12:47:47 +00:00
Nikolai Kosjar
c0364564a4 Clang: Fix highlighting of template function in using declaration
This completes

    commit a3a62e78f7
    Clang: Fix highlighting of function in using declaration

Change-Id: I3c163096374d7a1f45a590bb8ebfe5f5a1f8d417
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-08-14 12:46:43 +00:00
Ulf Hermann
ea21d3fdfb QmlProfiler: Make some QmlProfilerDetailsRewriter members private
Change-Id: I973c77eadf35e814352edaac3992437cf2c4be66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-14 12:02:06 +00:00
Eike Ziller
b5f49273b0 Merge remote-tracking branch 'origin/4.3' into 4.4
Conflicts:
	src/plugins/qmlprofiler/qmlprofilertraceview.cpp

Change-Id: Ib1d75a8572f650898cb598d008867e2c0514d752
2017-08-14 12:37:06 +02:00
Ulf Hermann
63551d7711 QmlProfiler: Rebuild the flamegraph model when visible features change
This is more expensive than just setting the filtered items' height to
0. However, this way we implicitly also change the size of the root
element, group equal items that end up on the same level by filtering,
recalculate the cutoff for too small items and resort all items by
width.

Change-Id: Ida2c5acd9848c5644ecff052d78e9fe5ad962606
Task-number: QTCREATORBUG-18713
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-14 09:39:59 +00:00
Ulf Hermann
e7c950eb11 QmlProfiler: In statistics use non-recursive time as total
Otherwise the percentages and totals don't match. The extra recursive
time is shown in the tooltip, without percentage (as there wouldn't be a
sensible base value for a percentage number).

Change-Id: I47fcf92aac3f60554219f7da9dd2ac90061ce496
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-14 09:39:50 +00:00
Jake Petroules
0cbb78e464 Fix build
Amends 5e6ff55

Change-Id: Iab56b5d06335ce916cd9381ea7ea58c4f8759116
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-08-14 09:19:49 +00:00
Ulf Hermann
6de5650241 QmlJS: Fix initialization order
This avoids some compiler warnings.

Change-Id: I81a626d22d39a2a45c2bf64403b0e28b76e50105
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-14 09:18:44 +00:00
Leena Miettinen
dc8cbfa469 Doc: Describe QML/JS editing options
Change-Id: I9ee84a08a45796f77bb6acf620327059b4cab93d
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2017-08-14 08:04:51 +00:00
Jake Petroules
5e6ff555ab Fix deployment to Windows 10 Mobile devices
Task-number: QTCREATORBUG-18728
Change-Id: Ib04ca8a0a163611bbb53bc50f2e0009ab460ce35
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-08-14 06:29:01 +00:00
hjk
78efd5cfe9 ClangStaticAnalyzer: Don't show 'stopped by user' if it wasn't
Task-number: QTCREATORBUG-18581
Change-Id: Ib5d2aded5da14e44f3186a2ed67f119764d6d58d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-08-11 16:11:07 +00:00
Ulf Hermann
afdf0d5ec4 QmlProfiler: Don't add an extra nanosecond to the flame graph bottom
Change-Id: Icda2b69363439de92a012a0cf46b8084b69d777d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-11 11:40:01 +00:00
Robert Loehning
74d14d0092 QmlJs: Initialize members
Change-Id: I15a3ec660608266595a8b7a12b59016cc28331af
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-11 10:34:00 +00:00
Thomas Hartmann
2307e10aa2 QmlDesigner: Fix crash
This was introduced when adjusting the selection behaivour.
We have to check for the empty list before we call
itemList.first().

Change-Id: I12a12bc17f1f513304c8df738e76db999267854a
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-08-11 10:27:05 +00:00
Thomas Hartmann
aa3270a1e6 QmlDesigner: Fix crash
This was introduced when adjusting the selection behaivour.

When we change to the selection tool we might delete items.
This item could be in itemlist we forward to AbstractFormEditorTool.

Therefore we change to the selection tool after calling
mouseReleaseEvent().

Change-Id: I5cab902b8560780c6ee4edc3466e7087d719f1ef
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-08-11 10:26:58 +00:00
Ulf Hermann
705c618aeb Fix docs about QML debugging
You can only debug QtQuick 2, and you need Qt 5.0 for that. Also, the
port is not well known as it's chosen at runtime, and various features
of the QML inspector have been dropped.

Change-Id: Ibb2fa6c4de203423c4e0cb9f240643e7354e7a34
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-08-11 08:51:47 +00:00
Jarek Kobus
6213369675 DiffEditor: Fix saving diff containing new or deleted files
Fix also the case when new file was empty.
Fix some const correctness.

Change-Id: Ied71c3de0398914e595fbf542f1b8ec3659d69b6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-08-10 16:59:54 +00:00
Jarek Kobus
e3ce4b150d DiffEditor: Optimize patch processing
Get rid of QRegularExpressions, they are very slow.
Simplify readGitPatch() a lot.
Make reading of the patch about 20 times faster,
especially make readGitDiff() itseft (excluding the calls to
readChunks) working about 1000 times faster for huge diffs.
So, the processing time for e.g. the bottom commit of
qttools module (the import commit) decreased from ~20 seconds
to ~1 second.
Implement nice progress of patch reading.

Change-Id: Ie24786596237bde475e37337663018a8bec086bb
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-08-10 16:58:45 +00:00
Ulf Hermann
178ef461bd QmlProfiler: Include qtcfallthrough.h for Q_FALLTHROUGH
Change-Id: Iac3b7ea8314eff6e15c3c4a04a612a8026bf040f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-10 15:59:46 +00:00
hjk
7f87e2af3c DeviceSupport: Implement DesktopDevice::portsGatheringMethod()
The feature is useful in a QtApplicationManager debugging context.

Internally, DeviceUsedPortsGatherer uses a DeviceProcess now,
not an SshRemoteProcess, to cover cases where the (Windows Desktop)
device not have ssh available.

Change-Id: I9d33ceac65a135123a376ebd2727dcb540563179
Reviewed-by: Wolfgang Bremer <wolfgang.bremer@pelagicore.com>
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-10 15:23:07 +00:00
hjk
4048629d1a Qnx: Create slog2 runner processes at more reasonable times
89f02cba2c introduced a regression.

Change-Id: I3ae4ecc7f2dfcd477ffe7a277a87acd90aad5339
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-10 15:22:54 +00:00
hjk
90d152ac07 QmlProfiler: Clean up some includes
Change-Id: Ia4706170b07070e46c62296a806e785d96d2f4ef
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-10 14:55:31 +00:00
Ulf Hermann
5dbb4f0907 QmlProfiler: Express record button state in a single function
This way we get a concise description of the inputs it reacts to and we
don't have to dereference the pointer in unrelated code, which lead to
crashes on shutdown.

Change-Id: Ieb75ab95cccc0d1f88420b270909c97867a5c3e0
Reviewed-by: hjk <hjk@qt.io>
2017-08-10 14:41:28 +00:00
Robert Loehning
eb16dd3c79 Utils: Use title case in title bar
Change-Id: If84c417c66ea98b9a75605fe594179b9b93b4715
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-08-10 14:34:35 +00:00
hjk
6920d84745 Debugger: Add some hints on how the Python manual test works
Change-Id: I7a20451739c759510ea2d400493985ae543c6965
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2017-08-10 14:22:26 +00:00
hjk
b414b7cd3b QmlProfiler: Merge inferior worker into LocalQmlProfilerSupport
Change-Id: Ie9f9db6ecf2891731e90326b4a27b2d819b1e7ca
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-10 13:17:58 +00:00
hjk
a9d2e64517 QmlProfiler: Move TCP connection initialization to runworker's start()
That makes the high level sequence of operation the same as for the
local socket case.

Change-Id: Ib8af2a7826a482e98b75fe00f3c0e672b98886c5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-10 13:13:57 +00:00
hjk
51dd89fc34 QmlProfiler: Remove connection timer
The connection timer was traditionally used in cases where
the application was started without being given a port on the
commandline. These setups do not exist anymore or have been
changed to provide a suitable port on the commandline.

Change-Id: Ib4653e73943819762f0c8162cc13e4da789705a7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-10 13:12:38 +00:00
Ulf Hermann
a8426626d1 QmlProfiler: Fix and extend the local qml profiler runner test
We need to indirectly verify that the profiler support is doing the
right thing by watching the RunControl's state transitions.

Change-Id: I8f92f21022668ed3bb28477152132ccdcffaaea6
Reviewed-by: hjk <hjk@qt.io>
2017-08-10 10:23:39 +00:00
Nikolai Kosjar
f4f240ad43 Debugger: Switch perspective when coming from another mode
Problematic case was:
 1. Run some analyzer (mode switch: edit->debug)
 2. Close project, re-open it (mode switch: debug->edit)
 3. Run analyzer from 1. again
 --> Ops, no mode switch to debug mode (and thus no analyzer view)
     because it's still the same perspective

Task-number: QTCREATORBUG-18549
Change-Id: Iccb1e0629454c1373280a55d6c41410c7161520e
Reviewed-by: hjk <hjk@qt.io>
2017-08-10 10:04:58 +00:00
Leena Miettinen
f4f79a352c Doc: Fix paths to Qt Quick Toolbar options
The options were moved to the "QML/JS Editing" tab.

Change-Id: Ieccc6b1fa2d051a6986a6050bff6d0a6710ffb26
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-10 09:42:06 +00:00
Ulf Hermann
cca625edea QmlProfiler: Connect to timelabel only after it is created
Change-Id: If9e810cfbd5162f1e40db24db2f8f784accaff4e
Task-number: QTCREATORBUG-18597
Reviewed-by: hjk <hjk@qt.io>
2017-08-10 09:38:40 +00:00
Marco Benelli
73834060d7 QmlJs: fix false positives for properties
Resolve references while looking up for object members.

Task-number: QTCREATORBUG-18362
Change-Id: I9d2b2457fb3488c723a41e4e8ba1fc0ea9fe800f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-10 08:08:38 +00:00
Thomas Hartmann
a094841bdd QmlDesigner: Fix macOS menu issue
Introducing the Loader broke the menu on macOS.
There is no reason to disable the Loader.
This was premature optimization.

Task-number: QTCREATORBUG-18662
Change-Id: Ief00246182ab1f1096efec634ed0626aeba95c84
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-08-10 07:30:40 +00:00
Ulf Hermann
e45c6ebe4b QmlProfiler: Stop the recording timer when the time label is destroyed
Writing to the label is all it does, and that crashes if the label is
gone.

Change-Id: I23bbbe0c46603a8de91143ee6167cb404c1b0004
Reviewed-by: hjk <hjk@qt.io>
2017-08-09 14:18:28 +00:00
hjk
c839e86863 ProjectExplorer: Introduce RunWorker::reportDone()
To be used for short-lived tasks to signal that they are done.
Essentially an optional reportStarted() followed by reportStopped()

Using it in GdbServerPortsGatherer when the port list is ready fixes
the wrong "un-stopped" situation in RemoteLinux debugging when
the inferior finishes by itself.

Change-Id: I310831a7875fe6f2c598302b73cda6c9669efb1d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-08-09 14:12:45 +00:00
Thomas Hartmann
b7507f3a38 QmlDesigner: Some cleanup
Change-Id: Ic89c578474d7cdf1f72a61a91d0cdf32f7b70a7f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-09 13:50:12 +00:00
Ulf Hermann
68e8a56b3b ProjectExplorer: Introduce an "essential" flag for RunWorker
An essential RunWorker triggers the whole RunControl to stop if it
spontaneously stops.

Change-Id: Ia05b927e306022e99b45cc8cd7ab9636f4d3c129
Reviewed-by: hjk <hjk@qt.io>
2017-08-09 12:25:11 +00:00
hjk
6f5c5a56db QmlProfiler: reportStopped() only when entering Idle
Change-Id: I291ff6506a16e294165109a89f2acf22d24d7928
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-09 12:19:17 +00:00
hjk
4023e56d42 ProjectExplorer: Allow RunWorker::Starting -> Stopping
Can happen on worker startup, e.g. missing binaries, permissions, ...

Change-Id: Ibeee0a6992af80d3486b00890664e83525f17204
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-08-09 12:16:27 +00:00
Andre Hartmann
b97cd4e43a QmlDesigner: Fix compile
Introduced by eb5de6a897

Change-Id: I04b1589af5bea1417a6689b8f30aadd5725e878c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-08-09 12:00:50 +00:00
Ulf Hermann
a62f882c42 ProjectExplorer: If a worker fails while we're stopping, continue
We don't need to re-initiate the stopping.

Change-Id: I2c19dca854c93e0340227d08a381c3bde919363d
Reviewed-by: hjk <hjk@qt.io>
2017-08-09 11:55:07 +00:00
Alessandro Portale
8507f6ae55 ScxmlEditor: Make the Attribute Editor table themable
...by not using hardcoded colors.

Task-number: QTCREATORBUG-18685
Change-Id: Idbe694b4112cb2c7d82738598fb04c68c510c609
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2017-08-09 11:44:28 +00:00
Andre Hartmann
95310b28f3 CamelHumpMatcher: Modernize
* Use QRegularExpression instead QRegExp
* Use range-for instead foreach
* Remove QLatin1String/Char

Change-Id: I27516a4e3ca724c1f3cfab5b729d545547df873f
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2017-08-09 11:21:34 +00:00
Alessandro Portale
3a195ffb9a QmlDesigner: Remove unneeded margin around the connection view
The other tabs also have no margin.

Change-Id: Ied1cf078b728f9b24d0357c919ac5c41fa3440e9
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-09 11:00:11 +00:00
Alessandro Portale
eb5de6a897 QmlDesigner: Reduce theme processing of CSS files
Don't do it 4 times in a row.

Change-Id: I21ca89310e7e0c3498fcb8bd50c105c893d2f267
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2017-08-09 10:58:37 +00:00
Ulf Hermann
88b113c850 QmlProfiler: Reverse start dependencies for LocalQmlProfilerSupport
We need to start the local server before the application, as the
application has to connect to it. If we use a TCP connection, we will
retry. So it doesn't hurt to start it before the application, either.

Change-Id: I64c24f922040d0ac58fe4f05abffef9ec24e3e9a
Reviewed-by: hjk <hjk@qt.io>
2017-08-09 08:37:24 +00:00
hjk
96dd315f61 ProjectExplorer: Remove RunWorkerState::Failed
It is always acted upon essentially the same as Done, but
complicates the scheme.

Change-Id: I8d9161fb162195a533c7ed29e251c3f486479dc9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-08-09 08:01:43 +00:00