Commit Graph

61529 Commits

Author SHA1 Message Date
hjk
a34bf6a23b QmlPuppet: Replace some foreach
Change-Id: I59b4049282564762f75aa5e9a7a0b7eba055db48
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-26 12:59:41 +00:00
Robert Loehning
c49f080458 Squish: Fix handling of server issues in tst_codepasting
...properly this time, I hope.

Change-Id: I4cf492f28c99fa15425c44f41656e6220f7a8715
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-26 12:48:12 +00:00
hjk
a6c85993ba ProjectExplorer: Propagate build environment changes more directly
To check this still works I used a CustomRunConfiguration with
a executable name $AAA, the tooltip there tries to expand that
(and complains that $AAA is not an executable).

By inserting a AAA=/bin/ls in the build environment, the tool tip
on the run config exectable path chooser changes appropriately,
same for changing the AAA value.

The connection seems also needed, dropping it destroys that updating.

Change-Id: I28965cbd3ce530a83d98808ca7624a6799cd9800
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-26 12:05:52 +00:00
Christian Kandeler
f940aad53c Fix windows build
Nested classes of exported classes are not exported automatically.
Amends df8ef72aec.

Change-Id: I73b8986c2313d1fa8a2b3a9dc58ff70dd129b6c7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-26 12:00:37 +00:00
Tobias Hunger
4daba5a9fa CMake: Fix working directory for targets in fileapi mode
Prepend the full path to the build directory.

Change-Id: I55111b656fd4b99ee68517c09117f142e88947b1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-26 11:49:01 +00:00
hjk
d2796546a4 ProjectExplorer: Remove unused BuildStepList::steps(...) overload
Change-Id: Idf0aa783c4492eab06f830788df7a480f85c8150
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-26 11:39:52 +00:00
hjk
f784c7e07d ProjectExplorer: Remove one unused Target::subscribeSignal overload
Change-Id: I01df947a1dbd8b0518053dc1db528725c48de820
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-26 10:50:43 +00:00
Christian Kandeler
df8ef72aec Wizards: Do some input validation on repository URLs
Fixes: QTCREATORBUG-18935
Change-Id: Ie2103cbe2899ea23caaedd4a6350c78b5f380ab9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2019-07-26 10:41:03 +00:00
hjk
00bdb007ee Qbs: Simplify builddir change handling
Change-Id: Ie2eff91d58df007b53a86b353423e4183b845a80
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-26 10:39:51 +00:00
hjk
9b5ac303f3 ProjectExplorer: Remove unused function BuildStepList::allOfType
Change-Id: Ic06040ff874c308db561897bd1722081242e63fd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-26 10:36:22 +00:00
hjk
db6cd708db QmlDesigner: Remove one use of Java-style iterator
Also take advantage of the fact that filtering a list can be done
more straightforward than creating a full copy and removing
non-matching items.

Change-Id: I95e983873d4273b2302c4b3bbaeddb4390310d99
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-26 10:33:30 +00:00
Christian Kandeler
928550ed79 PluginManager: Provide helpful output if unit tests cannot be run
We can show the errors directly, rather than asking the user to re-run
Creator with different arguments.

Change-Id: If8196ba3a496406f5539a91e678d26a9a4801b85
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-26 10:14:11 +00:00
hjk
7705fbb701 Debugger: Code cosmetics
Remove uses of foreach, ...

Change-Id: I3997d4dffc63d58c386c70b08063ecb894ef1abb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-07-26 10:13:27 +00:00
Nikolai Kosjar
76b6a36bb1 .gitignore: Add compile_commands.json
Change-Id: I7454c829525b9e7f8e91482b7a6257e67b628fe9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-26 09:54:34 +00:00
Nikolai Kosjar
3afb348439 Clang: Add cmake project for tidy/clazy demo code
...as it's easier to generate a compile_commands.json with it as with
qmake.

Change-Id: I415b4d1d3d6d1d55c4d086c6dbbbca532c2c8669
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-26 09:54:25 +00:00
Nikolai Kosjar
bf98bea4ad ClangTools: Sanitize parameter order
The path to the serialized diagnostics log is the main parameter, so put
it first.

