Commit Graph

61529 Commits

Author SHA1 Message Date
Eike Ziller
942626d58f ClangSupport: Fix missing overrides
Change-Id: I84a4a83e00e4dbc79e5bb38b1c937add2488b890
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2019-08-28 08:06:55 +00:00
Eike Ziller
0efd65e07e Help: Add litehtml based viewer backend
For CMake add litehtml installation path to CMAKE_PREFIX_PATH
For qmake pass litehtml installation path via LITEHTML_INSTALL_DIR qmake
variable

Release build of litehtml is recommended.

The litehtml backend is used by default when available, you can force
QTextBrowser again with the environment variable
"QTC_HELPVIEWER_BACKEND=textbrowser".

Some things are not implemented yet:
- Text search
- Context menu
- Shift-drag to extend existing selection

Change-Id: I79f989e5fe2063de2e9832abbed19b24d7a1a1fe
Reviewed-by: hjk <hjk@qt.io>
2019-08-28 08:06:20 +00:00
Tobias Hunger
7855c9bb80 Revert "ProjectExplorer: Enable devices to register extra macro expander variables"
This reverts commit d763d70db9.

Reason for revert: I misunderstood how MacroExpander works, sorry.

Change-Id: Iff0fdb5fcc2a0e95be0b92fd2f9454894a98a738
Reviewed-by: hjk <hjk@qt.io>
2019-08-28 07:53:14 +00:00
Tobias Hunger
81c71fb261 QmlProjectManager: A bit of polish
Use QVector over QList, add some qAsConst, use ranged based for,
use algorithmns, do not repeatedly search an unsorted QStringList.

Change-Id: I1a97338f0cb0d26d2cc1c4b2802bbb1540b932bb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-28 07:44:48 +00:00
Tobias Hunger
a699a0c92e Project: Improve activeParseEnvironment
Not all Projects have build configurations. Handle those better.

Change-Id: I72e63798f034a2a497978a2844c4158dfd09ef0f
Reviewed-by: hjk <hjk@qt.io>
2019-08-28 07:28:34 +00:00
Tobias Hunger
3eea938a04 Project: Rename Project::activeBuildEnvironment to Project::activeParseEnvironment
This is used for parsing the project only, so reflect that in the name. Not all
projects have build configurations, so the old name did not make too much sense
for what this has been used for.

Eventually this code should move into the BuildSystem.

Change-Id: Iff766150b5fe370f2912b0b3b15348b1c1fad5b5
Reviewed-by: hjk <hjk@qt.io>
2019-08-28 07:28:18 +00:00
Tobias Hunger
d763d70db9 ProjectExplorer: Enable devices to register extra macro expander variables
Allow for devices to potentially register extra macro expander variables.

Special devices might want to expose more then the standard set, which is
now exported by IDevice.

Change-Id: Ie00f1bbb95c47c683a58f35d36914ca18a852aae
Reviewed-by: hjk <hjk@qt.io>
2019-08-28 07:28:09 +00:00
Eike Ziller
4ec804dc4a Fix CMake build
Change-Id: I2f70e902670f0d20370d08f86edf4a7706daa393
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-28 06:12:55 +00:00
BogDan Vatra
0bf51b9cd6 Android: Add Android 10
Change-Id: I72822b9411f95e868082cf2a5aec885bd809213a
Reviewed-by: hjk <hjk@qt.io>
2019-08-28 06:00:16 +00:00
Knud Dollereder
d17840ba92 Apply interpolation when restoring an animation-curve
+ Notify timeline when inserting a keyframe

Change-Id: I91548c4e45306e9a6c6490cc94b88080de3910ac
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-08-27 13:12:43 +00:00
Marco Bubke
a46da29125 ClangPchManager: Fix merge in ProjectPartsManager
We relied on the reserve function but this is a little bit brittle. So we
create now two container and merge them later. This can be sometimes
slower or even faster but anyway I think it does not matter.

Change-Id: I78dca39c84cc82de17c1efe0b202b6662734d56d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:54:17 +00:00
Marco Bubke
99e841d140 UnitTests: Add return value to mock function
Otherwise we try to get access a negative index. The real implementation
will never return a negative value, so the shouldn't the mock function.

Change-Id: I369e168bd18530b39fa5e2a622a716b30b8b344c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:54:06 +00:00
Marco Bubke
bcd9a3dfbd Clang: Fix iterator mismatch
Change-Id: I06ee458f870143e916425e131e41ae5b82a18ff8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:53:55 +00:00
Marco Bubke
9f805b7e8a ClangRefactoring: Improve follow symbol and usage
Change-Id: Idb42010443e4560489ef067e54d05b4e567598e9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:53:45 +00:00
Marco Bubke
c174eb378a Clang: Reduce database accesses
If we prefetch data from the database to the caches we reduce the database
transaction calls which are quite expensive.

