Commit Graph

61421 Commits

Author SHA1 Message Date
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
Henning Gruendl
e5bfbbd1fc QmlDesigner: Fix SpinBox 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: Ib595d32bbc7f4caf92fbef5829aead50958fd830
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-08-27 08:10:35 +00:00
hjk
3844f59806 ProjectExplorer: Standardize RunWorker creation logic
This unifies the remaining paths of RunWorker creation to always
use RunWorkerFactories in the plugin pimpls.

There were, and are, still effectively three basic kinds of workers:
 - "toplevel" tools corresponding to the run modes, that are often all
    that's used for local runs and directly started via the fat buttons
    or e.g. entries in the analyze menu, with factories already previously
    located in the plugin pimpls
 -  core "tool helpers", providing tool specific functionality typically
    used in conjunction with a remote device specific run mechanism,
    set up via RunControl::registerWorkerCreator
 -  target/device specific runhelper like port gatherers contructed e.g.
    via *Device::workerCreator(Core::Id id)

Worse, these categories are partially overlapping, so it was not
clear how a "clean" setup would look like, instead some ad-hoc cobbling
"to make it work" happened.

In some cases, the runMode id was used throughout the whole ensemble
of run workers for a given run, and which worker exactly was created
depended on which of the mechanism above was used in which order.

With the new central setup, the top-level runmodes remain, but the
second kind gets new ids, so the implicit dependencies on order
of setup mechanism are avoided.

This also helps in the cases where there was previously unclarity of where
and how to set up worker factories: It's always and only the plugin
pimpl now.

Change-Id: Icd9a08e2d53e19abe8b21fe546f469fae353a69f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-08-27 07:54:45 +00:00
Eike Ziller
38feea7e25 Merge remote-tracking branch 'origin/4.10'
Change-Id: Idfe86eb91c7a9a16f15d528a2a03beecca1cb208
2019-08-27 09:47:14 +02:00
Nikolai Kosjar
835477b52f Deploy clang-tidy binary for the ClangTools plugin
Change-Id: I4491c985cdcb93ca94be491d1acb9d960f96a190
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-27 06:42:38 +00:00
Dmitry Nuzhdin
309e345818 Debugger: Fix mapping std::set in Locals window via gdb
Currently QtCreator incorrectly shows content of a std::set.
For example set {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
is shown as {0, 1, 2, 1, 2, 1, 2, 1, 2}.

Change-Id: Idaff66451827657ef129aa3d27895c43938e6fdc
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
2019-08-26 16:11:23 +00:00
Christian Kandeler
dcea77f2dd ProjectExplorer: Update build directories in target setup page
... on a kit update.
Our default build directory template references the kit name, so changes
to the name should update the default value.

Fixes: QTCREATORBUG-19453
Change-Id: Iffbdd95043be5137696e5af021d4735f494d47d7
Reviewed-by: hjk <hjk@qt.io>
2019-08-26 16:02:26 +00:00
Thomas Hartmann
8751d0c7d9 QmlDesigner: Resize Loader
Task-number: QDS-745
Change-Id: Idf126f5ed00cce74921a320d9bf17ef620ccd511
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-08-26 14:30:50 +00:00
Knud Dollereder
00b29fd90d Improve update behavior
- Suppress reflections
- Keep selection when updating the model

Change-Id: I0e165f0019c8c24802193f3a59902876d4cb5060
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-08-26 14:13:21 +00:00