From f3061f5bc8b1ac230f3b697e3f4ee77feaa77020 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 11 Mar 2025 12:55:43 +0100 Subject: [PATCH 01/15] Do not show "downgraded deployment method" in error style It is an interesting message in case the user misconfigured something, but in cases where this is expected, like Boot2Qt on macOS where the Docker build device does not support rsync or sftp, it is rather confusing if this looks like an error. Task-number: QTCREATORBUG-30831 Change-Id: I8f9be849c5c409189f3f7dea266b926aa23928e0 Reviewed-by: hjk --- src/plugins/remotelinux/genericdeploystep.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/plugins/remotelinux/genericdeploystep.cpp b/src/plugins/remotelinux/genericdeploystep.cpp index b1faf9c6b39..706d60cd12e 100644 --- a/src/plugins/remotelinux/genericdeploystep.cpp +++ b/src/plugins/remotelinux/genericdeploystep.cpp @@ -156,10 +156,7 @@ GroupItem GenericDeployStep::transferTask(const Storage &storag .arg(FileTransfer::transferMethodName(preferredTransferMethod), FileTransfer::transferMethodName(transferMethod), deviceConfiguration()->displayName()); - if (transferMethod == FileTransferMethod::GenericCopy) - addWarningMessage(message); - else - addProgressMessage(message); + addProgressMessage(message); m_emittedDowngradeWarning = true; } transfer.setTransferMethod(transferMethod); From 8a97912a5eeb5727d9a19eeeccb1e6d930052f6e Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 11 Mar 2025 16:25:43 +0100 Subject: [PATCH 02/15] Doc: Don't mention creating CMake project for opening in QDS This is no longer possible. Also, use the same name for the component module as in QDS. Change-Id: I76a4ad07069d3d4871259ba725b35cebc80d4c4e Reviewed-by: Alessandro Portale Reviewed-by: --- ...k-converting-ui-projects-to-applications.qdocinc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/doc/qtcreator/src/qtquick/qtquick-converting-ui-projects-to-applications.qdocinc b/doc/qtcreator/src/qtquick/qtquick-converting-ui-projects-to-applications.qdocinc index ea7b8cf70f1..80086c8f02f 100644 --- a/doc/qtcreator/src/qtquick/qtquick-converting-ui-projects-to-applications.qdocinc +++ b/doc/qtcreator/src/qtquick/qtquick-converting-ui-projects-to-applications.qdocinc @@ -20,8 +20,7 @@ \note Since \QDS 2.3.0, \QDS project wizard templates generate projects that can be built with CMake. You can open the \e CMakeLists.txt project file in - Qt Creator to continue developing the project. Also, you can use Qt Creator - to create a Qt Quick Application project that you can open in \QDS. + Qt Creator to continue developing the project. \target wizard-template-note \note Since \QDS 3.9.0, \QDS project wizard templates generate projects that @@ -54,12 +53,12 @@ show the main QML file when the application starts. \if defined(qtcreator) - The \e {Qt Quick Designer Components} module is installed when you + The \e {Qt Quick Studio Components} module is installed when you install \QDS. If you use Qt Quick Studio Components or Effects from the module in a project that you want to edit in Qt Creator, you have to build the module and install it to your Qt to be able to build your project. For more information, see - \l{Adding Qt Quick Designer Components to Qt Installations}. + \l{Adding Qt Quick Studio Components to Qt Installations}. The \l{Qt Quick Timeline} module is installed when you install \QDS. If you only install Qt Creator and Qt, remember to also select the @@ -110,7 +109,7 @@ project. \note If you get error messages related to modules, perfom the steps - described in \l{Adding Qt Quick Designer Components to Qt Installations}. + described in \l{Adding Qt Quick Studio Components to Qt Installations}. \endlist For example, if you copy the source files of the \e ProgressBar @@ -142,7 +141,7 @@ using the Qt resource system dynamically. For more information, see \l{The Qt Resource System}. - \section1 Adding Qt Quick Designer Components to Qt Installations + \section1 Adding Qt Quick Studio Components to Qt Installations Since \QDS 3.9, the Qt Quick Studio Components module is installed by default as part of the application created with \QDS. You can also install the module manually. @@ -154,7 +153,7 @@ git clone https://code.qt.io/qt-labs/qtquickdesigner-components.git \endcode - \li Install the Qt Quick Designer Components module. + \li Install the Qt Quick Studio Components module. \badcode mkdir build From 131a094a8a448c8063a432a969defd80453af284 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 11 Feb 2025 16:03:16 +0100 Subject: [PATCH 03/15] QNX: Add a manual instuction for installation / configuration Task-number: QTCREATORBUG-32478 Change-Id: I66701fa8f981bae98c4352016aae70125f0dec28 Reviewed-by: Cristian Adam Reviewed-by: hjk --- tests/manual/qnx/README.md | 57 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 tests/manual/qnx/README.md diff --git a/tests/manual/qnx/README.md b/tests/manual/qnx/README.md new file mode 100644 index 00000000000..0655e9660c5 --- /dev/null +++ b/tests/manual/qnx/README.md @@ -0,0 +1,57 @@ +### Testing QNX setup without hardware ### + +It is possible to test QNX without hardware on a plain Linux host system. + +Note: This doc assumes you have: +1.1 An access to actual qnx target device available via IP address that has Qt installed. +1.2 A QNX SDP +1.3 A QNX license (placed under: $HOME/.qnx/license/licenses). + +# Installations + +2.1 Unpack qnx710-windows-linux-20240417.tar.xz in ~/qnx folder. +2.2 Install 'chrpath' on your linux host. +2.3 Install locally Qt for QNX via Qt installer / maintenance tool. + Install matching version of the one that is on the remote device. + Point Qt installer to ~/qnx/qnx710-windows-linux-20240417/qnx710 for the SDP dir. +2.4 Ensure you have cmake 3.21.1 at minimum installed on your host. + +# Creator configuration + +3.1 Ensure your installed Qt for QNX are detected: + Preferences | Kits | Qt Versions should list installed versions. + Preferences | Kits | Kits should list installed kits (won't be used!). + If not, try: Preferences | Kits | Qt Versions | Link with Qt... + and point to the installed Qt for QNX master dir. +3.2 Create QNX device, pointing to the IP address from 1.1: + Preferences | Devices | Add | QNX Device +3.3 Run device Test - it should already pass. +3.4 Ensure the right "Access via" value for the created QNX device: + it should be: Direct (not Local PC). +3.4 Add QNX SDK: + Preferences | SDKs | QNX | Add... + Point into ~/qnx/qnx710-windows-linux-20240417/qnx710/qnxsdp-env.sh + This should fill the QNX page with content and you should see 3 new buttons: + Create Kit for aarch64le, Create Kit for x86_64 and Create Kit for armle-v7. +3.5 Create a kit: press one of the buttons from the previous point. + Ensure it matches the architecture of the remote device. + You won't see any feedback, but when you switch to the Kits | Kits tab, + you should see a new kit created. +3.6 It might happen that the created kit doesn't have matching + compiler/debugger/Qt version selected. Ensure they have something like: + Compiler: QCC for x86_64 - qnx7 (64-bit ARM) + Debugger: Debugger for QNX 7.1.0 ARMv8 + Qt version: Qt 6.8.2 for QNX 7.1 ARMv8 + +# Create a qnx project + +4.1 Try creating a new project: + File | New Project... | Application (Qt) | Qt Console Application + and select the Kit created in point 3.5 +4.2 Go to project run settings and fill up the "Alternate executable on device:" field. + Check "Use this command instead" on the right side first to enable the line. + Fill it with "/tmp/bin/[your_target_name]" by typing. + This should match the table in the "Deployment" section above. + Don't worry that it stays red, indicating it's not an existing path. +4.3 The project should build, deploy and run on remote now. + From 57167ccf02c61e73919be05562d9a3d8ac2ddd44 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 11 Mar 2025 13:30:14 +0100 Subject: [PATCH 04/15] Doc: Fix Vale warnings Vale sometimes cannot tell the difference between acceptable use of an apostrophe (to form the possessive case of a noun) and some discouraged uses, such as putting an apostrophe after an abbreviation or a word that could be a verb. Change-Id: Id85dcbf0565c863bf9eed1eb9f6b5c99c1f3a006 Reviewed-by: Jerome Pasion --- .../src/debugger/creator-only/creator-debugger-settings.qdoc | 2 +- doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc | 2 +- .../src/editors/creator-only/creator-cpp-quick-fixes.qdoc | 4 ++-- doc/qtcreator/src/vcs/creator-vcs-git.qdoc | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdoc index 71fc6cbf414..a7ddfd10c17 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger-settings.qdoc @@ -240,7 +240,7 @@ \li \uicontrol {Use CDB console} \li If a console application does not start up properly in the configured console and the subsequent attach fails, diagnose the issue by - using CDB's native console. Select this checkbox to override the + using the native CDB console. Select this checkbox to override the console set in the Windows system environment variables. Note that the native console does not prompt on application exit. \row diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc index 3f1cebc49ac..aa30b21d381 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc @@ -282,7 +282,7 @@ If a console application does not start up properly in the configured console and the subsequent attach fails, you can diagnose the issue by - using CDB's native console. Go to \preferences > + using the native CDB console. Go to \preferences > \uicontrol Debugger > \uicontrol CDB > \uicontrol {Use CDB console} to override the console set in the Windows system environment variables. Note that the native console does not prompt on application exit. diff --git a/doc/qtcreator/src/editors/creator-only/creator-cpp-quick-fixes.qdoc b/doc/qtcreator/src/editors/creator-only/creator-cpp-quick-fixes.qdoc index 011ea869b2e..7ce6de9a9e1 100644 --- a/doc/qtcreator/src/editors/creator-only/creator-cpp-quick-fixes.qdoc +++ b/doc/qtcreator/src/editors/creator-only/creator-cpp-quick-fixes.qdoc @@ -461,7 +461,7 @@ \inlineimage icons/refactormarker.png \row \li Convert Function Call to Qt Meta-Method Invocation - \li Converts an invokable function call into a meta method + \li Converts an invocable function call into a meta method invocation. This applies to signals and slots in general, as well as functions explicitly marked with \c Q_INVOKABLE. For example, for the following class: @@ -499,7 +499,7 @@ } \endcode - The quick fix also works on invokable methods outside the class that are + The quick fix also works on invocable methods outside the class that are visible from the location where they are called from. For example, it rewrites diff --git a/doc/qtcreator/src/vcs/creator-vcs-git.qdoc b/doc/qtcreator/src/vcs/creator-vcs-git.qdoc index e422b7b3e1d..9ad8d396a78 100644 --- a/doc/qtcreator/src/vcs/creator-vcs-git.qdoc +++ b/doc/qtcreator/src/vcs/creator-vcs-git.qdoc @@ -369,7 +369,7 @@ \li \l {git branch} \row \li \uicontrol {Copy } - \li Copy the commit's to the clipboard. + \li Copy the commit to the clipboard. \li \row \li \uicontrol {Describe Change } @@ -1005,7 +1005,7 @@ In the \uicontrol {Git Branches} view, right-click a remote branch, and then select a merge option in the context menu. If the commit you are merging - can be reached by following the first commit's history, there is no divergent + can be reached by following the history of the first commit, there is no divergent work to merge together. To allow Git to move the branch pointer forward, select \uicontrol {Merge into (Fast-Forward)}. If you do not want to fast-forward the branch, select From 68cf4721320c1ff3e8b609266181e4652775de60 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 12 Mar 2025 13:46:20 +0100 Subject: [PATCH 05/15] Extend the information on testing Boot to Qt support Change-Id: If272c564f96b563e207fcc267461937bfa44170d Reviewed-by: hjk --- tests/manual/boot2qt/README.md | 63 ++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 10 deletions(-) diff --git a/tests/manual/boot2qt/README.md b/tests/manual/boot2qt/README.md index b41810f4af2..b152a07fc5b 100644 --- a/tests/manual/boot2qt/README.md +++ b/tests/manual/boot2qt/README.md @@ -1,6 +1,49 @@ +# Testing Boot2Qt with the Hardware Pool +## Installing the Requirements -### Testing Boot2Qt setup without hardware ### +On macOS, you need to have Docker Desktop installed, including the Docker CLI. + +Install the Boot to Qt Software Stack for the Qt version and device hardware +that you want to test with the Qt Online Installer + +On macOS, the installer might complain about not being able to run docker. +If that is the case, copy the command line from the dialog into a Terminal +with the Docker CLI in PATH and execute it manually. Choose `Ignore` in the +installer dialog when ready. + +## Reserving a Device + +Log into https://hw-controller.qt.io/ with your Qt Account. Choose the +appropriate device hardware, select the Qt version that matches what you +installed with the Qt Online Installer, state a reason for your device use, +choose a reservation duration, and select `Reserve`. + +The device is then provisioned and booted. When ready, make note of the device +IP address. + +## Configuring Qt Creator + +Start Qt Creator, open the device options, and add a `Boot to Qt Device`. +Give it a name, and provide the IP that you noted when reserving the device. +The user is `root`. + +Now you can open or create a project, select the corresponding Boot to Qt kit, +and build, run & debug. + +While an application is running on the device, you can use a VNC[^vnc] viewer to +connect to the apps UI with the device's IP. + +[^vnc]: The creation of the VNC connection depends on setting + `QT_QPA_PLATFORM=vnc` in `/etc/default/qt` on the device. That should + be enabled by default for devices created with the web interface. + +## Releasing the Device + +When you are finished with testing, release the reservation of the device +in the web interface. + +# Testing Boot2Qt setup without hardware ### It is possible to test Boot2Qt without hardware on a plain Linux host system. @@ -8,12 +51,12 @@ Note: You need an ssh-accessible "root" user on the machine, open X access, and must be willing to use it. This is not meant for production environments! -# Prepare your machine +## Prepare your machine ssh-copy-id -i ~/.ssh/id_??????.pub root@localhost xhost + -# Get appcontroller source and build +## Get appcontroller source and build git clone ssh://codereview.qt-project.org/qt-apps/boot2qt-appcontroller @@ -21,12 +64,12 @@ cd boot2qt-appcontroller /path/to/qt-base/bin/qt-cmake ... ninja ... -# Copy binary to "proper" location +## Copy binary to "proper" location sudo ln -s `pwd`/appcontroller /usr/bin/appcontroller -# Set up "Boot to Qt" Device in Creator +## Set up "Boot to Qt" Device in Creator Ensure the "Boot to Qt" plugin is enabled @@ -36,7 +79,7 @@ Device Address: 127.0.0.1 Press "Apply" -# Create a suitable Kit +## Create a suitable Kit Clone your standard kit for normal local work Change the "Run Device" to LocalHostForBoot2Qt @@ -46,11 +89,11 @@ Press "Apply" The kit will have a warning the "Device type is not supported by Qt version" - that's ok. -# Create a test project +## Create a test project File -> New Project -> Qt Quick Application -# Tweak project settings +## Tweak project settings Deployment method: "Deploy to Boot to Qt Target" @@ -60,12 +103,12 @@ Run Environment: Add LD_LIBRARY_PATH=/path/to/qt-base/lib "Executable on Device" may be red at that stage, it shold get black after a successful build -# Build +## Build Ctrl-B -# Test +## Test At that stage, the program should be runnable, debuggable (C++, QML, and combined QML/C++), and Qml-Profilable From 954d7fc3bc867f0ba394687a8f7341e54e91e865 Mon Sep 17 00:00:00 2001 From: Lukasz Papierkowski Date: Wed, 12 Mar 2025 12:04:28 +0100 Subject: [PATCH 06/15] Lua: Add viewportMargins option for supported widgets Change-Id: If4d6110bd382d459f0e59adcb3159da0f83cea18 Reviewed-by: Eike Ziller Reviewed-by: Marcus Tillmanns --- src/libs/utils/layoutbuilder.cpp | 5 +++++ src/libs/utils/layoutbuilder.h | 1 + src/plugins/lua/bindings/gui.cpp | 7 +++++++ src/plugins/lua/meta/gui.lua | 1 + 4 files changed, 14 insertions(+) diff --git a/src/libs/utils/layoutbuilder.cpp b/src/libs/utils/layoutbuilder.cpp index 517e2803467..236c2db7ead 100644 --- a/src/libs/utils/layoutbuilder.cpp +++ b/src/libs/utils/layoutbuilder.cpp @@ -1134,6 +1134,11 @@ void MarkdownBrowser::setEnableCodeCopyButton(bool enable) access(this)->setEnableCodeCopyButton(enable); } +void MarkdownBrowser::setViewportMargins(int left, int top, int right, int bottom) +{ + access(this)->setMargins(QMargins(left, top, right, bottom)); +} + // Special If If::If( diff --git a/src/libs/utils/layoutbuilder.h b/src/libs/utils/layoutbuilder.h index 651166a4f0d..824f3904b27 100644 --- a/src/libs/utils/layoutbuilder.h +++ b/src/libs/utils/layoutbuilder.h @@ -460,6 +460,7 @@ public: void setMarkdown(const QString &); void setBasePath(const Utils::FilePath &); void setEnableCodeCopyButton(bool enable); + void setViewportMargins(int left, int top, int right, int bottom); }; // Special diff --git a/src/plugins/lua/bindings/gui.cpp b/src/plugins/lua/bindings/gui.cpp index 02fa73f7647..3d9e4a80a98 100644 --- a/src/plugins/lua/bindings/gui.cpp +++ b/src/plugins/lua/bindings/gui.cpp @@ -115,6 +115,7 @@ CREATE_HAS_FUNC(setFixedSize, QSize()) CREATE_HAS_FUNC(setVisible, bool()) CREATE_HAS_FUNC(setIcon, Utils::Icon()); CREATE_HAS_FUNC(setContentsMargins, int(), int(), int(), int()); +CREATE_HAS_FUNC(setViewportMargins, int(), int(), int(), int()); CREATE_HAS_FUNC(setCursor, Qt::CursorShape()) CREATE_HAS_FUNC(setMinimumWidth, int()); CREATE_HAS_FUNC(setEnableCodeCopyButton, bool()); @@ -128,6 +129,12 @@ void setProperties(std::unique_ptr &item, const sol::table &children, QObject item->setContentsMargins(margins->left(), margins->top(), margins->right(), margins->bottom()); } + if constexpr (has_setViewportMargins) { + sol::optional margins = children.get>("viewportMargins"sv); + if (margins) + item->setViewportMargins(margins->left(), margins->top(), margins->right(), margins->bottom()); + } + if constexpr (has_setCursor) { const auto cursor = children.get>("cursor"sv); if (cursor) diff --git a/src/plugins/lua/meta/gui.lua b/src/plugins/lua/meta/gui.lua index adfd7676df1..e74a4fe31c9 100644 --- a/src/plugins/lua/meta/gui.lua +++ b/src/plugins/lua/meta/gui.lua @@ -232,6 +232,7 @@ local markdownBrowser = {} ---@class (exact) MarkdownBrowserOptions : WidgetOptions ---@field enableCodeCopyButton? boolean Enable or disable the code copy button +---@field viewportMargins? integer[] Four integers representing left, top, right and bottom margins local markdownBrowserOptions = {} ---@param options MarkdownBrowserOptions From 0fe56faaf9aeb9b541056903bb96c2b8a20529f3 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 13 Mar 2025 06:43:37 +0100 Subject: [PATCH 07/15] ScreenRecorder: Move function into its needed scope Silences a warning for release build. Amends 200074c4ac59f223bdf72d7f6fe68146e7327dbe. Change-Id: Ie657621b0334efd73655e6c15f96335ab75116ec Reviewed-by: Alessandro Portale --- src/plugins/screenrecorder/ffmpegutils.cpp | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/plugins/screenrecorder/ffmpegutils.cpp b/src/plugins/screenrecorder/ffmpegutils.cpp index 419e558ae28..1ebff41e45a 100644 --- a/src/plugins/screenrecorder/ffmpegutils.cpp +++ b/src/plugins/screenrecorder/ffmpegutils.cpp @@ -137,18 +137,6 @@ bool CropSizeWarningIcon::needsWarning() const namespace FFmpegUtils { -static QVersionNumber parseVersionNumber(const QByteArray &toolOutput) -{ - QVersionNumber result; - const QJsonObject jsonObject = QJsonDocument::fromJson(toolOutput).object(); - if (const QJsonObject program_version = jsonObject.value("program_version").toObject(); - !program_version.isEmpty()) { - if (const QJsonValue version = program_version.value("version"); !version.isUndefined()) - result = QVersionNumber::fromString(version.toString()); - } - return result; -} - static ClipInfo parseClipInfo(const QByteArray &toolOutput) { ClipInfo result; @@ -248,6 +236,18 @@ using namespace ScreenRecorder::FFmpegUtils; namespace ScreenRecorder::Internal { +static QVersionNumber parseVersionNumber(const QByteArray &toolOutput) +{ + QVersionNumber result; + const QJsonObject jsonObject = QJsonDocument::fromJson(toolOutput).object(); + if (const QJsonObject program_version = jsonObject.value("program_version").toObject(); + !program_version.isEmpty()) { + if (const QJsonValue version = program_version.value("version"); !version.isUndefined()) + result = QVersionNumber::fromString(version.toString()); + } + return result; +} + void FFmpegOutputParserTest::testVersionParser_data() { QTest::addColumn("ffprobeVersionOutput"); From 08a5cacab1a2ccebc45ce8b477ff5bbbdeb6202e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 11 Mar 2025 09:34:14 +0100 Subject: [PATCH 08/15] QmlProjectManager: Silence soft assert Change-Id: Id0963ab0cc8437ff367ec146407c2055acbe4840 Reviewed-by: hjk --- src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 5c606e1a8a6..390499e569c 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -78,6 +78,7 @@ private: QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target, Id id) : RunConfiguration(target, id) { + setUsesEmptyBuildKeys(); qmlViewer.setSettingsKey(Constants::QML_VIEWER_KEY); qmlViewer.setLabelText(Tr::tr("Override device QML viewer:")); qmlViewer.setPlaceHolderText(qmlRuntimeFilePath().toUserOutput()); From 1807c398aac0819c9fc28539fe8683080d62dcf9 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 6 Mar 2025 11:37:38 +0100 Subject: [PATCH 09/15] Debugger: Fix marking values as changed Correctly update the cache before handling new information to be able to display different colors for values to mark them as unchanged or changed. Fixes: QTCREATORBUG-29344 Change-Id: I1af9da4947d544248e5217f4e53f6f4f1c598bda Reviewed-by: hjk --- src/plugins/debugger/qml/qmlengine.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index b1f358509de..4ca1ed05358 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -1228,6 +1228,7 @@ void QmlEnginePrivate::handleEvaluateExpression(const QVariantMap &response, QVariant bodyVal = response.value(BODY).toMap(); QmlV8ObjectData body = extractData(bodyVal); WatchHandler *watchHandler = engine->watchHandler(); + watchHandler->resetValueCache(); auto item = new WatchItem; item->iname = iname; From a88612b972846062ee317c446c265f5f2c6acf3d Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 13 Mar 2025 17:47:33 +0100 Subject: [PATCH 10/15] Android: Update NDK and Debugger version per Qt version table Include Qt 6.9, which like 6.7 and 6.8 uses NDK 26.1.10909125 Change-Id: I60a1be8b3340beab55801ca9bafd0a8e7d6db07d Reviewed-by: Jarek Kobus --- src/plugins/android/androidconfigurations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 6beebd8faaa..317ae8dac5d 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -69,7 +69,7 @@ Suggested NDK and Debugger version per Qt version: | 5.15.9 - 5.15.16 | 6.2 - 6.3 | 22.1.7171670 | 8.3.0 | 11.0.5 | | | 6.4 | 23.1.7779620 | 8.3.0 | 12.0.8 | | | 6.5 - 6.6 | 25.1.8937393 | | 14.0.6 | -| | 6.7 - 6.8 | 26.1.10909125 | | 17.0.2 | +| | 6.7 - 6.9 | 26.1.10909125 | | 17.0.2 | < Qt 6.5: Mapping read from sdk_definitions.json >= Qt 6.5: Mapping read from /modules/Core.json From ecf741310a688ed17a72ce6c657097eb7052b0a7 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 13 Mar 2025 20:03:35 +0200 Subject: [PATCH 11/15] Bump version to 16.0.1 Change-Id: I4aa283f04d413802965ddddbaa2affbb3cc66c7a Reviewed-by: Eike Ziller --- cmake/QtCreatorIDEBranding.cmake | 4 ++-- qbs/modules/qtc/qtc.qbs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/QtCreatorIDEBranding.cmake b/cmake/QtCreatorIDEBranding.cmake index c0b47d60cca..893bb758fa2 100644 --- a/cmake/QtCreatorIDEBranding.cmake +++ b/cmake/QtCreatorIDEBranding.cmake @@ -1,6 +1,6 @@ -set(IDE_VERSION "16.0.0") # The IDE version. +set(IDE_VERSION "16.0.1") # The IDE version. set(IDE_VERSION_COMPAT "16.0.0") # The IDE Compatibility version. -set(IDE_VERSION_DISPLAY "16.0.0") # The IDE display version. +set(IDE_VERSION_DISPLAY "16.0.1") # The IDE display version. set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation. set(IDE_DISPLAY_NAME "Qt Creator") # The IDE display name. diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index a619b8f7892..8519fe2a84f 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -4,10 +4,10 @@ import qbs.FileInfo import qbs.Utilities Module { - property string qtcreator_display_version: '16.0.0' + property string qtcreator_display_version: '16.0.1' property string ide_version_major: '16' property string ide_version_minor: '0' - property string ide_version_release: '0' + property string ide_version_release: '1' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release From 8aafdf86e0f5c8f05a08e4db76fafe8911a8f622 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 14 Mar 2025 14:23:32 +0100 Subject: [PATCH 12/15] RunControl: Don't continue to run when the device is missing In case when ports gatherer is used. This fixes the crash in QmlProfilerToolTest". Amends cf8d10877376b930e57a6a3b056446a4c9de99a6 Change-Id: I94a9124a4004d0b6fa7143f7339d8232a0c88467 Reviewed-by: hjk --- src/plugins/projectexplorer/runcontrol.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index c345afc82a6..d2ce723f6fc 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -594,7 +594,7 @@ void RunControlPrivate::startPortsGathererIfNeededAndContinueStart() return; } - QTC_ASSERT(device, continueStart(); return); + QTC_ASSERT(device, initiateStop(); return); const Storage portsStorage; From e25ce3d59706ff6bbb9b667e1256f1199c4e5fae Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 12 Mar 2025 12:09:41 +0100 Subject: [PATCH 13/15] Theme: Mark some widgets as panel widget Task-number: QTCREATORBUG-31845 Change-Id: Ia6929bd75a8ee0e48d0b0293f5e65dc9f1485972 Reviewed-by: Alessandro Portale --- src/plugins/debugger/console/console.cpp | 2 ++ src/plugins/debugger/enginemanager.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/plugins/debugger/console/console.cpp b/src/plugins/debugger/console/console.cpp index 56e3da94d73..f16cb27c0ab 100644 --- a/src/plugins/debugger/console/console.cpp +++ b/src/plugins/debugger/console/console.cpp @@ -12,6 +12,7 @@ #include #include +#include #include #include @@ -119,6 +120,7 @@ Console::Console() m_spacer->setMinimumWidth(30); m_statusLabel = new QLabel(m_consoleWidget); + StyleHelper::setPanelWidget(m_statusLabel); readSettings(); connect(Core::ICore::instance(), &Core::ICore::saveSettingsRequested, diff --git a/src/plugins/debugger/enginemanager.cpp b/src/plugins/debugger/enginemanager.cpp index 5cb00e1a76a..2f4dc97fd2c 100644 --- a/src/plugins/debugger/enginemanager.cpp +++ b/src/plugins/debugger/enginemanager.cpp @@ -14,6 +14,7 @@ #include #include +#include #include #include @@ -138,6 +139,7 @@ public: { m_proxyModel->setSourceModel(sourceModel); + StyleHelper::setPanelWidget(m_engineChooser); m_engineChooser->setModel(m_proxyModel); m_engineChooser->setIconSize(QSize(0, 0)); if (hideSwitcherUnlessNeeded) From b1f8fb166007b26907c1669238364a70b500c2cf Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 5 Mar 2025 09:58:03 +0100 Subject: [PATCH 14/15] Debugger: Fix memory stack layout This piece of code vanished during the big refactoring. Fixes: QTCREATORBUG-32542 Change-Id: I8fae3f3a8e0ab2e4951f52d1377987f8ad01e358 Reviewed-by: hjk --- share/qtcreator/debugger/cdbbridge.py | 2 +- share/qtcreator/debugger/dumper.py | 2 ++ share/qtcreator/debugger/gdbbridge.py | 1 + share/qtcreator/debugger/lldbbridge.py | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/debugger/cdbbridge.py b/share/qtcreator/debugger/cdbbridge.py index afb757ff421..c3ca2287b0a 100644 --- a/share/qtcreator/debugger/cdbbridge.py +++ b/share/qtcreator/debugger/cdbbridge.py @@ -130,7 +130,7 @@ class Dumper(DumperBase): val.typeid = self.from_native_type(nativeValue.type()) val.nativeValue = nativeValue val.laddress = nativeValue.address() - val.lbitsize = nativeValue.bitsize() + val.size = nativeValue.bitsize() return val def nativeTypeId(self, nativeType: cdbext.Type) -> str: diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 8ef403e829d..73ef602e9d8 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -3004,6 +3004,8 @@ typename)) return self.putAddress(value.address()) + if value.size is not None: + self.putField('size', value.size // 8) if typecode == TypeCode.Function: #self.warn('FUNCTION VALUE: %s' % value) diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py index 8cbb1ba6e3a..5b2de6e5fce 100644 --- a/share/qtcreator/debugger/gdbbridge.py +++ b/share/qtcreator/debugger/gdbbridge.py @@ -276,6 +276,7 @@ class Dumper(DumperBase): val.typeid = typeid #elif code == gdb.TYPE_CODE_ARRAY: # val.type.ltarget = nativeValue[0].type.unqualified() + val.size = nativeType.sizeof * 8 return val def nativeDataFromValueFallback(self, nativeValue, size): diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index c90c1327c48..2d15bae92ab 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -207,6 +207,7 @@ class Dumper(DumperBase): val.summary = summary val.lIsInScope = nativeValue.IsInScope() val.name = nativeValue.GetName() + val.size = nativeType.GetByteSize() * 8 return val def nativeListMembers(self, value, nativeType, include_base): From dc576ccaeeed21ca2cc2ee7c4dba5bae11e61b63 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Mon, 17 Mar 2025 11:24:06 +0100 Subject: [PATCH 15/15] Type hierarchy: Sort items alphabetically Change-Id: I5f9ff102d0af569bd32619d170174b0b0c36f3ea Reviewed-by: David Schulz --- src/plugins/languageclient/callandtypehierarchy.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/languageclient/callandtypehierarchy.cpp b/src/plugins/languageclient/callandtypehierarchy.cpp index 71a9558f34e..dc5da0bd61e 100644 --- a/src/plugins/languageclient/callandtypehierarchy.cpp +++ b/src/plugins/languageclient/callandtypehierarchy.cpp @@ -36,6 +36,11 @@ enum { }; } +static bool sorter(const TreeItem *a, const TreeItem *b) +{ + return a->data(0, Qt::DisplayRole).toString() < b->data(0, Qt::DisplayRole).toString(); +} + template class HierarchyItem : public TreeItem { @@ -102,7 +107,7 @@ private: if (result && !result->isNull()) { for (const Result &item : result->toList()) { if (item.isValid()) - appendChild(new HierarchyItem(getSourceItem(item), m_client)); + insertOrderedChild(new HierarchyItem(getSourceItem(item), m_client), sorter); } } });