Commit Graph

67787 Commits

Author SHA1 Message Date
Marco Bubke
1cf09e5979 QmlDesigner: Compress generator tasks
A document change can generate new image request and if the are not in the
database new task for the collector are generated. But if there are already
tasks for an equal id they would generated twice. So the tasks are now
merged. The auxilialry data is not merged because it is expected that
it is not changing.

Task-number: QDS-3388
Change-Id: Id1aceb564dd9dc7c5a1ea5ae4680d7ee36611cda
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-01 16:06:13 +00:00
Marco Bubke
eb614457ee QmlDesigner: Do only clean image cache if the target changed
Task-number: QDS-3388
Change-Id: I159f70b2bc2f874203392befea566e4c52de7347
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-01 16:06:09 +00:00
Leena Miettinen
460f1d3ecd Doc: Describe Debugging Helper Customization field
We have several user questions and bug reports about
SIGSTOP preventing users from debugging, so use SIGSTOP
signal handling as an example.

Task-number: QTCREATORBUG-24500
Change-Id: I2243d45ef4f5354a15712567882861053d3d6a7a
Reviewed-by: hjk <hjk@qt.io>
2021-02-01 15:28:50 +00:00
Jarek Kobus
27334cbe6d Compile fix in case of when HELP_NEW_FILTER_ENGINE is undefined
Amends 8d06e66c49

Change-Id: Ia7a81ed754c9f5cad9d9d51a89b9e1e1a7eddd03
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-02-01 13:05:15 +00:00
Jarek Kobus
d3ffbea8a0 Remove unused icon field
Change-Id: I63069ef2ef5af46009fb10a346c428604818016f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-02-01 12:11:54 +00:00
Eike Ziller
59003d4123 iOS: Do not restrict deploy step to qmake
It doesn't use any information from the qmake project manager, and works
for e.g. CMake as well.

Change-Id: If8348de45b9d5d2ce104ad6004c890508694db9d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-02-01 12:08:44 +00:00
Eike Ziller
495889cb8f iOS: Provide more information when things go wrong with the Simulator
Error messages tend to be posted on stderr, so read all output in
addition to stdout-only, and provide that for error message.

Change-Id: I5f7f38ba1db13ab37cb7a752b4b73c9a9779a57c
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2021-02-01 12:08:25 +00:00
Eike Ziller
3a294f670d iOS/CMake: Pass correct bundle name
Task-number: QTCREATORBUG-23574
Change-Id: Ifb4b6d25a8542796af92c0d35523acd104daf2aa
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-02-01 12:08:14 +00:00
Vikas Pachdha
d3b5e373b8 AssetExport: Add typeId and typeName to component instances
typdId is required to identify the instance's component while
generating PSDs

Task-number: QDS-2811
Change-Id: I61e0fe977e252c9c2aaeacd425b057c92a7c5b49
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-01 10:41:22 +00:00
Jarek Kobus
8d06e66c49 HelpIndexFilter: use atomic_bool for the m_needsUpdate field
This will simplify the code, no need for mutex anymore.

Change-Id: I85e0cad7ed3b3288ae1eec03f7504590293c4ea5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-02-01 10:35:58 +00:00
Miikka Heikkinen
384cc3c022 QmlDesigner: Refactor font collector
Fixes: QDS-3643
Change-Id: Iacc26eb0d0cbaad9d9242b548588f3afa3eba2ac
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-01 09:07:12 +00:00
Miikka Heikkinen
5b582e042b QmlDesigner: Improve HDR image support
HDR images imported to the project are now shown on asset tab, though
they will only have the system default icon as Qt 2D rendering doesn't
support HDR images.

HDR images can also now be dragged into navigator, behaving like other
images when dragged into 3D elements that support them, or creating
a new Texture item if dragged elsewhere.

Task-number: QDS-2128
Change-Id: I16a23e93a2a51d65a2278400d3c6c6ffd3b62615
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-02-01 09:06:23 +00:00
Tim Jenssen
368864a0af qmldesigner: fix invalid target.id() call
Task-number: QDS-3333
Change-Id: Id63a376e3d483c41a979b5d776a1f1cfc6c30682
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-01 08:45:38 +00:00
Björn Schäpers
d9cd74f06d Texteditor: Add ability to get margin from indenter
And implement it in the clang-format plugin to use the ColumnLimit from
the style. This would be quite useful if you're working on different
projects with a different ColumnLimit. This way you get an visual
representation and do not only have to rely on clang-format.

