Commit Graph

2583 Commits

Author SHA1 Message Date
hjk
e23664cc42 TextEditor: Privatize BaseHoverHandler::decorateToolTip()
Never overridden, and does not look safe to invoke more than once.

Change-Id: If5f3830f3fbf26badb6335443defd628c05cf65a
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-07-24 06:50:34 +00:00
hjk
251287f0d3 Avoid warning on empty expressions
For some reason, Q_UNUSED includes already a semicolon, adding one
on the user side creates an additional empty statement.

Change-Id: I9c5e8fac381345a60792cb75e2938fd53958d3b0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-23 11:55:59 +00:00
Nikolai Kosjar
2778a5adab CppTools: Fix updating pending queue in CppLocatorData
Fix that the invocations

  CppLocatorData::onDocumentUpdated(Document{"bla.cpp", revision=5}),
  CppLocatorData::onDocumentUpdated(Document{"bla.cpp", revision=3}),

would add two entries in m_pendingDocuments. The document from the
latter invocation should be ignored due to its outdated revision.

Change-Id: I5e9eb4de77f59633d5525d808bd60ca1259f894d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-16 14:02:59 +00:00
Tim Jenssen
333b33edbe Merge remote-tracking branch 'origin/4.10'
Change-Id: Iaf27911e4e9fb762c1a24c84c458462bafe95728
2019-07-12 15:53:56 +02:00
Christian Kandeler
f7520b7d99 Make the project managers tell the code model about include paths
... from the environment.

Fixes: QTCREATORBUG-17985
Change-Id: I9b54e550121cfcc0684a6e173337d59d235c6107
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-12 09:13:42 +00:00
Nikolai Kosjar
51cd2885ef CppTools: Allow enabling debugging of locator filter tests by environment
Change-Id: I9786b7c6959b77eebb1bc774d2e7bd4c8ed3edeb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-11 14:02:21 +00:00
Joel Smith
8c437362bc C++: Support single quote digit separator in integer literals
C++14 supports the use of single quotes inserted between integer digits
as a separator.  Updates the built-in C++ code model to recognize such
quotes.  This fixes highlighting and indentation issues.

Change-Id: Ic35ce93060b96700a11d108dce1f3cf6c4543632
Fixes: QTCREATORBUG-14939
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-09 08:59:23 +00:00
Nikolai Kosjar
69d8b7f739 Clang: Fix tidy checks
generateClangTidyChecks.py generated funny output as it was not
considering new major categories.

Fixes: QTCREATORBUG-22450
Change-Id: Ibd6d0cc7539c9fb846caacbe936770d0c960f04f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-09 06:54:23 +00:00
hjk
9703f2e948 CppTools: Avoid some deprecation warnings
Change-Id: I0726bbcf9fd3992312e5980bd176ce85903f27a9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-07-05 12:32:33 +00:00
Tim Jenssen
1df6443d4a Merge remote-tracking branch 'origin/4.10'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/libs/utils/synchronousprocess.cpp
	src/plugins/baremetal/iarewtoolchain.cpp
	src/plugins/cmakeprojectmanager/cmakeproject.cpp
	tests/unit/unittest/CMakeLists.txt

Change-Id: I124ad492df403286751e175d27fe36487ddf6d07
2019-07-04 15:17:55 +02:00
hjk
6a58666f44 More Utils::toSet/toList
... and unrelated cosmetic changes.

Change-Id: I591b17fd5289831e701b683f8fb47816efd1fa67
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-04 12:28:38 +00:00
hjk
b9d6721be8 ProjectExplorer: Reduce ProjectExplorer::configureAsExampleProject()
... to the bits that are actually used.

Change-Id: I39a6ed1f4136d75b776bb89eec6165479097a4ec
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-01 10:05:19 +00:00
Eike Ziller
10098b2508 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	CMakeLists.txt
	tests/unit/unittest/unittest.pro

