diff --git a/dist/changes-4.13.0.md b/dist/changes-4.13.0.md index c9d7affb569..54641e2b4f6 100644 --- a/dist/changes-4.13.0.md +++ b/dist/changes-4.13.0.md @@ -52,6 +52,7 @@ Editing * Fixed sorting in completion (QTCREATORBUG-6242) * Fixed that find usages was finding function arguments when searching functions (QTCREATORBUG-2176) * Fixed crash in lexer (QTCREATORBUG-19525) +* Fixed handling of incomplete macro invocations (QTCREATORBUG-23881) ### Language Client @@ -63,6 +64,7 @@ Editing ### QML * Added support for moving functions in outline (QTCREATORBUG-21993) +* Added support for required list properties (QTBUG-85716) * Fixed issues with Qt 5.15 imports * Fixed updating of outline (QTCREATORBUG-21335) * Fixed resolution of easing curve (QTCREATORBUG-24142) @@ -72,6 +74,10 @@ Editing * Added tool button for opening interactive Python, optionally importing current file * Fixed highlighting of parentheses +### Generic Highlighter + +* Updated to KSyntaxHighlighter 5.73.0 + ### Diff Viewer * Added option to select encoding (QTCREATORBUG-23835) @@ -124,6 +130,11 @@ Debugging * Added option to reset all formats for watches to default * Added option to override sysroot setting when starting or attaching to external application +* Fixed crash when removing all breakpoints of a file (QTCREATORBUG-24306) + +### CDB + +* Fixed that valid expressions sometimes were `` (QTCREATORBUG-24108) Analyzer -------- @@ -142,6 +153,7 @@ Version Control Systems * Added option to open `git-bash` (Windows, `Tools` > `Git` > `Git Bash`) * Added colors to log (QTCREATORBUG-19624) +* Fixed that adding new files was also staging their content (QTCREATORBUG-23441) Test Integration ---------------- @@ -154,6 +166,7 @@ Code Pasting ------------ * Added option for public or private pastes (QTCREATORBUG-23972) +* Fixed fetching from DPaste Platforms --------- @@ -169,7 +182,14 @@ Platforms * Added splash screen editor to manifest editor (QTCREATORBUG-24011, QTCREATORBUG-24013) * Fixed QML debugging and profiling (QTCREATORBUG-24155) * Fixed debugging on x86 and armv7 architectures (QTCREATORBUG-24191) +* Fixed debugging on emulator (QTCREATORBUG-23291) * Fixed issue with long kit names (QTBUG-83875) +* Fixed display of logcat (QTCREATORBUG-23177, QTCREATORBUG-23919) +* Fixed detection of Android Studio's JDK on Windows + +### iOS + +* Fixed slow debugger startup on devices (QTCREATORBUG-21682) ### Bare Metal @@ -181,12 +201,14 @@ Platforms Credits for these changes go to: -------------------------------- +Aaron Barany Aleksei German Alessandro Portale Alexis Jeandet Alexis Murzeau Andre Hartmann André Pönitz +Artur Shepilko Assam Boudjelthia Christian Kamm Christian Kandeler @@ -195,7 +217,9 @@ Cristian Adam David Schulz Denis Shienkov Eike Ziller +Fawzi Mohamed Federico Guerinoni +Friedemann Kleint Henning Gruendl Ivan Komissarov Jaroslaw Kobus @@ -210,6 +234,7 @@ Leena Miettinen Mahmoud Badri Marco Bubke Michael Brüning +Michael Weghorn Michael Winkelmann Miikka Heikkinen Mitch Curtis @@ -218,14 +243,18 @@ Oliver Wolff Or Kunst Orgad Shaneh Philip Van Hoof +Richard Weickelt Robert Löhning Tarja Sundqvist Thiago Macieira Thomas Hartmann Tim Jenssen Tobias Hunger +Ulf Hermann Unseon Ryu +Venugopal Shivashankar Viacheslav Tertychnyi +Vikas Pachdha Ville Nummela Ville Voutilainen Volodymyr Zibarov diff --git a/doc/qtcreator/config/qtcreator-project.qdocconf b/doc/qtcreator/config/qtcreator-project.qdocconf index 96559fbdf46..75e09636d59 100644 --- a/doc/qtcreator/config/qtcreator-project.qdocconf +++ b/doc/qtcreator/config/qtcreator-project.qdocconf @@ -57,7 +57,8 @@ depends += qtandroidextras\ qtsensors \ qttestlib \ qtuitools \ - qtxml + qtxml \ + qtlocation include(../../config/macros.qdocconf) include(../../config/qt-cpp-ignore.qdocconf) diff --git a/doc/qtcreator/images/icons/download-icon.png b/doc/qtcreator/images/icons/download-icon.png deleted file mode 100644 index 59de1e81e99..00000000000 Binary files a/doc/qtcreator/images/icons/download-icon.png and /dev/null differ diff --git a/doc/qtcreator/images/qtcreator-android-build-steps.png b/doc/qtcreator/images/qtcreator-android-build-steps.png index 635ac58dddb..55b22b25342 100644 Binary files a/doc/qtcreator/images/qtcreator-android-build-steps.png and b/doc/qtcreator/images/qtcreator-android-build-steps.png differ diff --git a/doc/qtcreator/images/qtcreator-android-deploy-configurations.png b/doc/qtcreator/images/qtcreator-android-deploy-configurations.png index b19e032baab..a2b8faaf34b 100644 Binary files a/doc/qtcreator/images/qtcreator-android-deploy-configurations.png and b/doc/qtcreator/images/qtcreator-android-deploy-configurations.png differ diff --git a/doc/qtcreator/images/qtcreator-android-manifest-editor.png b/doc/qtcreator/images/qtcreator-android-manifest-editor.png index ef8af6cc783..a9f7d2672ff 100644 Binary files a/doc/qtcreator/images/qtcreator-android-manifest-editor.png and b/doc/qtcreator/images/qtcreator-android-manifest-editor.png differ diff --git a/doc/qtcreator/images/qtcreator-android-sdk-manager.png b/doc/qtcreator/images/qtcreator-android-sdk-manager.png index 4ef61fdf176..4894e9bd993 100644 Binary files a/doc/qtcreator/images/qtcreator-android-sdk-manager.png and b/doc/qtcreator/images/qtcreator-android-sdk-manager.png differ diff --git a/doc/qtcreator/images/qtcreator-custom-parser-list.png b/doc/qtcreator/images/qtcreator-custom-parser-list.png new file mode 100644 index 00000000000..5446372e66f Binary files /dev/null and b/doc/qtcreator/images/qtcreator-custom-parser-list.png differ diff --git a/doc/qtcreator/images/qtcreator-custom-parser-options.png b/doc/qtcreator/images/qtcreator-custom-parser-options.png new file mode 100644 index 00000000000..25fbf3b5acf Binary files /dev/null and b/doc/qtcreator/images/qtcreator-custom-parser-options.png differ diff --git a/doc/qtcreator/images/qtcreator-custom-parser.png b/doc/qtcreator/images/qtcreator-custom-parser.png index ea300583aaf..0b25f929728 100644 Binary files a/doc/qtcreator/images/qtcreator-custom-parser.png and b/doc/qtcreator/images/qtcreator-custom-parser.png differ diff --git a/doc/qtcreator/images/qtcreator-incredibuild-build-steps-general.png b/doc/qtcreator/images/qtcreator-incredibuild-build-steps-general.png new file mode 100644 index 00000000000..44be472332c Binary files /dev/null and b/doc/qtcreator/images/qtcreator-incredibuild-build-steps-general.png differ diff --git a/doc/qtcreator/images/qtcreator-incredibuild-build-steps-linux.png b/doc/qtcreator/images/qtcreator-incredibuild-build-steps-linux.png new file mode 100644 index 00000000000..a4849b51a76 Binary files /dev/null and b/doc/qtcreator/images/qtcreator-incredibuild-build-steps-linux.png differ diff --git a/doc/qtcreator/images/qtcreator-incredibuild-build-steps-windows.png b/doc/qtcreator/images/qtcreator-incredibuild-build-steps-windows.png new file mode 100644 index 00000000000..c9767fe860e Binary files /dev/null and b/doc/qtcreator/images/qtcreator-incredibuild-build-steps-windows.png differ diff --git a/doc/qtcreator/images/qtcreator-options-android-main.png b/doc/qtcreator/images/qtcreator-options-android-main.png index a3f12902fcc..4a2c09dd8b5 100644 Binary files a/doc/qtcreator/images/qtcreator-options-android-main.png and b/doc/qtcreator/images/qtcreator-options-android-main.png differ diff --git a/doc/qtcreator/images/qtcreator-options-android-sdk-tools.png b/doc/qtcreator/images/qtcreator-options-android-sdk-tools.png index 09a4b7dc0db..966e3707a04 100644 Binary files a/doc/qtcreator/images/qtcreator-options-android-sdk-tools.png and b/doc/qtcreator/images/qtcreator-options-android-sdk-tools.png differ diff --git a/doc/qtcreator/images/qtquick-transition-editor-settings.png b/doc/qtcreator/images/qtquick-transition-editor-settings.png new file mode 100644 index 00000000000..6fb41716127 Binary files /dev/null and b/doc/qtcreator/images/qtquick-transition-editor-settings.png differ diff --git a/doc/qtcreator/images/qtquick-transition-editor-view.png b/doc/qtcreator/images/qtquick-transition-editor-view.png new file mode 100644 index 00000000000..406b540135f Binary files /dev/null and b/doc/qtcreator/images/qtquick-transition-editor-view.png differ diff --git a/doc/qtcreator/src/android/androiddev.qdoc b/doc/qtcreator/src/android/androiddev.qdoc index 6af2926a080..2aa36b9f839 100644 --- a/doc/qtcreator/src/android/androiddev.qdoc +++ b/doc/qtcreator/src/android/androiddev.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -34,18 +34,22 @@ \title Connecting Android Devices - You can connect Android devices to the development PC to build, run, debug, - and analyze applications from \QC. Devices with Android - version 4.1 (API level 16) or later are supported. + You can connect Android devices to the development PC using USB cables + to build, run, debug, and analyze applications from \QC. Devices with + Android version 4.1 (API level 16) or later are supported. - If you have a tool chain for building applications for Android devices - installed on the development PC, you can add it to \QC. You can then add a - \l{glossary-buildandrun-kit}{kit} - with the tool chain, and the Qt version for Android for the device's architecture, - to build applications for and run them on Android devices. Starting from Qt 5.14.0, - Qt for Android package contains all the architectures (ABIs) installed as one. - You can also allow \QC to automatically create kits for installed Qt version - and tool chains. + To develop for Android, you must have a tool chain for building applications + for Android devices installed on the development PC. \QC can automatically + dowload and install the tool chain and create a suitable build and run + \l{glossary-buildandrun-kit}{kit} that contains the tool chain and the Qt + version for Android for the device's architecture. + + Starting from Qt 5.14.0, the Qt for Android package contains all the + architectures (ABIs) installed as one. + + \note You can build a 64-bit version of Qt for Android yourself. However, + for such a Qt version, the minimum required Android version on devices + is 5.0 (API level 21). For more information, see \l{Qt for Android}. The Android Debug Bridge (adb) command line tool is integrated to \QC to enable you to deploy applications to connected Android devices, to run @@ -54,271 +58,139 @@ \section1 Requirements - To use \QC to develop Qt applications for Android, you need the following: + To use \QC to develop Qt applications for Android, you need + \l{Qt for Android} 5.2, or later, and the tool chain that \QC + can automatically download, install, and configure for you. + For more information, see \l{Installing the Prerequisites}. + + \section1 Specifying Android Device Settings + + \QC offers to automatically install all the necessary packages and tools and + to set up your development environment by creating debuggers, tool chains, + and kits. You can use \QC to: \list - \li \l{AdoptOpenJDK} for all platforms. You can also use \l{OpenJDK} - on Linux. - - \note Android SDK Tools versions <= 26.x have issues with JDK versions - later than 8. It is recommended to use the latest Command-line SDK Tools. - - \li \l{http://www.gradle.org}{Gradle} for building application packages - (APK) and app bundles (AAB) for Android devices. Gradle is delivered - with Qt 5.9, and later, because Gradle scripts are not delivered - with Android SDK tools since version 26.0.0. - - \note Using Ant to build APKs is no longer supported. - - \li \l{http://developer.android.com/sdk/index.html}{Android SDK Tools} - - The following Android SDK packages and tools are required for - development: - - \list - \li Platform tools - \li Build tools - \li At least one SDK platform - \li The \l{http://developer.android.com/tools/sdk/ndk/index.html} - {Android NDK} from Google that provides the tool chain for - building applications for Android devices. For a detailed - list of Qt versions and their recommended NDK versions, - see \l{https://doc-snapshots.qt.io/qt5-5.14/android-getting-started.html} - {The Android NDK}. - \endlist - - \li On Windows, you also need the Android Debug Bridge (ADB) driver - on the Windows platform to enable USB debugging. The default USB - driver on Windows does not allow debugging. For more information - about installing ADB, see \l {ADB windows driver} - {ADB driver installation}. + \li Download and extract the Android SDK Command-line Tools. + \li Install or update the essential packages such as NDKs, + build tools, and platform tools. \endlist - \section1 Setting Up the Development Environment - - To build Android applications with Qt, install Qt for Android 5.2, or later. - - \note You can build a 64-bit version of Qt for Android yourself. However, - for such a Qt version, the minimum required Android version on devices - is 5.0 (API level 21). - - For more information, see \l{Qt for Android}. - - Download and install the latest Android SDK, and then install - or update the NDKs, tools and packages needed for development. - - Starting from \QC 4.12, \QC offers to automatically set up your Android - environment and install all the necessary packages and Tools, then - creating debuggers, tool chains, and kits. For more information, - see \l {Specifying Android Device Settings}. - - Alternatively, use the Android SDK command line tools to install - the required packages. In that case, it is recommended to create an - empty folder and extract the downloaded archive into this folder. - - \note The recommended Android SDK Tools version is 25.3.0, or later. The version - 25.2.5, or earlier, can be used but it is not advised because it cannot be - fully integrated with \QC. - - \list - \li Android SDK Tools version 25.3.0, or later - - This allows using the - \l{https://developer.android.com/studio/command-line/sdkmanager.html} - {sdkmanager} command line tool for SDK package management and the - \l{https://developer.android.com/studio/command-line/avdmanager.html} - {avdmanager} tool for Android Virtual Device (AVD) management. - - The sdkmanager will install downloaded packages next to the \c tools - folder that contains all command line tools. You must specify the path - to the folder where you extracted the files as Android SDK location - inside the Android settings. - - To install those packages, use the following command: - - \badcode - ./sdkmanager "platform-tools" "platforms;android-29" "build-tools;29.0.2" "ndk-bundle" - \endcode - - For Qt 5.12.0 to 5.12.5 and Qt 5.13.0 to 5.13.1, the following - should be installed instead: - - \badcode - ./sdkmanager "platform-tools" "platforms;android-29" "build-tools;28.0.2" "ndk;19.2.5345600" - \endcode - - \target ADB windows driver - Under Windows, Google's USB drivers can be installed by running: - - \badcode - sdkmanager.bat "extras;google;usb_driver" - \endcode - - For more information about altenative methods of obtaining the USB - driver, see \l{http://developer.android.com/sdk/win-usb.html}. - After the package installation is complete, install the driver from - \c{/extras/google/usb_driver}. Try running a few basic - \l{http://developer.android.com/tools/help/adb.html}{adb} commands now - and check whether your Android device responds to them. - - \li Android SDK Tools version 25.2.5, or earlier - - If your Qt version is earlier than v5.9, use this SDK tools version. - The SDK tool used to install and update the other SDK tools and packages - depends on the Android SDK Tools version that you have installed: - - Use the - \l{https://developer.android.com/studio/tools/help/android.html} - {android} tool that comes with the SDK Tools package. For example, - on Ubuntu the following command starts the SDK update: - - \code - ./android update sdk - \endcode - - \endlist - - \section2 Specifying Android Device Settings - - To configure connections to Android devices and general Android settings: + To set up the development environment for Android: \list 1 - \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Devices > \uicontrol Android. - \image qtcreator-options-android-main.png "Android options" - \li In the \uicontrol {JDK location} field, set the path to the JDK. + \QC checks the JDK installation and reports errors. - By default, \QC tries to find any valid JDK/OpenJDK installation. - However, if none is found, you must set it manually. Click the - \inlineimage icons/download-icon.png - (\uicontrol Download) button to open the JDK download web page in the - default browser. \QC checks the JDK installation and reports errors. + By default, \QC tries to find a supported \l{AdoptOpenJDK} or + \l{OpenJDK} installation. If none is found, you must set the path + manually. If you don't have a supported JDK installed, select + \inlineimage online.png + to open the JDK download web page in the default browser. - \li In the \uicontrol {Android Settings} group, set the path to the - Android SDK Tools. - - Select \inlineimage reload_gray.png - button to automatically download and extract the Android SDK Tools - to the selected path. This will do the following: - - \list 1 - \li Download and extract the Android SDK Tools. - \li Install or update the essential packages such as NDKs, - build tools, platform tools. - \endlist - - The SDK Tools download URL, the essential packages list, and the - appropriate NDK for each Qt version are defined in a JSON - configuration file. The file is located under the user's \QC - resource folder: - - \badcode - # Linux and macOS - ~/.config/QtProject/qtcreator/android/sdk_definitions.json - - # Windows - C:\Users\Username\AppData\Local\QtProject\qtcreator\android\sdk_definitions.json - \endcode - - For example, the SDK configuration file defines the NDK version 19.2.5345600 - to be used for Qt 5.12.0 to 5.12.5 and Qt 5.13.0 to 5.13.1 versions: - - \badcode - "specific_qt_versions": [ - { - "versions": ["5.12.[0-5]", "5.13.[0-1]"], - "sdk_essential_packages": ["build-tools;28.0.2", "ndk;19.2.5345600"], - "ndk_path": "ndk/19.2.5345600" - } - ] - \endcode - - The latest version of the configuration file that is up-to-date - with the Android SDK and NDK changes is found - \l{https://code.qt.io/cgit/qt-creator/qt-creator.git/plain/share/qtcreator/android/sdk_definitions.json}{here}. - - The installed NDK versions are listed below the SDK path. - The items with a lock icon are versions installed from the SDK Manager, - and can only be modified from the SDK Manager tab. For more information, - see \l{Managing Android SDK Packages}. Custom NDK paths can be manually - added to the global list of NDKs via the \uicontrol Add button. - This creates custom tool chains and debuggers associated to - that NDK, which can be used to create custom kits defined by the user. - - To manually download the SDK Tools, select \inlineimage icons/download-icon.png - to open the SDK or NDK download web page in the default browser. - - The SDK Manager checks the Android NDK and SDK installations, - reports errors, and offers to install the necessary packages. - - \image qtcreator-options-android-sdk-tools.png "Android NDK and SDK checks" + \note We recommended using a 64-bit JDK, because the 32-bit one + might cause issues with \c cmdline-tools, and some packages might + not be listed. + \li In the \uicontrol {Android SDK location} field, set the path to the + folder where you want the \l{Android SDK Command-line Tools} to be + installed. + \li Select \uicontrol {Set Up SDK} to automatically download and extract + the Android SDK Command-line Tools to the selected path. + The SDK Manager checks whether the tool chain is installed. + If packages are missing or updates are needed, the SDK Manager + offers to add or remove those packages. Before taking action, it + prompts you to accept the changes it is about to make. In addition, + it prompts you to accept Google licenses, as necessary. + \li The installed NDK versions are listed below the SDK path. + The locked items were installed by the SDK Manager, + and can only be modified from the \uicontrol {SDK Manager} tab. + For more information, see \l{Managing Android NDK Packages}. \li In the \uicontrol {Android OpenSSL} group, set the path to the prebuilt OpenSSL libraries. For Qt applications that require OpenSSL support, \QC allows to - quickly add the \l{https://marketplace.qt.io/products/android-openssl-support} - {Android OpenSSL support} to your project. For more details, see - \l{Adding External Libraries}. - - Select \inlineimage icons/download-icon.png + quickly add the \l {Android OpenSSL support} to your project. + For more information, see \l{Adding External Libraries}. + \li Select \inlineimage online.png to download the OpenSSL repository to the selected path. If the - automatic download fails, the download web page opens for manual download. - + automatic download fails, the download web page opens for manual + download. \li Select the \uicontrol {Automatically create kits for Android tool chains} check box to allow \QC to create the kits for you. \QC displays a warning if it cannot find a suitable Qt version. - - \li Select \uicontrol File > \uicontrol {New File or Project} > - \uicontrol {Application (Qt Quick)} > - \uicontrol {Qt Quick Application - Empty} > \uicontrol Choose, and - follow the instructions of the wizard to create a project. For more - information, see - \if defined(qtcreator) - \l{Creating Qt Quick Projects}. - \else - \l{Creating UI Prototype Projects}. - \endif - - \li To specify settings for deploying applications to Android, select - \uicontrol Projects > \uicontrol Run for the \uicontrol Android kit, and then select - \uicontrol Details to view the \uicontrol {Deploy configurations}. For more - information about the options you have, see - \l{Deploying Applications to Android Devices}. - - \li Enable debugging on your Android device. - - Debugging is enabled in different ways on different Android devices. - Look for \uicontrol {USB Debugging} under \uicontrol {Developer Options}. On - some devices \uicontrol {Developer Options} is hidden and becomes visible - only when you tap the \uicontrol {Build number} field in \uicontrol Settings > - \uicontrol About several times. For more details, check - \l{https://developer.android.com/studio/debug/dev-options}{Configure on-device developer options}. - - \li Connect the Android device to the development PC with a USB cable. - You might be asked to select a device in the - \l{Selecting Android Devices}{Select Android Devices} dialog. \endlist + \section2 Manual Setup + + \note We recommend that you use the latest Android SDK Command-Line Tools. + Using Android SDK Tools version 25.2.5 or earlier is not supported, because + they cannot be fully integrated with \QC. + + However, if the automatic setup does not meet your needs, you can download + and install Android SDK Command-line Tools, and then install or update the + NDKs, tools and packages needed for development. For more information, see + \l{Getting Started with Qt for Android}. + + \section2 Viewing Android Tool Chain Settings + + The Android SDK Command-Line Tools download URL, the essential + packages list, and the appropriate NDK for each Qt version are defined in a JSON + configuration file. The file is located under the user's \QC + resource folder: + + \badcode + # Linux and macOS + ~/.config/QtProject/qtcreator/android/sdk_definitions.json + + # Windows + C:\Users\Username\AppData\Local\QtProject\qtcreator\android\sdk_definitions.json + \endcode + + For example, the SDK configuration file defines the NDK version 19.2.5345600 + to be used for Qt 5.12.0 to 5.12.5 and Qt 5.13.0 to 5.13.1 versions: + + \badcode + "specific_qt_versions": [ + { + "versions": ["5.12.[0-5]", "5.13.[0-1]"], + "sdk_essential_packages": ["build-tools;28.0.2", "ndk;19.2.5345600"], + "ndk_path": "ndk/19.2.5345600" + } + ] + \endcode + + You can view the latest version of the configuration file that is up-to-date + with the Android SDK and NDK changes, \l{sdk_definitions.json}, in Git. + + \section2 Managing Android NDK Packages + + To view the installed \l{Android NDK} versions, select \uicontrol Tools > + \uicontrol Options > \uicontrol Devices > \uicontrol Android. + + \image qtcreator-options-android-sdk-tools.png "Android NDK and SDK checks" + + The locked versions were installed by the SDK Manager, and can only + be modified from the SDK Manager tab. For more information, see + \l{Managing Android SDK Packages}. + + To manually download NDKs, select \inlineimage online.png + . + + To add custom NDK paths manually to the global list of NDKs, select + \uicontrol Add. This creates custom tool chains and debuggers associated + to that NDK. However, you have to manually create a kit that uses the + custom NDK. For more information, see \l{Adding Kits}. + \section2 Managing Android SDK Packages Since Android SDK Tools version 25.3.0, only a command-line tool, - \l{https://developer.android.com/studio/command-line/sdkmanager.html} - {sdkmanager}, is provided by Android for SDK package management. To make SDK - management easier, \QC provides an SDK Manager for installing, updating, and - removing SDK packages. You can still use sdkmanager for advanced SDK - management. - - After you set the path to the Anroid SDK in \uicontrol Tools > - \uicontrol Options > \uicontrol Devices > \uicontrol Android, the - SDK Manager checks that all the necessary SDK packages have been installed. - If packages are missing or updates are needed, the SDK Manager offers to - add or remove those packages. Before taking action, it prompts - you to accept the changes it is about to make. In addition, it prompts you to - accept Google licenses, as necessary. + \l {sdkmanager}, is provided by Android for SDK package management. + To make SDK management easier, \QC provides an SDK Manager for + installing, updating, and removing SDK packages. You can still use + sdkmanager for advanced SDK management. To view the installed Android SDK packages, select \uicontrol Tools > \uicontrol Options > \uicontrol Devices > \uicontrol Android > @@ -338,38 +210,39 @@ \uicontrol {SDK Manager arguments} field. The available arguments are listed and described in \uicontrol {Available arguments}. - To manage packages installed from Android SDK Tools version 25.2.5, or - earlier, you can use the native Android SDK Manager. The \QC SDK Manager and - the native SDK Manager are mutually exclusive, because they are used for - different Android SDK Tools versions. If you have the native SDK Manager - installed, you can open it by selecting \uicontrol {Native SDK Manager}. - \section1 Managing Android Virtual Devices (AVD) A list of AVDs is shown under \uicontrol Tools > \uicontrol Options > \uicontrol Devices > \uicontrol Android > \uicontrol {AVD Manager}. This - works only with a valid \uicontrol {SDK Tools} path being set. The value in - \uicontrol {System/data partition size} is used to set the emulator's system - partition size upon execution with \uicontrol {Start}. + works only if the \uicontrol {Android SDK location} is set correctly in + \uicontrol {Android Settings}. + + The value in \uicontrol {System/data partition size} is used to set the + emulator's system partition size upon execution with \uicontrol {Start}. \image qtcreator-android-avd-manager.png "Android NDK and SDK checks" - \section1 Creating a New AVD + \section2 Creating a New AVD - To create new virtual devices, select \uicontrol Tools > \uicontrol Options > - \uicontrol Devices > \uicontrol Android > \uicontrol {AVD Manager} > \uicontrol {Add}. + To create new virtual devices: - In the \uicontrol {Create new AVD} dialog, you can create a new custom AVD - by setting the name, device type, skin, architecture, API level, and SD card - size. You need to have a valid \uicontrol {System Image} installed - before using this dialog, either from \QC's \uicontrol {SDK Manager} tab or - from Android Studio. + \list 1 + \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Devices > + \uicontrol Android. + \li In the \uicontrol {SDK Manager} tab, select \uicontrol Install for + an Android version, and then select \uicontrol Apply to install a + system image. Alternatively, you can install the system image from + Android Studio. + \li In the \uicontrol {AVD Manager} tab, select \uicontrol {Add} to + open the \uicontrol {Create New AVD} dialog. + \image qtcreator-android-create-avd.png "Android NDK and SDK checks" + \li Set the name, type, skin, architecture, API level, and SD card size + of the device. + \li Select \uicontrol OK to create the AVD. + \endlist For more advanced options for creating a new AVD, use the command-line tool - \l{https://developer.android.com/studio/command-line/avdmanager.html}{avdmanager}, - or use Android Studio's native AVD Manager's UI. - - \image qtcreator-android-create-avd.png "Android NDK and SDK checks" + \l{avdmanager}, or use Android Studio's native AVD Manager's UI. \section1 Selecting Android Devices @@ -407,9 +280,6 @@ \l{Creating a New AVD}. If you run an application without a device connected to the development PC and without an AVD specified, \QC asks you to add an AVD. - For Android SDK Tools 25.2.5, or earlier, select \uicontrol {Native AVD Manager} - to manage AVDs. - \note The Android Emulator has a bug that prevents it from starting on some systems. If the Android Emulator does not start, you can try starting it manually by running the following commands: @@ -419,11 +289,17 @@ ./emulator -avd \endcode - For more information, see \l{https://developer.android.com/studio/run/emulator-commandline} - {Start the emulator from the command line}. + For more information, see \l{Start the emulator from the command line}. \section1 Debugging on Android Devices + Debugging is enabled in different ways on different Android devices. + Look for \uicontrol {USB Debugging} under \uicontrol {Developer Options}. On + some devices \uicontrol {Developer Options} is hidden and becomes visible + only when you tap the \uicontrol {Build number} field in \uicontrol Settings + > \uicontrol About several times. For more information, see + \l {Configure on-device developer options}. + Select a \l{glossary-build-config}{debug build configuration} to build the application for debugging. diff --git a/doc/qtcreator/src/android/deploying-android.qdoc b/doc/qtcreator/src/android/deploying-android.qdoc index a730932d626..00541ac5261 100644 --- a/doc/qtcreator/src/android/deploying-android.qdoc +++ b/doc/qtcreator/src/android/deploying-android.qdoc @@ -139,8 +139,7 @@ This field does not specify the minimum supported API level nor the target API level, which you can specify in the Android manifest. See \l{Editing Manifest Files}. For more information about Android API levels, see - \l{http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels} - {What is API Level?}. + \l{What is API Level?}. \section3 Building AABs @@ -149,15 +148,16 @@ distribution to the Google Play store, create an AAB by selecting the \uicontrol {Build .aab (Android App Bundle)} check box. - When building with CMake, you can select the ABIs to build the application - for in the \uicontrol CMake settings: + When building with CMake, you can view the selected ABIs in the + \uicontrol {Initial CMake parameters} field in the \uicontrol CMake section. + You can set additional ABIs as values of the ANDROID_ABI key: \image qtcreator-android-cmake-settings.png "CMake settings for building AABs" When building with qmake, you can select the ABIs in the \uicontrol ABIs field in the \uicontrol {Build Steps}: - \image qtcreator-android-build-steps.png "Android Build Steps" + \image qtcreator-android-build-steps.png "qmake settings for building AABs" \section3 Signing Android Packages @@ -258,7 +258,8 @@ Android manifest file unless you need to specify Android specific settings like the application's icon. Also, the manifest file is needed if you want to publish the package in the Play Store. - You can create an Android manifest file and edit it in \QC. Select + If you use qmake as the build system, you can create an Android manifest + file and edit it in \QC. Select \uicontrol Projects > \uicontrol Build > \uicontrol {Build Android APK} > \uicontrol {Create Templates} to create the file and to open it in the Android Manifest Editor. @@ -270,9 +271,7 @@ \li In the \uicontrol {Package name} field, enter a package name for the application. The application is launched by an automatically generated Java launcher that is packaged with the application into an Android package (.apk). For more - information, see - \l{http://developer.android.com/guide/components/fundamentals.html} - {Android Application Fundamentals}. + information, see \l{Android Application Fundamentals}. \li You can specify an internal version number for the package in the \uicontrol {Version code} field. It is used to determine whether one version of @@ -291,23 +290,23 @@ means that the overflow button in the system navigation bar will not be enabled by default. - \li In the \uicontrol Application group, you can set the application's name. + \li In the \uicontrol Application group, set the application's name. You can also give an activity a name and select the activity to run. - \li The \uicontrol {Style extraction} combo box sets the used method that Qt - uses to extract style information. It has the following values: + \li In the \uicontrol {Style extraction} field, set the method that Qt + uses to extract style information: \list - \li \uicontrol Default or \uicontrol Full: Use this when working with - Qt Widgets or Qt Quick Controls 1. + \li Select \uicontrol Default or \uicontrol Full when using + Qt Widgets or Qt Quick Controls 1 in your project. \note This method uses some Android non-SDK interfaces, that are being restricted by Google starting from Android 9.0 (API 28). - \li \uicontrol minimal: Use this when working with Qt Quick Controls 2 - with no Qt Widgets or Qt Quick Controls 1. This is faster than - \uicontrol full or \uicontrol default. - \li \uicontrol none: Use this if you're not working with Qt Widgets, - or Qt Quick Controls 1 or 2 in your project. + \li Select \uicontrol Minimal when using Qt Quick Controls 2 + but no Qt Widgets or Qt Quick Controls 1. This is faster than + using the default or full options. + \li Select \uicontrol None when using neither Qt Widgets + nor Qt Quick Controls 1 or 2. \endlist \li In \uicontrol {Application icon}, select an icon. Click the @@ -315,6 +314,13 @@ then, it will resize and set the three icon fields for low, medium, and high DPI icons as needed. + \li In \uicontrol {Splash screen}, select images to display as splash + screens depending on the device orientation. You can set different images + to be shown on low, medium, and high DPI displays. By default, the splash + screen is hidden automatically when an activity is drawn. To keep it + visible until \l{QtAndroid::hideSplashScreen()} is called, select the + \uicontrol {Sticky splash screen} check box. + \li In \uicontrol {Android services}, you can add and remove services. You must enter at least a service class name for a new service. If you select \uicontrol {Run in external process}, you also need to enter a process name. @@ -333,8 +339,8 @@ \li Select the \uicontrol {Include default permissions for Qt modules} and \uicontrol {Include default features for Qt modules} check boxes to add the permissions needed by Qt libraries. This can be - android.permission.WRITE_EXTERNAL_STORAGE for QtCore, or - android.permission.ACCESS_COARSE_LOCATION for QtLocation. + \c {android.permission.WRITE_EXTERNAL_STORAGE} for \l{Qt Core} or + \c {android.permission.ACCESS_COARSE_LOCATION} for \l{Qt Location}. \li To add a permission, select it from the list, and then click \uicontrol Add. diff --git a/doc/qtcreator/src/external-resources/external-resources.qdoc b/doc/qtcreator/src/external-resources/external-resources.qdoc index 9114cfe3ee9..e74ee2897b6 100644 --- a/doc/qtcreator/src/external-resources/external-resources.qdoc +++ b/doc/qtcreator/src/external-resources/external-resources.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the documentation of the Qt Toolkit. @@ -53,3 +53,43 @@ \externalpage http://openjdk.java.net \title OpenJDK */ +/*! + \externalpage http://developer.android.com/sdk/index.html + \title Android SDK Command-line Tools +*/ +/*! + \externalpage https://developer.android.com/studio/command-line/avdmanager.html + \title avdmanager +*/ +/*! + \externalpage http://developer.android.com/tools/sdk/ndk/index.html + \title Android NDK +*/ +/*! + \externalpage https://developer.android.com/studio/debug/dev-options + \title Configure on-device developer options +*/ +/*! + \externalpage https://developer.android.com/studio/command-line/sdkmanager.html + \title sdkmanager +*/ +/*! + \externalpage https://code.qt.io/cgit/qt-creator/qt-creator.git/plain/share/qtcreator/android/sdk_definitions.json + \title sdk_definitions.json +*/ +/*! + \externalpage https://developer.android.com/studio/run/emulator-commandline + \title Start the emulator from the command line +*/ +/*! + \externalpage https://marketplace.qt.io/products/android-openssl-support + \title Android OpenSSL support +*/ +/*! + \externalpage http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels + \title What is API Level? +*/ +/*! + \externalpage http://developer.android.com/guide/components/fundamentals.html + \title Android Application Fundamentals +*/ diff --git a/doc/qtcreator/src/howto/creator-only/creator-cli.qdoc b/doc/qtcreator/src/howto/creator-only/creator-cli.qdoc index 3ec803df2f1..d81a3e6443e 100644 --- a/doc/qtcreator/src/howto/creator-only/creator-cli.qdoc +++ b/doc/qtcreator/src/howto/creator-only/creator-cli.qdoc @@ -30,7 +30,7 @@ // ********************************************************************** /*! - \previouspage creator-project-nimble.html + \previouspage creator-project-incredibuild.html \page creator-cli.html \nextpage creator-keyboard-shortcuts.html diff --git a/doc/qtcreator/src/incredibuild/creator-projects-incredibuild-building.qdocinc b/doc/qtcreator/src/incredibuild/creator-projects-incredibuild-building.qdocinc new file mode 100644 index 00000000000..17d6d52c5b7 --- /dev/null +++ b/doc/qtcreator/src/incredibuild/creator-projects-incredibuild-building.qdocinc @@ -0,0 +1,141 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ +/*! +//! [incredibuild build steps] + + \section2 IncrediBuild Build Steps + + To use IncrediBuild, select \uicontrol {Add Build Step} > + \uicontrol {IncrediBuild for Linux} or + \uicontrol {IncrediBuild for Windows}. + + \image qtcreator-incredibuild-build-steps-general.png + + IncrediBuild automatically detects the build step by iterating over the + build steps you already defined. The initial build step settings will + be part of your IncrediBuild build step, so your usual build tool will + still be used, but with the added benefit of IncrediBuild's build + acceleration and graphical Build Monitor. + + In the \uicontrol {Target and configuration} group, specify the command + helper and arguments that will be used to construct the build command. + + The build errors and warnings are parsed and displayed in the + \uicontrol Issues output pane. + + Select the \uicontrol {Keep original jobs num} check box to stop + IncrediBuild from overriding the \c {-j} command line switch, which + controls the number of processes that the build tools executed by + \QC run in parallel. The default value set by IncrediBuild is 200. + + The distribution control settings to specify depend on whether you are using + Linux or Windows. + + \section3 Distribution Control Settings on Linux + + \image qtcreator-incredibuild-build-steps-linux.png + + You can specify the following options for Linux builds: + + \list + \li \uicontrol {Nice value} is a numeric value between -20 and 19 + \li \uicontrol {Force remote} forces \c allow_remote tasks to + remote Helpers. + \li \uicontrol {Alternate tasks preference} + \endlist + + \section3 Distribution Control Settings on Windows + + \image qtcreator-incredibuild-build-steps-windows.png + + You can specify the following options for Windows builds: + + \list + \li \uicontrol {Profile.xml} defines how Automatic Interception + Interface handles processes in a distributed job. It is not + necessary for Visual Studio or Make and Build tools builds, but can + be used to provide configuration options if those builds use + additional processes that are not included in those packages. It is + required to configure distributable processes in Dev Tools builds. + \li \uicontrol {Avoid local} frees up resources on the initiator + machine. This might be beneficial for distribution if the initiator + turns into a bottleneck for the build because of high CPU usage. + \li \uicontrol {Maximum CPUs to utilize in the build} specifies the + maximum amount of remote cores to use in the build. Overrides the + corresponding global setting. + \li \uicontrol {Newest allowed Helper machine OS} and + \uicontrol {Oldest allowed Helper machine OS} specify the newest and + oldest operating system installed on a Helper machine to be allowed + to participate as a Helper in the build. + \li \uicontrol {Build Title} specifies a custom header line which will + be displayed in the beginning of the build output text. This title + will also be used for the Build History and Build Monitor displays. + \li \uicontrol {Save IncrediBuild monitor file} writes a copy of the + build progress (\c{.ib_mon}) file to the specified location. + If only a folder name is given, IncrediBuild generates a GUID for + the file name. A message containing the location of the saved + \c{.ib_mon} file is added to the end of the build output. + \li \uicontrol {Suppress STDOUT} does not write anything to the standard + output. + \li \uicontrol {Output log file} writes build output to a file. + \li \uicontrol {Show commands in output} shows the command-line used by + IncrediBuild to build the file. + \li \uicontrol {Show agents in output} shows the Agent used to build + each file. + \li \uicontrol {Show time in output} shows the start and finish time for + each file built. + \li \uicontrol {Hide IncrediBuild Header in output} suppresses the + IncrediBuild header in the build output. + \li \uicontrol {Internal IncrediBuild logging level} overrides the + internal Incredibuild logging level for this build. Does not affect + output or any user accessible logging. Used mainly to troubleshoot + issues with the help of IncrediBuild support. + \li \uicontrol {Set an environment variable} sets or overrides + environment variables for the context of the build. + \li \uicontrol {Stop on errors} stops the execution as soon as an error + is encountered. This is the default behavior in Visual Studio + builds, but not for Make and Build tools or Dev Tools builds. + \li \uicontrol {Additional arguments} are concatenated to the final + buildconsole command line. + \li \uicontrol {Open Monitor} opens an IncrediBuild Build Monitor that + graphically displays the build's progress once the build starts. + \endlist + +//! [incredibuild build steps] + +//! [incredibuild clean steps] + + \section2 IncrediBuild Clean Steps + + When building with IncrediBuild, you can add arguments and targets for the + clean command in \uicontrol {Clean Steps}. + + For more information about the settings, see \l{IncrediBuild Build Steps}. + + The build errors and warnings are parsed and displayed in the + \uicontrol Issues output pane. + +//! [incredibuild clean steps] +*/ diff --git a/doc/qtcreator/src/incredibuild/creator-projects-incredibuild.qdoc b/doc/qtcreator/src/incredibuild/creator-projects-incredibuild.qdoc new file mode 100644 index 00000000000..91cde5ab277 --- /dev/null +++ b/doc/qtcreator/src/incredibuild/creator-projects-incredibuild.qdoc @@ -0,0 +1,45 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \previouspage creator-project-meson.html + \page creator-project-incredibuild.html + \nextpage creator-cli.html + + \title Setting Up IncrediBuild + + \l{https://www.incredibuild.com/}{IncrediBuild} accelerates process + execution and thus shortens the time you spend on building C++ code. + In addition, you can view the build progress in the graphical Build + Monitor. + + The IncrediBuild plugin is delivered with \QC. For more information, see + \l{https://incredibuild.atlassian.net/wiki/spaces/IUM/pages/19202836/IncrediBuild+for+Qt+Creator} + {IncrediBuild for Qt Creator}. + + To use IncrediBuild, install IncrediBuild Agent on the development + host. Then specify IncrediBuild build steps for your project. For + more information, see \l{IncrediBuild Build Steps}. +*/ diff --git a/doc/qtcreator/src/meson/creator-projects-meson.qdoc b/doc/qtcreator/src/meson/creator-projects-meson.qdoc index 2dd40fa56ab..48a9d310d33 100644 --- a/doc/qtcreator/src/meson/creator-projects-meson.qdoc +++ b/doc/qtcreator/src/meson/creator-projects-meson.qdoc @@ -26,7 +26,7 @@ /*! \previouspage creator-project-nimble.html \page creator-project-meson.html - \nextpage creator-cli.html + \nextpage creator-project-incredibuild.html \title Setting Up Meson diff --git a/doc/qtcreator/src/projects/creator-only/creator-custom-output-parser.qdoc b/doc/qtcreator/src/projects/creator-only/creator-custom-output-parser.qdoc new file mode 100644 index 00000000000..fd49fe581b9 --- /dev/null +++ b/doc/qtcreator/src/projects/creator-only/creator-custom-output-parser.qdoc @@ -0,0 +1,102 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \previouspage creator-project-settings-environment.html + \page creator-custom-output-parsers.html + \nextpage creator-sharing-project-settings.html + + \title Using Custom Output Parsers + + Custom output parsers scan command line output for error + and warning patterns that you specify and create entries + for found patterns in the \uicontrol Issues output pane. + + To view or add custom output parsers, select + \uicontrol Tools > \uicontrol Options > + \uicontrol {Build & Run} > \uicontrol {Custom Output Parsers}. + + \image qtcreator-custom-parser-list.png + + To edit the settings of a custom output parser, select it in the list, and + then select \uicontrol Edit. + + To remove the selected parser, select \uicontrol Remove. + + You can activate custom output parsers in the + \uicontrol {Custom Output Parsers} section of + the \uicontrol Build and \uicontrol Run settings, + as well as in the \l{Adding Custom Compilers} + {custom compiler settings}. + + \section1 Specifying Settings for Custom Output Parsers + + \image qtcreator-custom-parser-options.png + + A custom output parser enables you to capture errors and + warnings separately, according to the settings you specify + in the \uicontrol Error and \uicontrol Warning tab. + + To create a custom output parser: + + \list 1 + \li Select \uicontrol Tools > \uicontrol Options > + \uicontrol {Build & Run} > \uicontrol {Custom Output Parsers} + > \uicontrol Add. + \li In the \uicontrol {Error message capture pattern} field, specify + a regular expression to define what is an error. The custom + parser matches the compile output line by line against the + regular expression and displays errors in the \uicontrol Issues + output pane. Create regular expression groups that contain + the file name, line number and error message. + \li In the \uicontrol {Capture Positions} field, map the regular + expression groups to \uicontrol {File name}, \uicontrol {Line number}, + and \uicontrol Message. + \li In the \uicontrol {Capture Output Channels} field, specify whether + messages from standard output, standard error, or both channels + should be captured. + \li In the \uicontrol {Test} group, you can test how the message that + you enter in the \uicontrol {Error message} field is matched when + using the current settings. + \li Select \uicontrol OK to add the parser to the list of parsers + and return to the \uicontrol {Custom Output Parsers} tab. + \li Double-click the parser name to change it to something more + descriptive than the default value. + \endlist + + \section1 Activating Custom Output Parsers + + \image qtcreator-custom-parser.png + + To activate a custom output parser in the \uicontrol Build or + \uicontrol Run settings of a project: + + \list 1 + \li In the \uicontrol {Custom Output Parsers} section, select + \uicontrol Details. + \li Select custom parsers to activate them for building or running + the project. + \endlist +*/ diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc index 7d350259065..554d3441121 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc @@ -211,38 +211,8 @@ to the Qt mkspecs directory. \li In the \uicontrol {Error parser} field, select the error parser to use. - Select \uicontrol Custom, and then select \uicontrol {Customer Parser Settings} - to specify settings for a custom parser: - - \image qtcreator-custom-parser.png - - The custom error parser enables you to capture errors and warnings separately. - You can configure the error parser in the \uicontrol Error tab and the warning - parser in the \uicontrol Warning tab: - - \list 1 - - \li In the \uicontrol {Error message capture pattern} field, specify - a regular expression to define what is an error. The custom - parser matches the compile output line by line against the - regular expression and displays errors in the \uicontrol Issues - output pane. Create regular expression groups that contain - the file name, line number and error message. - - \li In the \uicontrol {Capture Positions} field, map the regular - expression groups to \uicontrol {File name}, \uicontrol {Line number}, - and \uicontrol Message. - - \li In the \uicontrol {Capture Output Channels} field, specify whether - messages from standard output, standard error, or both channels - should be captured. - - \li In the \uicontrol {Test} group, you can test how the message that - you enter in the \uicontrol {Error message} field is matched when - using the current settings. - - \endlist - + You can add custom output parsers to the list. For more information, + see \l{Using Custom Output Parsers}. \endlist \section1 Troubleshooting MinGW Compilation Errors diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc index 83b1176e0a9..3e373c7952a 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc @@ -78,6 +78,10 @@ Meson is an open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. + \li \l{Setting Up IncrediBuild} + + IncrediBuild decreases the time it takes to build C++ code. + \endlist */ diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc index 5b0a7030b4a..c148252405b 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc @@ -146,7 +146,8 @@ \section1 Build Steps In \uicontrol{Build Steps} you can change the settings for the build system - selected for building the project: qmake, CMake, Meson, or Qbs. + selected for building the project: qmake, CMake, Meson, or Qbs. You can use + Incredibuild to accelerate the build process when using qmake or CMake. \section2 qmake Build Steps @@ -168,6 +169,7 @@ \include creator-projects-cmake-building.qdocinc cmake build steps \include creator-projects-settings-build-qbs.qdocinc qbs build steps \include creator-projects-meson-building.qdocinc meson build steps + \include creator-projects-incredibuild-building.qdocinc incredibuild build steps \section2 Adding Custom Build Steps @@ -214,4 +216,6 @@ \include creator-projects-cmake-building.qdocinc cmake clean steps \include creator-projects-settings-build-qbs.qdocinc qbs clean steps \include creator-projects-meson-building.qdocinc meson clean steps + \include creator-projects-incredibuild-building.qdocinc incredibuild clean steps + */ diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-environment.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-environment.qdoc index 89eb026500f..5dbdb44b176 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-environment.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-environment.qdoc @@ -26,7 +26,7 @@ /*! \previouspage creator-build-dependencies.html \page creator-project-settings-environment.html - \nextpage creator-sharing-project-settings.html + \nextpage creator-custom-output-parsers.html \title Specifying Environment Settings diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc index eb0532f64e9..f70f1d6db3f 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc @@ -102,6 +102,8 @@ \li \l{Specifying Environment Settings}{Environment} + \li \l{Using Custom Output Parsers}{Custom Output Parsers} + \li \l{Parsing C++ Files with the Clang Code Model} {Clang Code Model} diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc index 32f27d2bc24..7622bf1fa45 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-sharing.qdoc @@ -30,7 +30,7 @@ // ********************************************************************** /*! - \previouspage creator-project-settings-environment.html + \previouspage creator-custom-output-parsers.html \page creator-sharing-project-settings.html \nextpage creator-project-managing-sessions.html diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index e3b1a0da861..28ece9068ca 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -80,6 +80,7 @@ \li \l{Specifying Code Style Settings} \li \l{Specifying Dependencies} \li \l{Specifying Environment Settings} + \li \l{Using Custom Output Parsers} \li \l{Sharing Project Settings} \endlist \li \l{Managing Sessions} @@ -135,6 +136,7 @@ \li \l{Adding Models} \li \l{Using Materials and Shaders} \li \l{Attaching Textures to Materials} + \li \l{Applying 3D Effects} \li \l{Using Lights} \li \l{Using Scene Camera} \li \l{Setting Scene Environment} @@ -257,6 +259,7 @@ \li \l{Setting Up a Generic Project} \li \l{Setting Up Nimble} \li \l{Setting Up Meson} + \li \l{Setting Up IncrediBuild} \endlist \li \l{Using Command Line Options} \li \l{Keyboard Shortcuts} diff --git a/doc/qtcreator/src/qtquick/qtquick-animation-types.qdocinc b/doc/qtcreator/src/qtquick/qtquick-animation-types.qdocinc new file mode 100644 index 00000000000..5bf1bafd954 --- /dev/null +++ b/doc/qtcreator/src/qtquick/qtquick-animation-types.qdocinc @@ -0,0 +1,70 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! +//! [qtquick animation types] + + \section1 Using Qt Quick Animation Types + + To create an animation, use an appropriate animation type for the type of + the property that is to be animated, and apply the animation depending on + the type of behavior that is required. + + You can drag and drop the following QML types from \uicontrol Library + > \uicontrol {QML Types} > \uicontrol {Qt Quick - Animation} to + \uicontrol Navigator or \uicontrol {Form Editor}: + + \list + \li \l [QML] {ColorAnimation}{Color Animation} is a specialized + property animation that defines an animation to be applied when a + color value changes. + \li \l [QML] {NumberAnimation}{Number Animation} is a specialized + property animation that defines an animation to be applied when a + numerical value changes. + \li \l [QML] {ParallelAnimation}{Parallel Animation} enables + animations to be run in parallel. + \li \l [QML] {PauseAnimation}{Pause Animation} is used in a + sequential animation to create a step where nothing happens, for + a specified duration. + \li \l [QML] {PropertyAction}{Property Action} immediately changes + a property value during an animation, without animating the + property change. + \li \l [QML] {PropertyAnimation}{Property Animation} animates + changes in the value of a property. + \li \l [QML] {ScriptAction}{Script Action} defines scripts to be + run during an animation. + \li \l [QML] {SequentialAnimation}{Sequential Animation} enables + animations to be run sequentially. + \endlist + + For more information about using the QML types, see + \l{Animation and Transitions in Qt Quick}. + + For more information about animating properties in the \uicontrol Timeline + view, see \l{Creating Animations}. For more information about animating + property changes in states, see \l{Animating Transitions Between States}. + +//! [qtquick animation types] +*/ diff --git a/doc/qtcreator/src/qtquick/qtquick-components.qdoc b/doc/qtcreator/src/qtquick/qtquick-components.qdoc index b601b96a281..cdd21da1074 100644 --- a/doc/qtcreator/src/qtquick/qtquick-components.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-components.qdoc @@ -497,6 +497,8 @@ {Dialog} type in the Qt Quick Dialogs module to wrap arbitrary content into a dialog window including a row of platform-tailored buttons. + \include qtquick-animation-types.qdocinc qtquick animation types + \if defined(qtdesignstudio) \include qtdesignstudio-visual-effects.qdocinc qml visual effects \include qtdesignstudio-components.qdocinc creating studio components diff --git a/doc/qtcreator/src/qtquick/qtquick-states.qdoc b/doc/qtcreator/src/qtquick/qtquick-states.qdoc index de25e02fcd0..967555f1ad7 100644 --- a/doc/qtcreator/src/qtquick/qtquick-states.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-states.qdoc @@ -249,53 +249,5 @@ \include qtquick-states-scxml.qdocinc scxml state machines \endif - \section1 Animating Transitions Between States - - To make movement between states smooth, you can animate transitions. - Animations are created by applying animation types to property values. - Animation types interpolate property values to create smooth transitions. - As well, state transitions may assign animations to state changes. - - To create an animation, use an appropriate animation type for the type of - the property that is to be animated, and apply the animation depending on - the type of behavior that is required. - - You can drag and drop the following QML types from \uicontrol Library - > \uicontrol {QML Types} > \uicontrol {Qt Quick - Animation} to - \uicontrol Navigator or \uicontrol {Form Editor}: - - \list - \li \l [QML] {ColorAnimation}{Color Animation} is a specialized - property animation that defines an animation to be applied when a - color value changes. - \li \l [QML] {NumberAnimation}{Number Animation} is a specialized - property animation that defines an animation to be applied when a - numerical value changes. - \li \l [QML] {ParallelAnimation}{Parallel Animation} enables - animations to be run in parallel. - \li \l [QML] {PauseAnimation}{Pause Animation} is used in a - sequential animation to create a step where nothing happens, for - a specified duration. - \li \l [QML] {PropertyAction}{Property Action} immediately changes - a property value during an animation, without animating the - property change. - \li \l [QML] {PropertyAnimation}{Property Animation} animates - changes in the value of a property. - \li \l [QML] {ScriptAction}{Script Action} defines scripts to be - run during an animation. - \li \l [QML] {SequentialAnimation}{Sequential Animation} enables - animations to be run sequentially. - \endlist - - For more information, see \l{Animation and Transitions in Qt Quick}. - - \if defined(qtcreator) - For an example of assigning number animations to states, see - \l {Creating a Qt Quick Application}. - \endif - - - Alternatively, you can use the \uicontrol Timeline view to animate the - properties of UI components and to bind the animations to states. For more - information, see \l {Binding Animations to States}. + \include qtquick-transition-editor.qdocinc transition editor */ diff --git a/doc/qtcreator/src/qtquick/qtquick-transition-editor.qdocinc b/doc/qtcreator/src/qtquick/qtquick-transition-editor.qdocinc new file mode 100644 index 00000000000..38eac9d512d --- /dev/null +++ b/doc/qtcreator/src/qtquick/qtquick-transition-editor.qdocinc @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! +//! [transition editor] + + \section1 Animating Transitions Between States + + To make movement between states smooth, you can use + \uicontrol {Transition Editor} to animate the changes between + states. First, you need to \l{Creating States}{add states} in + the \uicontrol States view and \l{Specifying Item Properties} + {edit some properties} that can be animated, such as colors or + numbers, in the \uicontrol Properties view. For example, you + can animate the changes in the position of an object. + + In \uicontrol {Transition Editor}, you can set the start frame, end + frame, and duration for the transition of each property. You can also + set an easing curve for each transition. + + Use the slider on the menu bar to the zooming level in the view. + + To add transitions: + + \list 1 + \li Select \uicontrol View > \uicontrol Views > + \uicontrol {Transition Editor} to display the view. + \li Select the \inlineimage plus.png + (\uicontrol {Add Transition}) button to add a transition. This + works only if you have added at least one state and modified at + least one property in it. + \image qtquick-transition-editor-view.png "Transition Editor view" + \li Move the blue bar next to the component or property name to set + the start and end frame of the animation of the property. Pull its + left and right edges to set the duration of the animation. + \li To attach an easing curve to a transition, select + \inlineimage curve_editor.png + (\uicontrol {Easing Curve Editor (C)}) on the toolbar. For more + information, see \l{Editing Easing Curves}. + \li To modify transition settings, select the \inlineimage animation.png + (\uicontrol {Transition Settings (S)}) button on the toolbar. + \image qtquick-transition-editor-settings.png "Transition settings" + \endlist + + \if defined(qtcreator) + For an example of animating transitions between states, see + \l {Creating a Qt Quick Application}. + \endif + +//! [transition editor] +*/ diff --git a/doc/qtdesignstudio/config/qtdesignstudio.qdocconf b/doc/qtdesignstudio/config/qtdesignstudio.qdocconf index 7c74d2665e2..b3ba0453814 100644 --- a/doc/qtdesignstudio/config/qtdesignstudio.qdocconf +++ b/doc/qtdesignstudio/config/qtdesignstudio.qdocconf @@ -41,6 +41,7 @@ excludedirs += ../../qtcreator/examples/accelbubble \ ../../qtcreator/src/debugger/creator-only \ ../../qtcreator/src/editors/creator-only \ ../../qtcreator/src/howto/creator-only \ + ../../qtcreator/src/incredibuild \ ../../qtcreator/src/ios \ ../../qtcreator/src/linux-mobile \ ../../qtcreator/src/mcu \ diff --git a/doc/qtdesignstudio/images/effect-additive-color-gradient.png b/doc/qtdesignstudio/images/effect-additive-color-gradient.png new file mode 100644 index 00000000000..8eb89deb96e Binary files /dev/null and b/doc/qtdesignstudio/images/effect-additive-color-gradient.png differ diff --git a/doc/qtdesignstudio/images/effect-blur.png b/doc/qtdesignstudio/images/effect-blur.png new file mode 100644 index 00000000000..f170c7b6e26 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-blur.png differ diff --git a/doc/qtdesignstudio/images/effect-brush-strokes.png b/doc/qtdesignstudio/images/effect-brush-strokes.png new file mode 100644 index 00000000000..a69dc95f94e Binary files /dev/null and b/doc/qtdesignstudio/images/effect-brush-strokes.png differ diff --git a/doc/qtdesignstudio/images/effect-chromatic-aberration.png b/doc/qtdesignstudio/images/effect-chromatic-aberration.png new file mode 100644 index 00000000000..d02b490eb73 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-chromatic-aberration.png differ diff --git a/doc/qtdesignstudio/images/effect-color-master.png b/doc/qtdesignstudio/images/effect-color-master.png new file mode 100644 index 00000000000..9b8f13a5666 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-color-master.png differ diff --git a/doc/qtdesignstudio/images/effect-depth-of-field-hq-blur.png b/doc/qtdesignstudio/images/effect-depth-of-field-hq-blur.png new file mode 100644 index 00000000000..397dae92a15 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-depth-of-field-hq-blur.png differ diff --git a/doc/qtdesignstudio/images/effect-desaturate.png b/doc/qtdesignstudio/images/effect-desaturate.png new file mode 100644 index 00000000000..535d703be68 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-desaturate.png differ diff --git a/doc/qtdesignstudio/images/effect-distortion-ripple.png b/doc/qtdesignstudio/images/effect-distortion-ripple.png new file mode 100644 index 00000000000..54fd7652ccb Binary files /dev/null and b/doc/qtdesignstudio/images/effect-distortion-ripple.png differ diff --git a/doc/qtdesignstudio/images/effect-distortion-sphere.png b/doc/qtdesignstudio/images/effect-distortion-sphere.png new file mode 100644 index 00000000000..3d5d2df106c Binary files /dev/null and b/doc/qtdesignstudio/images/effect-distortion-sphere.png differ diff --git a/doc/qtdesignstudio/images/effect-distortion-spiral.png b/doc/qtdesignstudio/images/effect-distortion-spiral.png new file mode 100644 index 00000000000..65e127e0976 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-distortion-spiral.png differ diff --git a/doc/qtdesignstudio/images/effect-edge-detect.png b/doc/qtdesignstudio/images/effect-edge-detect.png new file mode 100644 index 00000000000..5d85c9aa39a Binary files /dev/null and b/doc/qtdesignstudio/images/effect-edge-detect.png differ diff --git a/doc/qtdesignstudio/images/effect-emboss.png b/doc/qtdesignstudio/images/effect-emboss.png new file mode 100644 index 00000000000..1f4eb88df36 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-emboss.png differ diff --git a/doc/qtdesignstudio/images/effect-flip.png b/doc/qtdesignstudio/images/effect-flip.png new file mode 100644 index 00000000000..efe68e7154a Binary files /dev/null and b/doc/qtdesignstudio/images/effect-flip.png differ diff --git a/doc/qtdesignstudio/images/effect-fxaa.png b/doc/qtdesignstudio/images/effect-fxaa.png new file mode 100644 index 00000000000..d1aab3b71d4 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-fxaa.png differ diff --git a/doc/qtdesignstudio/images/effect-gaussian-blur.png b/doc/qtdesignstudio/images/effect-gaussian-blur.png new file mode 100644 index 00000000000..5f0d5070773 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-gaussian-blur.png differ diff --git a/doc/qtdesignstudio/images/effect-hdr-bloom-tonemap.png b/doc/qtdesignstudio/images/effect-hdr-bloom-tonemap.png new file mode 100644 index 00000000000..1d9a299ad2e Binary files /dev/null and b/doc/qtdesignstudio/images/effect-hdr-bloom-tonemap.png differ diff --git a/doc/qtdesignstudio/images/effect-motion-blur.png b/doc/qtdesignstudio/images/effect-motion-blur.png new file mode 100644 index 00000000000..c73e56eee6c Binary files /dev/null and b/doc/qtdesignstudio/images/effect-motion-blur.png differ diff --git a/doc/qtdesignstudio/images/effect-scatter.png b/doc/qtdesignstudio/images/effect-scatter.png new file mode 100644 index 00000000000..a1b25d53e9c Binary files /dev/null and b/doc/qtdesignstudio/images/effect-scatter.png differ diff --git a/doc/qtdesignstudio/images/effect-scurve-tonemap.png b/doc/qtdesignstudio/images/effect-scurve-tonemap.png new file mode 100644 index 00000000000..fec2599a18a Binary files /dev/null and b/doc/qtdesignstudio/images/effect-scurve-tonemap.png differ diff --git a/doc/qtdesignstudio/images/effect-tilt-shift.png b/doc/qtdesignstudio/images/effect-tilt-shift.png new file mode 100644 index 00000000000..fd9ce390850 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-tilt-shift.png differ diff --git a/doc/qtdesignstudio/images/effect-vignette.png b/doc/qtdesignstudio/images/effect-vignette.png new file mode 100644 index 00000000000..d8e1e4c2635 Binary files /dev/null and b/doc/qtdesignstudio/images/effect-vignette.png differ diff --git a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc index fb79bbe41eb..73a0166e40c 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc @@ -106,10 +106,11 @@ \li \l{Setting Node Properties} \li \l{Adding Models} \li \l{Using Materials and Shaders} - \li \l{Attaching Textures to Materials} - \li \l{Using Lights} - \li \l{Using Scene Camera} - \li \l{Setting Scene Environment} + \li \l{Attaching Textures to Materials} + \li \l{Applying 3D Effects} + \li \l{Using Lights} + \li \l{Using Scene Camera} + \li \l{Setting Scene Environment} \endlist \endlist \li \l{Previewing} diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-maya.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-maya.qdoc index 5d6b39a3257..bd77144a6ac 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-maya.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-maya.qdoc @@ -29,7 +29,7 @@ \page exporting-from-maya.html \previouspage exporting-from-blender.html \if defined (qtdesignstudio) - \nextpage exporting-from-maya.html + \nextpage exporting-from-qt3ds.html \else \nextpage studio-importing-3d.html \endif @@ -90,6 +90,8 @@ \image maya-export-options2.png "More export options in Maya" \li Optionally, select \uicontrol {Embed Media}, and then select the \uicontrol {Embed Media} check box to include embedded textures. + The embedded media will be copied to a \c fileName.fbm folder in + the same location as the FBX file. \li Select \uicontrol {Export All} to export files. \endlist */ diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc index 7f6e7c88caf..babe39a29f7 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc @@ -58,6 +58,10 @@ You can use a Texture component to specify an image and how it is mapped to meshes in a 3D scene. Texture components can use image data either from a file or a Qt Quick QML type. + \li \l {Applying 3D Effects} + + You can use 3D effect components to generate post-processing + effects. \li \l{Using Lights} You can use several light types as the source of lighting in a diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc new file mode 100644 index 00000000000..be366ea8ff0 --- /dev/null +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc @@ -0,0 +1,367 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Design Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page studio-3d-effects.html + \previouspage studio-3d-texture.html + \nextpage studio-3d-lights.html + + \title Applying 3D Effects + + \QDS provides a set of Qt Quick 3D effects that inherit the types in the + \l {Qt Quick 3D Effects QML Types}{Qt Quick 3D Effects} module. + + To apply a visual effect to a component, drag-and-drop an effect from + \uicontrol Library \uicontrol {Qt Quick 3D Effects} under the \uicontrol + {View 3D} object in \uicontrol Navigator. You can apply multiple effects to + one component. The effects you add to the project are listed in \uicontrol + Properties > \uicontrol {Scene Environment} > \uicontrol Effect and are + visible in \uicontrol {Form Editor}. + + See the following table for available effects and example images. + + \section1 Available Effects + \table + \header + \li 3D Effect + \li Example Image + \li Description + \row + \li Additive Color Gradient + \li \image effect-additive-color-gradient.png "Additive Color Gradient Effect" + \li A gradient with additive color effect that adds a vertical + gradient to the whole scene and then additively blends it with all other + components in a 3D view. Additive blending adds the pixel values of + the gradient and the 3D view, making the result lighter. White areas + do not change, and black areas are the same color as the gradient. + + The \uicontrol {Top Color} and \uicontrol {Bottom Color} properties + specify the colors used for the gradient at the top and bottom parts of + the screen. + + \row + \li Blur + \li \image effect-blur.png "The Blur effect" + \li A simple one-pass blur. + + The \uicontrol Amount property specifies the strength of the blur. + + \row + \li Brush Strokes + \li \image effect-brush-strokes.png "The Brush Strokes effect" + \li A brush strokes noise effect that simulates an artistic painting of + the image. + + The \uicontrol {Noise Sample Texture} property specifies the brush noise + texture map as a \l Texture. + + The \uicontrol Length property specifies how far to offset the image + with the brush. + + The \uicontrol Size property specifies the scale of the brush. Smaller + values result in a finer brush. + + The \uicontrol Angle property specifies the angle to rotate the brush + noise texture. + + \row + \li Chromatic Aberration + \li \image effect-chromatic-aberration.png "The Chromatic Aberration effect" + \li A chromatic aberration effect. + + In real life, chromatic aberration is an optical phenomenon causing + color fringes in high contrast areas. These color fringes are + caused by different colors refracting at different angles splitting + white light into a spectrum, which is referred to as dispersion. + + The \uicontrol {Mask Texture} property specifies a grayscale texture to + control the position and the strength of the effect. The effect is + strongest in white areas and weakest in black areas. + + The \uicontrol Amount property defines the amount of aberration. + A negative value inverses the effect. + + Dispersion scales in relation to the distance from the value of + the \uicontrol {Focus Depth} property. + + \row + \li Color Master + \li \image effect-color-master.png "The Color Master effect" + \li A color adjustment effect. + + The \uicontrol {Red Strength}, \uicontrol {Green Strength} and + \uicontrol {Blue Strength} properties can be used to adjust each color + separately, and the \uicontrol Saturation property to adjust the + strength of the overall saturation of the scene. + + \row + \li Depth Of Field HQ Blur + \li \image effect-depth-of-field-hq-blur.png "The Depth of Field HQ Blur effect" + \li A depth-based blur effect that performs a gradient blur on regions + of the image based on their deviation from a specified distance from the + camera. + + The \uicontrol {Blur Amount} property defines the strength of blur when + out of focus. + + The \uicontrol {Focus Distance} property specifies the distance from the + camera where the content is in perfect focus. + + The \uicontrol {Focus Range} property specifies the distance around the + \uicontrol {Focus Distance} where items are fully in focus. The focus + then fades away to fully blurred by the same distance on both the near + and far sides. + + \row + \li Desaturate + \li \image effect-desaturate.png "The Desaturate effect" + \li A desaturating effect that decreases the intensity of all colors in + the scene. + + The \uicontrol Amount property defines the amount of desaturation. + + \row + \li Distortion Ripple + \li \image effect-distortion-ripple.png "The Distortion Ripple effect" + \li A distortion effect that adds circular ripples, moving away + from the center of the effect. + + The \uicontrol Radius specifies the spread between ripples. + + The \uicontrol Width property specifies the width of a ripple, while + \uicontrol Height defines the amount of distortion. + + The \uicontrol Phase property specifies the offset of each wave. Animate + this property to see the waves move. + + The \uicontrol Center property defines the focus point of the + distortion. + + \row + \li Distortion Sphere + \li \image effect-distortion-sphere.png "The Distortion Sphere effect" + \li A distortion effect that creates a 3D effect of wrapping the + scene around a spherical shape. + + The \uicontrol Radius property specifies the area of distortion, while + \uicontrol Height defines the amount of distortion. + + The \uicontrol Center property defines the focus point of the + distortion. + + \row + \li Distortion Spiral + \li \image effect-distortion-spiral.png "The Distortion Spiral effect" + \li A distortion effect that creates a spiral-shaped distortion. + + The \uicontrol Radius property defines the area of distortion, while + \uicontrol Strength defines the amount of distortion. + + The \uicontrol Center property defines the focus point of the + distortion. + + \row + \li Edge Detect + \li \image effect-edge-detect.png "The Edge Detect effect" + \li An edge highlighting effect that turns smooth, unchanging areas of + the scene darker, while areas of the scene with sharp color changes are + brightened to highlight the edges. + + The \uicontrol Strength property defines the strength of the edge + highlighting. + + \row + \li Emboss + \li \image effect-emboss.png "The Emboss effect" + \li An emboss effect that replaces each pixel either by a highlight or a + shadow, depending on the light/dark boundaries on the scene. + Low contrast areas are replaced by a gray background. The embossed + result represents the rate of color change at each location. + + The \uicontrol Amount property defines the strength of the emboss + effect. + + \row + \li Flip + \li \image effect-flip.png "The Flip effect" + \li An effect that flips the whole scene either horizontally, + vertically, or in both directions. + + The \uicontrol {Horizontal} and \uicontrol {Vertical} properties define + the direction of the flip. + + \row + \li Fxaa + \li \image effect-fxaa.png "The Fxaa effect" + \li A fast approximate anti-aliasing effect that removes some of the + artifacts from the image without impacting performance as heavily as + super-sampling would. + + \row + \li Gaussian Blur + \li \image effect-gaussian-blur.png "The Gaussian Blur effect" + \li A two-pass gaussian blur effect that blurs all objects in the scene + evenly. To keep the effect performant, large blur amount produces a + mosaic result instead of smooth blurriness. + + The \uicontrol Amount property defines the strength of the blur. + + \row + \li HDR Bloom Tonemap + \li \image effect-HDR-bloom-tonemap.png "The HDR Bloom Tonemap effect" + \li A bloom with tonemapping effect that adjusts the gamma and exposure + of the high-dynamic range rendered content to achieve the image quality + you want. Also applies an adjustable bloom effect to very bright areas + (like the sun glinting off a car). + + The \uicontrol Gamma property affects the non-linear curve of the + lighting. Higher values increase the exposure of mid tones, brightening + the image and decreasing the contrast. + + The \uicontrol Exposure property functions as a linear multiplier on the + lighting, thus brightening or darkening the image overall. + + The \uicontrol {Blur Falloff} property adjusts the amount of bloom. + Lower values result in stronger bloom effect, and higher values make the + effect more subtle. + + The \uicontrol {Tonemapping Lerp} property defines the strength of the + overall bloom effect. There is usually no need to adjust this. + + The bloom effect is applied to areas where the lighting is greater than + the \uicontrol {Bloom Threshold} value. A value of \c{1.0} corresponds + to white in the original render result. Lowering this value causes more + areas of the rendered scene to bloom. + + The \uicontrol {Channel Threshold} defines the white point for the + image. There is usually no need to adjust this. + + \row + \li Motion Blur + \li \image effect-motion-blur.png "The Motion Blur effect" + \li A motion blur effect that creates an apparent streaking for rapidly + moving objects in the scene. + + \note Only has a visible effect if the background of the scene is set to + be transparent in the \uicontrol {Background Mode} field of the + \uicontrol {Scene Environment} component. Otherwise, the clear color of + the background hides the blur. For more information, see \l {Setting + Scene Environment}. + + The \uicontrol {Fade Amount} property defines the fade speed of the + trail. + + The \uicontrol Quality property can be adjusted to specify the quality + of the blur. Increasing quality will have impact on performance. + + \row + \li Scatter + \li \image effect-scatter.png "The Scatter effect" + \li A noise effect that scatters the pixels in a scene to create + a blurry or smeared appearance. Without changing the color of each + individual pixel, the effect redistributes the pixels randomly but in + the same general area as their original positions. + + The \uicontrol {Noise Sample Texture} functions as the scatter noise + texture map. + + The \uicontrol Amount property defines how much to scatter, while + \uicontrol Direction sets the direction in which to scatter the pixels. + Set to \c 0 for both horizontal and vertical, \c 1 for horizontal, and + \c 2 for vertical. + + The \uicontrol Randomize property specifies whether scattering changes + at each frame or not. + + \row + \li S-Curve Tonemap + \li \image effect-scurve-tonemap.png "The S-Curve Tonemap effect" + \li A tonemapping effect that maps the colors in the scene to others to + approximate the appearance of high-dynamic-range result. + + The \uicontrol {Shoulder Slope} property defines where highlights lose + contrast. + + The \uicontrol {Shoulder Emphasis} property defines the amount of + emphasis of the shoulder. + + The \uicontrol {Toe Slope} property defines where shadows lose contrast. + + The \uicontrol {Toe Emphasis} property defines the amount of emphasis + of the toe. + + The \uicontrol {Contrast Boost} property enhances or reduces the overall + contrast of the tonemap. + + The \uicontrol {Saturation Level} defines the overall saturation level + of the tonemap. + + The \uicontrol Gamma property defines the gamma value of the tonemap. + + The \uicontrol {Use Exposure} property specifies whether the \uicontrol + {White Point} value or the \uicontrol Exposure value will be used for + luminance calculations. + + The \uicontrol {White Point} property defines the value for the white + point. + + The \uicontrol Exposure property defines the value for exposure. + + \row + \li Tilt Shift + \li \image effect-tilt-shift.png "The Tilt Shift effect" + \li A tilt shift blur effect that simulates depth of field in a simple + and performant manner. Instead of blurring based on the depth buffer, + it blurs everything except for a horizontal or vertical stripe on the + layer. + + The \uicontrol {Focus Position} property specifies the placement of the + focus bar in normalized coordinates. + + The \uicontrol {Focus Width} property defines a normalized range for + Focus Position. Objects within this range will be in focus. + + The \uicontrol {Blur Amount} property defines the amount of blur. + Amounts above 4 may cause artifacts. + + The \uicontrol Vertical property changes the direction of the effect + from horizontal to vertical, while the \uicontrol Inverted property + inverts the blur area, causing the center of the object to become + blurred. + + \row + \li Vignette + \li \image effect-vignette.png "The Vignette effect" + \li A vignette effect that reduces brightness towards the periphery of + an object. + + The \uicontrol Strength property defines the strength of vignetting, + while \uicontrol Radius specifies its size. + + The \uicontrol Color property defines the color used for the effect. + \endtable +*/ diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc index 361514e0532..ccc158ad6d8 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc @@ -27,7 +27,7 @@ /*! \page studio-3d-lights.html - \previouspage studio-3d-texture.html + \previouspage studio-3d-effects.html \nextpage studio-3d-camera.html \title Using Lights diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc index 0dd0efda24e..ab145f9ef2c 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc @@ -28,7 +28,7 @@ /*! \page studio-3d-texture.html \previouspage studio-3d-materials.html - \nextpage studio-3d-lights.html + \nextpage studio-3d-effects.html \title Attaching Textures to Materials diff --git a/scripts/deployqt.py b/scripts/deployqt.py index 851a6426336..4aaea9b6202 100755 --- a/scripts/deployqt.py +++ b/scripts/deployqt.py @@ -273,8 +273,9 @@ def deploy_libclang(install_dir, llvm_install_dir, chrpath_bin): # support libraries (for clazy) -> clang libexec if not os.path.exists(clanglibs_targetdir): os.makedirs(clanglibs_targetdir) - for lib_pattern in ['ClazyPlugin.so', 'libclang-cpp.so*']: - for lib in glob(os.path.join(llvm_install_dir, 'lib', lib_pattern)): + # on RHEL ClazyPlugin is in lib64 + for lib_pattern in ['lib64/ClazyPlugin.so', 'lib/ClazyPlugin.so', 'lib/libclang-cpp.so*']: + for lib in glob(os.path.join(llvm_install_dir, lib_pattern)): deployinfo.append((lib, clanglibs_targetdir)) resourcetarget = os.path.join(install_dir, 'libexec', 'qtcreator', 'clang', 'lib', 'clang') diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/Values.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/Values.qml index 65cc7f3cfcd..dfba7236bf6 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/Values.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/Values.qml @@ -124,4 +124,9 @@ QtObject { // Taken out of Constants.js property string themeChangedStateText: Theme.color(Theme.DSchangedStateText) + + // 3D + property string theme3DAxisXColor: Theme.color(Theme.DS3DAxisXColor) + property string theme3DAxisYColor: Theme.color(Theme.DS3DAxisYColor) + property string theme3DAxisZColor: Theme.color(Theme.DS3DAxisZColor) } diff --git a/share/qtcreator/themes/dark.creatortheme b/share/qtcreator/themes/dark.creatortheme index fa4a6ab330a..944256eeeaa 100644 --- a/share/qtcreator/themes/dark.creatortheme +++ b/share/qtcreator/themes/dark.creatortheme @@ -57,6 +57,9 @@ DScontrolBackgroundInteraction=ff4d4d4d DStranslationIndicatorBorder=ff7f7f7f DSsectionHeadBackground=ff424242 DSchangedStateText=ff99ccff +DS3DAxisXColor=ffe00000 +DS3DAxisYColor=ff009900 +DS3DAxisZColor=ff6060ff ;DS controls theme END BackgroundColorAlternate=alternateBackground diff --git a/share/qtcreator/themes/default.creatortheme b/share/qtcreator/themes/default.creatortheme index 8686733ab4d..2710025524c 100644 --- a/share/qtcreator/themes/default.creatortheme +++ b/share/qtcreator/themes/default.creatortheme @@ -48,6 +48,9 @@ DScontrolBackgroundInteraction=ff4d4d4d DStranslationIndicatorBorder=ff7f7f7f DSsectionHeadBackground=ff424242 DSchangedStateText=ff99ccff +DS3DAxisXColor=ffe00000 +DS3DAxisYColor=ff009900 +DS3DAxisZColor=ff6060ff ;DS controls theme END BackgroundColorAlternate=ff3d3d3d diff --git a/share/qtcreator/themes/design-light.creatortheme b/share/qtcreator/themes/design-light.creatortheme index 788b4680eb8..ef52ec12cd2 100644 --- a/share/qtcreator/themes/design-light.creatortheme +++ b/share/qtcreator/themes/design-light.creatortheme @@ -61,6 +61,9 @@ DScontrolBackgroundInteraction=ff777777 DStranslationIndicatorBorder=ffebebeb DSsectionHeadBackground=ffebebeb DSchangedStateText=ff99ccff +DS3DAxisXColor=ffff0000 +DS3DAxisYColor=ff00A000 +DS3DAxisZColor=ff0000ff ;DS controls theme END BackgroundColorAlternate=alternateBackground diff --git a/share/qtcreator/themes/design.creatortheme b/share/qtcreator/themes/design.creatortheme index 914a717bdfa..996befe8911 100644 --- a/share/qtcreator/themes/design.creatortheme +++ b/share/qtcreator/themes/design.creatortheme @@ -61,6 +61,9 @@ DScontrolBackgroundInteraction=ff404040 DStranslationIndicatorBorder=ff7f7f7f DSsectionHeadBackground=ff191919 DSchangedStateText=ff99ccff +DS3DAxisXColor=ffd00000 +DS3DAxisYColor=ff009900 +DS3DAxisZColor=ff5050ff ;DS controls theme END BackgroundColorAlternate=alternateBackground diff --git a/share/qtcreator/themes/flat-dark.creatortheme b/share/qtcreator/themes/flat-dark.creatortheme index 1df02cd4631..89150801ff4 100644 --- a/share/qtcreator/themes/flat-dark.creatortheme +++ b/share/qtcreator/themes/flat-dark.creatortheme @@ -61,6 +61,9 @@ DScontrolBackgroundInteraction=ff4d4d4d DStranslationIndicatorBorder=ff7f7f7f DSsectionHeadBackground=ff424242 DSchangedStateText=ff99ccff +DS3DAxisXColor=ffe00000 +DS3DAxisYColor=ff009900 +DS3DAxisZColor=ff6060ff ;DS controls theme END BackgroundColorAlternate=alternateBackground diff --git a/share/qtcreator/themes/flat-light.creatortheme b/share/qtcreator/themes/flat-light.creatortheme index b8b4e7eabd8..9c07ef1f6e7 100644 --- a/share/qtcreator/themes/flat-light.creatortheme +++ b/share/qtcreator/themes/flat-light.creatortheme @@ -57,6 +57,9 @@ DScontrolBackgroundInteraction=ff777777 DStranslationIndicatorBorder=ffebebeb DSsectionHeadBackground=ffebebeb DSchangedStateText=ff99ccff +DS3DAxisXColor=ffff0000 +DS3DAxisYColor=ff00A000 +DS3DAxisZColor=ff0000ff ;DS controls theme END BackgroundColorAlternate=alternateBackground diff --git a/share/qtcreator/themes/flat.creatortheme b/share/qtcreator/themes/flat.creatortheme index e80a8d85f1f..2565972643e 100644 --- a/share/qtcreator/themes/flat.creatortheme +++ b/share/qtcreator/themes/flat.creatortheme @@ -55,6 +55,9 @@ DScontrolBackgroundInteraction=ff4d4d4d DStranslationIndicatorBorder=ff7f7f7f DSsectionHeadBackground=ff424242 DSchangedStateText=ff99ccff +DS3DAxisXColor=ffe00000 +DS3DAxisYColor=ff009900 +DS3DAxisZColor=ff6060ff ;DS controls theme END BackgroundColorAlternate=alternateBackground diff --git a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt.kde b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt.kde index 4f88fcf84a2..cf21b3ac739 100644 --- a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt.kde +++ b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt.kde @@ -1,14 +1,19 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.59.0") +set(KF5_VERSION "5.73.0") project(KSyntaxHighlighting VERSION ${KF5_VERSION}) -find_package(ECM 5.59.0 REQUIRED NO_MODULE) -set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) +find_package(ECM 5.73.0 REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) if(POLICY CMP0063) cmake_policy(SET CMP0063 NEW) endif() +include(KDEInstallDirs) +include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) +include(KDECMakeSettings) +include(KDEClangFormat) + include(FeatureSummary) include(GenerateExportHeader) include(ECMSetupVersion) @@ -17,9 +22,6 @@ include(ECMGeneratePriFile) include(CMakePackageConfigHelpers) include(ECMPoQmTools) include(ECMQtDeclareLoggingCategory) -include(KDEInstallDirs) -include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) -include(KDECMakeSettings) include(ECMMarkNonGuiExecutable) include(ECMAddQch) include(ECMOptionalAddSubdirectory) @@ -34,7 +36,7 @@ ecm_setup_version(PROJECT # # Dependencies # -set(REQUIRED_QT_VERSION 5.10.0) +set(REQUIRED_QT_VERSION 5.12.0) find_package(Qt5 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED COMPONENTS Core Network Test) option(KSYNTAXHIGHLIGHTING_USE_GUI "Build components depending on Qt5Gui" ON) if(KSYNTAXHIGHLIGHTING_USE_GUI) @@ -84,6 +86,7 @@ if (NO_STANDARD_PATHS) add_definitions(-DNO_STANDARD_PATHS) endif() add_definitions(-DQT_NO_FOREACH) +add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00) # # Actually build the stuff @@ -135,6 +138,10 @@ endif() install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ksyntaxhighlighting_version.h" DESTINATION "${KDE_INSTALL_INCLUDEDIR_KF5}" COMPONENT Devel) -install(FILES org_kde_ksyntaxhighlighting.categories DESTINATION ${KDE_INSTALL_CONFDIR}) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) + +# add clang-format target for all our real source files +file(GLOB ALL_CLANG_FORMAT_TEST_FILES autotests/*.cpp autotests/*.h) +file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES examples/*.cpp examples/*.h src/*.cpp src/*.h) +kde_clang_format(${ALL_CLANG_FORMAT_TEST_FILES} ${ALL_CLANG_FORMAT_SOURCE_FILES}) diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/bash.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/bash.xml index cdfdf958449..240e98b4361 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/bash.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/bash.xml @@ -7,8 +7,9 @@ + ]> - + + + + @@ -482,7 +486,13 @@ - + + + + + + @@ -492,7 +502,7 @@ - + @@ -502,7 +512,7 @@ - + @@ -553,7 +563,8 @@ - + + @@ -567,13 +578,27 @@ - + - + + + + + + + + + + + + + + @@ -582,10 +607,11 @@ - + + - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml index 1f476858fda..fc33e98e0e9 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/cmake.xml @@ -31,7 +31,7 @@ break cmake_host_system_information + cmake_language cmake_minimum_required cmake_parse_arguments cmake_policy @@ -185,6 +186,11 @@ TOTAL_PHYSICAL_MEMORY TOTAL_VIRTUAL_MEMORY + + CALL + CODE + EVAL + FATAL_ERROR VERSION @@ -218,6 +224,7 @@ AND + COMMAND DEFINED EQUAL EXISTS @@ -250,6 +257,8 @@ COMMAND COMMAND_ECHO + ECHO_ERROR_VARIABLE + ECHO_OUTPUT_VARIABLE ENCODING ERROR_FILE ERROR_QUIET @@ -275,8 +284,12 @@ UTF8 + @ONLY APPEND + ARCHIVE_CREATE + ARCHIVE_EXTRACT CONDITION + CONFIGURE CONFIGURE_DEPENDS CONTENT COPY @@ -285,13 +298,16 @@ DIRECTORY_PERMISSIONS DOWNLOAD ENCODING + ESCAPE_QUOTES EXCLUDE EXPECTED_HASH EXPECTED_MD5 + FILES FILES_MATCHING FILE_PERMISSIONS FOLLOW_SYMLINKS FOLLOW_SYMLINK_CHAIN + FORMAT GENERATE GET_RUNTIME_DEPENDENCIES GLOB @@ -309,13 +325,16 @@ LIMIT_INPUT LIMIT_OUTPUT LIST_DIRECTORIES + LIST_ONLY LOCK LOG MAKE_DIRECTORY MD5 + MTIME NETRC NETRC_FILE NEWLINE_CONSUME + NEWLINE_STYLE NO_HEX_CONVERSION NO_SOURCE_PERMISSIONS OFFSET @@ -353,19 +372,28 @@ TOUCH_NOCREATE TO_CMAKE_PATH TO_NATIVE_PATH + TYPE UPLOAD USERPWD USE_SOURCE_PERMISSIONS UTC + VERBOSE WRITE + 7zip + BZip2 + CRLF + DOS FILE FUNCTION GROUP_EXECUTE GROUP_READ GROUP_WRITE + GZip IGNORED + LF + None OPTIONAL OWNER_EXECUTE OWNER_READ @@ -374,14 +402,23 @@ REQUIRED SETGID SETUID + UNIX UTF-16BE UTF-16LE UTF-32B UTF-32LE UTF-8 + WIN32 WORLD_EXECUTE WORLD_READ WORLD_WRITE + XZ + Zstd + gnutar + pax + paxr + raw + zip CMAKE_FIND_ROOT_PATH_BOTH @@ -398,6 +435,7 @@ ONLY_CMAKE_FIND_ROOT_PATH PATHS PATH_SUFFIXES + REQUIRED CMAKE_FIND_ROOT_PATH_BOTH @@ -415,6 +453,7 @@ ONLY_CMAKE_FIND_ROOT_PATH PATHS PATH_SUFFIXES + REQUIRED CMAKE_FIND_ROOT_PATH_BOTH @@ -458,6 +497,7 @@ ONLY_CMAKE_FIND_ROOT_PATH PATHS PATH_SUFFIXES + REQUIRED CMAKE_FIND_ROOT_PATH_BOTH @@ -475,6 +515,7 @@ ONLY_CMAKE_FIND_ROOT_PATH PATHS PATH_SUFFIXES + REQUIRED IN @@ -521,11 +562,13 @@ SET SOURCE TARGET + TARGET_DIRECTORY TEST VARIABLE AND + COMMAND DEFINED EQUAL EXISTS @@ -601,6 +644,7 @@ DESCENDING FILE_BASENAME INSENSITIVE + NATURAL SENSITIVE STRING @@ -649,6 +693,7 @@ PROPERTY SOURCE TARGET + TARGET_DIRECTORY TEST VARIABLE @@ -679,6 +724,7 @@ GENEX_STRIP GREATER GREATER_EQUAL + HEX JOIN LENGTH LESS @@ -722,6 +768,7 @@ AND + COMMAND DEFINED EQUAL EXISTS @@ -866,6 +913,10 @@ NAMESPACE TARGETS + + DIRECTORY + TARGET_DIRECTORY + AFTER BEFORE @@ -968,7 +1019,9 @@ Swift + DIRECTORY PROPERTIES + TARGET_DIRECTORY PROPERTIES @@ -1221,6 +1274,7 @@ RETURN_VALUE SCHEDULE_RANDOM START + STOP_ON_FAILURE STOP_TIME STRIDE TEST_LOAD @@ -1244,6 +1298,9 @@ ANDROID APPLE + ARGC + ARGN + ARGV BORLAND BUILD_SHARED_LIBS BUILD_TESTING @@ -1322,6 +1379,7 @@ CMAKE_CROSS_CONFIGS CMAKE_CTEST_ARGUMENTS CMAKE_CTEST_COMMAND + CMAKE_CUDA_ARCHITECTURES CMAKE_CUDA_COMPILE_FEATURES CMAKE_CUDA_EXTENSIONS CMAKE_CUDA_HOST_COMPILER @@ -1413,6 +1471,7 @@ CMAKE_Fortran_MODDIR_FLAG CMAKE_Fortran_MODOUT_FLAG CMAKE_Fortran_MODULE_DIRECTORY + CMAKE_Fortran_PREPROCESS CMAKE_GENERATOR CMAKE_GENERATOR_INSTANCE CMAKE_GENERATOR_NO_COMPILER_ENV @@ -1424,7 +1483,6 @@ CMAKE_GLOBAL_AUTORCC_TARGET_NAME CMAKE_GNUtoMS CMAKE_HAS_ANSI_STRING_STREAM - CMAKE_HOME_DIRECTORY CMAKE_HOST_APPLE CMAKE_HOST_SOLARIS CMAKE_HOST_SYSTEM @@ -1493,7 +1551,6 @@ CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP CMAKE_INSTALL_UCRT_LIBRARIES - CMAKE_INTERNAL_PLATFORM_ABI CMAKE_INTERPROCEDURAL_OPTIMIZATION CMAKE_IOS_INSTALL_COMBINED CMAKE_JOB_POOLS @@ -1535,7 +1592,6 @@ CMAKE_NETRC CMAKE_NETRC_FILE CMAKE_NINJA_OUTPUT_PATH_PREFIX - CMAKE_NOT_USING_CONFIG_FLAGS CMAKE_NO_ANSI_FOR_SCOPE CMAKE_NO_ANSI_STREAM_HEADERS CMAKE_NO_ANSI_STRING_STREAM @@ -1548,6 +1604,7 @@ CMAKE_OSX_SYSROOT CMAKE_PARENT_LIST_FILE CMAKE_PATCH_VERSION + CMAKE_PCH_WARN_INVALID CMAKE_PDB_OUTPUT_DIRECTORY CMAKE_POSITION_INDEPENDENT_CODE CMAKE_PREFIX_PATH @@ -1592,8 +1649,6 @@ CMAKE_STATIC_LINKER_FLAGS_INIT CMAKE_SUBLIME_TEXT_2_ENV_SETTINGS CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE - CMAKE_SUPPRESS_DEVELOPER_ERRORS - CMAKE_SUPPRESS_DEVELOPER_WARNINGS CMAKE_SUPPRESS_REGENERATION CMAKE_SWIG_FLAGS CMAKE_SWIG_OUTDIR @@ -1634,7 +1689,6 @@ CMAKE_VS_GLOBALS CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD - CMAKE_VS_INTEL_Fortran_PROJECT_VERSION CMAKE_VS_JUST_MY_CODE_DEBUGGING CMAKE_VS_MSBUILD_COMMAND CMAKE_VS_NsightTegra_VERSION @@ -1678,6 +1732,7 @@ CPACK_ABSOLUTE_DESTINATION_FILES CPACK_ARCHIVE_COMPONENT_INSTALL CPACK_ARCHIVE_FILE_NAME + CPACK_ARCHIVE_THREADS CPACK_BUILD_SOURCE_DIRS CPACK_BUNDLE_APPLE_CERT_APP CPACK_BUNDLE_APPLE_CODESIGN_FILES @@ -1742,9 +1797,9 @@ CPACK_DMG_SLA_LANGUAGES CPACK_DMG_VOLUME_NAME CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION - CPACK_EXT_ENABLE_STAGING - CPACK_EXT_PACKAGE_SCRIPT - CPACK_EXT_REQUESTED_VERSIONS + CPACK_EXTERNAL_ENABLE_STAGING + CPACK_EXTERNAL_PACKAGE_SCRIPT + CPACK_EXTERNAL_REQUESTED_VERSIONS CPACK_GENERATOR CPACK_IFW_ADMIN_TARGET_DIRECTORY CPACK_IFW_BINARYCREATOR_EXECUTABLE @@ -1788,7 +1843,6 @@ CPACK_INSTALL_CMAKE_PROJECTS CPACK_INSTALL_COMMANDS CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS - CPACK_INSTALL_SCRIPT CPACK_INSTALL_SCRIPTS CPACK_MONOLITHIC_INSTALL CPACK_NSIS_COMPRESSOR @@ -1807,6 +1861,7 @@ CPACK_NSIS_INSTALLED_ICON_NAME CPACK_NSIS_INSTALLER_MUI_ICON_CODE CPACK_NSIS_INSTALL_ROOT + CPACK_NSIS_MANIFEST_DPI_AWARE CPACK_NSIS_MENU_LINKS CPACK_NSIS_MODIFY_PATH CPACK_NSIS_MUI_FINISHPAGE_RUN @@ -1838,7 +1893,6 @@ CPACK_NUGET_PACKAGE_VERSION CPACK_OUTPUT_CONFIG_FILE CPACK_PACKAGE_CHECKSUM - CPACK_PACKAGE_CONTACT CPACK_PACKAGE_DESCRIPTION CPACK_PACKAGE_DESCRIPTION_FILE CPACK_PACKAGE_DESCRIPTION_SUMMARY @@ -1850,7 +1904,6 @@ CPACK_PACKAGE_INSTALL_DIRECTORY CPACK_PACKAGE_INSTALL_REGISTRY_KEY CPACK_PACKAGE_NAME - CPACK_PACKAGE_RELOCATABLE CPACK_PACKAGE_VENDOR CPACK_PACKAGE_VERSION CPACK_PACKAGE_VERSION_MAJOR @@ -1926,8 +1979,10 @@ CPACK_RPM_PACKAGE_VENDOR CPACK_RPM_PACKAGE_VERSION CPACK_RPM_POST_INSTALL_SCRIPT_FILE + CPACK_RPM_POST_TRANS_SCRIPT_FILE CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE CPACK_RPM_PRE_INSTALL_SCRIPT_FILE + CPACK_RPM_PRE_TRANS_SCRIPT_FILE CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE CPACK_RPM_RELOCATION_PATHS CPACK_RPM_SOURCE_PKG_BUILD_PARAMS @@ -2023,6 +2078,8 @@ CTEST_P4_COMMAND CTEST_P4_OPTIONS CTEST_P4_UPDATE_OPTIONS + CTEST_RESOURCE_SPEC_FILE + CTEST_RUN_CURRENT_SCRIPT CTEST_SCP_COMMAND CTEST_SITE CTEST_SOURCE_DIRECTORY @@ -2120,6 +2177,21 @@ XCODE_VERSION + + CMAKE_HOME_DIRECTORY + CMAKE_INTERNAL_PLATFORM_ABI + CMAKE_NOT_USING_CONFIG_FLAGS + CMAKE_SUPPRESS_DEVELOPER_ERRORS + CMAKE_SUPPRESS_DEVELOPER_WARNINGS + CMAKE_VS_INTEL_Fortran_PROJECT_VERSION + CPACK_INSTALL_PREFIX + CPACK_INSTALL_SCRIPT + CPACK_PACKAGE_CONTACT + CPACK_PACKAGE_RELOCATABLE + CPACK_TEMPORARY_DIRECTORY + CPACK_TOPLEVEL_DIRECTORY + + CC CFLAGS @@ -2293,6 +2365,7 @@ COMPILE_PDB_NAME COMPILE_PDB_OUTPUT_DIRECTORY CROSSCOMPILING_EMULATOR + CUDA_ARCHITECTURES CUDA_EXTENSIONS CUDA_PTX_COMPILATION CUDA_RESOLVE_DEVICE_SYMBOLS @@ -2324,6 +2397,7 @@ FRAMEWORK_VERSION Fortran_FORMAT Fortran_MODULE_DIRECTORY + Fortran_PREPROCESS GENERATOR_FILE_NAME GNUtoMS HAS_CXX @@ -2382,6 +2456,8 @@ LINK_SEARCH_START_STATIC LINK_WHAT_YOU_USE LOCATION + MACHO_COMPATIBILITY_VERSION + MACHO_CURRENT_VERSION MACOSX_BUNDLE MACOSX_BUNDLE_INFO_PLIST MACOSX_FRAMEWORK_INFO_PLIST @@ -2395,6 +2471,7 @@ OSX_COMPATIBILITY_VERSION OSX_CURRENT_VERSION OUTPUT_NAME + PCH_WARN_INVALID PDB_NAME PDB_OUTPUT_DIRECTORY POSITION_INDEPENDENT_CODE @@ -2425,6 +2502,7 @@ UNITY_BUILD_BATCH_SIZE UNITY_BUILD_CODE_AFTER_INCLUDE UNITY_BUILD_CODE_BEFORE_INCLUDE + UNITY_BUILD_MODE VERSION VISIBILITY_INLINES_HIDDEN VS_CONFIGURATION_TYPE @@ -2448,12 +2526,14 @@ VS_MOBILE_EXTENSIONS_VERSION VS_NO_SOLUTION_DEPLOY VS_PACKAGE_REFERENCES + VS_PLATFORM_TOOLSET VS_PROJECT_IMPORT VS_SCC_AUXPATH VS_SCC_LOCALPATH VS_SCC_PROJECTNAME VS_SCC_PROVIDER VS_SDK_REFERENCES + VS_SOLUTION_DEPLOY VS_USER_PROPS VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION VS_WINRT_COMPONENT @@ -2496,6 +2576,7 @@ COMPILE_OPTIONS EXTERNAL_OBJECT Fortran_FORMAT + Fortran_PREPROCESS GENERATED HEADER_FILE_ONLY INCLUDE_DIRECTORIES @@ -2520,6 +2601,7 @@ VS_DEPLOYMENT_LOCATION VS_INCLUDE_IN_VSIX VS_RESOURCE_GENERATOR + VS_SETTINGS VS_SHADER_DISABLE_OPTIMIZATIONS VS_SHADER_ENABLE_DEBUG VS_SHADER_ENTRYPOINT @@ -2609,6 +2691,10 @@ COMPILE_FEATURES COMPILE_LANG_AND_ID COMPILE_LANGUAGE + LINK_LANG_AND_ID + LINK_LANGUAGE + DEVICE_LINK + HOST_LINK ANGLE-R COMMA SEMICOLON @@ -2660,6 +2746,7 @@ + @@ -2667,11 +2754,11 @@ - - - - - + + + + + @@ -2679,17 +2766,17 @@ - - + + - + - + @@ -2703,7 +2790,7 @@ - + @@ -2789,6 +2876,14 @@ + + + + + + + + @@ -3370,6 +3465,7 @@ + @@ -3723,6 +3819,7 @@ + @@ -3757,6 +3854,7 @@ + @@ -3784,11 +3882,16 @@ + + + + + @@ -3817,7 +3920,10 @@ + + + @@ -3827,7 +3933,6 @@ - @@ -3869,7 +3974,6 @@ - @@ -3883,6 +3987,7 @@ + @@ -3991,18 +4096,12 @@ - + - - - - - - @@ -4010,7 +4109,8 @@ - + + @@ -4021,6 +4121,7 @@ + @@ -4067,6 +4168,7 @@ + @@ -4111,6 +4213,7 @@ + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/doxygen.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/doxygen.xml index a6abda92047..a434f0f263a 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/doxygen.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/doxygen.xml @@ -2,9 +2,11 @@ + + ]> \endrtfonly @endrtfonly \endsecreflist @endsecreflist \endxmlonly @endxmlonly - \f[ @f[ - \f] @f] - \f$ @f$ - \hideinitializer @hideinitializer \htmlonly @htmlonly @@ -84,21 +82,6 @@ \test @test \version @version \xmlonly @xmlonly - - \# @# - \$ @$ - \% @% - \& @& - \> @> - \< @< - \" @" - \:: @:: - \@ @@ - \\ @\ - \~ @~ - \. @. - \-- @-- - \--- @--- @@ -202,6 +185,12 @@ \var @var \vhdlflow @vhdlflow + + \endcode @endcode + \endverbatim @endverbatim + \endmsc @endmsc + \enddot @enddot + \note @note @@ -231,8 +220,8 @@ TODO Not all commands are handled properly nowadays :( Need few more contexts... --> - - + + @@ -242,38 +231,21 @@ - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + - - - - - - + + + + + - - - - - - - - + + - + - + - - + + + + + + + + - + - + + - + + + - - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - - - + + + + - - - - - - - - + - + - - + + + + - + + + + - + @@ -411,50 +514,88 @@ - - - - - - - - - - - + + + + + - - - - + + + - - - + + + - - - - - - - - + + + - - - + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -480,10 +621,11 @@ + - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/java.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/java.xml index f59415048e7..938b25a0f35 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/java.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/java.xml @@ -4,7 +4,7 @@ ]> - + ACTIVE @@ -3786,9 +3786,9 @@ - + - + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml index b47b1afceed..d836d1c3f4c 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/markdown.xml @@ -90,7 +90,7 @@ ]> - + @@ -320,11 +320,12 @@ - + + @@ -432,6 +433,10 @@ + + + + diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/perl.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/perl.xml index 26c82cd66ef..964e31b67ae 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/perl.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/perl.xml @@ -39,7 +39,7 @@ Enhance tr/// and y/// support. --> - + if @@ -674,7 +674,7 @@ - + @@ -694,8 +694,8 @@ + - diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/powershell.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/powershell.xml index e5c1e44c45a..03acb0f5a91 100644 --- a/src/libs/3rdparty/syntax-highlighting/data/syntax/powershell.xml +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/powershell.xml @@ -1,7 +1,7 @@ - - + + diff --git a/src/libs/3rdparty/syntax-highlighting/src/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/src/CMakeLists.txt index b8820252c58..beac3d50e89 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/src/CMakeLists.txt @@ -3,3 +3,9 @@ if(TARGET Qt5::Gui) add_subdirectory(lib) add_subdirectory(cli) endif() + +ecm_qt_install_logging_categories( + EXPORT KSYNTAXHIGHLIGHTING + FILE ksyntaxhighlighting.categories + DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} +) diff --git a/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp b/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp index 82235819a1c..aeb4c2db557 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/indexer/katehighlightingindexer.cpp @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include #include #include @@ -774,7 +774,7 @@ int main(int argc, char *argv[]) return 9; // write out json - outFile.write(QJsonDocument::fromVariant(QVariant(hls)).toBinaryData()); + outFile.write(QCborValue::fromVariant(QVariant(hls)).toCbor()); // be done return 0; diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt index 02c889d7a26..d208d48f5c4 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/CMakeLists.txt @@ -22,7 +22,8 @@ set(syntax_highlighting_srcs ecm_qt_declare_logging_category(syntax_highlighting_srcs HEADER ksyntaxhighlighting_logging.h IDENTIFIER KSyntaxHighlighting::Log - CATEGORY_NAME org.kde.ksyntaxhighlighting + CATEGORY_NAME kf.syntaxhighlighting + OLD_CATEGORY_NAMES org.kde.ksyntaxhighlighting DESCRIPTION "Syntax Highlighting" EXPORT KSYNTAXHIGHLIGHTING ) diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp index bc43473bf28..1bb5e3d2702 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp @@ -37,10 +37,10 @@ #include "rule_p.h" #include "xml_p.h" +#include #include #include #include -#include #include #include #include @@ -456,12 +456,12 @@ bool DefinitionData::loadMetaData(const QString &definitionFileName) return false; } -bool DefinitionData::loadMetaData(const QString &file, const QJsonObject &obj) +bool DefinitionData::loadMetaData(const QString &file, const QCborMap &obj) { name = obj.value(QLatin1String("name")).toString(); section = obj.value(QLatin1String("section")).toString(); - version = obj.value(QLatin1String("version")).toInt(); - priority = obj.value(QLatin1String("priority")).toInt(); + version = obj.value(QLatin1String("version")).toInteger(); + priority = obj.value(QLatin1String("priority")).toInteger(); style = obj.value(QLatin1String("style")).toString(); author = obj.value(QLatin1String("author")).toString(); license = obj.value(QLatin1String("license")).toString(); diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h index f9b779482e2..c654d632c9d 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h @@ -32,8 +32,8 @@ #include QT_BEGIN_NAMESPACE +class QCborMap; class QXmlStreamReader; -class QJsonObject; QT_END_NAMESPACE namespace KSyntaxHighlighting @@ -53,7 +53,7 @@ public: bool isLoaded() const; bool loadMetaData(const QString &definitionFileName); - bool loadMetaData(const QString &fileName, const QJsonObject &obj); + bool loadMetaData(const QString &fileName, const QCborMap &obj); void clear(); diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/repository.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/repository.cpp index f61365869e9..c45dfa7d3cf 100644 --- a/src/libs/3rdparty/syntax-highlighting/src/lib/repository.cpp +++ b/src/libs/3rdparty/syntax-highlighting/src/lib/repository.cpp @@ -30,11 +30,11 @@ #include "themedata_p.h" #include "wildcardmatcher_p.h" +#include +#include #include #include #include -#include -#include #ifndef NO_STANDARD_PATHS #include @@ -224,13 +224,13 @@ bool RepositoryPrivate::loadSyntaxFolderFromIndex(Repository *repo, const QStrin if (!indexFile.open(QFile::ReadOnly)) return false; - const auto indexDoc(QJsonDocument::fromBinaryData(indexFile.readAll())); - const auto index = indexDoc.object(); + const auto indexDoc(QCborValue::fromCbor(indexFile.readAll())); + const auto index = indexDoc.toMap(); for (auto it = index.begin(); it != index.end(); ++it) { - if (!it.value().isObject()) + if (!it.value().isMap()) continue; - const auto fileName = QString(path + QLatin1Char('/') + it.key()); - const auto defMap = it.value().toObject(); + const auto fileName = QString(path + QLatin1Char('/') + it.key().toString()); + const auto defMap = it.value().toMap(); Definition def; auto defData = DefinitionData::get(def); defData->repo = repo; diff --git a/src/libs/languageserverprotocol/initializemessages.cpp b/src/libs/languageserverprotocol/initializemessages.cpp index 6cb807a2a23..1f46469438d 100644 --- a/src/libs/languageserverprotocol/initializemessages.cpp +++ b/src/libs/languageserverprotocol/initializemessages.cpp @@ -147,8 +147,8 @@ bool InitializeParams::isValid(ErrorHierarchy *error) const && checkOptional(error, rootUriKey) && check(error, capabilitiesKey) && checkOptional(error, traceKey) - && (checkOptional(error, workSpaceFoldersKey) - || checkOptionalArray(error, workSpaceFoldersKey)); + && (checkOptional(error, workspaceFoldersKey) + || checkOptionalArray(error, workspaceFoldersKey)); } InitializeRequest::InitializeRequest(const InitializeParams ¶ms) diff --git a/src/libs/languageserverprotocol/initializemessages.h b/src/libs/languageserverprotocol/initializemessages.h index eee4de5d396..5d88267b38f 100644 --- a/src/libs/languageserverprotocol/initializemessages.h +++ b/src/libs/languageserverprotocol/initializemessages.h @@ -115,11 +115,11 @@ public: * * Since 3.6.0 */ - Utils::optional> workSpaceFolders() const - { return optionalClientArray(workSpaceFoldersKey); } + Utils::optional> workspaceFolders() const + { return optionalClientArray(workspaceFoldersKey); } void setWorkSpaceFolders(const LanguageClientArray &folders) - { insert(workSpaceFoldersKey, folders.toJson()); } - void clearWorkSpaceFolders() { remove(workSpaceFoldersKey); } + { insert(workspaceFoldersKey, folders.toJson()); } + void clearWorkSpaceFolders() { remove(workspaceFoldersKey); } bool isValid(ErrorHierarchy *error) const override; }; diff --git a/src/libs/languageserverprotocol/jsonkeys.h b/src/libs/languageserverprotocol/jsonkeys.h index d8f2b13117e..0cdfaf1d34a 100644 --- a/src/libs/languageserverprotocol/jsonkeys.h +++ b/src/libs/languageserverprotocol/jsonkeys.h @@ -212,7 +212,6 @@ constexpr char valueSetKey[] = "valueSet"; constexpr char versionKey[] = "version"; constexpr char willSaveKey[] = "willSave"; constexpr char willSaveWaitUntilKey[] = "willSaveWaitUntil"; -constexpr char workSpaceFoldersKey[] = "workSpaceFolders"; constexpr char workspaceEditKey[] = "workspaceEdit"; constexpr char workspaceFoldersKey[] = "workspaceFolders"; constexpr char workspaceKey[] = "workspace"; diff --git a/src/libs/languageserverprotocol/lsptypes.cpp b/src/libs/languageserverprotocol/lsptypes.cpp index 168a545105b..04594e54930 100644 --- a/src/libs/languageserverprotocol/lsptypes.cpp +++ b/src/libs/languageserverprotocol/lsptypes.cpp @@ -102,7 +102,7 @@ void WorkspaceEdit::setChanges(const Changes &changes) insert(changesKey, changesObject); } -WorkSpaceFolder::WorkSpaceFolder(const QString &uri, const QString &name) +WorkSpaceFolder::WorkSpaceFolder(const DocumentUri &uri, const QString &name) { setUri(uri); setName(name); diff --git a/src/libs/languageserverprotocol/lsptypes.h b/src/libs/languageserverprotocol/lsptypes.h index 49f323f0404..58be6f5cd5b 100644 --- a/src/libs/languageserverprotocol/lsptypes.h +++ b/src/libs/languageserverprotocol/lsptypes.h @@ -442,12 +442,12 @@ class LANGUAGESERVERPROTOCOL_EXPORT WorkSpaceFolder : public JsonObject { public: WorkSpaceFolder() = default; - WorkSpaceFolder(const QString &uri, const QString &name); + WorkSpaceFolder(const DocumentUri &uri, const QString &name); using JsonObject::JsonObject; // The associated URI for this workspace folder. - QString uri() const { return typedValue(uriKey); } - void setUri(const QString &uri) { insert(uriKey, uri); } + DocumentUri uri() const { return DocumentUri::fromProtocol(typedValue(uriKey)); } + void setUri(const DocumentUri &uri) { insert(uriKey, uri); } // The name of the workspace folder. Defaults to the uri's basename. QString name() const { return typedValue(nameKey); } diff --git a/src/libs/utils/theme/theme.h b/src/libs/utils/theme/theme.h index e0f6e9cdb97..21ecc007c5b 100644 --- a/src/libs/utils/theme/theme.h +++ b/src/libs/utils/theme/theme.h @@ -342,7 +342,10 @@ public: DScontrolBackgroundInteraction, DStranslationIndicatorBorder, DSsectionHeadBackground, - DSchangedStateText + DSchangedStateText, + DS3DAxisXColor, + DS3DAxisYColor, + DS3DAxisZColor }; enum Gradient { diff --git a/src/libs/utils/touchbar/touchbar_mac_p.h b/src/libs/utils/touchbar/touchbar_mac_p.h index c86132fd594..b22cac34ad4 100644 --- a/src/libs/utils/touchbar/touchbar_mac_p.h +++ b/src/libs/utils/touchbar/touchbar_mac_p.h @@ -44,7 +44,7 @@ class TouchBarPrivate; @property (retain, atomic) NSString *closeButtonIdentifier; - (id)initWithParent:(Utils::Internal::TouchBarPrivate *)parent; - +- (NSTouchBar *)makeTouchBar; @end namespace Utils { diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index 6a55730d50c..f681a83d060 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -195,10 +195,7 @@ CMakeBuildSystem::CMakeBuildSystem(CMakeBuildConfiguration *bc) connect(&m_reader, &FileApiReader::errorOccurred, this, &CMakeBuildSystem::handleParsingFailed); connect(&m_reader, &FileApiReader::dirty, this, &CMakeBuildSystem::becameDirty); - connect(SessionManager::instance(), - &SessionManager::projectAdded, - this, - &CMakeBuildSystem::wireUpConnections); + wireUpConnections(); } CMakeBuildSystem::~CMakeBuildSystem() @@ -712,13 +709,8 @@ void CMakeBuildSystem::handleParsingFailed(const QString &msg) combineScanAndParse(); } -void CMakeBuildSystem::wireUpConnections(const Project *p) +void CMakeBuildSystem::wireUpConnections() { - if (p != project()) - return; // That's not us... - - disconnect(SessionManager::instance(), nullptr, this, nullptr); - // At this point the entire project will be fully configured, so let's connect everything and // trigger an initial parser run @@ -740,6 +732,12 @@ void CMakeBuildSystem::wireUpConnections(const Project *p) setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()), CMakeBuildSystem::REPARSE_DEFAULT); }); + connect(project(), &Project::activeTargetChanged, this, [this]() { + // Build configuration has changed: + qCDebug(cmakeBuildSystemLog) << "Requesting parse due to active target changed"; + setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()), + CMakeBuildSystem::REPARSE_DEFAULT); + }); // BuildConfiguration changed: connect(cmakeBuildConfiguration(), &CMakeBuildConfiguration::environmentChanged, this, [this]() { diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h index 86d77d7a7d7..e4c69a7d3c1 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.h @@ -134,7 +134,7 @@ private: void handleParsingSucceeded(); void handleParsingFailed(const QString &msg); - void wireUpConnections(const ProjectExplorer::Project *p); + void wireUpConnections(); Utils::FilePath workDirectory(const BuildDirParameters ¶meters); void stopParsingAndClearState(); diff --git a/src/plugins/cpaster/dpastedotcomprotocol.cpp b/src/plugins/cpaster/dpastedotcomprotocol.cpp index c5927c58f33..48f5f8e3573 100644 --- a/src/plugins/cpaster/dpastedotcomprotocol.cpp +++ b/src/plugins/cpaster/dpastedotcomprotocol.cpp @@ -32,7 +32,7 @@ namespace CodePaster { -static QString baseUrl() { return QString("http://dpaste.com"); } +static QString baseUrl() { return QString("https://dpaste.com"); } static QString apiUrl() { return baseUrl() + "/api/v2/"; } QString DPasteDotComProtocol::protocolName() { return QString("DPaste.Com"); } diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index 13db44f7ca8..296866078b2 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -2629,15 +2629,16 @@ bool BreakpointManager::contextMenuEvent(const ItemViewEvent &ev) rowCount() > 0, &BreakpointManager::executeDeleteAllBreakpointsDialog); - // Delete by file: Find indices of breakpoints of the same file. + // Delete by file: Find breakpoints of the same file. GlobalBreakpoints breakpointsInFile; FilePath file; if (GlobalBreakpoint gbp = itemForIndexAtLevel<1>(ev.sourceModelIndex())) { file = gbp->markerFileName(); if (!file.isEmpty()) { - for (int i = 0; i != rowCount(); ++i) + forItemsAtLevel<1>([file, &breakpointsInFile](const GlobalBreakpoint &gbp) { if (gbp->markerFileName() == file) breakpointsInFile.append(gbp); + }); } } addAction(menu, tr("Delete Breakpoints of \"%1\"").arg(file.toUserOutput()), diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index fe6c18fa669..dad7a1d6b20 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -262,8 +262,9 @@ void Client::initialize() params.setInitializationOptions(m_initializationOptions); if (m_project) { params.setRootUri(DocumentUri::fromFilePath(m_project->projectDirectory())); - params.setWorkSpaceFolders(Utils::transform(SessionManager::projects(), [](Project *pro){ - return WorkSpaceFolder(pro->projectDirectory().toString(), pro->displayName()); + params.setWorkSpaceFolders(Utils::transform(SessionManager::projects(), [](Project *pro) { + return WorkSpaceFolder(DocumentUri::fromFilePath(pro->projectDirectory()), + pro->displayName()); })); } InitializeRequest initRequest(params); @@ -837,7 +838,8 @@ void Client::projectOpened(ProjectExplorer::Project *project) if (!sendWorkspceFolderChanges()) return; WorkspaceFoldersChangeEvent event; - event.setAdded({WorkSpaceFolder(project->projectDirectory().toString(), project->displayName())}); + event.setAdded({WorkSpaceFolder(DocumentUri::fromFilePath(project->projectDirectory()), + project->displayName())}); DidChangeWorkspaceFoldersParams params; params.setEvent(event); DidChangeWorkspaceFoldersNotification change(params); @@ -857,8 +859,8 @@ void Client::projectClosed(ProjectExplorer::Project *project) if (!sendWorkspceFolderChanges()) return; WorkspaceFoldersChangeEvent event; - event.setRemoved( - {WorkSpaceFolder(project->projectDirectory().toString(), project->displayName())}); + event.setRemoved({WorkSpaceFolder(DocumentUri::fromFilePath(project->projectDirectory()), + project->displayName())}); DidChangeWorkspaceFoldersParams params; params.setEvent(event); DidChangeWorkspaceFoldersNotification change(params); @@ -1236,7 +1238,7 @@ void Client::handleMethod(const QString &method, MessageId id, const IContent *c result = nullptr; } else { result = Utils::transform(projects, [](ProjectExplorer::Project *project) { - return WorkSpaceFolder(project->projectDirectory().toString(), + return WorkSpaceFolder(DocumentUri::fromFilePath(project->projectDirectory()), project->displayName()); }); } diff --git a/src/plugins/qmldesigner/CMakeLists.txt b/src/plugins/qmldesigner/CMakeLists.txt index 01c35a266c6..6f7cd737cf1 100644 --- a/src/plugins/qmldesigner/CMakeLists.txt +++ b/src/plugins/qmldesigner/CMakeLists.txt @@ -633,6 +633,7 @@ extend_qtc_plugin(QmlDesigner SOURCES hyperlinkdialog.cpp hyperlinkdialog.h hyperlinkdialog.ui richtexteditor.cpp richtexteditor.h hyperlinkdialog.ui + richtexteditorproxy.cpp richtexteditorproxy.h ) extend_qtc_plugin(QmlDesigner diff --git a/src/plugins/qmldesigner/qmldesignerplugin.qbs b/src/plugins/qmldesigner/qmldesignerplugin.qbs index b391a2d57a7..0e9ee731915 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.qbs +++ b/src/plugins/qmldesigner/qmldesignerplugin.qbs @@ -59,7 +59,7 @@ Project { "components/stateseditor", "components/texteditor", "components/timelineeditor", - "compenents/listmodeleditor", + "components/listmodeleditor", ]) Properties { diff --git a/src/plugins/qtsupport/qtcreator_tutorials.xml b/src/plugins/qtsupport/qtcreator_tutorials.xml index 422ddce483e..43fd0fbe01c 100644 --- a/src/plugins/qtsupport/qtcreator_tutorials.xml +++ b/src/plugins/qtsupport/qtcreator_tutorials.xml @@ -180,9 +180,9 @@ qt quick,ui,webos,talk,2019 - + - qtformcus,mcus,qt,talk,NXP IMXRT1050-EVKB,2020 + qtformcus,mcus,qt,video,NXP IMXRT1050-EVKB,2020 diff --git a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp index 6abdeff6087..292c46ccccf 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp +++ b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp @@ -292,6 +292,8 @@ bool FunctionHintProposalWidget::eventFilter(QObject *obj, QEvent *e) if (d->m_model && d->m_model->size() > 1) return false; } + if (QTC_GUARD(d->m_assistant)) + d->m_assistant->notifyChange(); } break; case QEvent::WindowDeactivate: diff --git a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp index 6801240368d..b2b8e428e45 100644 --- a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp +++ b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp @@ -809,10 +809,7 @@ void tst_Preprocessor::unfinished_function_like_macro_call() QByteArray expected__("# 1 \"\"\n" "\n" "\n" - "# expansion begin 24,3 3:4 ~1 3:7\n" - "1 + 2\n" - "# expansion end\n" - "# 4 \"\"\n"); + "foo\n"); // DUMP_OUTPUT(preprocessed); QVERIFY(compare(preprocessed, expected__)); @@ -1437,26 +1434,28 @@ void tst_Preprocessor::comments_within_data() "void foo() {\n" " FOO(10,\n" " //comment\n" - " 12\n" + " 12)\n" "}\n" ) << _( "# 1 \"\"\n" "\n" "\n" "void foo() {\n" - "# expansion begin 57,3 ~4 4:7 ~4 6:7 7:0 ~2\n" - "{ (void)10; (void)12}; }\n" + "# expansion begin 57,3 ~4 4:7 ~4 6:7 ~2\n" + "{ (void)10; (void)12; }\n" "# expansion end\n" - "# 8 \"\"\n" + "# 7 \"\"\n" + "}\n" ) << _( "# 1 \"\"\n" "\n" "\n" "void foo() {\n" - "# expansion begin 57,3 ~4 4:7 ~5 6:7 7:0 ~2\n" - "{ (void)10; (void)/*comment*/ 12}; }\n" + "# expansion begin 57,3 ~4 4:7 ~5 6:7 ~2\n" + "{ (void)10; (void)/*comment*/ 12; }\n" "# expansion end\n" - "# 8 \"\"\n" + "# 7 \"\"\n" + "}\n" ); QTest::newRow("case 6") << _( @@ -1465,26 +1464,28 @@ void tst_Preprocessor::comments_within_data() "void foo() {\n" " FOO(10,\n" " //tricky*/comment\n" - " 12\n" + " 12)\n" "}\n" ) << _( "# 1 \"\"\n" "\n" "\n" "void foo() {\n" - "# expansion begin 57,3 ~4 4:7 ~4 6:7 7:0 ~2\n" - "{ (void)10; (void)12}; }\n" + "# expansion begin 57,3 ~4 4:7 ~4 6:7 ~2\n" + "{ (void)10; (void)12; }\n" "# expansion end\n" - "# 8 \"\"\n" + "# 7 \"\"\n" + "}\n" ) << _( "# 1 \"\"\n" "\n" "\n" "void foo() {\n" - "# expansion begin 57,3 ~4 4:7 ~5 6:7 7:0 ~2\n" - "{ (void)10; (void)/*tricky*|comment*/ 12}; }\n" + "# expansion begin 57,3 ~4 4:7 ~5 6:7 ~2\n" + "{ (void)10; (void)/*tricky*|comment*/ 12; }\n" "# expansion end\n" - "# 8 \"\"\n" + "# 7 \"\"\n" + "}\n" ); QTest::newRow("case 7") << _(