Change-Id: Ib0258e3fba6f45f0f46ce612f806527a47868ad9
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-29 17:03:07 +00:00
Jarek Kobus
069efa9483 CommandLocator: move some part of the matching code into prepareSearch
We can't call neither Command::isActive() nor QAction->isEnabled()
from inside matchesFor(), as this function is called from non-gui
thread and it may happen, that the gui thread modifies these data
at the same time. Instead we prepare the needed data inside
prepareSearch().

Change-Id: Ie9ddb8eb7df2c39e968ef117caf3ef1d04ed6a80
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-29 16:19:56 +00:00
Jarek Kobus
be1d33299e Use invokeMethod instead of single shot timer with 0 timeout
Refactor it in coreplugin.

Change-Id: I6aaad1b9270a8ff8a4a0bea6a1fff806b2fe190b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-29 15:24:41 +00:00
Jarek Kobus
9c646d55cd Move the BookmarkFilter's matching into the main thread
We can't operate directly on the BookmarkManager and Bookmark instances
in the other thread, as they may be freely modified in the gui
thread in the same time. Since it's uncommon to have
hundreds of bookmarks set, we prepare all the needed data in the
main thread instead, which shouldn't slow down the locator
significantly.

Change-Id: I9df0a8425694632c40138fbe3667499f7fc03432
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-29 15:20:36 +00:00
Jarek Kobus
64fc8a1fb6 DocumentLocatorFilter: protect with mutex a check for symbol cache
The value of m_symbolCache may change at any time in gui thread
inside a call to updateCurrentClient().

Change-Id: I6aad37281ce8ec08f7b0ea5b2143e28dee507f72
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-29 15:20:09 +00:00
Jarek Kobus
13f4519ed4 FileSystemFilter: store the value of includeHidden in prepareSearch()
Since we don't guarantee the synchronization between a call
to openConfigDialog() and matchesFor(), it may happen that
these two methods are called simultaneously by two different
threads. In theory, the value of m_includeHidden may be changed
in gui thread by a call to openConfigDialog(), while at the same
time it may be read in other thread, inside matchesFor().
As a safe solution we make a copy of this value inside prepareSearch()
and use the copy later in matchesFor().

Change-Id: I83fb184ff1914e4c02ee799464ff0d89350ab49c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-29 15:19:47 +00:00
Jarek Kobus
e4a57d8de7 JavaScriptFilter: use atomic_bool for the m_aborted
Change-Id: I8cc268401205ea77e83657b412bdc42dff5b2963
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-29 15:19:26 +00:00
Eike Ziller
c245a642f2 Share "auto-detected" UI string and add tool tip
No need to have the same translatable string repeated at all these
places.
Also add tooltip to expand a bit on what "auto-detected" actually means.

Task-number: QTCREATORBUG-25291
Change-Id: I25d43486758ba17256cf7e1ea2eea0ec3d567b62
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-01-29 15:04:05 +00:00
Christian Kandeler
aae3ce15aa CplusPlus: Fix minimal name construction
... when using declarations are involved.
Second attempt.
I have a suspicion that this is not the "correct" approach, however:
    a) It appears to fix the problem.
    b) It does not break any tests.
    c) It's rather high in the call tree, so there's a low likelihood
       of breaking something else.
    d) Considering the hacky-looking pre-existing code dealing with
       using declarations (e.g. LookupContext::lookupByUsing()),
       it seems quite possible that there is no "correct" way with
       the current infrastructure.

Fixes: QTCREATORBUG-14524
Change-Id: I28c6e53137c21ce158bbd03b92b3db39146116d5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-29 14:21:46 +00:00
David Schulz
fa260e00ed LanguageClient: cleanup languageclientmanager
- sort includes
 - fix clazy and clang-tidy warnings
 - remove unused function
 - adjust naming ('interface' -> 'client')