Change-Id: I8865aad302b0e5d3008dab606ab774167cebda3c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-26 09:54:13 +00:00
hjk
3885807817 CPlusPlus: Modernize frontend generator
... and the generated code.

Change-Id: Ib04d98e9c16f7aae96575b3d0c4ee9f27651e138
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-26 09:53:20 +00:00
Leena Miettinen
28d1b6215c Doc: Update screenshots that display gradient picker
Because the icon has changed. Update some screenshots
on the affected pages for consistency.

Change-Id: Ib577be203f718f5b8ca9d5ad4e8c5dd9a3eac463
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-07-26 09:43:57 +00:00
The Qt Project
9ebe05fd4e Merge "Merge remote-tracking branch 'origin/4.10'" 2019-07-26 09:34:33 +00:00
hjk
7ab6783e24 Standardize on int for line and column values
Recently tons of warnings show up for presumably "problematic"
singned <-> unsigned and size conversions.

The Qt side uses 'int', and that's the biggest 'integration surface'
for us, so instead of establishing some internal boundary between
signed and unsigned areas, push that boundary out of creator core code,
and use 'int' everywhere.

Because it reduces friction further, also do it in libcplusplus.

Change-Id: I84f3b79852c8029713e7ea6f133ffb9ef7030a70
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-26 09:23:48 +00:00
Eike Ziller
3ab3e68a7b Merge remote-tracking branch 'origin/4.10'
Change-Id: I427280fdb207b878000697dfd37595ffdb26f4e7
2019-07-26 10:30:03 +02:00
Marc Mutz
2e556c96b6 QmlProfiler: avoid using Q_FOREACH over QVarLengthArray
The squeeze() function is called by clients for QVLA's, which means
it's copying 1-2KiB of data (depending on sizeof(value_type)) just
to iterate over a small part of it.

Use a C++11 ranged for loop.

Change-Id: I2c33ae0c5a3d9d941cd9e385fc6bbb4fb0fa3c2c
Reviewed-by: hjk <hjk@qt.io>
2019-07-25 14:40:11 +00:00
Cristian Adam
8ae9cfe39d CMake build: Add "Devel" package
The "Devel" package will contain headers, libraries, documentation
needed by the 3rd parties to build Qt Creator plugins.

Fixes: QTCREATORBUG-22514
Change-Id: If54929f823982b921b98a63ff6085d53618a3a49
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-25 14:06:46 +00:00
Tobias Hunger
eab0df22f9 CMake: Make fileapi not race against its own reply file detection
Fix broken logic to prevent CMake fileapi from detecting the change
its own cmake run triggered via file watching.

Remember the last file that was parsed and do not attempt to parse
this again. Remember the file on a per-project basis, too:-)

Change-Id: Ia6e155b65d77994f6e3d2a3677f770a4ba53539d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-07-25 13:32:21 +00:00
Tobias Hunger
ec92784778 CMake: Report absolute paths to executables in fileapi mode
Task-number: QTCREATORBUG-22610
Change-Id: Ib6abf1ce6d94abd9dc063f4f559f02f2d4ea8798
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-07-25 13:19:11 +00:00
Alessandro Portale
b89ad81293 WebAssembly: Initial commit
This change adds WebAssembly support in the shape of a plugin.

- Auto-detection of the emsdk toolchain
- Handling of "asmjs-unknown-emscripten" Abi
- Binary detection of WebAssembly libraries
- Auto-creation of a "WebAssembly runtime" device (with icon)
- Runconfiguration that launches the application via the "emrun"
  tool which spawns a local web server and runs the application on
  the chosen web browser.

Limitations:
- So far only tested on Windows/MinGW and Linux
- Not yet tested with Qt WebAssembly installation form the installer
  Only tested with self-built Qt and manually added kit
- The attempt to launch an application via emrun, while a previous
  application is still running, will fail. The reason is that the
  web servers spawned by emrun listen to the same default port but
  serve only the content of one application.
  Possible solutions: We could either spawn the different web servers
  with different ports, or we could use one single web server instance
  which serves the whole default project location (home directory).

