Commit Graph

44349 Commits

Author SHA1 Message Date
Nikolai Kosjar
bd66d5ac05 CppTools: Remove some duplication
Change-Id: I8c84660b28c3e76b2cedd08ff3b44a38583f38a0
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-12-16 13:56:26 +00:00
Nikolai Kosjar
5421615070 CppTools: Rename updateHelper -> updateImpl
Change-Id: If1a1fb97aa2bcfad186c013f2b2cc4b94c66001e
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-12-16 13:56:21 +00:00
Nikolai Kosjar
566ab175b3 CppTools: Prioritize project parts from active project
...when selecting one for the editor document.

Change-Id: I85066aaa0862870cb2db2fb2cb40c2b2c23b2cac
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-12-16 13:56:16 +00:00
Nikolai Kosjar
ce1c6b2258 CppTools: Extract ProjectPartChooser
...and put it under tests.

Change-Id: Id4bd2391abd1dfdc23640e871453558566cb0693
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-12-16 13:40:23 +00:00
David Schulz
be7afaab27 Debugger: strip const before checking for __int64
Otherwise an "__int64 const" type isn't adjusted properly
before the lookup

Change-Id: I8e78a2273692bab164baa8ab80d921f841845b0d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-16 12:10:24 +00:00
Tobias Hunger
119222fb79 Nimproject: Fix memory leak
Change-Id: I5093b7028cd7e8c7e405358041704c6442009339
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-16 11:51:14 +00:00
Christian Kandeler
f7712a9c61 Update qbs submodule
To HEAD of 1.7 branch.

Change-Id: I77f56ba1b6cf7c23a9cdc3cc2e90cb8a2c6cbeb3
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-12-16 11:47:16 +00:00
Thomas Hartmann
a42c49982f QmlDesigner: Adding positioner icons
Change-Id: I609ea06cb0fce2c6201cee8e87db84a15913924a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2016-12-16 11:28:59 +00:00
Friedemann Kleint
467c478dda Abi: Detect MSVC2017RC as MSVC2017
The binaries have a minor linker version >= 10.

Amends change 0a9414d467.

Task-number: QTBUG-57086
Change-Id: Ib9493bc3f87e6100377632b85991ce94f3025f28
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-16 11:02:27 +00:00
Christian Stenger
62118e9d78 Valgrind: Move some memcheck auto tests into plugin
Due to changed dependencies it is nowadays necessary to have more
of the plugin infrastructure at hand. Moving memcheck related tests
to be able to execute them as QC plugin unit test.

Change-Id: Iab492b3cb87728425b950ca9387edf292d895350
Reviewed-by: hjk <hjk@qt.io>
2016-12-16 10:04:56 +00:00
Christian Stenger
29555235bc ProjectExplorer: Fix compile for gcc 4.8
Change-Id: Id5324b8bddeccc43446aefe7d7fefb232ed9fa21
Reviewed-by: hjk <hjk@qt.io>
2016-12-16 09:20:10 +00:00
Eike Ziller
a6b34bd38b ClangCodeModel: Make DisabledByDefault instead of Experimental
Update documentation accordingly.

Change-Id: I3309815ce23cfa8c941717883a7e0e312b7d9a5f
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-12-16 08:56:32 +00:00
hjk
fc01d0ac46 Debugger: Use new shared result reporting infrastructure
Unify the watchPoint() interfaces, move the combined
implementation to the DebuggerEngine base.

Change-Id: Ic93aa760e7258197aed5eb7bfea257a40012cccf
Reviewed-by: hjk <hjk@qt.io>
2016-12-16 07:41:43 +00:00
hjk
5c2a7b57e4 Debugger: Mimic parts of lldbbridge in gdbbridge
Make code more similar for later sharing.

Change-Id: I260e10ba1b613dfcebc45bb1a268b6fcebbde353
Reviewed-by: hjk <hjk@qt.io>
2016-12-16 07:41:34 +00:00
hjk
a61b6dfc57 Debugger: Move command flags to debugger command
Also, remove the need to mark GDB Python commands, detect the
need to use MI on the presence of non-Pythonic letters in
the command (space and hyphen).

Plan is to reuse even more almost shared code between engines.

Change-Id: I4e00debb07f2482637930675a28f464666b59553
Reviewed-by: hjk <hjk@qt.io>
2016-12-16 07:41:17 +00:00
hjk
c2eada278e Debugger: Fix Window grabbing on GDB
Needs to make namespace detection work without valid frame

Task-number: QTCREATORBUG-17326
Change-Id: Ia7c7017db4ef384d4f246e11a5601d01f4f366f1
Reviewed-by: hjk <hjk@qt.io>
2016-12-15 17:22:18 +00:00
James McDonnell
6c8d6c97e5 Prevent QNX tool chain demotion
Change-Id: Ia355cf80131e36e806781665c4926769a1b144f8
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-15 17:06:26 +00:00
hjk
b99cb464fa Debugger: Add convenience function to pass lists of strings
... to *bridge.py and adjust surrounding code.

