Commit Graph

53197 Commits

Author SHA1 Message Date
hjk
f84d44e4e8 Debugger: Merge *Adapter classes into GdbEngine
The main reason for having the adapters (complex target specific state
handling) is mostly gone now, leaving us mainly with the drawbacks
of the solution: An additional indirection, and using a hierarchy
for code sharing. So drop that, and use if/else chains instead
of virtual functions now, and start simplifying the result.

Change-Id: Idcf3a28da103c01cfa80cf9bab8ef51fe879b6d7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-09-12 07:01:59 +00:00
Nikolai Kosjar
f2e5e22009 Clang: Avoid waiting plugin side if (re)parse fails
If a parse or reparse operation fails, the corresponding translation
unit is "not intact" anymore and further job requests for that
translation unit will be silently discarded without notifying the
plugin. This is especially problematic when the plugin expects/waits
(for) a certain message.

A parse/reparse can fail due to e.g. an invalid commandline or an
internal crash.

In such a case, ensure to send some dummy results.

Task-number: QTCREATORBUG-18864
Change-Id: Ida9b8066fd55e64027a9b0d8bd5cf365b16a7356
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-12 06:46:29 +00:00
Vikas Pachdha
991663d13b Android: Fix empty output when sdkmanager command fails
Change-Id: I013f35880acd5683f23de49cb388c5ef9d8fc911
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-09-12 06:43:49 +00:00
Claus Steuer
d85e9bbe2f AutoTest: Fix test result output when debugging tests
When executing tests in debug mode the results are not displayed
as usual in the test result pane. In debug mode a newline character
is added to each line before passing it to the outputreader. The regular
expressions used in the GTest- and QtTestOutputReader do not match
because of the newline character.

Change-Id: Ia8051497097c950b5cf2d64cd4de0cb425802c50
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-12 05:37:12 +00:00
scootergrisen
43c0d896a2 Update danish (da) translation for Qt Creator 4.4
Change-Id: I83d612efb8cddfb98961901efbf8bc6832b43682
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-09-11 18:45:38 +00:00
Serhii Moroz
bb58ab34c1 TextEditor: Add sortSelectedLines action
Change-Id: Ifdc82766bac3cfe2e9c287b4ef04902a943c8f72
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-09-11 17:43:02 +00:00
Nikolai Kosjar
4de68511e6 Clang: Output warnings if QIODevice::write() fails
Change-Id: I9588a5081d8adb7b2db7955c4f48a2391e202396
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-11 10:29:56 +00:00
Orgad Shaneh
3b4c6ed5bd PushToGerrit: Fix support for multiple projects on the same remote
Use case: A project has a legacy repo and a new repo. Both are used as
remotes in the same local directory. If the legacy repo's remote name is
less than the current repo (legacy < origin) then only legacy appears.

Change-Id: Ie02cbee3142c4d2628cb51cbcad50cf903a75bb0
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-11 09:49:41 +00:00
hjk
8037d5e02f FakeVim: Properly recognize tabp...tabprevious
Note that this does not fully solve the linked issue as the
triggered GOTOPREVINHISTORY action does not have the same
behavior as :tabprevious

Task-number: QTCREATORBUG-18843
Change-Id: I26a719f77d2c1727bb18da46e13f5a0be48473bc
Reviewed-by: Lukas Holecek <hluk@email.cz>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-11 09:03:54 +00:00
Andre Hartmann
201a09b5c5 C++: Fix highlighting of "float" keyword for C files
... in the Classic Code Model.

Broken by 0d1fef41f7

Task-number: QTCREATORBUG-18879
Change-Id: I7d0222cc81e8847827af042e89d3b75c57f5d454
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-11 08:59:05 +00:00
Jarek Kobus
b506fce0fe Fix string messages
Found during translating.

Change-Id: I9626b3393d7b53300f7c806acbc5e12bc58574d2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-11 08:29:41 +00:00
hjk
808f192ff8 Qnx: Dissolve a QnxDebugSupport setRunParameter() use
Change-Id: I54cacf6dbcb5f68a2f063e41a86fc6d0c33da900
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-11 07:58:28 +00:00
hjk
e44d16e3de Debugger: Remove convenience DebuggerRunTool constructors
Use setRunParameters() for now, and individual setters later.