Task-number: QTCREATORBUG-21068
Task-number: QTCREATORBUG-22249
Change-Id: I1a16fbe52382d45c37e9bc624a943a6ca475fa09
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-07-25 13:17:51 +00:00
Alessandro Portale
16a2241e7d Import wizards: Visually improve the selected state of icons
This change adds a thin gray outline to the cvs, git and qmake/generic
import wizard icons. In the selected state, they should now have a
better visual contrast.

Task-number: QTCREATORBUG-18936
Change-Id: I2a0f5dab74cdc5958f869a63756a4fc974ccad32
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2019-07-25 13:16:20 +00:00
Henning Gruendl
402ff933ad Add examples and QtProject to gitignore
* Add /share/qtcreator/examples/
   Building qtcreator together with qtquickdesigner plugin will copy
   some examples into this directory.
 * Add /share/qtcreator/qmldesigner/QtProject/
   Building qtcreator together with qtquickdesigner plugin will create
   some *.ini files in this directory.

Change-Id: I97a7791d3006e70992df7a19e9b171e2ac8a79ec
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-07-25 13:06:55 +00:00
Nikolai Kosjar
917cf59a8c ClangTools: Use Utils::FilePath in log reader
Change-Id: I3a16c2eb3ac26a0265ba24f2c6f2126c79c6c660
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-25 12:57:25 +00:00
Christian Kandeler
939df1c493 CmakeProjectManager: Fix warning about redundant std::move()
Change-Id: If456698d62c0bdcd51992d62510e07d00a4b3fdf
Reviewed-by: hjk <hjk@qt.io>
2019-07-25 12:45:11 +00:00
Tobias Hunger
d9cf17bbda CMake: Add locator filter to open CMake target definitions
Add a "cmo" filter to the locator that will open the CMake target
definition in the editor.

Note that this is based on the target data extracted from cmake. For
tealeaf-reader and server-mode this information is guessed based on
the targets source directory (plus CMakeLists.txt). These modes will
just open that file.

For fileapi the information is accurate and based on the backtrace
that comes with the target information. "cmo" will open the exact
file/line from the backtrace here.

Task-number: QTCREATORBUG-18553
Change-Id: I4ee0eb25d1d763bd0d8033e506bf85cb2bc1f2dc
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-07-25 12:22:05 +00:00
Nikolai Kosjar
f240a9a947 ClangTools: Add using for QList<Diagnostics>
Change-Id: Ie7978fc33386d083b786ad75b3b6700125b11fec
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-25 12:18:49 +00:00
Tobias Hunger
b06f235989 CMake: Report extra information of cmake in tooltip
Report version information as well as support for fileapi and
server-mode in a tooltip you get by hovering a cmake version in
Tools->Options->Kits->CMake.

Change-Id: I2c4070b0b26eb4a056925ac5e10774e93ad62c46
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-07-25 12:15:51 +00:00
Tobias Hunger
6790238d91 CMake: Do not warn when fileapi-enabled cmakes have no Codeblocks
Do not warn when fileapi-enabled cmake tools do not have the
Codeblocks extra-generator set in the Kit. This is only necessary
for the tealeaf-reader.

Change-Id: Id3aa9df2ec5aa8c2de8b0a5bef8c751e54d72b42
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-25 12:15:40 +00:00
Tobias Hunger
551d876db3 CMake: Fix fileApi detection
Fix fileApi detection: It returns a list of versions in -E capabilities
output, not just one version.

Change-Id: I94a59806f3c4577b01342cae6f05cdc8385131a8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-07-25 12:15:32 +00:00
Christian Stenger
5fea583481 Utils: Avoid compile issue with upcoming Qt
QStringList::join() can be ambigous when it gets passed
a '\0'. Avoid this ambiguity by explicitly casting its
parameter.

Change-Id: I65b33d7d59da90d78bfb86d146093338b31e7fd0
Reviewed-by: hjk <hjk@qt.io>
2019-07-25 12:06:21 +00:00
Christian Stenger
e8727fcae2 Squish: Clean up single (left) mouse clicks on items or objects
Do no more use pixels as offset if we can handle this without.
Clicking on items by using an (x, y) offset will likely fail if
running on a machine with a different DPI setting.