Change-Id: I398ecf10a6b9c76ebf5683d2f3a6c28b57343663
Reviewed-by: hjk <hjk@qt.io>
2016-12-15 16:53:24 +00:00
Andre Hartmann
1bce506552 Add macros for current run configurations executable
Accessible by CurrentRun:Runnable:FilePath etc.

Task-number: QTCREATORBUG-12201
Change-Id: Ia8cde111507d8fd755d43f935fd2d319dfb73a67
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-15 16:34:53 +00:00
Tobias Hunger
347db259f8 MSVC: Report failures to retrieve environment for MSVC
Report failures to retrieve the environment of MSVC compilers as
a build issue. This is way more visible than the qWarning() that
used to be the only indication that something went wrong.

Change-Id: I8b923c3e65e7df14f677e8519b08f5b2218c16a8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-12-15 15:26:56 +00:00
Ulf Hermann
be705a3ea1 QmlProfiler: Disable note search button if timeline is unusable
Change-Id: I4c57f99bdea365b2ade913cb6b44ddf401f47aa8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-15 10:29:30 +00:00
Ulf Hermann
cd4e104a8b QmlProfiler: Disable timeline if it's unusable
Task-number: QTCREATORBUG-16503
Change-Id: I67fe5263ebca865e5ee08571754c1bf763a305d9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-15 10:26:54 +00:00
Ulf Hermann
bba1304817 QmlProfiler: Add functions to check if timeline view is usable
We can only use the timeline view if the scene graph is rendered via
OpenGL. This can be checked from Qt 5.8 on by querying the
RendererInterface. Earlier versions of Qt can only render with OpenGL.

Change-Id: I3f77e2a4dee1f9a1df5d6b1946cf7eb05a1bad01
Task-number: QTCREATORBUG-16503
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-15 10:26:41 +00:00
Ulf Hermann
233880e99d Timeline: Check for validity of vertexData() after allocating geometry
QSGGeometry itself doesn't check the result of allocations.

Change-Id: I4533d9abbb6dd26b8bd97e2c1b3dff089d827023
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-12-15 10:26:25 +00:00
hjk
02dd37d30a ProjectWindow: Add a PanelsWidget convenience constructor
... combining default construction plus a single invocation of
addPropertiesPanel(), the only way it is ever used.

Change-Id: I2080e8b8fa25a2d7e429b7c18f5272466bc4eb79
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-15 10:23:01 +00:00
Marco Bubke
1e3f2eec8d Clang: Consolidate all ClangCompilerOptionsBuilder into one implementation
We used the same code in different but don't shared it. From a bug fixing
perspective it's actually not that smart.

Change-Id: Iaaffc883229e259ff77f95b5cf0a8f0d8b5117df
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-12-15 10:18:15 +00:00
Alessandro Portale
11e0eaacc3 FancyMainWindow: Limit DockWidget title popup area
Change-Id: I5f43a84e5c5ff8bf69700d6ba6f6534df001eb7b
Reviewed-by: hjk <hjk@qt.io>
2016-12-14 21:41:13 +00:00
Ulf Hermann
a7a02897e7 QmlProfiler: Clean up view initialization
As there are only two events views we can handle them separately rather
than keeping them in a list. Also, the object names and dock IDs should
match. This breaks the settings, but that shouldn't be a big problem.

Change-Id: Iac46fd7976d1e747fef4b40cead9a54e830d188f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-12-14 16:48:36 +00:00
Ulf Hermann
207b5315cf QmlProfiler: Remove QmlProfilerViewManagerPrivate ctor
Change-Id: I7b7845a5943f43c8166424e2ba9045bb5d1f076a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-12-14 16:48:29 +00:00
Tobias Hunger
26f0c7c3ca SDKtool: Enable operation on filenames again and improve help text
Change-Id: Icc447745ddbd4bd75b4805f42593e2ee1621e28e
Reviewed-by: Christoph Sterz <christoph.sterz@kdab.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-14 16:12:45 +00:00
Tobias Hunger
200e7dd437 QmakeKitInformation: Leave boot2Qt kits alone
HACK! The magic in QmakeKitInformation::setup() should be removed altogether,
but that is something I dare not do in a patch release. HACK!

Change-Id: If3f0ec9976171977c253cee531203ac3ab41c6a7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-14 14:33:19 +00:00
David Schulz
990cec3371 QmakePM: Fix build sub dir project action
Re-enable the sub dir actions from the 'Build'-menu when a none project
node is selected in the project tree.

Change-Id: I316079336850409f6cd7479310e3b3438060baf8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-14 14:33:18 +00:00
Tobias Hunger
bbf944e373 ToolChainKitInformation: Preserve sticky bit on upgrade
Change-Id: I774fe7acc5c1a820eee4361547c034c9558fcb6d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-14 14:33:14 +00:00
Tobias Hunger
e76157d285 Kits: Upgrade SDK-Kits before trying to them up
This makes sure all keys have the expected names.

Change-Id: I063a88c705de44c4ac079d790ad865e222259b53
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-14 14:33:07 +00:00
Tobias Hunger
f2cd2ac877 Qmake: Do not consider non C++ toolchains
Do not consider non C++ toolchains when searching for a matching toolchain.