Change-Id: I64296ad31502d9b35012da129a28e9277e9fcf8e
2019-06-28 12:50:03 +02:00
Nikolai Kosjar
c54ef80a4e CppTools: Ignore -f[no-]keep-inline-dllexport
Fixes: QTCREATORBUG-22452
Change-Id: Ic17e6331e92f23c31f4f7319257f2d09c66af8a4
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-06-26 06:37:18 +00:00
Nikolai Kosjar
e9e8852f50 CppTools: Handle not only "-std=X" but also "--std=X"
Fixes: QTCREATORBUG-22444
Change-Id: Iedb0b17a26724d0cc8233a3bad273f3e6bd7462d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-06-25 12:29:07 +00:00
Eike Ziller
5455234308 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	src/libs/utils/consoleprocess.h

Change-Id: I771630cb4dc60a9e87e9d30d6295040c27348d8c
2019-06-20 11:03:05 +02:00
Cristian Adam
60c2aae023 qtcreator: Set thread pool stack size to 2MiB
Visual C++ sets 1MiB as stack size, macOSX has 512KiB.
Both crash with a specified project.

MinGW sets 2MiB as stack size, the specified project loads
just fine.

Fixes: QTCREATORBUG-22496
Change-Id: I6f19e74a681977e4fe1dceee292ea9c838999a1a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-06-19 14:38:49 +00:00
Nikolai Kosjar
c22e9cea13 CppTools: Stop printing "Skipping file X"
We already put it into "General Messages".

Change-Id: I9756fbe5c5f641cd83ab39c8ef0fff83ad63a85d
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-06-19 08:33:48 +00:00
Eike Ziller
917636b88b Merge remote-tracking branch 'origin/4.10'
Conflicts:
        src/libs/utils/consoleprocess.h
        src/libs/utils/consoleprocess_unix.cpp
        src/libs/utils/consoleprocess_win.cpp
        src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp
        src/tools/clangrefactoringbackend/source/symbolscollector.cpp
        tests/unit/mockup/projectexplorer/project.h

Change-Id: I8d10f26b9bcb54829ba31cdc2272885691df1e16
2019-06-18 12:30:55 +02:00
Eike Ziller
b02f4ae615 Merge remote-tracking branch 'origin/4.9' into 4.10
Change-Id: I6f1bc9381dc8c0ce8abc5a6c006087076d8fc1bc
2019-06-18 11:48:32 +02:00
Eike Ziller
a2cfa43468 Fix expansion of %DATE% in license template
If the format contains '/', that must be escaped to avoid the expander
to interpret that as regexp style replacement.

Task-number: QTCREATORBUG-22440
Change-Id: Iaa6c0ae0aa74a055a30b3c0413e325c497f9310f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-06-18 09:45:06 +00:00
Tobias Hunger
6796a5edcd Extract heuristics to detect framework paths from CppRawProjectPart
Move the code into a separate function of CppRawProjectPart so that
it can be used by the project managers to do the framework detection
magic as well.

Change-Id: I80b9fdadb25005c7e089cb45429c91dd8549eecc
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-06-14 09:29:19 +00:00
Nikolai Kosjar
e32fcbfbd1 CppTools: Add logging to built-in indexer
This might help to identify problematic files.

Change-Id: I76848e6ca12a654c8426cf0d73b50612273d48c3
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-06-11 10:56:17 +00:00
Cristian Adam
f50859e856 CMake build: Add unittest CMake build files
On MinGW 8.1 I get the following after running ctest -j 40

99% tests passed, 35 tests failed out of 2631

Change-Id: I2c3ce7940b036e52ef393feab5837886355e7b5a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-05-29 13:46:25 +00:00
Alessandro Portale
0933c20de8 connect() to ambiguous signals/slots: Replace static_cast with QOverload
Change-Id: I473d7a2a16509cee944a2a21b022a3f6f02cfd8d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-28 14:07:03 +00:00
hjk
473a741c9f Utils: Rename FileName to FilePath
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.

Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-28 12:23:26 +00:00
hjk
19e1cf1520 Replace uses of qVariantFromValue with QVariant::fromValue
Deprecated in Qt 5.14, alternative has been around since Qt 4 at least.

