Commit Graph

62421 Commits

Author SHA1 Message Date
hjk
3f7f867da5 Android: JavaLanguageServer code cosmetics
Namepaces, unused function.

Change-Id: I4f51e163fdb5034c9856195b1929466f6f8b8ddf
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-09-27 14:12:07 +00:00
hjk
5c7b4d66c5 Android: Use FilePath in JavaLanguageServer
Change-Id: Ifaaf95c7463db634a08072e5c988bfc75237f8eb
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-09-27 14:11:58 +00:00
hjk
cef21f46e8 AutoTools: Remove unused AutoToolsOpenProjectWizard
Change-Id: I76642cf71f7af4b827e7ad10a75f29e589f33388
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-27 13:07:47 +00:00
Marco Bubke
9e29b602d4 QmlDesigner: Use ModuleId for Type instead of Module
We already know the module id because it's the source id of the module.

Change-Id: Ice241d38c12c7ca79a525464c53b7d552095a0fc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-27 13:00:25 +00:00
Marco Bubke
03687c1d02 QmlDesigner: Add minimal updates
Exported type names are synchronized so that old type names are removed.

Task-number: QDS-5130
Task-number: QDS-5126
Change-Id: I6e6482170c8197f37f60a57bdfb7f1b450001b4b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-27 13:00:21 +00:00
Orgad Shaneh
6564325081 Git: Add "Show HEAD" link in amend commit editor
Fixes: QTCREATORBUG-25004
Change-Id: Idac181c8821da41a21d86cb1760691d51158daee
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2021-09-27 12:32:41 +00:00
Cristian Adam
d341ab6371 CMakePM: Remove <Headers> virtual project node
CMake projects need to add the headers as source files in order to get
exported from the CMake file-api json export.

Having header files that are not part of the project displayed in the
<Headers> node is error prone and confusing.

This also means that you won't get bogus files when doing git commit
for example.

Fixes: QTCREATORBUG-18206
Fixes: QTCREATORBUG-24609
Fixes: QTCREATORBUG-25407
Change-Id: I89ac4f8a80f452119f8a991b9e4ef14efb7a86b9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-27 12:25:53 +00:00
hjk
95907b0f7d Utils: Allow full file paths with directory parts
... when creating a new empty file.

This simplifies file creation with file paths cut&paste from external
applications as it removes the need to split it into a directory part
and the file name.

Change-Id: I3f81db89d5ae7db4117c29a4f947cdf92dc4d50c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-27 11:16:20 +00:00
Eike Ziller
fdb5c7a8a3 Add "Files in All Project Directories" global search
Similar to the corresponding locator filter.

It searches in the project directories, not limited to the files that
are actually mentioned in the project itself. That is helpful if
projects don't mention resources, or README's, or header files, or
"alien" project files in case the project supports multiple build
systems.

In principle, for single projects, this can be achieved with the "Files
in File System" filter, but that is less convenient because one needs to
specify the directory.

Change-Id: I94bc664cadd0881274ae709b00b8576c696cc325
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-27 11:15:29 +00:00
hjk
95f7c5f256 Valgrind: Simplify suppression file interface
The global settings and per-project settings looked the same,
but behaved quite differently: The per-project one were a kind
of diff against the global one.

Besides having "issues" when keeping the temporary and permanent places
where relevant parts of the data were kept (settings, manual-applied
global, auto-applied local settings), the concept was not clear in the
UI at all.

This here takes the simple way out: Either local, or global, no diffs.

Change-Id: I90439cd20067ab60b88372f1cb03eeef8c2e42d3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-27 11:05:30 +00:00
David Schulz
c00330f905 Editor: multi cursor support
Adding a way to create multiple cursors that can insert/remove text at
arbitrary positions in the document. Adding cursors is done by pressing
alt + up/down or by clicking into the editor while holding the alt key.

Fixes: QTCREATORBUG-16013
Change-Id: I495d27d95a3d277220946616ef30efc241da0120
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-27 10:56:54 +00:00
Christian Stenger
eefb385918 ProjectExplorer: Fix json wizards
Amends a8d44b04da.

Change-Id: I43c8726fd1fcf770d879dc21169bdde7433dcf53
Reviewed-by: hjk <hjk@qt.io>
2021-09-27 10:39:02 +00:00
Orgad Shaneh
74713e5ef1 Merge remote-tracking branch 'origin/5.0'
Change-Id: I7ca9791b95032a1f276c520f8eefde3801510eb9
2021-09-27 13:22:58 +03:00
Jarek Kobus
a4575bdf2b Simplify IndexFilterModel::filter()
Get rid of code repetition. Use some lambdas.