Change-Id: I2b06fd677ec3b89d0c15290ba170344629ded20e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-14 14:32:47 +00:00
Tobias Hunger
3840685998 SDKtool: Default to C++ for newly added toolchains without a language
Change-Id: I0002c0e0a81fd44064931a437f5c4b1e3095586c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-14 14:32:40 +00:00
hjk
26331f771a Debugger: Avoid messagesboxes on the same topic at the same time
Task-number: QTCREATORBUG-16971
Change-Id: I625f04cbd8f609c66597450dbad22ebc6eadcfe5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-14 14:10:14 +00:00
hjk
c16d350539 Core: Return some handle when creating an AsynchronousMessageBox
User code might want to keep a QPointer around e.g. to prevent
double instantiation of some box, or delete it automatically
after a while.

Change-Id: Iaa994c2abf321c35ffb3bcb0050d72939c55d941
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-14 13:54:41 +00:00
Tim Jenssen
04391a0c2a QmlDesigner: increase puppet timeout in debug
Change-Id: I3cddf27284a744db861705fab10d410ffdb23281
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2016-12-14 12:46:11 +00:00
Nikolai Kosjar
c82d372a41 CppTools: Ensure that the C++ project part is the first one
...for a given file in the ambiguous case (CppModelManager::projectPart).

There are several places where the first one will be preferred if there
are multiple project parts associated with a project file.

Change-Id: Ic01ea06277bc10f872238dcc181a55532b5783be
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-12-14 11:34:57 +00:00
Ulf Hermann
aca290b2e0 Timeline: Fix include for Qt 5.6
With Qt 5.6 we have to #include <QtQml> in order to register QML types.

Change-Id: I65faaf61960260806ef022f48f912d96c7e73f01
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-12-14 10:24:24 +00:00
Friedemann Kleint
0886860976 Output language in warning about missing toolchains
No tool chain set from kit "Qt 5.8.0 (msvc2015_64)".
becomes:
No toolchain set up in kit "Qt 5.8.0 (qt-58)" for "C".

Change-Id: I21b8f166baba85936a082a8943cc2ae74835771e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2016-12-14 09:45:25 +00:00
Filippo Cucchetto
41f6bedce3 Nim: Schedule a project rescan when new files are added or removed
Change-Id: I2b5a769e0d5e77ce2dd72e0637c0cbcd8f14875e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-13 21:22:09 +00:00
Filippo Cucchetto
3d8f42097b Nim: Simplified project scan by removing QFutureInterface
Change-Id: I60a0d3354083215661def0acd4c26c1ece00dea7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-13 21:21:52 +00:00
Alexander Drozdov
dfaf01614d CMake: make project file system tree scanner persistent
Project source tree is a same for all build configurations so it is
a good idea to keep it persistent between CMake runs, configurations
switches and so on. It safes a lot of time for big projects.

Move more operations to the scanner thread:
 - Nodes filtering: skip .user files on top level of the project, skip
well-known extensions and octet-streams: In most cases these are not
required to be shown in the project tree.
 - Nodes sorting

Fix small memory leak: we have .user in the scanner result. After this
node filtered out, but is not feed (old code at the
BuildDirManager::generateProjectTree()). Now .user file skips during scan
without memory allocation at all.

Allow user manually rescan project tree by call Build -> Rescan project
tree. It runs CMake and Tree Scanner together: in most cases only CMake
run requires but time to time (VCS update) full rescan also required.

Change-Id: I4a6e6c897202da557509291c79932dd7751860e5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-13 21:16:56 +00:00
Orgad Shaneh
1bbba3b48d TextEditor: Sort input keywords
std::binary_search expects sorted input. Do not trust the caller to pre-
sort the entries.

Change-Id: Ib1586660c52806a6b85dcf1a059297c948e48b7a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2016-12-13 16:54:55 +00:00
Tim Jenssen
357cefe67c QmlDesigner: Cleanup DebugView messages
These messages are purely technical and relate to implementation
details. Therefore the strings should not be translated.
We keep the original method names.

Change-Id: I3f98aea7b9df3890bca097d1e6b77789204c8e19
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2016-12-13 16:32:08 +00:00
Thomas Hartmann
f96851077a Fix linkage on Windows
Change-Id: If2d776fa3bb54cc8b482d1ae85f98845e9b28dc5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-13 15:25:17 +00:00
Nikolai Kosjar
0265442c93 QMakeProjectManager: Use ProjectPartBuilder
...as the other project managers.

This removes extra code paths, duplication and improves classification
of source files (ambiguous headers).

Change-Id: Iae05cbbc61ab2e5dd841ae617bec994e0a1e52d5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-12-13 14:55:36 +00:00
Tobias Hunger
43c6e97529 ToolChainKitInformation: Remove setToolChain(kit, language, toolchain)
Replace that with clearToolChain(kit, languguage). The only use-case
for that method was to unset toolchains in a kit.

Change-Id: I8cffe39393281f424fa8e044e6b90c5cea17ac90
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-12-13 14:34:16 +00:00