Commit Graph

57600 Commits

Author SHA1 Message Date
Orgad Shaneh
2379007c17 Clang: Suppress GCC warning with LLVM 7.0.1
Change-Id: I6de160b42472560a3b33d9a3390b0890eabe9d44
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-12-19 10:54:17 +00:00
Christian Kandeler
cd50fe826d Fix qbs build
... after adding perf-related projects.

Change-Id: I4d6887f67eebd8c920d01fea691260665c58fa5e
Reviewed-by: hjk <hjk@qt.io>
2018-12-19 09:46:58 +00:00
Christian Kandeler
f207404eaf Welcome: Fix qbs build
Amends 8770d83fc8.

Change-Id: I45809354d3562c9360e014270d0e1570f54cf7e6
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-12-19 09:46:09 +00:00
Tobias Hunger
0b36eaa60c DocumentModel: Keep sorted on renames
Keep the document model sorted on document renames. This effects
the "Open Documents" views and more.

Task-number: QTCREATORBUG-21565
Change-Id: I2c546eb56ebee0a5fa1169060b85fce454b8e571
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-12-19 09:12:03 +00:00
Orgad Shaneh
1ddfc0c06f Fix perfparser compilation
mkdir: cannot create directory ‘/libexec’: Permission denied
make[4]: *** [Makefile:119: /libexec/qtcreator/perfparser] Error 1

Amends 3a3dc1bae3.

Change-Id: I8bc6b28abf178cc9990db363ae1311fb57d0c5b5
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-12-18 20:33:18 +00:00
Ulf Hermann
3a3dc1bae3 Add perfparser as a submodule
Task-number: QTCREATORBUG-21348
Change-Id: I2f7e4aa97e554d7042db05c952c46ed7ac199dbe
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-12-18 17:31:44 +00:00
Ulf Hermann
75d070b9b8 Add PerfProfiler plugin
This moves the previously commercial PerfProfiler plugin into QtCreator.

Task-number: QTCREATORBUG-21344
Change-Id: I41f4a9451c2fe8ff4e1108e07db2e72e8c613c43
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-12-18 17:26:45 +00:00
hjk
626d2e030d Welcome: Drop unneeded indirection
Change-Id: I6ab30110eb9b490a36c1a213438761a761173ebc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-12-18 15:32:02 +00:00
Eike Ziller
911bfb3cda UI Tour: Fix build with GCC 5
Change-Id: If41e7e0e8b2fa7aaab8abd34d95f516f7b87675d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-12-18 15:26:52 +00:00
hjk
f2bade30cf ProjectExplorer: Introduce a FolderNode::findProjectNode()
And use it.

Change-Id: Iaf13c4661e397bdb4d756c352683b696e337c8af
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-18 14:59:40 +00:00
hjk
74723498cc QmakeAndroidSupport: Replace AndroidQtSupport::extraLibraryEnabled
... by base node functionality and inline it into its only user.

Change-Id: I39ba77c8a2e46b7f207fb62297b4665e213fb266
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-18 14:14:13 +00:00
hjk
7915e47cff ProjectExplorer: Fix Project::findNodeForBuildKey
Amends 18669c8215.

Change-Id: I36232f434195c59014a8d085d13f324b7e39cfd5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-18 13:30:25 +00:00
Filippo Cucchetto
f861ffd743 Nim: Change remove_if to erase and fix missing emission of parsingFinished
Invoking remove_if without erase does nothing except placing the
removed elements to end of the container. This is fixed by using the
Utils::erase.

Furthermore the early return in the old code could cause the missing
emission of the parsingFinished signal.

Being there we applied some beautifications.

Change-Id: Icd11acb3ac4ab4735be1b5fba9cc785e9353a853
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-12-18 13:16:41 +00:00
hjk
42f5c8516a QmakeAndroidSupport: Access parseInProgress and validParse
... via base project node functionality.

Change-Id: Ifd9c5b149e11c1d104abed200881fdfe93749144
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-18 12:22:23 +00:00
Filippo Cucchetto
612410e1f9 Nim: Add Debug and Release configs in available builds configurations
This allows the user to select a Release or Debug build type
from the "Add" button in the project build configuration page.