Change-Id: Ib344a2fdb0079faa86091d67e78c0c67c7ed077b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-27 09:41:02 +00:00
Christian Kandeler
63fbaedc03 CppEditor: Clear out mis-detected parentheses
... from the syntactic highlighter.
For instance, in this piece of code:
    void myfunc()
    {
        const auto rawString = R"(abc
        de)fg"hij)";
    }
The closing parenthesis inside the raw string literal is mis-interpreted
by SimpleLexer as closing the string, causing the next one to be
interpreted as an actual parenthesis, which would then be erroneously
matched against the opening brace of the function.
We fix this by removing parentheses that the semantic highlighter knows
are not actual punctuation tokens.

Change-Id: I057b9e747ed81282cdddd71a805c12db9616da65
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-27 08:52:06 +00:00
hjk
0745dc1634 Utils: Add some backtrace dumping facility to QTC_ASSERT
Unix only for now, opt-in, by setting QTC_BACKTRACE_MAXDEPTH=<number>
in the environment.

Change-Id: Ice110dbf5d25003706a947b27c279fec464df7a1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-27 08:51:48 +00:00
Christian Kandeler
214968a80b GenericProject: Pass resolved include paths to code model
Apparently, we used to rely on relative paths being resolved elsewhere,
but we shouldn't.

Fixes: QTCREATORBUG-26304
Change-Id: Ia52b728909abc87c1225f8e935f4548a32ca9b63
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-27 08:48:51 +00:00
Christian Kandeler
49569574de Fix some warnings about unused variables and functions
Change-Id: I5f0acd9598bc7f3a79963cc4e1b255e2b6fb2e5d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-27 08:47:36 +00:00
hjk
a8d44b04da ProjectExplorer: FilePath-ify JsonWizardFactory
Change-Id: Ib56daffeb7e6eac3879e00e41812c699338e1fcb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-27 08:11:18 +00:00
Alessandro Portale
44fb173a6e Core: Hack for HighDPI text drawing on QPixmap with Qt6
A QPainter on a QPixmap behaves differently on Qt 5 and 6 when it comes
to the pixmap's devicePixelRatio. On Qt6/DPR>1, the text in this code
would be rendered outside the pixmap. Forcing the DPR of the pixmap
to 1 while rendering the text fixes the issue.

Since I cannot test on all platforms, nor have a multi monitor setup
with different scalings, I added some cargo cult code which resets the
original DPR after rendering. Just to be on the safe side.

Fixes: QTCREATORBUG-26315
Change-Id: I32ce78a45d52a4c75eb437574b925c85b9295402
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-27 07:48:24 +00:00
Orgad Shaneh
f2f1fc8601 Use lowercase for Windows header for supporting cross-compilation
Linux mingw uses lowercase headers, so cross-building on Linux for Windows
target must use the correct form. Windows is case-insensitive, so it won't
affect host-native builds.

Change-Id: Ic2140412bb367bbce83b5e2546d70e0936928c5c
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-27 07:23:22 +00:00
Orgad Shaneh
a4141b8d14 Git: Fix log editor shows as modified
Fixes: QTCREATORBUG-25936
Change-Id: I072c723e59073399531b822ec76bdac08867c72b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2021-09-26 19:22:50 +00:00
Assam Boudjelthia
86a397fd29 Fix buttons size policy on Android settings widget
Correct size policy for Add and Remove Ndk buttons to take the size
allowed to them.

Change-Id: I71f046eb18986c4d1215867efdf381105a16842f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-26 10:59:56 +00:00
Christian Kandeler
47cd1def7a TextEditor: Provide a function for inserting a parenthesis
... into a sorted list.

Change-Id: Ibc39a345425945437cc8b8d9237589746143b2d9
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-24 11:57:12 +00:00
David Schulz
421e06393f TextEditor: update matching parenthesis in the editor
... after updating the parenthesis in the layout

Task-number: QTCREATORBUG-26183
Change-Id: I346046fbc3932b94227c1ac5bee6b0d7c44651e1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-24 11:50:54 +00:00
Christian Kandeler
0524e9236f CppEditor: Fix wrong temporary parentheses mismatch indicator
Do not clear out "semantic parentheses" in the syntactic highlighter.

Fixes: QTCREATORBUG-26183
Change-Id: I88f085b63da2469341dbb29eabc7f033367e6f19
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-24 11:41:25 +00:00
Christian Kandeler
553f4bec7e ClangCodeModel: Remove inapplicable TODO item
It's not worth the extra effort to restrict the identifier <-> file name
check to data types: There is hardly any possibility for a completely
false positive, as local variables do not pass through this code path.