Change-Id: If7d044ea249b79ce117897a976659e9302bfc544
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 13:53:51 +00:00
hjk
440f2ba028 Debugger: Dissolve a few more setRunParameter() cases
Change-Id: I92d7b75c9a9758ab8c2ad8f9956ebcd8ecc9cb69
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 13:42:18 +00:00
Nikolai Kosjar
bdbd5a788b CppTools: "pre-compiled" -> "precompiled"
Change-Id: Ia4207747a3659fc05013d22b63feb2b17b1dec81
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-09-08 13:41:33 +00:00
Nikolai Kosjar
b4e2ab36a7 Clang: Remember selected function signature hint
...when typing more arguments:

    struct Foo {};
    void f(int, int);
    void f(Foo, Foo);
    void f(char, char);

    void c()
    {
        f( // 1. Trigger completion with Ctrl+Space
           // 2. Chose item "f(Foo, Foo)"
           // 3. Type: Foo(),
           // OK, signature hint "f(Foo, Foo)" is displayed again
    }

FunctionHintProposalWidget and IFunctionHintProposalModel are
instantiated for each calculation, so remember the selected hint in the
CodeAssist. Keep the latest 20 entries.

Task-number: QTCREATORBUG-11688
Change-Id: I579fc6d8a35dd8fa398e4b3170ddc05a85252d1a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 13:29:20 +00:00
Nikolai Kosjar
0ff2c036ac TextEditor: Remove unneeded code
There is no need to trigger the automatic proposal timer anymore. This
was added to fix QTCREATORBUG-6052.

The removed code resulted in 3 completion requests when triggering a
function call: foo(. One is sufficient.

Change-Id: I3da6574bddaaaa101145ea607483e83620110c5f
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 12:24:41 +00:00
Ulf Hermann
76b897d208 QmlDebug: Drop unimplemented private method
Change-Id: I66a2212e6d2eb2208444ca97c64b10ac50c57c43
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 12:21:42 +00:00
hjk
fa214f1a82 Qnx: Fix compilation
Change-Id: I1fe5e7cb99c8b52319588489ef506a0d9e13874a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-09-08 12:20:53 +00:00
hjk
2a29ca9af5 ProjectExplorer: Re-add SUBPROJECT_OPEN_LOCATIONS_CONTEXT_MENU
It was only accidentally unused.

Change-Id: I41702ae2840260af1c131c7454e00ea5e1abee57
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-09-08 12:18:44 +00:00
Robert Loehning
40e90cb8be Squish: Update expected combo box in tst_WELP01
Change-Id: I35f40a637a6914bea2057b951409b21b7ce90c8d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-08 11:47:26 +00:00
Tobias Hunger
3bb3f4af56 CMake: Filter out CMake input files that are already listed
Filter out CMake input files that are already listed elsewhere in the
project tree. This is server-mode only.

Change-Id: Ib62cd5b521a51180d12d76ec2868a99dbdecc272
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 11:18:58 +00:00
Tobias Hunger
91f36271e2 CMake: Check build dir first, then source dir in server mode
The build dir might be contained in the source directory, but not
the other way around. So this should be more reliable.

Change-Id: I2459b249fcc1002aa7f7787231b5699444a4c6bd
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 11:18:24 +00:00
Tobias Hunger
bcad4a1b94 CMake: Add header icon to <Headers> folder
Change-Id: Ibb5a61ab100dbd3b32de385df230dd0862faf670
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 11:18:17 +00:00
Tobias Hunger
1cf1700d1c Core::FileIconProvider: Add helper method to get a directory icon with overlay
Add a helper method to request a directory icon with an overlay icon for the
project tree.

Change-Id: Idea2ea9ec2ea6790bf8d087723700364fbcafec6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 11:18:09 +00:00
Tobias Hunger
bae73e7246 ProjectManager: Use the right constant when creating a menu
Change-Id: Icb7b17929e269469ccbcb24c2ab50fc67c167be3
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 11:17:19 +00:00
Tobias Hunger
43c04ac80b BuildSteps: Fix a number of crashes
Fix crashes due to activeProjectConfigurationChanged signal sending
a nullptr.

Uses the same fix as QTCREATORBUG-18865, but in more places:-)

Task-number: QTCREATORBUG-18866
Change-Id: Ic71af5ed26b2a44339f0c687f3f46bfdf62c2489
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-09-08 11:16:38 +00:00
Eike Ziller
a9aac73e37 Merge remote-tracking branch 'origin/4.4'
Change-Id: I53a31b3463b2bd8efffb1c00e5d172854d8ff5e5
2017-09-08 13:06:07 +02:00
Ivan Donchevskii
79e94ddae8 Clang: Workaround completion for make_unique/shared
Change unsaved file to provide constructor overloads
for std::make_unique, std::make_shared and
QSharedPointer::create

Example:
// Provide Foo constructor signatures at <Cursor>
std::make_unique<Foo>(<Cursor>

Task-number: QTCREATORBUG-18615
Change-Id: I87dd17085adf99ee498db969a3cdda5ebd973476
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-08 10:13:08 +00:00
Daniel Trevitz
b5379d599f cmake: Crash when removing
Fix nullpointer error. Occurs when no active project exists

Task-number: QTCREATORBUG-18865
Change-Id: I826daac39c38ae1382d23cae20da9085dbcfe298
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-08 09:28:57 +00:00
Ulf Hermann
47886969cc Drop unused variables and lambda captures
Also, add context to connect() expressions where we are or were
capturing "this".

Change-Id: I6e006ba6f83d532478018550d148ee93eca59605
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 09:06:53 +00:00
Ulf Hermann
e3ae628584 QmlProfiler: Don't crash on inconsistent profiling data
The trace may contain RangeData and RangeLocation entries that aren't
aligned with any RangeStart. As the trace is generated by an external
process we need to handle that.

Change-Id: I39a524127c9c9059e5c5521797e5effd385ce12b
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
2017-09-08 09:05:55 +00:00
Ulf Hermann
565ebaeb9a FileUtils: Drop the QTC_CHECK for !endsWith(slash)
As exercised by the test directories as Utils::FileName are actually
supported. The resulting fileName() is empty.

Change-Id: Ie20ac58c1d0f416d711c8cc3281054c0d70c449e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-09-08 08:35:24 +00:00
Ivan Donchevskii
d809e3fb8f Clang: send function name position for completion
... to reuse this position in backend (instead of
searching the function start again)

Change-Id: I02818dce4fc37ed6e7ecfb533191dbfe60610204
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-08 07:37:06 +00:00
Ivan Donchevskii
cffcba67bf Clang: extend CompleteCodeMessage
Add function name starting line and column.

Change-Id: Iaec1d769ce96df60c9d7e4a8eb942ad300279958
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-08 07:36:55 +00:00
Leena Miettinen
315cede70f Doc: Add links to Qt Creator Application Manager Plugin Manual
Change-Id: I1333652a41ff831ae5a7b84dc56041afc074cd60
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 06:52:35 +00:00
hjk
4235b0dae2 RemoteLinux: Remove abstractremotelinuxrunsupport.{h,cpp}
There was only the now-unused FifoGatherer left, which could, if really
needed again, be re-instated near the actual worker that would need it.

Also, un-export LinuxDeviceDebugSupport and RemoteLinuxQmlProfilerSupport
which are not re-used, and conceptually not meant to be re-used, anymore.

Change-Id: I20b6eb2f4a85180b586ea8338cf74173e3b7b21c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-09-08 05:44:13 +00:00
Ulf Hermann
11b8b6591c Qml Debugger: Add missing override
Change-Id: Icc704ee9539030f747b29e6285ab4f37b3b1763a
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 13:28:59 +00:00
Ulf Hermann
1634987cae QmlDebug: Don't use QmlDebugConnection unconditionally
It might be null. We wrap the retrieval of the data stream version in
QmlDebugClient and return the minimum if connection is null. The extra
copy of the connection QmlEngine is dropped as QmlDebugClient already
has one and we don't want to hit a dangling pointer.

Change-Id: Ida8c45d357d46b4942eea99b77065d3c51c7edb9
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 13:28:52 +00:00
Ulf Hermann
239ed56f4b QmlDebug: Decouple QmlDebugConnection and QmlDebugClient
The protected methods of QmlDebugClient need to be called by
QmlDebugConnection already. We also want to call them directly for
testing, so we make them public rather than having QmlDebugConnection
be a friend. By using a QPointer, we can avoid resetting the connection
on each client when it is deleted.

Change-Id: I2c0e3d2b8ec19e9acbc6b8f5623b4c28caae319a
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 12:58:12 +00:00
Ulf Hermann
3ccbaff2da QmlDebug: Add some missing override
Change-Id: I742cbeedff43e1e33b30150fec60f843698f05e8
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 12:52:01 +00:00
Ulf Hermann
046e4db97a QmlProfiler: Remove slots declarations and Qt4 connections
The signals from QML are relayed through the respective models, so that
we don't have to use Qt4 connections there.

Change-Id: I864b49061c1f28acbebfc7378bfe39f96d3cae18
Reviewed-by: hjk <hjk@qt.io>
2017-09-07 12:48:14 +00:00
Christian Stenger
85e656b041 Squish: Workaround Squish issues when using nativeType
When using nativeType() Squish sends single key press events for
any char to type.
nativeType() does not wait until these events have been processed
which leads to complete useless time measurings inside
tst_tasks_handling as timestamps are taken too early if nativeType
had to be used - which happens when a native FileDialog is used.

Change-Id: I446de898fd99b2e169ca39bef1adb4306d6ee530
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2017-09-07 12:47:44 +00:00
Eike Ziller
c4b5048836 ShellCommand: Show some progress information without progress parser
Show magically timed progress when running a shell command without a
progress parser. The assumption is that the timeout is much larger than
the expected runtime, but still an indicator for how long it might take.
Progress manager does its magic on top of that.

This is e.g. used for the update info plugin, for which checking for
updates might take quite some while.

Change-Id: Ib3d3d37b86fac17816fe592e39e26a3d484bba26
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-07 11:24:33 +00:00
Ivan Donchevskii
5b48bd0420 Clang: fix clang static analyzer on Windows
1) mingw kit + qmake: do not add target includes
not to override clang paths (for intrinsics and more)
2) msvc kit + qbs: remove target option from
clang-cl arguments

