Commit Graph

62421 Commits

Author SHA1 Message Date
Christian Stenger
4ed03777d3 Docker: Fix condition
Change-Id: I28c845ebd5a04e13cb109af03f6094306da64394
Reviewed-by: hjk <hjk@qt.io>
2021-09-09 09:52:13 +00:00
David Schulz
d5e0567f78 ProjectExplorer: prevent using QFileInfo on remote paths
Change-Id: Icf5dc9a80af69e8e1c3d733847e227486fa8c897
Reviewed-by: hjk <hjk@qt.io>
2021-09-09 09:47:41 +00:00
David Schulz
66b97761b6 CMake: use filePaths to scan for build directories
Change-Id: I34ccf91d9ca2b8e0b1927ad8b73e2ce2b54ecf0e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-09 09:47:18 +00:00
hjk
736820a1a0 Debugger: Make ElfReader work remotely
This does not use the mmap optimization so it might turn out to be
too expensive for large files and slow connections. For now it seems
good enough for docker and normal test cases.

Change-Id: I0ba09bdbd6aac977209494a33099479f1f8eec0a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-09-09 09:47:09 +00:00
David Schulz
ea215d612d FilePath: only assert on relative paths passed to absolute(File)Path
Change-Id: Id765f2e9ae3fdf17b1f16388caa5d09a17b87371
Reviewed-by: hjk <hjk@qt.io>
2021-09-09 09:03:22 +00:00
David Schulz
6a435a3be9 Utils: read remote persistent settings
Used to read project.user files from devices

Change-Id: I151155e7f83501f49ce1d72b3c4bff92f2c05d4b
Reviewed-by: hjk <hjk@qt.io>
2021-09-09 07:57:50 +00:00
Alp Öz
344d70e8f4 Move shortening of revision string to build script
This is to allow setting a longer IDE_REVISION_STR which is not necessarily a SHA256 value.

Change-Id: Iad61e87fcd92e1b96a2066a3c6a6ae51d452b9b7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-09 07:40:18 +00:00
Assam Boudjelthia
96364a4b4d Fix handling of aab checkbox in apk build step
Loosen the condition for enabling the aab builds and make it available
for any Qt version from 5.14 and above, since Google now require apps
to be packaged as aab to submit to the store, and Qt 6 always has an aab
target anyways. The multi-abi is coming for Qt 6.3 though, but aab
builds could still be allowed now.

Change-Id: If7c7b40c2d01cfe9c2887dc5aa17af48a37af43a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-09 07:28:54 +00:00
Eike Ziller
1aa92b5dab Find: Do not try to show weird control characters in results
Replace all non-printable characters by question marks for display
purposes.

Fixes: QTCREATORBUG-9108
Change-Id: I81d31880dd5b1b2f9dea66acfdbe78ce89e685ca
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-09 07:06:23 +00:00
Cristian Adam
1a030fb911 CMakePM: Fix build type for multi-configuration generators
Fixes: QTCREATORBUG-26079
Change-Id: Ia849cfcea6f3fb10d791ad32c32413d95aa31569
Reviewed-by: Alp Öz <aoz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-09 07:06:10 +00:00
hjk
35095c542f Utils: Re-order FilePath API a bit
Somewhat more logical blocks. Also make clear which functions should
not be used.

Change-Id: Ia2f7b84347601dbd4d51f42c992a71ddcceb1e0b
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-09 06:42:29 +00:00
Orgad Shaneh
7e362326fe GDB: Ignore initial SIGTRAP when debugging mingw32 with gdb64
Task-number: QTCREATORBUG-26208
Change-Id: I97e37b6aaca19f20081750de003b012c9853a80c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-09 06:38:21 +00:00
Orgad Shaneh
9032c7741a Debugger: Fix debugging 32-bit mingw console app with 64-bit gdb
For some reason, the executable is no determined correctly.

Feed it to gdb so it will have correct debugging symbols.

Fixes: QTCREATORBUG-26208
Change-Id: Id7da405e5ec9f9331399eb049fa383099981cb94
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-09 06:38:03 +00:00
hjk
bdefc13eba Utils: Rename FilePath::absolutePath(FilePath) to resolvePath
There was already a similar function taking a QString.

After that, the remaining no-argument version of absolutePath()
can be deprecated.