Change-Id: Ia92549c8c6723e520789a2ad820a2606620d4efe
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-24 11:41:07 +00:00
Christian Kandeler
eefc8cbc7d ClangCodeModel: Remove inapplicable TODO item
I don't see any explicit sorting of the references in clangd, so let's
continue to not rely on that.

Change-Id: I65269af4995ab851e49f52686a10cc96697fbe64
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-24 11:40:49 +00:00
Alessandro Portale
edfdcd1a53 Core: Polish welcome screen grid hover animation
* Fix offset calculation (arrived at top in less than 200ms)
* Use "OutQuad" easing for the speed of the sliding text
* "Fade in" separator line and description during animation
* Animate covering of image by background color
* Draw rectangles with qdrawutil (fixes HighDpi)
* Change refresh timer from 5 to 10 ms

Change-Id: I53899227d875a3faf086ebc6b3d83e5eb9dcaa12
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-24 09:37:39 +00:00
Eike Ziller
1b918c95d4 Locator: Fix "Files in All Project Directories" filter
That filter (by default included with 'a') could end up showing files
from projects that were no longer open. In some situations the
directories for this filter could be saved in the settings even though
they are supposed to be automatically managed when opening and closing
projects. It could happend that they never were removed again, for
example after saving the locator settings via apply in the options
dialog, and then killing Qt Creator.

Simply never save or restore which directories the filter handles, and
the file cache, by overriding the save/restoreState methods.

Change-Id: I2912d64443b5e5ec5a21e0df61d14ffda799a0e7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-24 09:12:30 +00:00
Christian Kandeler
b10641caa2 ClangCodeModel: Adapt clangd test to upstream change
See https://reviews.llvm.org/D110324.

Change-Id: I9dbc03dd814392939be28d1943515d581f9f5b58
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-24 08:42:21 +00:00
Christian Kandeler
f8c2ab9f7a ClangCodeModel: Remove outdated FIXME
Change-Id: I0f69ab0848c5196bf6cedd467bdff74d0d74dfda
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-24 08:41:46 +00:00
Christian Kandeler
c47312a836 LanguageClient: Pass out a mutable Project object
Callers can have legitimate reasons to use it in a non-const manner.

Change-Id: Id91a4708dd95845661b291ce7cc9ee1581bdade8
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-24 08:41:18 +00:00
Orgad Shaneh
76760d8d80 Debugger: Fix debugging of terminal apps with GDB < 10
Fixes: QTCREATORBUG-26299
Change-Id: I96ed413a4722799090307e6682d2ec70f4de9b56
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-24 07:05:16 +00:00
Eike Ziller
e84bc5f81f Modes: Temporarily re-add a removeMode function
Partially reverts 6a142dfd95

Looks like this was used by 3rdparty plugin(s) for a mode that is only
useful for some time and then should not be shown again.

Re-add removeMode from before 5.0, but do not trigger that automatically
from the mode destructor, so it doesn't interfere at shutdown.

This patch is just a binary compatible partial revert. Since removeMode
is broken in several aspects (e.g. corresponding commands are not
removed) and we don't really support adding and removing modes during
runtime, this should be replaced later on by a different way to handle
the usecase, like a "visible" property for modes, which could be useful
in other ways too.

Fixes: QTCREATORBUG-26270
Change-Id: Ief2a36d94bd09b0511a14f528b33fdbcc4c4222b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-09-24 06:45:28 +00:00
David Schulz
6b1421af8d cdbext: fix c++17 deprecation warning
Change-Id: I2d06f602b4b229d1dec1dc1924e473f6b7aa4f68
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-24 05:12:33 +00:00
Christian Stenger
7b6f1000c6 AutoTest: Improve handling of pch usage
Using a regular expression to search for possible macro usages
will not omit commented out lines.
So, check matches for being commented out to be able to filter
out false positives.

Change-Id: Ie8f982ef418a4538e87567354adb0eb54ea918de
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-24 04:34:02 +00:00
David Schulz
82b250d901 Docker: add option to disable file path mapping
Can be used to easily reproduce the current windows state that has no
way to map the remote file system to a local path on other systems like
linux.

Change-Id: I32cd1852dd0b4fc0890a503c244f34065c29e18c
Reviewed-by: hjk <hjk@qt.io>
2021-09-24 04:23:06 +00:00
Alessandro Portale
8eea18eefe ProjectExplorer: Fix a silly mixup
icon path vs. icon text.

Amends: 519c2f3109