Change-Id: Id47bf25cdaf3fd7e7d3f0ec1449c7c2bb9961baa
Reviewed-by: hjk <hjk@qt.io>
2018-12-18 12:04:33 +00:00
Eike Ziller
8770d83fc8 Add general UI introduction
Adds a Help > UI Introduction, which highlights basic aspects of the Qt
Creator UI.

The pages to show are defined in a format that can later move into a
text based configuration file like JSON. It specifies an optional object
name of a widget to highlight, a title, a brief description and a longer
description (potentially with tables, lists and other simple HTML).

Fixes: QTCREATORBUG-21585
Change-Id: Idb64c87e1d752bc24437588278093a96be0eeddb
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-12-18 09:53:36 +00:00
hjk
5330502978 CMake: Simplify servermodereader.cpp:createProjectNode
The return value is only used for an immediately following assert
that can never trigger.

Change-Id: I653a68292427dd5d6e2fb153ee361da1f0573737
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-12-18 09:26:22 +00:00
hjk
57a2e849b3 CMake: Implement CMakeTargetNode::buildKey()
This always sets a node id, that is reasonably unique. So use it.

Change-Id: I9b1cb978f0d6edffabee4eafa5ec078a6a6827a6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-12-18 09:16:09 +00:00
Alessandro Portale
a0e551a1e8 Introduce a timeline editor for the Qt Quick Designer
This adds a module to Qt Quick Designer which allows for
visual editing of keyframe based animations.

The required counterpart in Qt is the QtQuickTimeline module:
  http://code.qt.io/cgit/qt/qtquicktimeline.git/

Task-number: QDS-35
Task-number: QDS-321
Change-Id: I96d33e203a583b372cfe8db0ffc0f4fa773109ce
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2018-12-18 09:07:02 +00:00
Orgad Shaneh
96bd65327b OutputFormatter/AbstractProcessStep: Handle \r\n as newline
\r\n means newline. It shouldn't erase the previous line.

Change-Id: I22d9919c9c0277e4c0932eba535dbfb84a1d5e71
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-12-18 06:43:55 +00:00
Ivan Donchevskii
fd7515d3dc ProjectExplorer: Init MSVC macros cache in copy constructor
Otherwise we can try to access uninitialized shared_ptr content.

Change-Id: Ice45e4681abb729a82be0d0674d1cb4001f940f0
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-12-18 06:22:02 +00:00
hjk
758db05c73 QMakeAndroid: Replace QmakeAndroidSupport::projectFilePath
... by existing base functionality.

Change-Id: I38bc25cba5f50b7694df73f57bec67a250ac9bdf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-17 15:40:13 +00:00
Christian Kandeler
e9d3a9b1e8 QbsProjectManager: Implement ProjectNode::targetApplications()
Change-Id: Ied997dcb7e0a3d68b48bb7149f3494a2077ec014
Reviewed-by: hjk <hjk@qt.io>
2018-12-17 14:51:34 +00:00
hjk
a9ce1a66a0 QmakeAndroid: Fill application combobox
... using a new base ProjectNode::targetApplications() function.

Change-Id: Id210683dce6bfa7ffbc89973423d326d76ac9309
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-17 14:02:06 +00:00
Christian Kandeler
1dfa7279d4 RemoteLinux: Add an rsync deploy step
Using rsync enables proper incremental deployment and is particularly
helpful when larger files are involved.
We check whether rsync works as part of the device test. If it does, it
becomes the default deploy step, otherwise we fall back to SFTP.

Change-Id: I6ab938ccd5acd7e0cbe07b90b6938dccad19bba5
Reviewed-by: hjk <hjk@qt.io>
2018-12-17 13:42:25 +00:00
hjk
e6a71fb43d CppTools: Compile fix
Amends ef8de6a384516c.