Change-Id: I4e3a53c289088368609e0d0ce2405a832d311308
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-05-27 12:33:29 +00:00
Eike Ziller
6fb9bf453f CMake build: Add ability to disable building of individual plugins
Adds a cache entry "BUILD_PLUGIN_${NAME}", defaulting to ON which
can be set to OFF to disable building of a plugin.

Adds a extend_qtc_plugin function that should be used to add
properties to a plugin after add_qtc_plugin, instead of the
standard CMake functions target_... . The new function results
in a no-op if the plugin was disabled.

Change-Id: I57f6799620aea0aaa8b56acead4815ccced95911
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-05-23 11:13:21 +00:00
Nikolai Kosjar
975173af11 CodeAssist: Ensure perfect match for keywords
...as otherwise the completion windows stays open and gets in the way.

Fixes: QTCREATORBUG-21767
Change-Id: Ib0a841b9d9de52109439f067c466478744361814
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-05-23 08:08:30 +00:00
Christian Stenger
1433a83805 CppTools: Fix build for old compiler
Change-Id: Ia245e9867c4fffe256b0da5708542c88d73ae069
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-05-22 05:03:36 +00:00
Nikolai Kosjar
f7b3e0a6c2 CppTools: Show more project part details in inspector dialog
Change-Id: Ic7c94c9cd83f73cad0603ceb75836fa21768a649
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-05-21 09:19:05 +00:00
hjk
535f0da977 Utils: Make FileName::shortNativePath a member
Change-Id: If1ab02ae9dc7efb97792cdf3bbdce3bba18b3e3d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-05-20 13:07:38 +00:00
Cristian Adam
d855b84c5d Qt Creator CMake port
Based on Tobias Hunger's work from a few months ago.

The CMake configuration needs libclang and Qt paths specified as
CMAKE_PREFIX_PATH.

Auto tests are run with "ctest". At the moment the pass rate is 87%.

Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-05-17 13:33:28 +00:00
hjk
f4c9e5e5c4 More FileName::appendPath() -> .pathAppended()
Change-Id: I403d34e4f52f758339c158efc7a11fd329e3e043
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-05-17 11:55:04 +00:00
Nikolai Kosjar
e3def98c00 CppTools: Ensure that parse contexts are backed up by a toolchain
Otherwise empty parse contexts (e.g. not having any include paths...)
will be created that are not useful.

Fixes: QTCREATORBUG-22421
Change-Id: I5c9172aee38503d8b48762416e17e7047679bf2e
Reviewed-by: Cristian Adam <cristian.adam@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-09 14:23:40 +00:00
Eike Ziller
e0d38ae414 Export Wizard values to JavaScript macro
Registers a new function "value('name')", available to the wizard json
files, which returns the value of the variable "name" as a JavaScript
object. So, variables with a string value are actual JavaScript strings,
booleans are booleans, lists are lists, and dictionaries are
dictionaries.

The patch also makes it actually possible to assign JSON lists and
dictionaries to values.

This removes some hacks involving creating complex JavaScript objects
through string substitution.

Change-Id: I4ac6da22bc5bccc9fadee97694c2fa14d44c9307
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-09 11:19:43 +00:00
Ivan Donchevskii
cc9d246b02 CompilationDatabase: Asjust the sysroot and target handling
If the sysroot option is found - set it as a kit sysroot (only
in CompilationDatabase project where we have a cloned kit
which does not affect the other existing kits).
In other cases use the backup for the sysroot from the
toolchain (can exist for clang toolchains based on mingw).

Provide target when searching builtin include paths for clang.