Change-Id: I617a0d886807402e0a94291a913a77f989970b55
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:53:32 +00:00
Marco Bubke
04f8ff6404 CLang: Add ProjectPartNameId
It is needed later for project part id caching.

Change-Id: Id053197c030c98815acf38ba7e7cee9a6968a962
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:53:20 +00:00
Marco Bubke
d63eaa0c42 Clang: Make ProjectPartId StringCache friendly
Change-Id: I53fdeb87ac67ca2c2c7509bf725566298f3b2963
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:53:08 +00:00
Marco Bubke
e0ca44e7bc CLang: Improve locking in StringCache
If there is no mutex we can skip some calls.

Change-Id: I3f2cc2d8da142bab28ace496a59711346aa1b5a0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:52:56 +00:00
Marco Bubke
be7927b359 Clang: Move StringCacheEntry in extra file
Change-Id: I8ddd7194482ecf2d332e801d30aef5ed58ef4512
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:52:38 +00:00
Marco Bubke
80720fc08e Utils: Optimize StringView
Change-Id: I43bf93a0ef0cd30c51befaa0ce12caad87b04bff
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:52:21 +00:00
Marco Bubke
199746143a Clang: Bulk add project file paths to database
This project part container generation because there is not anymore one
single access to the database for every file path.

Change-Id: I5f82022262fe89a976729d48ee4f098b74a1e1d1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:52:09 +00:00
Marco Bubke
947cb9ed4e Clang: Improve file path cache
Change-Id: I940dc63c0fc95fbb826ed7d19a1ac1e4db5a542c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:51:56 +00:00
Marco Bubke
d9b7092a87 Clang: Use no mutex in copyable file path cache
We use it in worker threads and there should be no access from different
threads.

Change-Id: I62874761221c45f88ce4d7cfda4fbda4bc446cac
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:51:39 +00:00
Marco Bubke
f9fb4508d4 Clang: Optimize file path cache
We now fetch all directories and sources from the database at file
path cache creation.

Change-Id: I92510b49a234128f4c82b840611db82ead3f1a54
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:51:28 +00:00
Marco Bubke
912b4763e0 ClangPchManager: Optimize difference computing
Don't create temporary containers.

Change-Id: I28e8999c3443a20c8ef6da3a048ec90fbb99a3c3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:51:17 +00:00
Marco Bubke
d610cf3793 Clang: Sort file path ids
We will move that code to an other place where we will implement the tests
for the sorting.

Change-Id: Ia6e868466e2c43acdc0f5a8ed73b32cfc24613c1
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:51:06 +00:00
Marco Bubke
4280a68d9f ClangPchManager: Watch unchanged PCHs
Change-Id: I7f4c0f12e4fbf3714e5bfe7655cfa13cac85f71f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:50:52 +00:00
Marco Bubke
56d611e0a3 ClangPchManager: Update PCHs if time stamps of dependencies changed
If there is a newer file than the last indexing or if a file is added or
removed from the project or system PCH we have to reindex the project and
maybe the system PCH.

Change-Id: Ibce2a244190a79b5c422c469c065ddc11e44b2cb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:50:39 +00:00
Marco Bubke
f1be7793c4 ClangPchManager: Expose more internals from BuildDependenciesProvider
We will need it later.

Change-Id: Ic2c85780bf965be8e4c8603fed365d806576fdc6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:50:26 +00:00
Marco Bubke
d086bbdc9a ClangPchManager: Fix transactions in precompiled header storage
Change-Id: Ia0333ef7110c97a42d73c70c33157849323fb34d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:50:15 +00:00
Marco Bubke
578b70e998 Clang: Add fetchTimeStamps to PrecompiledHeaderStorage
Change-Id: I75552a971fbc39a81e14e3b9ec0c5125d3858025
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:50:02 +00:00
Marco Bubke
0fe6811acd ClangPchManager: Use TimeStamp instead of long long
Change-Id: If8a429238d31492506c68bb523ceeb4bacad157e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:49:48 +00:00
Marco Bubke
1e703a6901 ClangRefactoring: Remove file status collection
It is not needed anymore. If we need it again we can reintroduce it.