Change-Id: I12ada223a7a04796f0e6ac992cedf83aefe2ecc0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-29 13:48:25 +00:00
Christian Kandeler
ff70b8a9fd SSH: Do not manage unshared connections
Unshared connections are not re-usable, so our whole book-keeping
procedure is not needed for them.

Change-Id: I1b6ca3d1658d139b6687425cf32f821548dddade
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-29 13:15:44 +00:00
Miikka Heikkinen
08a9b2a26f QmlDesigner: Fix navigator preview image for Image components
If there is no source property set for a node of Image based component,
fall back to component rendering to get the default image.

Fixes: QDS-3669
Change-Id: I44c14c996f0b3f61c82963fb5fc79577748bd33e
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-01-29 12:28:55 +00:00
Miikka Heikkinen
49c8ccbe87 QmlProjectManager: Show .hdr images in projects view
Task-number: QDS-2128
Change-Id: Ib95eb63618c198db51dd51edbe9272f734cdb0e2
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-01-29 11:59:04 +00:00
Leena Miettinen
6553df4a20 Doc: Display info about using Qt Creator variables in QDS Manual
They are needed for some more advanced actions.

- Move the section to a .qdocinc file that is included as
  necessary and modify defines where needed.
- Describe using tooltips to get more info about variables.
- Add a screenshot.

Change-Id: Ieb03ccf7de5f0c493c98ae356cdda4b4d3915832
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-01-29 11:38:55 +00:00
David Schulz
9759f9e169 LanguageClient: check current instead of page settings
It does not make sense to check the not applied settings of the
settings page when a document gets opened.

Change-Id: I6fda0cf6c524e79e17cc25b54c41527971179f8b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-29 11:16:46 +00:00
David Schulz
71da9d340d LanguageClient: use less magic when changing settings
Change-Id: I8c5f5a85bff7cf0cf0545199358c306f7f9b539e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-29 10:59:32 +00:00
David Schulz
785932f0f1 Debugger: improve std::unordered_map dumper for cdb
and fix dumper tests

Change-Id: I1debd25a835aba28d77e5605dc49a5ea01221995
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-29 10:59:23 +00:00
David Schulz
58ff83b85b LanguageClient: Fix restarting server that needs a project
Do not open the server for every open document that belongs to that
server and assign the documents to the correct servers.

Change-Id: I88a743489e7e4b396a112ad772926e90b22626f3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-29 10:59:17 +00:00
Christian Kandeler
e5982d9c3d CPlusPlus: Revert name minimization fix
This effetively reverts 87ec0f349f, which had unwanted side effects.

Change-Id: I03438c18f43b07a6560416af746132bc4471fbb7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-29 09:37:34 +00:00
Eike Ziller
a9cf7685c9 Make commands for File Name Index locator filter configurable
Change-Id: I4a110ed9184345eb6992f4fda59a76fc843b2f1e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-29 09:11:45 +00:00
Jarek Kobus
9c5b62b226 BaseFileFilter: use default Data::operator=()
Change-Id: I721005c595cbea3f805a4143787411d30182f9dd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-29 08:57:00 +00:00
Jarek Kobus
fe9051c25d ClangCurrentDocumentFilter: make use of prepareSearch function
Since it's guaranteed, that prepareSearch() is always called
from the main thread prior to the call to matchesFor()
from the other thread, we copy the data inside prepareSearch()
which we will operate on when matchesFor() is called later on.

Change-Id: Idf6a8e683356bb524eb4b5b1ce1e05b0ba065c8b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-29 08:08:42 +00:00
Jarek Kobus
af61c47c10 Conan: Add "Build missing" option to conan install step
By default this option is set to true.

Task-number: QTCREATORBUG-25275
Change-Id: Ia7d628026e4ff7d20cf4b22db89d9b5b6ff5a9ca
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2021-01-28 16:34:10 +00:00
Kai Köhne
f0cb3e3365 Conan: Do detect conan.exe on Windows
Change-Id: I85e03a4f41896e9d20d8d757cb414217adcd536b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-01-28 16:24:08 +00:00
Christian Kandeler
87ec0f349f CplusPlus: Fix minimal name construction
... when using declarations are involved.