Change-Id: I50dc5b63867888ed258d6dedf643c3cc33b1014c
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2018-12-17 13:21:49 +00:00
hjk
5b4205d159 QmakeAndroid: Reduce coupling between Qmake and QmakeAndroid
This moves most of the QmakeProject::applicationProFiles code
to its only user, the android side, and only uses the new
 bool includedInExactParse() const hook on the qmake side.

Change-Id: Ica11127c4895be22cafe56757f4cecafa02583ef
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-17 13:21:19 +00:00
hjk
6ad9446086 ProjectManager: Fix Project::findNodeForBuildKey()
Amends c58da42bab.

This operates also on not-fully loaded projects now, which was
previously causing a crash on android projects.

Change-Id: I44eeb7af8ed53a47ef39e7f1bafb07b871879ce5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-12-17 13:02:02 +00:00
Kai Koehne
c1d6562d2e Do not mark html text for translation
Change-Id: I2a59c52553b39c437fbc58588032859d8257f87d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-12-17 11:41:44 +00:00
Marco Bubke
ef8de6a384 CppTools: Introduce HeaderPathFilter
We went the filtering of the header path outside of the compiler options
builder so merge the PCHs.

Task-number: QTCREATORBUG-21693
Change-Id: Ia1126813a5049e39d7c6e7d60bf449aa17012d02
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-12-17 11:06:14 +00:00
Eike Ziller
2529b36b40 Merge remote-tracking branch 'origin/4.8'
Change-Id: Id1484d611d457d8e4598fb53975b2288690b64bb
2018-12-17 10:05:11 +01:00
David Schulz
56e6e9af57 ProjectExplorer: run vswhere blocking
Executing vswhere non blocking results in a bunch of ugly error messages
when running qt creator with the -test parameter.

Change-Id: I5b721dce474c34421b5d68fbac127c991f493578
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-12-17 08:46:52 +00:00
Christian Stenger
63d88450ec AutoTest: Provide 'Uncheck All' for filters
'Check All' is provided since filtering is possible, so
provide the opposite as well to avoid unnecessary clicks.

Change-Id: Id7b695e79e8ce57a6548a8581205cafdad2b2cb9
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-12-17 06:35:32 +00:00
Filippo Cucchetto
3c197a2dee Nim: Fix empty compiler version
We should read the standard output and not the standard error

Change-Id: If3731ffaf3d4ee9709da8bac8cdde1ea0e861a30
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-12-16 16:12:35 +00:00
Christian Kandeler
cc812e841b RemoteLinux: Use SSH connection sharing in device tester
No need to connect more than once during the testing process.

Change-Id: I2401a2c1e5b940b6b12e86182d37a099e94680dd
Reviewed-by: hjk <hjk@qt.io>
2018-12-14 16:17:00 +00:00
Marco Benelli
ccefa38e19 qmljs: fix a crash in the highlighter
Task-number: QTCREATORBUG-21728
Change-Id: I0508d55ec8fc248833597f8e19e9aa1128f1b7ad
Reviewed-by: hjk <hjk@qt.io>
2018-12-14 14:38:05 +00:00
hjk
c58da42bab QmakeProjectManager et al: Reduce use of qmake specific logic
Change-Id: I8f7e5d822ccb27e3ec241b814ec67aed7fe7539f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-12-14 12:08:39 +00:00
Christian Kandeler
d6b1e5653b SSH: Delete file system watcher right after use
It's only ever needed at startup, no need to keep it around after that.

Change-Id: Icc1ada71177d4f81b0b84cd3607a8a8b7af9cec2
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-12-14 11:31:56 +00:00
Christian Kandeler
a5cf6f194d SSH: Fix exit status/exit code interpretation
A "regular" exit of the ssh binary with exit code 255 means that the
remote process has crashed.