Change-Id: I1b2528a2df8ebeb02642f64e2d5c5ae80acfd4d7
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-23 16:29:23 +00:00
Alessandro Portale
fcf9537dc5 Various FilePath::fromString -> fromUserInput changes
Change-Id: Ic9c5e2f5c0375468651557f504b101572b72ac06
Reviewed-by: hjk <hjk@qt.io>
2021-09-23 16:28:54 +00:00
hjk
3dd8831f14 ProjectExplorer: Simplify retrieval of WorkingDirectoryAspect values
Drop the macroExpander argument, at the cost of complicating internal
ProjectConfiguration setup a bit.

Simpler code at the user side.

Change-Id: Ie9ea0b719f6e402b44d9ba7ce6047aa4e15441fe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-23 15:22:28 +00:00
Christian Kandeler
d359a7902b ProjectExplorer: Prevent callbacks while ramping down
... in DeviceTestDialog.

Task-number: QTCREATORBUG-26285
Change-Id: I4b2162b7be1819e9ce389d1a3db2a8280db72aee
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-09-23 14:43:13 +00:00
Cristian Adam
4cad094066 CMakePM: Treat header files as project files
CMake doesn't associate header files in a compiler group in the
file-api export. But it does list them as source files if added
to the source files of a target.

By using the CppEditor::ProjectFileCategorizer we can sort the
header files to the right compiler group.

This way one could have the clang-tidy and clazy run on a header
file. Or the TODO plugin find TODOs in header files. Or the Autotest
plugin finding Google Tests in header files.

Fixes: QTCREATORBUG-23783
Fixes: QTCREATORBUG-23843
Fixes: QTCREATORBUG-26201
Fixes: QTCREATORBUG-26238
Change-Id: I8acace48e89fd9b3da8bce1c479dec7891e1bbd4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-23 13:52:05 +00:00
Thomas Hartmann
ddccb87a87 QmlProject: Propose to open QDS for any .ui.qml file
This is only enabled if no QmlDesigner plugin is found.

When a .ui.qml file is opened we check for a QDS installation.
If QDS is installed we propose to open QDS instead, if not
we show information on QDS.

Search oder for .qmlproject file. QDS requires a project file.

* Check if current project is .qmlproject
* Check if the current folder contains a .qmlproject
* Check folder for .qmlproject that contains the .ui.qml file
* Check parent folder for .qmlproject ...

If not .qmlproject is found we show an error message.
Enabling external link support for InfoBar.

Task-number: QDS-5065
Task-number: QDS-5066
Change-Id: I2c70c400c4d11b83a4848f9e002e180fa119f6e2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-23 11:13:58 +00:00
Henning Gruendl
64e48988ed QmlDesigner: Fix SpinBox dragging
* Add PPU (pixels per unit) property
* Include device pixel ratio

Task-number: QDS-3081
Task-number: QDS-4798
Change-Id: I23cd26662d719888eca685e54d0706f5da09c4cd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-23 10:34:22 +00:00
Thomas Hartmann
72d932a44e QmlDesigner: Fix Coverity Scan defect
dialog was just created and cannot be null.

CID 1506796:  Null pointer dereferences  (REVERSE_INULL)
Null-checking "dialog" suggests that it may be null,
but it has already been dereferenced on all paths leading to the check.

Change-Id: I53c116620c91b5b41b4028e367cb286e13193cf7
Reviewed-by: Tony Leinonen <tony.leinonen@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2021-09-23 09:44:09 +00:00
Alessandro Portale
b92187334f Core: Fix compilation against Qt 5
include QPainter

Amends: 519c2f3109

Change-Id: I0974e28eac47b7b1f7fe2a88e3b11527d3441be0
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-09-23 09:36:45 +00:00
Kai Köhne
ef9f8be90c Disable QuickDesigner for now
Task-number: QTCREATORBUG-26160
Change-Id: If8621a41b191f295302a8cbdbd74a399cff6e8d0
Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-23 09:30:16 +00:00
Christian Kandeler
e1e962503a ProjectExplorer: Make sure the working dir is properly expanded
... in the path chooser.

Fixes: QTCREATORBUG-26274
Change-Id: I4aa920888b9bef2820ed883e1f34a5c670a545d6
Reviewed-by: hjk <hjk@qt.io>
2021-09-23 09:18:05 +00:00
Cristian Adam
3922b1a917 CMakePM: Add issue icon and tooltip description on project failure
If a project fails to load it will be displayed with a warning icon.

If the CMake configuration fails and the backup configuration is
restored, the project is also marked with a warning icon.

Change-Id: I95ccc5d171f5b789fe317fbb1da9e13dcd81a5dd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-23 08:50:24 +00:00