Fixes: QTCREATORBUG-14524
Change-Id: I0c391b88628f40973b6f601e60c64263f62a88a0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-28 14:31:49 +00:00
Christian Kandeler
667d50e1bc CppEditor: Fix "add definition" quickfix insertion string
... for the edge case of the insertion location being preceded by a
function whose body is a try-catch clause.

Fixes: QTCREATORBUG-14661
Change-Id: Icc7d5283ead81d644231479317214a8cc177493d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-28 14:30:20 +00:00
Leena Miettinen
534e5101de Doc: Hide Conan plugin doc sources from QDS doc builds
Conan is not used with QDS, so the docs are not a part of
QDS Manual.

Change-Id: I539afb58dd9762d088d2d22ea9793f819f89168a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2021-01-28 13:03:08 +00:00
Eike Ziller
ad09faab4e Fix build with Qt 6
Change-Id: I5c775460563dde17a363ea875d7f993e4e4d6ecd
Reviewed-by: Leander Schulten <Leander.Schulten@rwth-aachen.de>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-28 12:49:50 +00:00
Christian Stenger
ba667a342b AutoTest: Restructure settings documentation
This patch restructures the settings part of the
documentation to have all related information is
at one location instead of scattered across the
whole page.
Additionally added some information for so far
undocumented features and fix URLs to referenced
googletest web pages.

Change-Id: Ic897237ea67e9cc11f7d0b55059c47108a6e0f3a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2021-01-28 12:15:59 +00:00
Fawzi Mohamed
30c6f44031 qmljs: fix check for version check in import
Change-Id: I77d0bdfdaeb79f8881bdf9ec52077cf1b70faf64
Fixes: QDS-3667
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2021-01-28 10:19:57 +00:00
Christian Kandeler
234a67d403 Update qbs submodule
To HEAD of 1.18 branch.

Change-Id: I1ae87430fa5579074eb44da7278ab3e22ada14ac
Reviewed-by: Richard Weickelt <richard@weickelt.de>
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
2021-01-28 09:01:54 +00:00
Jarek Kobus
44b090925c Fix synchronization mechanism in DirectoryFilter
Currently m_directories, m_filters and m_exclusionFilters
are being modified only in the main thread, while in the
other thread they are only read. The access to them is
being protected with mutex when reading in the other thread.
However, we don't lock the mutex when modifying them in
the main thread, so it may happen that the other thread locks
the mutex and reads the value while the main thread directly
modifies it without a lock.

As a remedy, we add lacking lock mutex when we modify it from
the main thread.

In case of m_files its value is being modified in the other
thread, so we add a protection when we use it in the main thread.
In order to avoid a deadlock we unlock the mutex by the end of
restoreState(), before calling updateFileIterator() which now
relocks the mutex.

This patch may potentially fix a crash reported in
QTCREATORBUG-25265 - the last two stack traces from two different
threads, having both a call to Core::DirectoryFilter::refresh().

Task-number: QTCREATORBUG-25265
Change-Id: Ic1adfb71c2325ae06e6c2303d41b758df31d012a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-28 08:23:08 +00:00
Andre Hartmann
cbac6e6d2f Import Projects: Mention more integrated project managers
As Qbs and Meson are supported by Creator, there is
no need to use a Generic Project for them.

Task-number: QTCREATORBUG-25282
Change-Id: I8bca0f6c990d5dc80ef67e4a38c32ad2b49c76df
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2021-01-28 08:17:13 +00:00
Eike Ziller
416461c8a1 Add changes file for 4.15
Change-Id: I7b09bf5149b6ac24ba75b8ed1cb661de932bdc08
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2021-01-28 07:46:02 +00:00
Eike Ziller
5cd4dc5e98 Add changes file for 4.14.1
Change-Id: I423c09ad1b75d6bd456c2f23ca9f525c7dce6463
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2021-01-28 07:45:22 +00:00
Thomas Hartmann
6830647004 QmlDesigner: Add annotation for position marker
Change-Id: Idb469841f3cf5dd8b26dc011d8e0e4387f0d7d1b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-27 20:53:27 +00:00
Tim Jenssen
109abf9cac Merge remote-tracking branch 'origin/4.14'
Change-Id: I3ae27b1b017e93704e8c5bc3c69f64f6f6575559
2021-01-27 18:34:51 +01:00