Change-Id: Ifb494ee61ae2d39e957cff31dbd647c66910be17
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2017-09-07 10:08:30 +00:00
hjk
4342eeab33 QmlProfiler: Don't access QmlProfilerTool from QmlProfilerTextMark
Only QmlProfilerViewManager is needed, so use that, as a step to
reduce the interface of the QmlProfilerTool singleton.

Change-Id: I19e55e3b22b3c64ff98b8ea29cbc5164a60ee15d
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2017-09-07 09:46:59 +00:00
Nikolai Kosjar
88e7af8a21 UnitTests: Disable related tests if suspend-patch is missing
Change-Id: Ifdccf2e5842aff13528e52caa4dfd3288214d723
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2017-09-07 08:59:40 +00:00
hjk
7458880298 Debugger: Replace some setRunParameters by individual property setters
Change-Id: If19c917dae5475c7bedc1bb2e6f2655fd4e5ce1b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 08:51:29 +00:00
hjk
49c14f5616 Debugger: Remove non-unneded DebuggerRunTool::setStartParameters
Change-Id: I5647f0c7232fbc12c66902a42c7a09f47cdef547
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 07:19:21 +00:00
hjk
5e871ddb65 Debugger: Dissolve createAndScheduleRun()
... into DebuggerRunTool creation and explicit RunParameter bulk setting,
which later is to be replaced by setting individual parameters.

Change-Id: Ic4d2c6d10d659287ae61fdb4db735e658e3a68ce
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2017-09-07 07:08:47 +00:00