Change-Id: I5b9ad8c8b68a5723891b0aa9f5a37e90db0fe09e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-09 05:42:30 +00:00
Tony Leinonen
f7489252df QmlDesigner: Add animation playback for timeline
Adds animation playback, playback speed and looping inputs in the toolbar
-Animation can be seen in the form editor in real time
-Play button toggles the animation playback
-Playback speed can be manually set
-Looping can be toggled on and off
-Looping range can be manually set

Looping range can be created and edited in multiple ways. These shortcuts
are currently placeholders and should be changed if needed.
-LeftMouseButton+CTRL will set the loop start point and dragging
 the mouse will let you paint the range.
-Hovering over the looping start or end point then dragging with
 LeftMouseButton+CTRL down will allow individual point movement
-Pressing SHIFT will enable toolbar snapping when painting/moving
 looping points.
 will allow individual movement by dragging it with LeftMouseButton
-Clicking a component in the timeline with LeftMouseButton+CTRL
 will set the components start and end time as the loop range.
 Using LeftMouseButton+CTRL+SHIFT instead will extend the
 current loop range to include the clicked component.
 Keyframes work the same way.
-Using the selection tool by dragging the timeline with
 LeftMouseButton+CTRL will set the loop range to contain all the
 selected components. Using LeftMouseButton+CTRL+SHIFT instead
 will extend the current loop range to include the animations
 start, mid or end time, depending on which overlap with the selection
 tool rectangle. Keyframes work the same way.

Task-number: QDS-1335
Change-Id: I8a623bae6ab43b41f894f2a33a1a597a48f82c68
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-09 05:09:49 +00:00
David Schulz
b485890b19 Utils: Guard QFileInfo usages of non local FilePaths
Helps keeping track of usages of potential wrong paths and partially
makes sure to not leave the correct device.

Change-Id: I19fff7ae8abc3fa6045f7d4459f1140ba71e4f16
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-09 04:17:06 +00:00
Alp Öz
4c35c9e057 Change sorting in Class View to case insensitive
Change-Id: Ia9ee6726d1d423a127c1e3e57c02ebef8a6f28dd
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-09-08 16:27:07 +00:00
Jarek Kobus
267a55435c Remove process only when FailedToStart error occurred
Otherwise don't remove it yet, as many usages of QtcProcess
expect that we are still going to receive Finished signal after
an error occurred.

Change-Id: I8cae402bc2ef5064bbae964217f49028a31a73af
Reviewed-by: hjk <hjk@qt.io>
2021-09-08 14:55:51 +00:00
hjk
152fdd35f5 Utils: Add runAsRoot and useTerminal flags for QtcProcess
Not implemented right now.

Change-Id: Ifdd5870b757f260c72fccb423140584688aa9898
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-09-08 14:12:34 +00:00
Christian Kandeler
8c7dcc44b9 CppEditor: Merge the four TestDocument classes
Change-Id: Ie3d5a4ac2b8e3beee92f5abb88583c845056842e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-08 13:17:20 +00:00
Assam Boudjelthia
41528390b8 Revert "Move sdkmanager's sdk level parsing to AndroidConfig"
This reverts commit 2d77922856.

Reason for revert: This causes a build error in Android tests, reverting until the a fix is ready for that to not block the repo.

Change-Id: I74961df660ebaf69caf092d53172821815f21268
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-08 12:52:16 +00:00
David Schulz
a04e1eaf84 Utils: avoid QFileInfo in FilePath::fromStringWithExtension
Change-Id: I853e678e98af09a53d1165c51cf00377df1b7f4d
Reviewed-by: hjk <hjk@qt.io>
2021-09-08 11:53:13 +00:00
Henning Gruendl
3639d6faa7 QmlDesigner: Fix color names missing alpha
Fix QColor name() returning colors without alpha by changing the format
from default (QColor::HexRgb) to QColor::HexArgb.

Change-Id: I98fbf2dbfffa4a3593601df3c301f15d9e39604c
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-08 11:22:44 +00:00
Christian Kandeler
3d64cf0d82 ClangTools: Fix clazy documentation URL
There is no patch version in the URL.
Amends 1b1e18a869.