Change-Id: I0e5a4985104bd1d68aadf8c5534583fa1b048edb
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2019-07-25 12:06:05 +00:00
Nikolai Kosjar
7c3c76919f ClangTools: Remove unused members
Change-Id: I0f54705d93f9c12472afcb9587d55f6b9e3740a2
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-25 11:42:24 +00:00
Tobias Hunger
35bb768f4a CMake: Make CMakeParser work again
The CMakeParser used to set relative paths in the Tasks it creates.
Since is problematic: Task tries to match that relative file name to
one of the files that exist in the session.

At the time cmake runs only the top-level CMakeLists.txt file is known,
so this logic will map all the relative file paths to that file.

Make sure to write absolute file paths into tasks so that this mapping
is not attempted.

Change-Id: I4ab72df21f18d2eff27ca9a502d605e00df2ad85
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-25 09:13:39 +00:00
Tobias Hunger
12dea8f772 CMake: Store more information in CMakeTargetLocationFilter
Change-Id: I8bca4d6b591ccdf890c971e86e2e43dbf859eb44
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-25 09:12:58 +00:00
Christian Kandeler
ead8aea35b QmakeProjectManager: Preserve line endings
... when adding and removing files via the project tree.

Fixes: QTCREATORBUG-2196
Change-Id: Ie4ee3a244c9089953cf414d9777fc65b6a8b9689
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-07-25 08:34:10 +00:00
Eike Ziller
8e376ab340 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	src/plugins/baremetal/iarewtoolchain.cpp

Change-Id: I483e81d7e920e724fb7cde84a8f6fa9bce4cd518
2019-07-25 09:38:09 +02:00
Christian Stenger
d9e847150f BareMetal: Fix compile for gcc5.3
Change-Id: Ic52acd1e83c6055ab86c542fd116d3a1e2bf17f0
Reviewed-by: hjk <hjk@qt.io>
2019-07-25 07:21:44 +00:00
Andre Hartmann
a7bf0c0ea1 GenericProposalModel: Rename PrefixMatch to ProposalMatch
Change-Id: I70e583d489f27b2dad1b9ab874091e638bbaff1f
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-07-25 06:53:16 +00:00
hjk
404a4295ce Utils: Lump ConsoleProcess files together
... to reduce scope of conditionally compiled code which causes
regularly problems when forgetting about their special nature.

The code model isn't a big fan either.

Change-Id: I6a85b694b59a293daf4b9aab7c8e81c7ca284f0d
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-07-25 06:38:26 +00:00
Christian Kandeler
6a50abe34f Wizards: Remove "public slots:" segment from class template
Slots have become rather irrelevant with Qt5 and C++11. Let's not annoy
and/or confuse users by reserving a segment for them in our generated
classes.

Change-Id: Ied26bd627c87654ac26f6577387397f39367c0ee
Reviewed-by: hjk <hjk@qt.io>
2019-07-24 15:28:19 +00:00
Tobias Hunger
979b0463e8 CMake: Split up cmake's locator filter
Split up CMake's locator filter into a part that contains all
the logic to find targets and a part that handles the action.

This is so that the code used to search for targets can be reused
later.

Change-Id: Ife6c9fe6a6f1955bedaa1b9298630c052e17c33f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-24 14:58:13 +00:00
Tobias Hunger
efc89ff60d CMake: Rename CMakeLocatorFilter to CMakeTargetLocatorFilter
Make virtual function implementations final while touching the file.

Change-Id: I94c44ee3efbc9beb39789dd198ee607791a9a44d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-24 14:57:59 +00:00
Tobias Hunger
69b3d90683 CMake: Remember file location of CMake target definitions
Make fileapi remember where CMake targets were defined in the
CMakeBuildTarget struct. The other readers will just guess at
the location based on the source directory of the target.

Change-Id: Ia8fa226c548800992ccea64b1d5981d2f3013408
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-24 14:57:47 +00:00
Tobias Hunger
7c63c2fdc7 CMake: Remove unused member variable of CMakeProject
Also remove a stray comment that is no longer applicable.

Change-Id: I052f458f8cfdfb921249b3f3d7c33cccc2aef371
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-24 13:37:43 +00:00