Change-Id: If8897ddb404daaf52b249ddd3763deb685c35fe5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:49:31 +00:00
Marco Bubke
cc78969bdb Clang: Improve updating of PCHs
Instead of deleting the path and time stamp of the project PCH we always
set the time stamp but delete only the path if PCH creation failed. A
failed PCH will be no rebuilt if the files changed. We have to add that
feature later.

Change-Id: I1094271f9ead5d906e94b68ac91c0becd2371ca9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:49:16 +00:00
Marco Bubke
2ae4c35a65 ClangPchManager: Set the time stamp to -1 if a file changed
Change-Id: I2919201b5c9dc67a2d212d7bf2fb433def8be891
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:49:03 +00:00
Marco Bubke
cdda564946 Clang: Set indexing time stamp by dependent sources
Instead of using the time stamp from clang we simply set one time stamp
for all dependent sources.

Change-Id: I0adbe59d46c88ddd1ac491a7f7db568bcf2ac540
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:48:54 +00:00
Marco Bubke
ac22760043 ClangPchManager: Return always a null entry if there is no file status
It's done by a left join which is creation null entries for missing
right join values.

Change-Id: I61715791d454546834ad3dcfc4c4bee92c31b0e5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:48:45 +00:00
Marco Bubke
e23ec051cd ClangPchManager: Take argument by reference
Change-Id: I7a6ee30497d7542feab7ea78d1f90123b3f3aef0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:48:33 +00:00
Marco Bubke
2fd72ed9d9 Clang: Remove reset from ModifiedTimeChecker
Change-Id: I8eb7258e929ad851310b3dfae818152eed88960e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:48:12 +00:00
Marco Bubke
c9f5a9d410 Clang: Return zero as time stamp if file does not exists
Change-Id: I738abd4c5c12a1f63dd8ddae7f8bbba468d5855a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:48:00 +00:00
Marco Bubke
4e5e4899d5 Clang: Improve modified timer checker
Make the algorithm a little bit more clear.

Change-Id: I71b04cdd947272edf9fade8f93b7300a945a2fc8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:47:49 +00:00
Marco Bubke
8c1b803fad Clang: Return source ids in order
We expect them always in order.

Change-Id: I837d4dd2d015d32cea4ffcd3ae28f3f18d3e21ad
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:47:40 +00:00
Marco Bubke
eadd37572a Clang: Move transactions to storage
We call the function anyway only isolated from other queries, so we can
move the transaction guards to the project storage.

Change-Id: I7cca26b25c2258856c68821671085c0a68044693
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-27 11:47:29 +00:00
hjk
19580ab203 ProjectExplorer: Less use of stored RunConfiguration in RunControl
Change-Id: I501433dcbc3d40c6439f5ab003e06f5a72b9d83e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-27 10:44:49 +00:00
Christian Kandeler
69b4e2a118 CompilationDb: Properly set up build info
Avoids e.g. soft asserts in TargetSetupWidget.

Change-Id: I9640ada5d2d015c25c04ddfa2a2443b7444788db
Reviewed-by: hjk <hjk@qt.io>
2019-08-27 10:21:52 +00:00
hjk
989b8a9e6d Android: Rename a 'profiler' to 'worker'
Also used for the preview runner.

Change-Id: I3f8ba0890bc36799bddcf1137bd98a2b6d851382
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-08-27 08:34:59 +00:00
Nikolai Kosjar
0979a58689 ClangTools: Extract filtering in readSerializedDiagnostics()
Change-Id: I07a4339af72d1e232eb7fe152a6af133a6a94436
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-08-27 08:27:09 +00:00
Nikolai Kosjar
c4889e9904 Clang: Extract Utils::utf8AdvanceCodePoint
Change-Id: I922c7b0f2f0e0d50f34035e9affef4504df59892
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-08-27 08:26:45 +00:00
Leander Schulten
75a065d3d1 DoxygenGenerator: Ignore Q_INVOKABLE in front of function declarations
Otherwise the doxygen generation will not work.

Fixes: QTCREATORBUG-12411
Change-Id: I3e887dfeb5caba727da6e56a056c092c5a2e23f9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-08-27 08:13:35 +00:00
Henning Gruendl
1d319876c8 QmlDesigner: Fix editable ComboBox focus issue
This patch fixes an issue were a temporary value wasn't properly
written to the backend, when another item was selected in the form
view.

 * Add a dirty flag to track user modifications
 * Utilize onEditingFinished and onTextEdited from internal TextInput
 * Add full qualification to a few property and function usages

Change-Id: I9afcc17018a03549504b8d38b83fac221145794e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-08-27 08:11:11 +00:00