Change-Id: I8d17b6aea3283e9a78744a28ad9a98e1c7c087e8
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-08 11:18:53 +00:00
Christian Kandeler
bf275331dd ClangTools: Cache information about the clazy executable
Fixes: QTCREATORBUG-26237
Change-Id: I43203d58b8ed278664427e3b4112a7c7848354b9
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-08 11:17:37 +00:00
Cristian Adam
75e0a3678a processlauncher: Build fix for MinGW
processlauncher reuses qtcassert.h/cpp from Utils, but it doesn't
set the define that controls if symbols are exported or imported.

Amends ace765c199

Change-Id: I478717f52f4c87576d0fe5cbf1530ba116bd2bd4
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-09-08 10:06:26 +00:00
Cristian Adam
a2c70d1a12 CMakePM: Add CMake warning parsing support
Previously the CMake warnings weren't displayed in Qt Creator's
issues pane.

Fixes: QTCREATORBUG-26231
Change-Id: I3e8e3dbfaed3649e99bbbc8f006093d7c81d2b8a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-08 08:31:42 +00:00
Assam Boudjelthia
2d77922856 Move sdkmanager's sdk level parsing to AndroidConfig
Both the sdkmanger and avdmanager (maybe more) need to parse the sdk
level for packages and devices which may contain letters, make them
use the same logic.

Change-Id: Iff7fef3a66e00fac11b833f73f2f334a4cf1a766
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-08 08:09:20 +00:00
Assam Boudjelthia
62c33f909d CMake: Don't build apk by default with CMake's ALL target
From Qt 6.1, Qt 6.1 builds the apk directly with ALL step if it's
not a Qt build.

Change-Id: Ib8573399a1ed509852a973e84405353191e80f86
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-08 08:09:00 +00:00
Christian Kandeler
473746e8fd CppEditor: Merge two TestCase classes
Change-Id: I53c7db9cda0a82706bee898d091f128c2c4bf32f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-08 08:03:14 +00:00
Eike Ziller
d734fc5cc8 Spotlight filter/macOS: Interpret space as *
Flows more natural, and is what we do on the other platforms by default
too.

Change-Id: Ia9510235167a014fa7bdafd023e05c8fe40dd338
Reviewed-by: Alp Öz <aoz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-08 07:00:53 +00:00
Henning Gruendl
a09ec2e0e9 QmlDesigner: Fix project tree widget renaming
When renaming an item in the project tree widget which has concatenated
filename extensions like *.ui.qml the selection in the LineEdit will
reach till the last dot.

* Extend FilePath suffix and completeBaseName function so they will
  treat the suffix *.ui.qml as one
* Make use of the function in ProjectTreeWidget::editCurrentItem
* Replace QFileInfo::suffix with Utils::FilePath::suffix in
  FlatModel::setData

Task-number: QDS-2713
Change-Id: I30d0e6d87a7512d42fd3d40b2282b94e79b43684
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2021-09-08 06:47:51 +00:00
Eike Ziller
6528bd6a27 Add branding option for application icon and logo
Change-Id: I23ee91ab47d06aab370b2083d4f96f7833bf16ff
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-08 06:29:51 +00:00
Jonas Karlsson
3930679f27 Fix compilation
There is no FilePath constructor taking a QString, use fromString method.

Change-Id: Icad9cbdacced2e606a0f8db0a5312d38cabee21b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-07 16:17:02 +00:00
Thomas Hartmann
e543cb0d05 QmlProject: Open connect to ParsingFinished() only once
Task-number: QDS-5018
Change-Id: I2782641c8494c44c71c680e145be7744c98afabc
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-07 13:47:12 +00:00
Eike Ziller
8e652e1586 Do not build Qbs by default
Compiling Qbs takes time and is not strictly necessary for the Qbs
integration in Qt Creator.
We still want to build it for the release, but let's not build it by
default anymore.

[ChangeLog][Building from Sources] Qbs is not built anymore by default.
Pass -DBUILD_QBS=ON on the CMake command line to enable it.

Change-Id: Ic5793e26c7f6a7ac92931777e5d77cef2c8bf888
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-07 13:16:11 +00:00
Thomas Hartmann
97d6b487ff StudioWelcome: Add C++ example
This downloadable example shows how to setup the C++ project
using .qrc files. We open the .qmlproject in QDS.