Change-Id: I82e6e44079041459e78e4f8f7e7b6e5cbcaa6c44
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-12-14 11:26:30 +00:00
Daniel Wingerd
2710a9b0e5 help plugin: specify bgcolor for html
Change-Id: I5ffd9851d6bc43510f4eb3ad903055544d83b8b0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-12-14 10:46:35 +00:00
Daniel Wingerd
b8a4050bab help plugin: strip html from a translatable string
Change-Id: I4c147c969ae04c50ca2d6fd40143919236f97679
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-12-14 10:44:18 +00:00
Christian Kandeler
e3026623a3 FileSystemWatcher: Prevent double-delete of static data
If any static data directly or indirectly holds a FileSystemWatcher,
destruction of that data competes with the destruction of
FileSystemWatcher's static data. Prevent this by guarding the access to
said static data in FileSystemWatcher's destructor.

Change-Id: I4def4cab36583249b0c512387e57400f532b6709
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-12-14 08:44:03 +00:00
Oliver Wolff
0ea3346d68 MsvcToolChain: Detect Visual Studio installations using vswhere
vswhere is Microsofts recommended way of detecting Visual Studio
installations. Starting with Visual Studio 2017 15.2 it is part of Visual
Studio's installation and according to the documentation can always be
found in %ProgramFiles(x86)%\Microsoft Visual Studio\Installer (see
https://github.com/Microsoft/vswhere).

Given the proper parameters, vswhere is able to find Visual Studio
installions that are older than 2015 (-legacy) and also build tools
(-products *). If the executable is not found, we fall back to the
registry search we did before, but we should use the tool provided
by MS for getting the job of detecting VS installations done.

Change-Id: Ia94e19f00a97138a0261f485c661673e821b06b5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2018-12-14 08:38:54 +00:00
Oliver Wolff
a376eb0a81 MsvcToolChain: Add installationFromPathAndVersion helper function
In preparation for an upcoming patch the creation of
VisualStudioInstallations from installationPath and version is moved to a
helper function.

Change-Id: I0c5973028be22b229d45f20045cf47b5da44f682
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2018-12-14 08:38:30 +00:00
Christian Stenger
f7a905e602 SSH: Fix compile for Qt5.9
Change-Id: Ib296d7e0cb9425a673bd9f5b12e46e315e951849
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-12-14 08:20:13 +00:00
hjk
2c395df349 Debugger: Use toolbar stop icon in toolbar
Fixes: QTCREATORBUG-21720
Change-Id: I6929278cc9610a1cf0a1655875e837c738853185
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-12-14 08:09:48 +00:00
David Schulz
bc5c21c212 Core: Add compare function to Search::TextPosition and TextRange
Change-Id: Ia41fb1f2855745075ab7364916ecd69ce4d11401
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-12-14 06:58:30 +00:00
Michael Kopp
7e45ccc99b determine gdb target ABI by parsing 'gdb --configuration'
Currently, the gdb target ABI is determined by running
`gdb -version`, which for recent gdb's does not reproduce
the target ABI string -- yet this string is searched in
the output.  This obviously fails, and qtcreator uses a
fallback behavior, that is not suitable when using gdb
for debugging on targets (like avr microcontrollers).
With this change, QtCreator calls `gdb --configuration`
if that is supported by gdb and extracts `<string> from
`--target=<string>` in the output.

For older versions of gdb (which do not support the
`--configuration` flag, but still have the target
information in the output of `--version`, the output of
`--version` is parsed.

If both methods fail, no ABI is set for gdb.

Change-Id: Ib406f6700b63e2cedb46bd4ec8cc0d215677ecdc
Reviewed-by: Michael Kopp <kopp.michael@yahoo.de>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-12-13 21:35:28 +00:00
Christian Stenger
bff51f9e2a Squish: Fix default settings test
QC ships a valid usable clang that gets detected as compiler.

Change-Id: Iddf94ed6c563367289a1f5418ab222e14c05f81c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2018-12-13 16:42:43 +00:00
Christian Kandeler
be4bd1dc06 RemoteLinux: Do not try to kill a non-existing process
After sending SIGTERM, check whether the process is still running before
sending SIGKILL.

Fixes: QTCREATORBUG-19941
Change-Id: I16953fbe1690373990f8a8fe723572b2125b59d3
Reviewed-by: hjk <hjk@qt.io>
2018-12-13 16:14:45 +00:00