Fixes: QTCREATORBUG-22339
Change-Id: Ibe07c2e490ba4f7e0d259e6df698d641dbfd0298
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-04-30 18:00:17 +00:00
Christian Kandeler
24263717f3 Make QtWidgets wizard work with namespaced Qt
Fixes: QTCREATORBUG-19590
Change-Id: Ic003b2b1f580d9a6708e144b690c4cee8d94ff69
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-04-30 10:50:10 +00:00
Christian Kandeler
dfeb024583 C++: Do not apply "Lower-case file names" setting to file wizards
This setting is intended to derive file names from class names. It is
not relevant if the user explicitly provides a file name.

Fixes: QTCREATORBUG-14711
Change-Id: Ic31f8727220d99692286adf9ad0434ce06aa7c62
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-04-25 08:46:51 +00:00
Marco Bubke
5ab057746c CppTools: Add pre system include search path per project
Sometimes you want add a pre system include search path per project to
overload some system header for indexing. This can then even be checked in
the repository.

Change-Id: Ib103e5935d0553aa94522ed736f8c4eb2405a093
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-04-23 09:08:33 +00:00
Ivan Donchevskii
53c407bc0c Clang: Fix build with clang-8
Clang-Tidy checks and Clazy flags updated.
CLANG-UPGRADE-CHECK done.

Change-Id: I1ca585c5c3c77a7f183719df9c262603150914e8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-04-17 12:13:36 +00:00
Marco Bubke
a78655e521 Fix Utils::LanguageVersion::None handling
Change-Id: Id0d8bd59c1a317103ea309ee2f9b982ecfd6d6c7
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-04-04 09:12:50 +00:00
Marco Bubke
56b01f7463 Clang: Minimize reindexing
We optimal indexer is only reindexing if the index would be changed. This
patch is a step in that direction. We only reindex now if the file or
project has changed. It fixes some typos too.

Task-number: QTCREATORBUG-21150
Change-Id: I6ea1c13282fbcd70253b9b2939aed37580dbd160
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-04-02 13:08:44 +00:00
hjk
4f3f73bc3b Utils: Rename one of the FileName::fromString overloads
Overloaded functions are ugly to use in algorithms like transform().

Change-Id: Ia4f191e1cd9a21ceb99dec23a8f4fd1ce5f24182
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-03-19 09:05:47 +00:00
Eike Ziller
c53ccceff1 Merge remote-tracking branch 'origin/4.9'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/debugger/debuggerkitinformation.cpp
	src/plugins/languageclient/languageclientmanager.cpp
	src/plugins/plugins.pro
	src/plugins/projectexplorer/kit.cpp
	src/plugins/projectexplorer/kitmanager.cpp

Change-Id: I66fb941202991f35f7d7761430b21e42dfc678a8
2019-03-14 15:51:15 +01:00
Ivan Donchevskii
a0072afd49 Clang: Improve compilation database generation
Do not use CompilerOptionsBuilder anymore because we don't
need much tweaking for projectPart data and can do it better
specifically for the generator.

Fixes: QTCREATORBUG-21936
Change-Id: I00ad872c703598a9a88af29399b428520dd5cb3b
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-03-13 13:17:05 +00:00
Ivan Donchevskii
d9703158ee Clang: Fix language version detection with PCH-s in CMake enabled
Filter out the PCH flags when detecting macros and language version.

Fixes: QTCREATORBUG-21860
Change-Id: I25c63f1409c16db3623d1c8f43ffd5d2bd0f6748
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-03-11 11:33:06 +00:00
Robert Loehning
90bc1c91da Fix quotation marks
Change-Id: I26bd4b9e965a5313569b6e0ef6f606da57b31bff
Reviewed-by: Filip Bucek <fbucek@atlas.cz>
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-03-05 09:40:54 +00:00
Robert Loehning
118406346e Clang: Fix plurals
Change-Id: I150b9ccdec73ade8826b90036b59332687b84448
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2019-03-05 09:40:03 +00:00
Eike Ziller
0619de8681 Merge remote-tracking branch 'origin/4.9'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/tools/clangpchmanagerbackend/source/taskscheduler.h

Change-Id: I518adaf647df412887c2a372416634359f09ad2a
2019-03-05 10:22:45 +01:00