Change-Id: I759095d9c6a4026f3eab49d7e5e6543f5e57b71d
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-07 12:46:58 +00:00
Thomas Hartmann
95f2198e97 StudioWelcome: Allow opening a specific project file
Change-Id: Ie00a48ff777952e2366d691c1a928c162d1dd187
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-07 12:46:52 +00:00
Thomas Hartmann
97a65f9ea2 QmlProject: Do not open .qml.ui file if a file from that project is open
The wizards and example browser already open a .ui.qml file.
In this case we do not want to open the first one.

Change-Id: I8278ca28cd02dfde2b4ab0ffd1b551073d85859f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
2021-09-07 12:46:43 +00:00
Alessandro Portale
3a26271660 Android: Fix build
Amends: e92418edca

Change-Id: I40615c2fa6e9b9cd98976c9ebfc56a9bdf1dd612
Reviewed-by: Aleksei German <aleksei.german@qt.io>
2021-09-07 11:44:48 +00:00
Thomas Hartmann
cc12ee1729 StudioWelcome: Fix visual glitch with download icon
Change-Id: I1858112654d3ab01fc2c5e4b05d45797485b669a
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2021-09-07 11:42:46 +00:00
Christian Kandeler
1b723f6fd9 CppEditor: Remove unneeded CppEditorWidgetInterface
Removes a pseudo-abstraction and simplifies ClangdClient.

Change-Id: I5161d069371ff92a517866bb7500517cab6781b7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-07 11:16:47 +00:00
Assam Boudjelthia
e92418edca Fix minSdkVersion in deploy step
Deploy step uses AndroidManager::minimumSDK() which looks for the
version in the AndroidManifest.xml file which used to contain the
minimum and target sdk, but if the manifest doesn't contain that
value, this logic returns 0. So, return the defaultMinimumSDK()
in case the first way fails.

Change-Id: Id10e552d7c8de4d3544b7fa8f26ae5dd9e974df5
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-07 11:11:45 +00:00
Mahmoud Badri
0d410ef342 QmlDesigner: Enable item library model update compression timer
The timer was disabled by a37b6ae5fc
to fix some mac crashes that doesnt seem to happen in the new item
library implementation. Thorough testing will take place to make sure
no side effects happen.

Change-Id: I08e8ce4e0f2e3b5bcf01557419fb405747736c08
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-09-07 10:43:40 +00:00
David Schulz
c1dff744a0 LanguageClient: Increment document version on every content change
Prevents applying results from outdated documents. Specifically
notifications and codeactions for documents that have been cleared on
the contents change handler but get a result before sending the actual
did change notification.

Change-Id: I640088d7cb2464dd4edd832319314bb04eab1df3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-07 10:24:43 +00:00
Christian Kandeler
4504570447 ClangCodeModel: Fix access type categorization with clangd
... in "Find References".
This was broken in d6acd21fc0.

Change-Id: I0a185a8440bd5260b7cc18a87cefb450be71e77f
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-07 10:06:06 +00:00
The Qt Project
934c0bc423 Merge "Merge remote-tracking branch 'origin/5.0'" 2021-09-07 10:06:01 +00:00
Christian Kandeler
d583dde17b ClangCodeModel: Force clangd restart on external changes
Neither we nor clangd can afford to watch all source files, which means
that after e.g. a branch switch we can easily end up in an inconsistent
state.
We alleviate this problem by restarting clangd if at least one open file
was changed externally.

Change-Id: I7e0d14835e3afbd7a64c3233614f2161282dddc0
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-07 10:05:28 +00:00
Cristian Adam
05c3f965e3 auto-setup.cmake: warn if conan or vpkg executables are missing
Warn the user if the package manager auto-setup doesn't find conan
or vcpkg executables and does nothing.

Some projects will fail, or in the case of Qt modules, will continue
working by using the system cmake packages.

Change-Id: If3b07e619c27a4b637a894690bd248ad98d6dda2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-07 09:35:29 +00:00
Christian Kandeler
847a03786c LanguageClient: Re-highlight also on empty deltas
This is needed for e.g. ClangdClient, which may need to update even if
the highlighting delta from the server is empty.

Task-number: QTCREATORBUG-26183
Change-Id: I38398c9563fa7a6a1906c5cb57fd1cbcd444cbd9
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-07 09:12:13 +00:00