Merge remote-tracking branch 'origin/11.0' into qds/dev

Conflicts: src/plugins/qmldesigner/designercore/metainfo/metainfo.cpp
  src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp
  tests/auto/qml/qmlprojectmanager/fileformat/fileformat.qbs
  tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp

Change-Id: I257f1908917bcc58805619b53b6866f2f73ca544
This commit is contained in:
Tim Jenssen
2023-06-02 21:23:26 +02:00
2486 changed files with 100472 additions and 44365 deletions

View File

@@ -23,19 +23,19 @@ AlignEscapedNewlines: DontAlign
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: true
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterClass: true
AfterControlStatement: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: true
AfterNamespace: false
@@ -100,7 +100,7 @@ PenaltyExcessCharacter: 50
PenaltyReturnTypeOnItsOwnLine: 300
PointerAlignment: Right
ReflowComments: false
SortIncludes: true
SortIncludes: CaseSensitive
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceAfterTemplateKeyword: false
@@ -113,6 +113,6 @@ SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
Standard: c++11
TabWidth: 4
UseTab: Never

View File

@@ -7,9 +7,9 @@ on:
- 'doc/**'
env:
QT_VERSION: 6.5.0
QT_VERSION: 6.5.1
MACOS_DEPLOYMENT_TARGET: 10.15
CLANG_VERSION: 16.0.0
CLANG_VERSION: 16.0.2
ELFUTILS_VERSION: 0.175
CMAKE_VERSION: 3.21.1
NINJA_VERSION: 1.10.2
@@ -577,7 +577,11 @@ jobs:
endif()
if ("${{ runner.os }}" STREQUAL "macOS")
set(ENV{CMAKE_OSX_ARCHITECTURES} "x86_64;arm64")
if (${{github.ref}} MATCHES "tags/v(.*)")
set(ENV{CMAKE_OSX_ARCHITECTURES} "x86_64;arm64")
else()
set(ENV{CMAKE_OSX_ARCHITECTURES} "x86_64")
endif()
endif()
execute_process(

View File

@@ -68,11 +68,24 @@ if(MSVC)
add_compile_options(/wd4573)
endif()
find_package(Qt5
find_package(Qt6
${IDE_QT_VERSION_MIN}
COMPONENTS Concurrent Core Gui Network PrintSupport Qml Sql Widgets Xml Core5Compat ${QT_TEST_COMPONENT}
REQUIRED
)
# hack for Qbs which still supports Qt5 and Qt6
if (TARGET Qt6::Core5CompatPrivate)
if (CMAKE_VERSION VERSION_LESS 3.18)
set_property(TARGET Qt6::Core5CompatPrivate PROPERTY IMPORTED_GLOBAL TRUE)
endif()
add_library(Qt6Core5CompatPrivate ALIAS Qt6::Core5CompatPrivate)
endif()
if (TARGET Qt6::Core5Compat)
if (CMAKE_VERSION VERSION_LESS 3.18)
set_property(TARGET Qt6::Core5Compat PROPERTY IMPORTED_GLOBAL TRUE)
endif()
add_library(Qt6Core5Compat ALIAS Qt6::Core5Compat)
endif()
# Common intermediate directory for QML modules which are defined via qt_add_qml_module()
set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/qml_modules")
@@ -85,8 +98,8 @@ if (MSVC AND QT_FEATURE_static_runtime)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()
find_package(Qt5 COMPONENTS LinguistTools QUIET)
find_package(Qt5 COMPONENTS Quick QuickWidgets Designer DesignerComponents Help SerialPort Svg Tools QUIET)
find_package(Qt6 OPTIONAL_COMPONENTS Quick QuickWidgets Designer DesignerComponentsPrivate
Help SerialPort Svg Tools LinguistTools QUIET)
find_package(Threads)
find_package(Clang QUIET)

185
README.md
View File

@@ -747,3 +747,188 @@ SQLite (https://www.sqlite.org) is in the Public Domain.
public domain worldwide. This software is distributed without any warranty.
http://creativecommons.org/publicdomain/zero/1.0/
### WinPty
Implementation of a pseudo terminal for Windows.
https://github.com/rprichard/winpty
The MIT License (MIT)
Copyright (c) 2011-2016 Ryan Prichard
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
### ptyqt
Pty-Qt is small library for access to console applications by pseudo-terminal interface on Mac,
Linux and Windows. On Mac and Linux it uses standard PseudoTerminal API and on Windows it uses
WinPty(prefer) or ConPty.
https://github.com/kafeg/ptyqt
MIT License
Copyright (c) 2019 Vitaly Petrov, v31337@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
### libvterm
An abstract C99 library which implements a VT220 or xterm-like terminal emulator.
It doesn't use any particular graphics toolkit or output system, instead it invokes callback
function pointers that its embedding program should provide it to draw on its behalf.
It avoids calling malloc() during normal running state, allowing it to be used in embedded kernel
situations.
https://www.leonerd.org.uk/code/libvterm/
The MIT License
Copyright (c) 2008 Paul Evans <leonerd@leonerd.org.uk>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
### terminal/shellintegrations
The Terminal plugin uses scripts to integrate with the shell. The scripts are
located in the Qt Creator source tree in src/plugins/terminal/shellintegrations.
https://github.com/microsoft/vscode/tree/main/src/vs/workbench/contrib/terminal/browser/media
MIT License
Copyright (c) 2015 - present Microsoft Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
### terminal/shellintegrations/clink
The Terminal plugin uses a lua script to integrate with the cmd shell when using clink.
https://github.com/chrisant996/clink-gizmos
MIT License
Copyright (c) 2023 Chris Antos
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
### cmake
The CMake project manager uses the CMake lexer code for parsing CMake files
https://gitlab.kitware.com/cmake/cmake.git
CMake - Cross Platform Makefile Generator
Copyright 2000-2023 Kitware, Inc. and Contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Kitware, Inc. nor the names of Contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,103 +0,0 @@
#.rst:
# FindQt5
# -------
#
# Qt5 wrapper around Qt6 CMake code.
#
unset(__arguments)
if (Qt5_FIND_QUIETLY)
list(APPEND __arguments QUIET)
endif()
if (Qt5_FIND_REQUIRED)
list(APPEND __arguments REQUIRED)
endif()
if (Qt5_FIND_COMPONENTS)
# for some reason QUIET doesn't really work when passed to the arguments list
if (Qt5_FIND_QUIETLY)
list(APPEND __arguments OPTIONAL_COMPONENTS)
else()
list(APPEND __arguments COMPONENTS)
endif()
endif()
find_package(Qt6 ${Qt5_FIND_VERSION} CONFIG COMPONENTS Core QUIET)
if (NOT Qt6_FOUND)
# remove Core5Compat from components to find in Qt5, but add a dummy target,
# which unfortunately cannot start with "Qt6::"
# also remove Tools, where some tools have moved in Qt6, e.g. from Help
list(REMOVE_ITEM Qt5_FIND_COMPONENTS Core5Compat)
list(REMOVE_ITEM Qt5_FIND_COMPONENTS Tools)
find_package(Qt5 ${Qt5_FIND_VERSION} CONFIG ${__arguments} ${Qt5_FIND_COMPONENTS})
if (NOT TARGET Qt6Core5Compat)
add_library(Qt6Core5Compat INTERFACE)
endif()
# Remove Qt6 from the not found packages in Qt5 mode
get_property(not_found_packages GLOBAL PROPERTY "PACKAGES_NOT_FOUND")
if(not_found_packages)
list(REMOVE_ITEM not_found_packages Qt6)
set_property(GLOBAL PROPERTY "PACKAGES_NOT_FOUND" "${not_found_packages}")
endif()
return()
else()
# since Qt 6.2 some components are renamed to *Private
foreach(possible_private_libs DesignerComponents QmlDebug)
list(FIND Qt5_FIND_COMPONENTS ${possible_private_libs} dcIndex)
if(dcIndex GREATER_EQUAL 0)
find_package(Qt6${possible_private_libs}Private CONFIG QUIET)
if(TARGET Qt6::${possible_private_libs}Private)
set_property(TARGET Qt6::${possible_private_libs}Private PROPERTY IMPORTED_GLOBAL TRUE)
add_library(Qt5::${possible_private_libs} ALIAS Qt6::${possible_private_libs}Private)
list(REMOVE_AT Qt5_FIND_COMPONENTS ${dcIndex})
endif()
endif()
endforeach()
find_package(Qt6 CONFIG ${__arguments} ${Qt5_FIND_COMPONENTS})
endif()
set(__additional_imported_components ATSPI2_nolink) # Work around QTBUG-97023
foreach(comp IN LISTS Qt5_FIND_COMPONENTS __additional_imported_components)
if(TARGET Qt6::${comp})
if (NOT TARGET Qt5::${comp})
if (NOT QT_FEATURE_static)
set_property(TARGET Qt6::${comp} PROPERTY IMPORTED_GLOBAL TRUE)
endif()
add_library(Qt5::${comp} ALIAS Qt6::${comp})
endif()
if (TARGET Qt6::${comp}Private AND NOT TARGET Qt5::${comp}Private)
if (NOT QT_FEATURE_static)
set_property(TARGET Qt6::${comp}Private PROPERTY IMPORTED_GLOBAL TRUE)
endif()
add_library(Qt5::${comp}Private ALIAS Qt6::${comp}Private)
endif()
endif()
endforeach()
# alias Qt6::Core5Compat to Qt6Core5Compat to make consistent with Qt5 path
if (TARGET Qt6::Core5Compat AND NOT TARGET Qt6Core5Compat)
add_library(Qt6Core5Compat ALIAS Qt6::Core5Compat)
endif()
set(Qt5_FOUND ${Qt6_FOUND})
set(Qt5_VERSION ${Qt6_VERSION})
foreach(tool qmake lrelease lupdate moc rcc qhelpgenerator)
if (TARGET Qt6::${tool} AND NOT TARGET Qt5::${tool})
add_executable(Qt5::${tool} IMPORTED GLOBAL)
get_target_property(imported_location Qt6::${tool} IMPORTED_LOCATION)
# handle separate tools for each configuration
if (NOT imported_location)
get_target_property(imported_location Qt6::${tool} IMPORTED_LOCATION_RELEASE)
endif()
set_target_properties(Qt5::${tool} PROPERTIES IMPORTED_LOCATION "${imported_location}")
endif()
endforeach()
if (NOT DEFINED qt5_wrap_cpp)
function(qt5_wrap_cpp outfiles)
qt6_wrap_cpp(${outfiles} ${ARGN})
set(${outfiles} ${${outfiles}} PARENT_SCOPE)
endfunction()
endif()

View File

@@ -188,7 +188,7 @@ function(add_qtc_library name)
set(TEST_DEFINES WITH_TESTS SRCDIR="${CMAKE_CURRENT_SOURCE_DIR}")
endif()
if(_arg_STATIC AND UNIX)
if((_arg_STATIC OR _arg_OBJECT) AND UNIX)
# not added by Qt if reduce_relocations is turned off for it
set_target_properties(${name} PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif()
@@ -628,6 +628,7 @@ function(add_qtc_executable name)
update_cached_list(__QTC_EXECUTABLES "${name}")
condition_info(_extra_text _arg_CONDITION)
if (NOT _arg_CONDITION)
set(_arg_CONDITION ON)
endif()
@@ -648,6 +649,9 @@ function(add_qtc_executable name)
else()
set(_executable_enabled OFF)
endif()
if (NOT _arg_INTERNAL_ONLY)
add_feature_info("Executable ${name}" _executable_enabled "${_extra_text}")
endif()
if (NOT _executable_enabled)
return()
endif()

View File

@@ -182,7 +182,7 @@ endfunction()
function(qtc_add_link_flags_no_undefined target)
# needs CheckLinkerFlags
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.18)
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.18 AND NOT MSVC)
set(no_undefined_flag "-Wl,--no-undefined")
check_linker_flag(CXX ${no_undefined_flag} QTC_LINKER_SUPPORTS_NO_UNDEFINED)
if (NOT QTC_LINKER_SUPPORTS_NO_UNDEFINED)
@@ -224,7 +224,7 @@ function(set_explicit_moc target_name file)
set(file_dependencies DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${target_name}.json")
endif()
set_property(SOURCE "${file}" PROPERTY SKIP_AUTOMOC ON)
qt5_wrap_cpp(file_moc "${file}" ${file_dependencies})
qt_wrap_cpp(file_moc "${file}" ${file_dependencies})
target_sources(${target_name} PRIVATE "${file_moc}")
endfunction()
@@ -413,6 +413,7 @@ function(enable_pch target)
CXX_VISIBILITY_PRESET hidden
VISIBILITY_INLINES_HIDDEN ON
CXX_EXTENSIONS OFF
POSITION_INDEPENDENT_CODE ON
)
target_link_libraries(${pch_target} PRIVATE ${pch_dependency})
endif()

View File

@@ -10,7 +10,7 @@ add_feature_info("Build online documentation" WITH_ONLINE_DOCS "")
# Used for QT_INSTALL_DOCS
function(qt5_query_qmake)
if (NOT TARGET Qt::qmake)
message(FATAL_ERROR "Qmake was not found. Add find_package(Qt5 COMPONENTS Core) to CMake to enable.")
message(FATAL_ERROR "Qmake was not found. Add find_package(Qt6 COMPONENTS Core) to CMake to enable.")
endif()
# dummy check for if we already queried qmake
if (QT_INSTALL_BINS)
@@ -142,7 +142,7 @@ function(_setup_qhelpgenerator_targets _qdocconf_file _html_outputdir)
endif()
if (NOT TARGET Qt::qhelpgenerator)
message(WARNING "qhelpgenerator missing: No QCH documentation targets were generated. Add find_package(Qt5 COMPONENTS Help) to CMake to enable.")
message(WARNING "qhelpgenerator missing: No QCH documentation targets were generated. Add find_package(Qt6 COMPONENTS Help) to CMake to enable.")
return()
endif()

View File

@@ -1,6 +1,6 @@
set(IDE_VERSION "10.0.1") # The IDE version.
set(IDE_VERSION_COMPAT "10.0.0") # The IDE Compatibility version.
set(IDE_VERSION_DISPLAY "10.0.1") # The IDE display version.
set(IDE_VERSION "10.0.82") # The IDE version.
set(IDE_VERSION_COMPAT "10.0.82") # The IDE Compatibility version.
set(IDE_VERSION_DISPLAY "11.0.0-beta1") # The IDE display version.
set(IDE_COPYRIGHT_YEAR "2023") # The IDE current copyright year.
set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation.

View File

@@ -30,7 +30,7 @@ function(_extract_ts_data_from_targets outprefix)
set(_target_sources "")
if(_source_files)
list(FILTER _source_files EXCLUDE REGEX ".*[.]json[.]in|.*[.]svg")
list(FILTER _source_files EXCLUDE REGEX ".*[.]json[.]in|.*[.]svg|.*[.]pro|.*[.]css")
list(APPEND _target_sources ${_source_files})
endif()
if(_extra_translations)
@@ -130,7 +130,7 @@ endfunction()
function(add_translation_targets file_prefix)
if (NOT TARGET Qt::lrelease OR NOT TARGET Qt::lupdate)
# No Qt translation tools were found: Skip this directory
message(WARNING "No Qt translation tools found, skipping translation targets. Add find_package(Qt5 COMPONENTS LinguistTools) to CMake to enable.")
message(WARNING "No Qt translation tools found, skipping translation targets. Add find_package(Qt6 COMPONENTS LinguistTools) to CMake to enable.")
return()
endif()

View File

@@ -31,7 +31,7 @@ instructions:
maxTimeBetweenOutput: 3600
userMessageOnFailure: "Failed to run build.py, check logs."
- type: ChangeDirectory
directory: "{{.AgentWorkingDir}}/build/qtsdk/packaging-tools"
directory: "{{.AgentWorkingDir}}/build/tqtc-qtsdk/packaging_tools"
- type: ExecuteCommand
command: "python3 -m pipenv run python -u bld_sdktool.py --qt-url {{.Env.QTC_SDKTOOL_QT_BASE_URL}}{{.Env.QTC_SDKTOOL_QT_EXT}} --qt-build {{.AgentWorkingDir}}/build/sdktool/qt --src {{.AgentWorkingDir}}/qt-creator/qt-creator/src/tools/sdktool --build {{.AgentWorkingDir}}/build/sdktool/build --install {{.AgentWorkingDir}}/build/sdktool/install --make-command make"
maxTimeInSeconds: 36000
@@ -65,7 +65,7 @@ instructions:
maxTimeBetweenOutput: 3600
userMessageOnFailure: "Failed to run build.py, check logs."
- type: ChangeDirectory
directory: "{{.AgentWorkingDir}}/build/qtsdk/packaging-tools"
directory: "{{.AgentWorkingDir}}/build/tqtc-qtsdk/packaging_tools"
- type: EnvironmentVariable
variableName: MACOSX_DEPLOYMENT_TARGET
variableValue: "{{.Env.SDKTOOL_MACOSX_DEPLOYMENT_TARGET}}"
@@ -117,7 +117,7 @@ instructions:
maxTimeBetweenOutput: 3600
userMessageOnFailure: "Failed to run build.py, check logs."
- type: ChangeDirectory
directory: "{{.AgentWorkingDir}}\\build\\qtsdk\\packaging-tools"
directory: "{{.AgentWorkingDir}}\\build\\tqtc-qtsdk\\packaging_tools"
- type: ExecuteCommand
command: "python -m pipenv run python -u bld_sdktool.py --qt-url {{.Env.QTC_SDKTOOL_QT_BASE_URL}}{{.Env.QTC_SDKTOOL_QT_EXT}} --qt-build {{.AgentWorkingDir}}\\build\\sdktool\\qt --src {{.AgentWorkingDir}}\\qt-creator\\qt-creator\\src\\tools\\sdktool --build {{.AgentWorkingDir}}\\build\\sdktool\\build --install {{.AgentWorkingDir}}\\build\\sdktool\\install --make-command nmake"
maxTimeInSeconds: 36000

View File

@@ -7,10 +7,10 @@ instructions:
variableValue: "RelWithDebInfo"
- type: EnvironmentVariable
variableName: LLVM_BASE_URL
variableValue: http://master.qt.io/development_releases/prebuilt/libclang/libclang-release_16.0.0-based
variableValue: http://master.qt.io/development_releases/prebuilt/libclang/libclang-release_16.0.2-based
- type: EnvironmentVariable
variableName: QTC_QT_BASE_URL
variableValue: "http://ci-files02-hki.intra.qt.io/packages/jenkins/archive/qt/6.5/6.5.0-released/Qt"
variableValue: "http://ci-files02-hki.intra.qt.io/packages/jenkins/archive/qt/6.5/6.5.1-released/Qt"
- type: EnvironmentVariable
variableName: QTC_QT_MODULES
variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquickcontrols2 qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine"

View File

@@ -16,13 +16,6 @@ instructions:
directory: "{{.BuildDir}}"
- type: ChangeDirectory
directory: "{{.BuildDir}}"
- type: InstallSourceArchive
maxTimeInSeconds: 600
maxTimeBetweenOutput: 600
project: qtsdk/qtsdk
ref: master
directory: "build/qtsdk"
userMessageOnFailure: "Failed to install qtsdk, check logs"
- type: InstallSourceArchive
maxTimeInSeconds: 600
maxTimeBetweenOutput: 600
@@ -57,7 +50,7 @@ instructions:
property: host.os
not_equals_value: Windows
- type: ChangeDirectory
directory: "{{.BuildDir}}/qtsdk/packaging-tools"
directory: "{{.BuildDir}}/tqtc-qtsdk/packaging_tools"
- type: ExecuteCommand
command: "python3 -m pipenv run python -u install_qt.py --qt-path {{.BuildDir}}/qt_install_dir --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix={{.Env.QTC_QT_POSTFIX}} --icu7z http://master.qt.io/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z {{.Env.QTC_QT_MODULES}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution

223
dist/changelog/changes-11.0.0.md vendored Normal file
View File

@@ -0,0 +1,223 @@
Qt Creator 11
=============
Qt Creator version 11 contains bug fixes and new features.
The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:
git clone git://code.qt.io/qt-creator/qt-creator.git
git log --cherry-pick --pretty=oneline origin/10.0..v11.0.0
General
-------
* Added a `Terminal` view (QTCREATORBUG-8511)
* Opt-out via `Preferences` > `Terminal` preferences
* Added support for
* different shells, colors, fonts, and multiple tabs
* opening file paths in Qt Creator with `Ctrl+click` (`Cmd+click` on
macOS)
* Added a more spacious "relaxed" toolbar style `Environment > Interface`
* Added a pin button to progress details instead of automatically resetting
their position (QTCREATORBUG-28829)
* Improved the selection and navigation in the `Issues` view
(QTCREATORBUG-26128, QTCREATORBUG-27006, QTCREATORBUG-27506)
* Locator
* Improved performance
* Added the creation of directories to the `Files in File System` filter
* Added device roots and browsing remote file systems to the
`Files in File System` filter
Editing
-------
* Improved the performance of the multi-cursor support
* Fixed the saving of hardlinked files (QTCREATORBUG-19651)
* Fixed an issue of copy and paste with multiple cursors (QTCREATORBUG-29117)
### C++
* Improved the style of forward declarations in the outline (QTCREATORBUG-312)
* Added highlighting for typed string literals and user-defined literals
(QTCREATORBUG-28869)
* Added the option to create class members from assignments (QTCREATORBUG-1918)
* Fixed that locator showed both the declaration and the definition of symbols
(QTCREATORBUG-13894)
* Fixed the handling of C++20 keywords and concepts
* Built-in
* Fixed support for `if`-statements with initializer (QTCREATORBUG-29182)
### Language Server Protocol
* Added experimental support for GitHub Copilot
([GitHub documentation](https://github.com/features/copilot))
* Added missing actions for opening the `Call Hierarchy` (QTCREATORBUG-28839,
QTCREATORBUG-28842)
### QML
* Fixed the reformatting in the presence of JavaScript directives and function
return type annotations (QTCREATORBUG-29001, QTCREATORBUG-29046)
* Fixed that reformatting changed `of` to `in` (QTCREATORBUG-29123)
* Fixed the completion for Qt Quick Controls (QTCREATORBUG-28648)
### Python
* Added the option to create a virtual environment (`venv`) to the Python
interpreter selector and the wizard (PYSIDE-2152)
### Markdown
* Added a Markdown editor with preview (QTCREATORBUG-27883)
* Added a wizard for Markdown files (QTCREATORBUG-29056)
Projects
--------
* Made it possible to add devices without going through the wizard
* Added support for moving files to a different directory when renaming
(QTCREATORBUG-15981)
### CMake
* Implemented adding files to the project (QTCREATORBUG-25922,
QTCREATORBUG-26006, QTCREATORBUG-27213, QTCREATORBUG-27538,
QTCREATORBUG-28493, QTCREATORBUG-28904, QTCREATORBUG-28985,
QTCREATORBUG-29006)
* Fixed issues with detecting a configured Qt version when importing a build
(QTCREATORBUG-29075)
### Python
* Added an option for the interpreter to the wizards
### vcpkg
* Added experimental support for `vcpkg`
([vcpgk documentation](https://vcpkg.io/en/))
* Added an option for the `vcpkg` installation location
* Added a search dialog for packages
* Added a wizard and an editor for `vcpkg.json` files
Debugging
---------
* Improved the UI for enabling and disabling debuggers (QTCREATORBUG-28627)
### C++
* Added an option for the default number of array elements to show
(`Preferences > Debugger > Locals & Expressions > Default array size`)
* CDB
* Added automatic source file mapping for Qt packages
* Fixed the variables view on remote Windows devices (QTCREATORBUG-29000)
* LLDB
* Fixed that long lines in the application output were broken into multiple
lines (QTCREATORBUG-29098)
### Qt Quick
* Improved the auto-detection if QML debugging is required (QTCREATORBUG-28627)
* Added an option for disabling static analyzer messages to
`Qt Quick > QML/JS Editing` (QTCREATORBUG-29095)
Analyzer
--------
### Clang
* Fixed that a `.clang-tidy` file in the project directory was not used by
default (QTCREATORBUG-28852)
### Axivion
* Added experimental support
Version Control Systems
-----------------------
### Git
* Instant Blame
* Improved the performance (QTCREATORBUG-29151)
* Fixed that it did not show at the end of the document
Platforms
---------
### Android
* Fixed an issue with building library targets (QTCREATORBUG-26980)
### Remote Linux
* Removed the automatic sourcing of target-side shell profiles
### Docker
* Added support for `qmake` based projects (QTCREATORBUG-29140)
* Fixed issues after deleting the Docker image for a registered Docker device
(QTCREATORBUG-28880)
### QNX
* Added `slog2info` as a requirement for devices
* Fixed the support for remote working directories (QTCREATORBUG-28900)
Credits for these changes go to:
--------------------------------
Aleksei German
Alessandro Portale
Alexander Drozdov
Alexander Pershin
Ali Kianian
Alibek Omarov
Amr Essam
Andre Hartmann
André Pönitz
Artem Mukhin
Artem Sokolovskii
Assam Boudjelthia
Björn Schäpers
Brook Cronin
Burak Hancerli
Christian Kandeler
Christian Stenger
Cristian Adam
David Schulz
Eike Ziller
Esa Törmänen
Fabian Kosmale
Filippo Gentile
Friedemann Kleint
Henning Gruendl
Jaroslaw Kobus
Jussi Witick
Kai Köhne
Knud Dollereder
Knut Petter Svendsen
Leena Miettinen
Mahmoud Badri
Marco Bubke
Marcus Tillmanns
Martin Delille
Mats Honkamaa
Miikka Heikkinen
Mitch Curtis
Niels Weber
Orgad Shaneh
Pranta Dastider
Robert Löhning
Samuel Ghinet
Semih Yavuz
Tasuku Suzuki
Thiago Macieira
Thomas Hartmann
Tim Jenssen
Tim Jenßen
Ulf Hermann
Vikas Pachdha
Yasser Grimes
Yixue Wang

View File

@@ -1,6 +1,6 @@
<div class="sectionlist normallist">
<ul>
<li><a href="qtcreator-toc.html">All Topics</a></li>
<li><a href="qtcreator-toc.html">Click Here for a List of All Topics</a></li>
</ul>
</div>
<div class="sectionlist normallist">

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 450 272" xml:space="preserve">
<g>
<path fill="#C9C7C7" d="M435.78,272H14.19C6.36,272,0,265.64,0,257.81V14.21C0,6.37,6.36,0.01,14.19,0.01h421.58
c7.84,0,14.19,6.36,14.19,14.19v243.6C449.97,265.64,443.61,272,435.78,272z"/>
<path fill="#878686" d="M0.44,19.66L0,14.19C0,6.36,6.35,0.01,14.18,0.01h421.61c7.83,0,14.18,6.35,14.18,14.18v6.84"/>
<circle fill="#DD5958" cx="17.43" cy="10.66" r="5"/>
<circle fill="#DBC558" cx="34.41" cy="10.66" r="5"/>
<circle fill="#52B257" cx="51.4" cy="10.66" r="5"/>
</g>
<path fill="#FFFFFF" d="M310.9,130.29c-5.72-1.44-12.54-1.96-19.95-2.96c-1.52-5.95-3.87-11.55-6.92-16.72
c4.57-6.01,9.08-11.24,12.13-16.37c0.86-1.44,1.03-3.56-0.1-4.69L282,75.49c-1.13-1.13-3.23-0.97-4.69-0.1
c-5.11,3.05-10.33,7.56-16.35,12.11c-5.11-3.01-10.66-5.35-16.55-6.9c-1.03-7.53-1.54-14.47-3.01-20.28
c-0.41-1.65-1.81-3.25-3.4-3.25h-19.89c-1.59,0-2.99,1.61-3.4,3.25c-1.46,5.76-1.96,12.66-2.99,20.13
c-5.91,1.5-11.49,3.81-16.61,6.79c-6.05-4.59-11.3-9.14-16.45-12.21c-1.44-0.86-3.56-1.01-4.69,0.1L159.92,89.2
c-1.13,1.13-0.97,3.25-0.1,4.69c3.03,5.11,7.51,10.29,12.04,16.26c-3.07,5.15-5.48,10.75-7.06,16.68
c-7.43,1.01-14.31,1.52-20.05,2.99c-1.65,0.41-3.25,1.79-3.25,3.38v19.89c0,1.59,1.61,2.99,3.25,3.4
c5.68,1.44,12.43,1.96,19.78,2.94c1.5,6.03,3.85,11.73,6.9,16.98c-4.51,5.91-8.93,11.08-11.96,16.12c-0.86,1.46-1.01,3.58,0.1,4.69
l14.06,14.06c1.13,1.13,3.25,0.97,4.69,0.1c5-2.96,10.11-7.35,15.93-11.8c5.25,3.15,10.97,5.58,17.05,7.16
c0.99,7.31,1.5,14.04,2.94,19.72c0.41,1.63,1.79,3.23,3.38,3.23c6.63,0,13.26,0,19.89,0c1.59,0,2.99-1.61,3.4-3.23
c1.42-5.64,1.93-12.33,2.92-19.58c6.07-1.54,11.82-3.93,17.09-7.04c5.89,4.47,11.01,8.87,16.04,11.88c1.46,0.86,3.58,1.03,4.69-0.1
l14.06-14.06c1.13-1.13,0.97-3.23,0.1-4.69c-2.99-5.02-7.39-10.15-11.86-16.02c3.09-5.23,5.48-10.91,7.02-16.92
c7.39-1.01,14.21-1.52,19.93-2.96c1.63-0.41,3.23-1.81,3.23-3.4v-19.89C314.13,132.1,312.53,130.7,310.9,130.29z M227.41,175.67
c-18.07,0-32.71-14.65-32.71-32.71s14.65-32.71,32.71-32.71s32.71,14.65,32.71,32.71S245.48,175.67,227.41,175.67z"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 450 272" xml:space="preserve">
<g>
<path fill="#C9C7C7" d="M377.11,224.13H33.89c-7.84,0-14.19-6.36-14.19-14.19V13.71c0-7.84,6.36-14.19,14.19-14.19h343.21
c7.84,0,14.19,6.36,14.19,14.19v196.23C391.3,217.78,384.95,224.13,377.11,224.13z"/>
<path fill="#878686" d="M20.06,15.74l-0.37-4.51c0-6.47,5.24-11.71,11.71-11.71h348.18c6.47,0,11.71,5.24,11.71,11.71v5.65"/>
<circle fill="#DD5958" cx="34.09" cy="8.31" r="4.13"/>
<circle fill="#DBC558" cx="48.12" cy="8.31" r="4.13"/>
<circle fill="#52B257" cx="62.14" cy="8.31" r="4.13"/>
</g>
<rect x="63.92" y="25.97" fill="#949292" width="277.09" height="185.41"/>
<g>
<path fill="none" stroke="#FFFFFF" stroke-width="7.8665" stroke-linecap="round" stroke-miterlimit="10" d="M153.93,111.58
c0-26.07,21.13-47.2,47.2-47.2s47.2,21.13,47.2,47.2s-21.13,47.2-47.2,47.2"/>
<circle fill="#FFFFFF" cx="200.14" cy="111.25" r="21.12"/>
<text transform="matrix(1 0 0 1 123.5649 108.1074)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="26.1845px">1</text>
<text transform="matrix(1 0 0 1 248.9873 71.7993)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="26.1845px">2</text>
<text transform="matrix(1 0 0 1 202.1196 190.623)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="26.1845px">3</text>
</g>
<g>
<g>
<path fill="#C9C7C7" d="M412.27,272h-73c-7.84,0-14.19-6.36-14.19-14.19V89.58c0-7.84,6.36-14.19,14.19-14.19h73
c7.84,0,14.19,6.36,14.19,14.19v168.22C426.47,265.64,420.11,272,412.27,272z"/>
<path fill="#878686" d="M325.4,89.59l-0.32-3.95c0-5.66,4.59-10.25,10.25-10.25h80.88c5.66,0,10.25,4.59,10.25,10.25v4.94"/>
</g>
<rect x="302.37" y="133.85" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 551.7495 -200.3197)" fill="#949292" width="147.32" height="83.73"/>
<g>
<path fill="none" stroke="#FFFFFF" stroke-width="3.7066" stroke-linecap="round" stroke-miterlimit="10" d="M355.31,172.15
c0-12.28,9.96-22.24,22.24-22.24c12.28,0,22.24,9.96,22.24,22.24c0,12.28-9.96,22.24-22.24,22.24"/>
<circle fill="#FFFFFF" cx="377.08" cy="171.99" r="9.95"/>
<text transform="matrix(1 0 0 1 341 170.5078)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="12.338px">1</text>
<text transform="matrix(1 0 0 1 400.0977 153.4004)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="12.338px">2</text>
<text transform="matrix(1 0 0 1 378.0137 209.3896)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="12.338px">3</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 450 272" xml:space="preserve">
<g>
<path fill="#C9C7C7" d="M435.81,271.62H14.41c-7.84,0-14.19-6.36-14.19-14.19V13.94c0-7.84,6.36-14.19,14.19-14.19h421.4
c7.84,0,14.19,6.36,14.19,14.19v243.49C450,265.27,443.64,271.62,435.81,271.62z"/>
<path fill="#878686" d="M0.66,19.38l-0.44-5.46c0-7.83,6.35-14.18,14.18-14.18h421.43c7.83,0,14.18,6.35,14.18,14.18v6.84"/>
<circle fill="#DD5958" cx="17.63" cy="10.39" r="4.99"/>
<circle fill="#DBC558" cx="34.61" cy="10.39" r="4.99"/>
<circle fill="#52B257" cx="51.59" cy="10.39" r="4.99"/>
</g>
<rect x="66.15" y="30.54" fill="#444345" width="343.54" height="233.69"/>
<rect x="40.18" y="30.54" fill="#333333" width="25.97" height="233.69"/>
<text transform="matrix(1 0 0 1 51.6992 49.5161)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">1</text>
<text transform="matrix(1 0 0 1 51.6992 67.8916)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">2</text>
<text transform="matrix(1 0 0 1 51.6992 86.2676)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">3</text>
<text transform="matrix(1 0 0 1 51.6992 104.6431)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">4</text>
<text transform="matrix(1 0 0 1 51.6992 123.0186)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">5</text>
<text transform="matrix(1 0 0 1 51.6992 141.3945)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">6</text>
<text transform="matrix(1 0 0 1 51.6992 159.7695)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">7</text>
<text transform="matrix(1 0 0 1 51.6992 178.1455)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">8</text>
<text transform="matrix(1 0 0 1 51.6992 196.5215)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">9</text>
<text transform="matrix(1 0 0 1 43.3105 214.8965)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">10</text>
<text transform="matrix(1 0 0 1 43.3105 233.2725)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">11</text>
<text transform="matrix(1 0 0 1 43.3105 251.6484)" fill="#FFFFFF" font-family="'IBMPlexMono'" font-size="13.9815px">12</text>
<text transform="matrix(1 0 0 1 78.064 49.5161)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px">// main.cpp</text>
<text transform="matrix(1 0 0 1 78.064 67.8916)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px">#include &lt;QApplication&gt;</text>
<text transform="matrix(1 0 0 1 78.064 86.2676)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px">#include &lt;QTableView&gt;</text>
<text transform="matrix(1 0 0 1 78.064 104.6431)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px">#include &quot;mymodel.h&quot;</text>
<text transform="matrix(1 0 0 1 78.064 141.3945)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px">int main(int argc, char *argv[])</text>
<text transform="matrix(1 0 0 1 78.064 178.1455)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px">{</text>
<text transform="matrix(1 0 0 1 78.064 196.5215)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px"> QApplication a(argc, argv);</text>
<text transform="matrix(1 0 0 1 78.064 214.8965)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px"> QTableView tableView;</text>
<text transform="matrix(1 0 0 1 78.064 233.2725)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px"> MyModel myModel;</text>
<text transform="matrix(1 0 0 1 78.064 251.6484)" fill="#FFFFFF" font-family="'IBMPlexMono-Light'" font-size="13.9815px">}</text>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 450 272" xml:space="preserve">
<g>
<path fill="#C9C7C7" d="M435.81,271.62H14.83c-7.84,0-14.19-6.36-14.19-14.19V14.19C0.63,6.36,6.99,0,14.83,0h420.98
C443.64,0,450,6.36,450,14.19v243.23C450,265.27,443.64,271.62,435.81,271.62z"/>
<path fill="#878686" d="M1.08,19.62l-0.44-5.45C0.63,6.34,6.97,0,14.8,0h421.04C443.66,0,450,6.34,450,14.16v6.83"/>
<circle fill="#DD5958" cx="18.04" cy="10.64" r="4.99"/>
<circle fill="#DBC558" cx="35" cy="10.64" r="4.99"/>
<circle fill="#52B257" cx="51.96" cy="10.64" r="4.99"/>
</g>
<path fill="#949292" d="M98.62,245.03H18.8c-2.75,0-5-2.25-5-5V47.72c0-2.75,2.25-5,5-5h79.81c2.75,0,5,2.25,5,5v192.3
C103.62,242.78,101.37,245.03,98.62,245.03z"/>
<path fill="none" stroke="#FFFFFF" stroke-width="11.8898" stroke-linecap="round" stroke-miterlimit="10" d="M177.01,125.88
c0-39.4,31.94-71.34,71.34-71.34s71.34,31.94,71.34,71.34s-31.94,71.34-71.34,71.34"/>
<path fill="none" stroke="#FFFFFF" stroke-width="2.5935" stroke-linecap="round" stroke-miterlimit="10" d="M44.02,68.87
c0-8.59,6.97-15.56,15.56-15.56s15.56,6.97,15.56,15.56s-6.97,15.56-15.56,15.56"/>
<circle fill="#FFFFFF" cx="246.85" cy="125.38" r="31.93"/>
<polygon fill="#878686" points="252.27,115.11 247.86,173.16 266.03,151.21 293.54,155.76 "/>
<text transform="matrix(1 0 0 1 131.1162 120.6279)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="39.5765px">1</text>
<text transform="matrix(1 0 0 1 320.6885 65.7515)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="39.5765px">2</text>
<text transform="matrix(1 0 0 1 249.8477 245.3447)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="39.5765px">3</text>
<g>
<path fill="#FFFFFF" d="M72.84,134.43H42.91c-2.75,0-5-2.25-5-5v-9.3c0-2.75,2.25-5,5-5h29.93c2.75,0,5,2.25,5,5v9.3
C77.84,132.18,75.59,134.43,72.84,134.43z"/>
<text transform="matrix(1 0 0 1 49.1719 128.6772)" fill="#C9C7C7" font-family="'TitilliumWeb-Bold'" font-size="11.9663px">ON</text>
</g>
<g>
<path fill="#FFFFFF" d="M57.58,180.2h0.19c0.62,0,1.13-0.51,1.13-1.13v-10.95c0-0.62-0.51-1.13-1.13-1.13h-0.19
c-0.62,0-1.13,0.51-1.13,1.13v10.95C56.45,179.69,56.96,180.2,57.58,180.2z"/>
<path fill="#FFFFFF" d="M84.49,175.31H31.25c-0.95,0-1.72-0.77-1.72-1.72v0c0-0.95,0.77-1.72,1.72-1.72h53.23
c0.95,0,1.72,0.77,1.72,1.72v0C86.21,174.54,85.43,175.31,84.49,175.31z"/>
<path fill="#E0E1E0" d="M58.93,171.87h25.55c0.95,0,1.73,0.77,1.73,1.72v0c0,0.95-0.78,1.72-1.73,1.72H58.93V171.87z"/>
</g>
<g>
<path fill="none" stroke="#FFFFFF" stroke-width="0.5769" stroke-miterlimit="10" d="M74.13,228.45H42.6
c-6.13,0-11.15-5.02-11.15-11.15v0c0-6.13,5.02-11.15,11.15-11.15h31.54c6.13,0,11.15,5.02,11.15,11.15v0
C85.29,223.43,80.27,228.45,74.13,228.45z"/>
<circle fill="#FFFFFF" cx="43.65" cy="217.2" r="7.88"/>
</g>
<line fill="none" stroke="#C9C7C7" stroke-width="0.9977" stroke-miterlimit="10" x1="13.16" y1="98.25" x2="103.47" y2="98.25"/>
<line fill="none" stroke="#C9C7C7" stroke-width="0.9977" stroke-miterlimit="10" x1="13.16" y1="150.11" x2="103.47" y2="150.11"/>
<line fill="none" stroke="#C9C7C7" stroke-width="0.9977" stroke-miterlimit="10" x1="13.16" y1="195.79" x2="103.47" y2="195.79"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 450 272" xml:space="preserve">
<g>
<path fill="#C8C6C6" d="M435.91,272.12H15.19C7.36,272.12,1,265.76,1,257.92V14.85C1,7.01,7.36,0.66,15.19,0.66h420.71
c7.84,0,14.19,6.36,14.19,14.19v243.07C450.1,265.76,443.75,272.12,435.91,272.12z"/>
<path fill="#868585" d="M1.44,20.26L1,14.81C1,6.99,7.34,0.66,15.15,0.66h420.79c7.82,0,14.15,6.34,14.15,14.15v6.83"/>
<circle fill="#DC5958" cx="18.39" cy="11.29" r="4.99"/>
<circle fill="#DAC457" cx="35.35" cy="11.29" r="4.99"/>
<circle fill="#51B156" cx="52.3" cy="11.29" r="4.99"/>
</g>
<circle fill="#FFFFFF" cx="222.34" cy="144.43" r="64.54"/>
<rect x="208.26" y="124.62" fill="none" width="314.12" height="137.75"/>
<text transform="matrix(1 0 0 1 208.2568 170.8926)" fill="#C8C6C6" font-family="'TitilliumWeb-Bold'" font-size="71.7954px">?</text>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 450 272" xml:space="preserve">
<g>
<path fill="#C9C7C7" d="M435.78,272H15.41c-7.84,0-14.19-6.36-14.19-14.19V14.94c0-7.84,6.36-14.19,14.19-14.19h420.37
c7.84,0,14.19,6.36,14.19,14.19v242.86C449.97,265.64,443.61,272,435.78,272z"/>
<path fill="#878686" d="M1.66,20.34l-0.44-5.45c0-7.81,6.33-14.14,14.14-14.14h420.47c7.81,0,14.14,6.33,14.14,14.14v6.82"/>
<circle fill="#DD5958" cx="18.6" cy="11.37" r="4.98"/>
<circle fill="#DBC558" cx="35.53" cy="11.37" r="4.98"/>
<circle fill="#52B257" cx="52.47" cy="11.37" r="4.98"/>
</g>
<g>
<g>
<path fill="#FFFFFF" d="M303.47,70.58c-2.26,40.17-11.3,68.54-51.47,101.18c0,17.07-6.78,34.15-20.59,46.2l-22.85-25.61
c-4.77,4.52-11.05,6.78-17.07,7.03c-8.03,0.25-15.82-2.76-21.59-9.04c-10.04-11.3-9.04-28.62,2.01-38.66l-22.85-25.61
c13.81-12.3,31.38-17.32,48.46-15.32C234.17,74.35,263.3,68.32,303.47,70.58z M261.79,132.34c7.53-6.78,8.03-18.08,1.51-25.61
c-3.77-4.02-8.79-6.28-14.31-6.03c-4.27,0.25-8.29,1.76-11.3,4.52c-7.53,6.78-8.03,18.08-1.51,25.61
c3.77,4.02,8.79,6.28,14.31,6.03C254.51,136.61,258.53,135.11,261.79,132.34z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1,26 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 450 272" xml:space="preserve">
<g>
<path fill="#C9C7C7" d="M434.78,272H14.41c-7.84,0-14.19-6.36-14.19-14.19V14.94c0-7.84,6.36-14.19,14.19-14.19h420.37
c7.84,0,14.19,6.36,14.19,14.19V257.8C448.97,265.64,442.61,272,434.78,272z"/>
<path fill="#878686" d="M0.66,20.34l-0.44-5.45c0-7.81,6.33-14.14,14.14-14.14h420.47c7.81,0,14.14,6.33,14.14,14.14v6.82"/>
<circle fill="#DD5958" cx="17.6" cy="11.37" r="4.98"/>
<circle fill="#DBC558" cx="34.53" cy="11.37" r="4.98"/>
<circle fill="#52B257" cx="51.47" cy="11.37" r="4.98"/>
</g>
<g transform="translate(0,-280.06666)">
<path fill="#878686" d="M154.99,354.72c-3,0-5.44,2.44-5.44,5.44l0,0v27.15v97.8c0,3,2.44,5.44,5.44,5.44h141.27
c3,0,5.44-2.44,5.44-5.44v-97.8c0-3-2.44-5.44-5.44-5.44H252.9l-17.39-24.85c-1.02-1.45-2.68-2.31-4.45-2.31h-76.07V354.72z"/>
</g>
<path fill="#878686" d="M107.69,205.06h-96.9V79.34h79.11c0.34,0,17.09,18.5,17.79,17.79C107.69,97.14,107.69,205.06,107.69,205.06z
"/>
<path fill="#878686" d="M440.85,206.15h-96.9V80.43h79.11c0.34,0,17.09,18.5,17.79,17.79L440.85,206.15L440.85,206.15z"/>
<text transform="matrix(1 0 0 1 14.9414 160.6211)" fill="#F2F2F3" font-family="'TitilliumWeb-Regular'" font-size="52.0199px">C++</text>
<text transform="matrix(1 0 0 1 349.8203 164.9639)" fill="#F2F2F3" font-family="'TitilliumWeb-Regular'" font-size="52.0199px">qml</text>
<polygon fill="#F2F2F3" points="200.89,150.65 162.96,128.75 162.96,172.55 "/>
<rect x="288.68" y="143.6" fill="#F2F2F3" width="55.28" height="16.26"/>
<rect x="107.69" y="143.6" fill="#F2F2F3" width="55.28" height="16.26"/>
<polygon fill="#F2F2F3" points="250.75,150.65 288.68,172.55 288.68,128.75 "/>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 450 272" xml:space="preserve">
<g>
<path fill="#C9C7C7" d="M435.78,272H15.41c-7.84,0-14.19-6.36-14.19-14.19V14.94c0-7.84,6.36-14.19,14.19-14.19h420.37
c7.84,0,14.19,6.36,14.19,14.19v242.86C449.97,265.64,443.61,272,435.78,272z"/>
<path fill="#878686" d="M1.66,20.34l-0.44-5.45c0-7.81,6.33-14.14,14.14-14.14h420.47c7.81,0,14.14,6.33,14.14,14.14v6.82"/>
<circle fill="#DD5958" cx="18.6" cy="11.37" r="4.98"/>
<circle fill="#DBC558" cx="35.53" cy="11.37" r="4.98"/>
<circle fill="#52B257" cx="52.47" cy="11.37" r="4.98"/>
</g>
<path fill="#EEEDEE" d="M409.72,257.05H52.05c-2.75,0-5-2.25-5-5V34.88c0-2.75,2.25-5,5-5h357.67c2.75,0,5,2.25,5,5v217.18
C414.72,254.8,412.47,257.05,409.72,257.05z"/>
<g>
<polygon fill="#949292" points="207.47,103.17 251.2,103.17 289.47,168.77 341.4,168.77 363.27,122.31 385.13,122.31
352.33,187.91 275.8,187.91 237.53,122.31 210.2,122.31 "/>
<polygon fill="#949292" points="305.87,81.31 327.73,81.31 327.73,125.04 344.13,125.04 316.8,152.37 289.47,125.04 305.87,125.04
"/>
<circle fill="#949292" cx="289.47" cy="201.57" r="10.93"/>
<circle fill="#949292" cx="338.67" cy="201.57" r="10.93"/>
</g>
<g>
<g>
<path fill="#C9C7C7" d="M169.36,247.01h-76.9c-7.84,0-14.19-6.36-14.19-14.19V57.03c0-7.84,6.36-14.19,14.19-14.19h76.9
c7.84,0,14.19,6.36,14.19,14.19v175.79C183.55,240.65,177.2,247.01,169.36,247.01z"/>
<path fill="#878686" d="M78.6,57.58l-0.33-4.1c0-5.88,4.77-10.65,10.65-10.65h83.99c5.88,0,10.65,4.77,10.65,10.65v5.14"/>
</g>
<rect x="54.69" y="103.54" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 278.2001 15.8358)" fill="#949292" width="152.99" height="86.95"/>
<g>
<path fill="none" stroke="#FFFFFF" stroke-width="3.8493" stroke-linecap="round" stroke-miterlimit="10" d="M109.66,143.31
c0-12.76,10.34-23.1,23.1-23.1s23.1,10.34,23.1,23.1s-10.34,23.1-23.1,23.1"/>
<circle fill="#FFFFFF" cx="132.27" cy="143.15" r="10.34"/>
<text transform="matrix(1 0 0 1 94.7988 141.6104)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="12.8129px">1</text>
<text transform="matrix(1 0 0 1 156.1709 123.8447)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="12.8129px">2</text>
<text transform="matrix(1 0 0 1 133.2363 181.9883)" fill="#FFFFFF" font-family="'TitilliumWeb-Bold'" font-size="12.8129px">3</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 450 272" xml:space="preserve">
<g>
<path fill="#C9C7C7" d="M435.78,272H15.41c-7.84,0-14.19-6.36-14.19-14.19V14.94c0-7.84,6.36-14.19,14.19-14.19h420.37
c7.84,0,14.19,6.36,14.19,14.19v242.86C449.97,265.64,443.61,272,435.78,272z"/>
<path fill="#878686" d="M1.66,20.34l-0.44-5.45c0-7.81,6.33-14.14,14.14-14.14h420.47c7.81,0,14.14,6.33,14.14,14.14v6.82"/>
<circle fill="#DD5958" cx="18.6" cy="11.37" r="4.98"/>
<circle fill="#DBC558" cx="35.53" cy="11.37" r="4.98"/>
<circle fill="#52B257" cx="52.47" cy="11.37" r="4.98"/>
</g>
<path fill="#EEEDEE" d="M409.72,257.05H52.05c-2.75,0-5-2.25-5-5V34.88c0-2.75,2.25-5,5-5h357.67c2.75,0,5,2.25,5,5v217.18
C414.72,254.8,412.47,257.05,409.72,257.05z"/>
<polygon fill="#949292" points="330.22,140.56 167,46.32 167,234.8 "/>
<g>
<path fill="#EEEDEE" d="M225.27,119.2c0.11-0.35,0.23-0.69,0.36-1.02c0.49-1.19,1.22-2.31,2.15-3.25c2.33-2.35,5.63-3.33,9.06-2.98
c0.07-2.23,0.54-4.36,1.35-6.15c1.14-2.5,2.95-4.45,5.2-5.36c1-0.39,2.13,0.09,2.52,1.08c0.41,0.98-0.07,2.11-1.06,2.5
c-1.28,0.52-2.39,1.76-3.13,3.39c-0.7,1.56-1.08,3.44-1.01,5.42c2.29,0.85,4.5,2.24,6.43,4.15c1.91,1.89,3.32,4.09,4.19,6.37
c1.98,0.05,3.86-0.34,5.41-1.06c1.63-0.76,2.85-1.87,3.36-3.16c0.4-0.98,1.51-1.48,2.49-1.09c1,0.38,1.48,1.51,1.11,2.51
c-0.89,2.25-2.82,4.08-5.31,5.24c-1.78,0.83-3.89,1.34-6.13,1.41c0.38,3.43-0.56,6.74-2.89,9.09c-0.94,0.94-2.05,1.68-3.23,2.18
c-0.33,0.14-0.67,0.25-1.02,0.37c0.06,0.44,0.12,0.88,0.16,1.34c0.22,2.97-0.11,5.82-0.92,8.45l10.51,3.39l7.86-5.01
c0.9-0.6,2.09-0.34,2.67,0.58c0.58,0.88,0.32,2.07-0.58,2.67l-8.65,5.53c-0.5,0.31-1.09,0.37-1.63,0.22l-11.63-3.77
c-1.24,2.48-2.88,4.75-4.84,6.74l-0.21,0.21l7.81,8.96c0.42,0.46,0.56,1.05,0.47,1.61l-1.07,8.56c-0.13,1.06-1.09,1.83-2.16,1.68
c-1.06-0.13-1.79-1.09-1.68-2.16l0.96-7.8l-7.29-8.33c-1.66,1.26-3.46,2.34-5.36,3.21c-1.51,0.72-3.08,1.3-4.69,1.73l2.07,11.49
c0.08,0.5-0.01,0.98-0.26,1.38l-3.58,5.81c-0.57,0.92-1.76,1.2-2.66,0.65c-0.92-0.57-1.2-1.76-0.65-2.66l3.22-5.22l-1.91-10.68
c-0.48,0.06-0.96,0.12-1.44,0.14c-6.18,0.49-12.29-1.25-16.88-5.79c-4.61-4.57-6.4-10.66-5.97-16.84c0.02-0.48,0.07-0.96,0.13-1.44
l-10.7-1.81l-5.19,3.27c-0.9,0.56-2.09,0.3-2.67-0.62c-0.56-0.9-0.3-2.09,0.62-2.67l5.78-3.63c0.4-0.25,0.88-0.35,1.38-0.28
l11.5,1.96c0.41-1.61,0.98-3.19,1.69-4.71c0.85-1.9,1.92-3.71,3.16-5.39l-8.4-7.22l-7.79,1.03c-1.05,0.14-2.04-0.6-2.18-1.66
c-0.14-1.05,0.6-2.04,1.66-2.18l8.55-1.15c0.56-0.1,1.15,0.03,1.61,0.45l9.06,7.75l0.21-0.21c1.97-1.99,4.2-3.67,6.67-4.92
l-3.85-11.57c-0.18-0.56-0.12-1.15,0.18-1.65l5.45-8.7c0.59-0.9,1.78-1.18,2.66-0.61c0.92,0.57,1.2,1.76,0.61,2.66l-4.93,7.91
l3.48,10.48c2.64-0.82,5.46-1.2,8.44-1C224.39,119.09,224.83,119.15,225.27,119.2z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 676 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -38,22 +38,26 @@
The process of setting up debugging for Qt Quick projects depends on the
\l{Creating Qt Quick Projects}{type of the project}: Qt Quick UI or Qt Quick
Application, and the Qt version used.
\section2 Debugging Qt Quick UI Projects
\endif
To debug Qt Quick UI projects, select the \uicontrol {Enable QML} check box in the
\uicontrol {Debugger Settings} in \uicontrol Projects mode \uicontrol {Run Settings}.
To debug Qt Quick UI projects (.qmlproject), select the
\uicontrol {Enable QML} check box in \uicontrol {Debugger settings}
in \uicontrol Projects mode \uicontrol {Run Settings}.
\if defined(qtcreator)
\section2 Debugging Qt Quick Applications
To debug Qt Quick Applications:
\list 1
\li If you use qmake as the build system, make sure that
debugging is enabled in the \uicontrol {Build Settings},
\uicontrol {QML debugging and profiling} field, either
explicitly for the project or globally by default.
\li To create a build configuration that supports QML debugging,
select \uicontrol {Projects} > \uicontrol {Build} >
\uicontrol {QML debugging and profiling} > \uicontrol Enable.
\image qtcreator-projectpane.png "qmake general build settings pane"
\image qtcreator-build-settings-cmake-configure.webp {Build settings for a CMake project}
\note Debugging requires opening a socket at a TCP port,
which presents a security risk. Anyone on the Internet could connect
@@ -61,9 +65,9 @@
functions. Therefore, you must make sure that the port is properly
protected by a firewall.
\li In the \uicontrol {Run Settings}, \uicontrol {Debugger Settings} section, select
the \uicontrol {Enable QML} check box to enable
QML debugging.
\li In \uicontrol {Run Settings} > \uicontrol {Debugger settings}, select
the \uicontrol {Enable QML} check box to enable QML debugging for
running applications.
\li Select \uicontrol Build > \uicontrol {Rebuild Project} to clean and
rebuild the project.
@@ -79,6 +83,43 @@
automatically installed during \QC and Qt installation. Do not delete
them if you plan to debug QML applications.
\section2 Using Default Values
You can enable or disable QML debugging globally in \uicontrol Edit >
\uicontrol Preferences > \uicontrol {Build & Run} >
\uicontrol {Default Build Properties}.
\image qtcreator-build-settings-default.png "Default Build Properties tab in Build & Run Preferences"
The value of the \uicontrol {QML debugging} field determines what happens
when creating new build configurations. The values \uicontrol Enable
and \uicontrol Disable explicitly set QML debugging for the new build
configuration to that value, regardless of what type of build
configuration you create.
\uicontrol {Use Project Default} makes the values depend on the type of
build configuration: \uicontrol Debug, \uicontrol Profile, or
\uicontrol Release. When you use \l {CMake Build Configuration}{CMake} or
\l {qmake Build Configuration}{qmake} as a build system, debug and profile
build configurations have QML debugging enabled. However, release build
configurations do not include QML debugging because the debugging feature
makes applications vulnerable.
The \uicontrol {Leave at Default} option in \uicontrol {Projects} >
\uicontrol {Build} > \uicontrol {QML debugging and profiling} is needed to keep existing,
already configured CMake build directories intact. Also, it
enables you to import an existing build into \QC without enforced changes,
so that you don't have to worry about a complete rebuild of the project, for
example. Even if you later change the configuration of the build outside of
\QC, it will be kept as you want it.
There are some known issues in the interaction between the global setting
in \uicontrol Edit > \uicontrol Preferences > \uicontrol {Build & Run} >
\uicontrol {Default Build Properties} and the build configuration.
For example, for qmake the global setting only affects build configurations
that are automatically created when enabling a kit. Also, CMake ignores the
global setting.
\section1 Mixed C++/QML Debugging
To debug both the C++ and QML parts of your application at the same time,
@@ -87,7 +128,7 @@
\uicontrol{Run Settings}.
\endif
\image qtquick-debugging-settings.png
\image qtquick-debugging-settings.png {Debugger settings section in Run Settings}
\section1 Starting QML Debugging

View File

@@ -68,6 +68,10 @@
\list
\li \l{Editing Markdown Files}
Edit and preview markdown (.md) files.
\li \l{Using Language Servers}
The language client offers code completion, highlighting of the

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2021 The Qt Company Ltd.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -15,7 +15,9 @@
To open it as a centered popup, click \inlineimage icons/magnifier.png
(\uicontrol Options) in it and select \uicontrol {Open as Centered Popup}.
\image qtcreator-locator.png "List of locator filters"
\image qtcreator-locator.webp "List of locator filters"
\section1 Activating the Locator
To activate the locator:
@@ -32,43 +34,35 @@
\endlist
To open a QML file called \e HelloWorld.qml in the currently open project
using the locator:
\section1 Using Locator Filters
\list 1
You can locate not only files, but any items defined by \e{locator filters},
as well as trigger global actions and perform other tasks, such as build
projects or run external tools.
\li Activate the locator by pressing \key {Ctrl+K}.
The filters that are available depend on the file type. For more information
about what a particular locator filter does, see the tooltips that appear
when you hover over a filter in the locator. For longer descriptions of the
filters, select \uicontrol Configure to open the \uicontrol Locator
\l{Creating Locator Filters}{preferences}.
\li Start typing the filename.
To use a locator filter, type its prefix followed by \key Space. The prefix
is usually short, from one to three characters. Then type the search string
(for example, a filename or class name) or the command to execute.
\image qtcreator-locator-open.png "List of files found in the locator"
You can also double-click a locator filter in the filter list to use it. Use
the up and down arrow keys or the \key Ctrl+P and \key Ctrl+N
keyboard shortcuts to move up and down the list, and then press \key Enter
to use the selected filter.
\li Move to the filename in the list and press \key Enter.
The file opens in the editor.
\li To move to a line in the file, enter the line number in the locator.
\endlist
To move directly to a particular line and column in the document when you
open the document, append them to the file name in the locator, separated by
plus signs (+) or colons (:). For example, to open \e HelloWorld.qml to line
41 and column 2, enter: \c {HelloWorld.qml:41:2}.
If the path to a file is very long, it might not fit into the locator
window. To view the full path, press \key Alt when the filename is selected
or use the handle next to the locator window to increase the window width.
It is also possible to enter only a part of a search string. As you type,
As you type a search string,
the locator shows the occurrences of that string regardless of where in the
name of an component it appears. Some locator filters, such as colon, \c m,
and \c t, support \e fuzzy matching, which means that you can enter the
uppercase letters to locate a symbol when using camel case or the letters
after the underscore when using snake case.
To narrow down the search results, you can use the following wildcard
characters:
To narrow down the search results, use the following wildcard characters:
\list
@@ -78,117 +72,69 @@
\endlist
\section1 Using Locator Filters
\section2 Locating Files
The locator enables you to browse not only files, but any items defined by
\b{locator filters}. The filters that are available depend on the file type:
For example, to open a QML file called \e HelloWorld.qml in the currently
open project using the locator:
\list
\list 1
\li Locating any open document (\c {o})
\li Press \key {Ctrl+K} to activate the locator.
\li Locating files anywhere on your file system (\c {f}). You can use
environment variables in the \c {f} filter. For example, use
\c {f $ENVVAR} to expand the environment variable \c ENVVAR on Unix
systems and \c {f %ENVVAR%} to expand it on Windows systems.
\li Start typing the filename.
\li Locating files belonging to your project (\c {p}), such as source,
header, resource, and \c {.ui} files, or to any project (\c {a})
\image qtcreator-locator-open.webp "List of files found in the locator"
\if defined(qtcreator)
\li Locating bookmarks (\c {b}).
For more information, see \l{Using Bookmarks}.
\li Use the arrow keys to move to the filename in the list and press
\key Enter.
\li Locating class (\c {c}), enum, function (\c {m}), and type alias
definitions in your project or anywhere referenced from your
project (\c {:})
\endif
The file opens in the editor.
\li Locating QML methods (\c {m})
\li Locating symbols in the current document (\c {.})
\li Locating a specific line and column in the document displayed in
your editor (\c {l <line_number>:<column_number>})
\li Opening help topics, including Qt documentation (\c {?})
\li Performing web searches (\c {r})
\if defined(qtcreator)
\li Running text editing macros that you record and save (\c {rm}). For
more information, see \l{Using Text Editing Macros}
\endif
\li Executing JavaScript (\c {=}), especially useful for calculations.
For more information, see \l{Executing JavaScript}.
\li Executing shell commands (\c {!})
\li Executing version control system commands
\if defined(qtcreator)
(\c {bzr}, \c {cvs}, \c {git}, \c {hg}, or \c {svn}).
For more information, see \l{Using Version Control Systems}.
\else
(\c {git}). For more information, see \l{Using Git}.
\endif
\li Triggering actions (\c {t})
\li Searching for issues from the \l{https://bugreports.qt.io/}
{Qt Project Bug Tracker} (\c bug).
\li Searching for applications, documents, and other files by using
platform-specific external tools or commands (\c md). The following
tools are used by default, but you can configure the locator to
use any other command:
\list
\li On \macOS: using Spotlight
\li On Windows: using \l{https://www.voidtools.com/downloads/}
{Everything}
\li On Linux: using the \c Locate command
\endlist
\if defined(qtcreator)
\li Running external tools (\c x)
\li Using CMake to build the project for the current run configuration
(\c {cm}). For more information, see \l {Setting up CMake}.
\li Opening the CMakeLists.txt file for the current run configuration in
the editor (\c {cmo}). This is the same build target as when you
select \uicontrol Build > \uicontrol {Build for Run Configuration}.
\li Running a particular run configuration (\c {rr} \e {<name>})
\li Switching to a particular run configuration (\c {sr} \e {<name>})
\endif
\li To move to a line in the file, enter the line number in the locator.
\endlist
To use a specific locator filter, type the assigned prefix followed by
\key Space. The prefix is usually a single character. Then type the search
string (typically, a filename or class name) or the command to execute.
You can also double-click a locator filter in the filter list to use it. You
can use the up and down arrow keys or the \key Ctrl+P and \key Ctrl+N
keyboard shortcuts to move up and down the list, and then press \key Enter
to use the selected filter.
If the path to a file is very long, it might not fit into the locator
window. To view the full path, press \key Alt when the filename is selected
or use the handle next to the locator window to increase the window width.
\if defined(qtcreator)
For example, to locate symbols matching QDataStream:
If the locator does not find some files, see \l{Specifying Project Contents}
for how to make them known to the locator.
\endif
\section2 Locating Lines and Columns
To move directly to a particular line and column in the document when you
open the document, append the line and column number to the file name in
the locator, separated by plus signs (+) or colons (:).
For example, to open \e HelloWorld.qml to line
41 and column 2, enter:
\code
HelloWorld.qml:41:2
\endcode
\if defined(qtcreator)
\section2 Locating Symbols
For example, to locate symbols matching \c {QGuiApplication}:
\list 1
\li Activate the locator.
\li Enter a colon (:) followed by a space and the upper case letters in
the symbol name (QDataStream):
the symbol name (here, \c {QGuiApplication}):
\code
: qds
: qga
\endcode
The locator lists the results.
\image qtcreator-locator-example.png "List of files matching the locator filter"
\image qtcreator-locator-example.webp "List of files matching the locator filter"
\endlist
@@ -197,16 +143,21 @@
such as \c {Utils::*View}.
\endif
For example, to create a new file and open it in the editor, type \c f
\section2 Creating Files from Locator
To create a new file and open it in the editor, type \c f
followed by \key Space, followed by path and file name, and then press
\key Enter.
You can use the filter that triggers menu commands to open sessions. Enter
You can use the filter that triggers menu commands to open
\l{Managing Sessions}{sessions}. Enter
\c {t yoursess} or \c {t sess yoursess} to trigger \uicontrol File >
\uicontrol Sessions > \e yoursessionname.
By default, the following filters are enabled and you do not need to use
their prefixes explicitly:
\section2 Default Filters
By default, you can use the following preset locator filters without a
prefix:
\list
@@ -218,16 +169,11 @@
\endlist
\if defined(qtcreator)
If locator does not find some files, see \l{Specifying Project Contents}
for how to make them known to the locator.
\endif
\section1 Changing Locator Filters
\section1 Configuring Locator Filters
If the default filters do not match your use case, you can check whether you
can change them. For all filters, you can change the filter prefix and
restrict the search to items that match the filter.
You can change the preset locator filters to match your use case. For
example, you can change the filter prefix and restrict the search to
items that match the filter.
To configure a locator filter:
@@ -266,11 +212,11 @@
\li Select \uicontrol Edit > \uicontrol Preferences >
\uicontrol Environment > \uicontrol Locator >
\uicontrol {Web Search (prefix: r)} > \uicontrol Edit.
\uicontrol {Web Search} > \uicontrol Edit.
\li Select \uicontrol Add to add a new entry to the list.
\image qtcreator-add-online-doc.png "List of URLs in Filter Configuration dialog"
\image qtcreator-add-online-doc.webp "List of URLs in Filter Configuration dialog"
\li Double-click the new entry to specify a URL and a search command.
For example, \c {http://www.google.com/search?q=%1}.
@@ -281,7 +227,7 @@
\section1 Creating Locator Filters
You can create custom locator filters for finding in a directory structure
You can create custom locator filters for searching in a directory structure
or on the web.
To quickly access files not directly mentioned in your project, you can
@@ -295,7 +241,7 @@
\li In the locator, select \uicontrol Options >
\uicontrol Configure to open the \uicontrol Locator preferences.
\image qtcreator-locator-customize.png "Locator preferences"
\image qtcreator-locator-customize.webp "Locator preferences"
\li Select \uicontrol Add > \uicontrol {Files in Directories} to add
a directory filter or \uicontrol {URL Template} to add a URL
@@ -310,7 +256,7 @@
\li In the \uicontrol {File pattern} field, specify file patterns to
restrict the search to files that match the pattern.
Use a comma separated list. For example, to search for all
Separate the patterns with commas. For example, to search for all
\c {.qml} and \c {.ui.qml} files, enter \c{*.qml,*.ui.qml}
\li In the \uicontrol {Exclusion pattern} field, specify file
@@ -329,9 +275,9 @@
\section1 Configuring Locator Cache
The locator searches the files matching your file pattern in the directories
you have selected and caches that information. The cache for all default
filters is updated as you write your code. By default, \QC updates the
filters created by you once an hour.
you have selected and caches that information. \QC updates the cache for all
preset filters as you write code. By default, \QC updates your custom
filters once an hour.
To update the cached information manually, select \uicontrol Options >
\uicontrol Refresh in the locator.
@@ -349,8 +295,7 @@
\section1 Executing JavaScript
The locator has a JavaScript interpreter that you can use to
perform calculations.
The locator has a JavaScript interpreter for performing calculations.
Beside simple mathematical operations, like ((1 + 2) * 3), the following
built-in functions exist:

View File

@@ -4,7 +4,7 @@
/*!
\previouspage creator-editor-options-text.html
\page creator-editor-fakevim.html
\nextpage creator-language-servers.html
\nextpage creator-markdown-editor.html
\title Using FakeVim Mode

View File

@@ -2,7 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\previouspage creator-editor-fakevim.html
\previouspage creator-markdown-editor.html
\page creator-language-servers.html
\nextpage creator-mime-types.html

View File

@@ -0,0 +1,22 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\previouspage creator-editor-fakevim.html
\page creator-markdown-editor.html
\nextpage creator-language-servers.html
\title Editing Markdown Files
Open \l{https://www.markdownguide.org/basic-syntax/}{markdown} (.md) files
or select \uicontrol File > \uicontrol {New File} > \uicontrol {General} >
\uicontrol {Markdown File} to create a new file.
\image qtcreator-markdown-editor.webp {Markdown file in Preview and Editor views}
When you edit the file in the editor, you can see the changes in the preview.
To hide and show the views, select \uicontrol {Show Preview} and
\uicontrol {Show Editor}. To swap the places of the views, select
\uicontrol {Swap Views}.
*/

View File

@@ -438,7 +438,7 @@
Works with namespaces, classes, functions, variables, include
statements, and macros. Also, opens URLs in the default browser
and Qt resource files (.qrc) in the \l{Creating Resource Files}
and Qt resource files (.qrc) in the \l{Resource Files}
{resource editor}
\li F2
\row
@@ -729,7 +729,7 @@
\li
\li Alt+S, Alt+D
\row
\li Diff project
\li Diff project or repository
\li
\li
\li Alt+G, Alt+Shift+D
@@ -753,7 +753,7 @@
\li Alt+P, Alt+F
\li
\row
\li Log project
\li Log repository
\li
\li
\li Alt+G, Alt+K

View File

@@ -171,16 +171,17 @@
Use the \uicontrol Locator to browse
through projects, files, classes, functions, documentation, and file systems.
\image qtcreator-locator-open.webp "List of found files"
To quickly access files not directly mentioned in your project, you can
create your own locator filters. That way you can locate files in a
directory structure you have defined.
\image qtcreator-locator.png "List of locator filters"
To create locator filters, select \uicontrol Edit > \uicontrol Preferences >
\uicontrol Environment > \uicontrol Locator > \uicontrol Add.
\image qtcreator-locator-customize.png "Locator preferences"
\image qtcreator-locator-customize.webp "Locator preferences"
For more information, see \l{Creating Locator Filters}.
@@ -190,6 +191,8 @@
You can now do basic calculations, with options to copy the results to the clipboard
by navigating through the entries and pressing \key {Enter}.
\image qtcreator-locator.webp "List of locator filters"
For more information, see \l{Executing JavaScript}.
\section1 Jump to a function in QML code

View File

@@ -111,7 +111,7 @@
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits >
\uicontrol Add to add a kit for building for the device. Select the
Qt version, compiler, and device that you added above, and select
\uicontrol {Remote Linux Device} in \uicontrol {Device type}.
\uicontrol {Remote Linux Device} in \uicontrol {Run device type}.
To build on the remote device, select \uicontrol {Remote Linux Device}
also in \uicontrol {Build device}.

View File

@@ -1002,5 +1002,116 @@
https://creativecommons.org/publicdomain/zero/1.0/
\li \b WinPty
Implementation of a pseudo terminal for Windows.
The sources can be found in:
\list
\li \l https://github.com/rprichard/winpty
\endlist
Distributed under the MIT license.
\include license-mit.qdocinc
\li \b ptyqt
Pty-Qt is small library for access to console applications by a
pseudo-terminal interface on \macos, Linux and Windows. On \macos and
Linux it uses standard PseudoTerminal API and on Windows it uses
WinPty or ConPty.
\list
\li \l https://github.com/kafeg/ptyqt
\endlist
Distributed under the MIT license.
\include license-mit.qdocinc
\li \b libvterm
An abstract C99 library, which implements a VT220 or xterm-like terminal
emulator. It doesn't use any particular graphics toolkit or output
system. Instead it invokes callback function pointers that its embedding
program should provide to draw on its behalf. It avoids calling malloc()
during normal running state, allowing it to be used in embedded kernels.
\list
\li \l https://www.leonerd.org.uk/code/libvterm/
\endlist
Distributed under the MIT license.
\include license-mit.qdocinc
\li \b terminal/shellintegrations
The Terminal plugin uses scripts to integrate with the shell. The scripts are
located in the Qt Creator source tree in src/plugins/terminal/shellintegrations.
\list
\li \l https://github.com/microsoft/vscode/tree/main/src/vs/workbench/contrib/terminal/browser/media
\endlist
Distributed under the MIT license.
\include license-mit.qdocinc
\li \b terminal/shellintegrations/clink
The Terminal plugin uses a lua script to integrate with the cmd shell when using clink.
\list
\li \l https://github.com/chrisant996/clink-gizmos
\endlist
Distributed under the MIT license.
\include license-mit.qdocinc
\li \b cmake
The CMake project manager uses the CMake lexer code for parsing CMake files.
\list
\li \l https://gitlab.kitware.com/cmake/cmake.git
\endlist
CMake - Cross Platform Makefile Generator
Copyright 2000-2023 Kitware, Inc. and Contributors
All rights reserved.
\badcode
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Kitware, Inc. nor the names of Contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\endcode
\endlist
*/

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2022 The Qt Company Ltd.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
@@ -8,122 +8,33 @@
\title Creating Files
You can use wizard templates to add individual files to your
\l{Creating Projects}{projects}.
The following table lists the wizard templates for creating files.
\image qtcreator-new-file.webp {New File wizard}
\table
\header
\li Category
\li Wizard Template
\li Purpose
\row
\li {1,3} C/C++
\li C++ Class
\li C++ header and source file for a new class that you can add to
a C++ project.
\row
\li C/C++ Source File
\li C++ source file that you can add to a C++ project.
\row
\li C/C++ Header File
\li C++ header file that you can add to a C++ project.
\row
\li {1,3} Modeling
\li State Chart
\li State Chart XML (SCXML) file that has boilerplate
code for state machines. You can use the classes in the
\l {Qt SCXML} module to embed state machines created from
the files in Qt applications.
\row
\li Model
\li Universal Modeling Language (UML) style model with a structured
diagram. However, the model editor uses a variant of UML and
has only a subset of properties for specifying the
appearance of model elements. For more information, see
\l {Modeling}.
\row
\li Scratch Model
\li Scratch model using a temporary file.
\row
\li {1,7} Qt
\li Qt Item Model
\li Source and header files that you can use to create classes
derived from QAbstractItemModel, QAbstractTableModel, or
QAbstractListModel.
\row
\li \QD Form Class
\li \QD form and a matching class for implementing a UI based
on Qt widgets.
\row
\li \QD Form
\li \QD form for Qt widget based projects. This is useful
if you already have an existing class for the UI logic.
\row
\li Qt Resource File
\li Resource file for storing binary files in the application
executable.
\row
\li QML File (Qt Quick 2)
\li QML file that imports Qt Quick 2.0 for use in Qt Quick projects.
\row
\li Qt Quick UI File
\li \l{UI Files}{UI file} (\e .ui.qml) and the corresponding
implementation file (\e .qml) for use in Qt Quick projects.
\row
\li JS File
\li JavaScript file that you can use to write the application logic
in Qt Quick projects.
\row
\li {1,4} GLSL
\li Fragment Shader (OpenGL/ES 2.0)
\li Fragment shader that generates the final pixel colors for
triangles, points, and lines rendered with OpenGL. You can use
it in both Qt Quick projects and Qt widget based projects.
\row
\li Vertex Shader (OpenGL/ES 2.0)
\li Vertex shader that transforms the positions, normals, and
texture coordinates of triangles, points, and lines rendered
with OpenGL. You can use it in both Qt Quick projects and Qt
widget based projects.
\row
\li Fragment Shader (Desktop OpenGL)
\li Fragment shader for use in both Qt Quick projects and Qt
widget based projects.
\row
\li Vertex Shader (Desktop OpenGL)
\li Vertex shader for use in both Qt Quick projects and Qt
widget based projects.
\row
\li {1,2} General
\li Empty File
\li Empty file that you can save with any filename extension.
\row
\li Scratch Buffer
\li Scratch buffer that uses temporary files. You can
create this type of files for temporarily storing information
that you do not intend to save
\row
\li Java
\li Java File
\li Java class files that you can use to create Java classes.
\row
\li {1,2} Python
\li Python Class
\li Python class file.
\row
\li Python File
\li Python script file using UTF-8 encoding.
\row
\li {1,2} Nim (experimental)
\li Nim Script File
\li Empty Nim script file using UTF-8 encoding.
\row
\li Nim File
\li Empty Nim source file using UTF-8 encoding.
\endtable
Use wizard templates to add individual files to your \l{Creating Projects}
{projects}:
\section1 Creating C++ Classes
\list
\li \uicontrol {C/C++}: header and source files for new classes.
\li \uicontrol {Modeling}: State Chart XML (SCXML) files,
Universal Modeling Language (UML) style \l {Modeling}{models},
and scratch models that use a temporary file.
\li \uicontrol {Qt}: source and header files for item, table,
or list models, \QD forms and a matching classes for Qt Widgets
projects, Qt resource files, as well as QML and JavaScript files
for Qt Quick projects.
\li \uicontrol {GLSL}: fragment and vertex shaders.
\li \uicontrol {General}: markdown files, empty files that you can save
with any filename extension, and scratch buffers that use temporary
files.
\li \uicontrol {Java}: class files.
\li \uicontrol {Python}: class and script files for Python projects.
\li \uicontrol {Nim} (experimental): empty Nim source and script files.
\endlist
The \uicontrol {New File} dialog shows detailed information about each file
wizard template.
\section1 C++ Classes
The \uicontrol {C++ Class Wizard} allows you to create a C++ header and source
file for a new class that you can add to a C++ project. Specify the class
@@ -149,7 +60,7 @@
You can create your own project and class wizards. For more information,
see \l{Adding New Custom Wizards}.
\section1 Creating Resource Files
\section1 Resource Files
\QC supports the \l{The Qt Resource System}{Qt Resource System}, which is a
platform-independent mechanism for storing files in the application's
@@ -187,7 +98,7 @@
The above functions are also available in the context menu in the
\uicontrol Projects view.
\section1 Creating OpenGL Fragment and Vertex Shaders
\section1 OpenGL Fragment and Vertex Shaders
Qt supports integration with OpenGL implementations on all
platforms, which allows you to display hardware accelerated 3D graphics

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2020 The Qt Company Ltd.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -12,29 +12,33 @@
\section1 Selecting the Build System
You can use several build systems to build your projects.
You can use several build systems to build your projects:
\l{qmake Manual}{qmake} is a cross-platform system for build automation
\list
\li \l{qmake Manual}{qmake} is a cross-platform system for build automation
that helps simplify the build process for development projects across
different platforms. qmake automates the generation of build configurations
so that you need only a few lines of information to create each
configuration. Qt installers install and configure qmake.
To use one of the other supported build systems, you need to set it up.
\l {Build with CMake}{CMake} is an alternative to qmake for automating the
\li \l {Build with CMake}{CMake} is an alternative to qmake for automating the
generation of build configurations. For more information, see
\l {Setting Up CMake}.
\l {https://mesonbuild.com/}{Meson} Meson is a fast and user-friendly
\li \l {https://mesonbuild.com/}{Meson} is a fast and user-friendly
open-source build system that aims to minimize the time developers spend
writing or debugging build definitions and waiting for the build system
to start compiling code. For more information, see \l {Setting Up Meson}.
\l{Qbs Manual}{Qbs} is an all-in-one build tool that generates a build graph
\li \l{Qbs Manual}{Qbs} is an all-in-one build tool that generates a build graph
from a high-level project description (like qmake or CMake do) and executes
the commands in the low-level build graph (like make does). For more
information, see \l{Setting Up Qbs}.
\endlist
To export a project to some other build system, such as Microsoft Visual
Studio, select \uicontrol Build > \uicontrol {Run Generator}, and select
a generator in the list. \QC generates the build files, such as .vcxproj,

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2022 The Qt Company Ltd.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -49,7 +49,7 @@
The installers create \l{glossary-buildandrun-kit}{kits} and specify build
and run settings for the installed device types. However, you might need to
install and configure some additional software on the devices to be able to
connect to them from the development PC.
\l{Connecting Devices}{connect} to them from the development PC.
\include creator-projects-build-systems.qdocinc build systems
@@ -71,146 +71,49 @@
\section1 Selecting Project Type
The following table lists the wizard templates for creating projects.
The following table lists the types of wizard templates that you can use
for creating projects. The \uicontrol {New Project} dialog shows detailed
information about each project wizard template.
\table
\header
\li Category
\li Wizard Template
\li Purpose
\row
\li Application (\QMCU)
\li MCU Support Application
\li Creates an application that uses a subset of Qt QML and
Qt Quick Controls types (as supported by \QMCU) that
you can deploy, run, and debug on MCU boards. For more
information, see \l {Connecting MCUs}.
\li Application
\li Use many UI technologies (Qt Widgets and Qt Quick) and
programming languages (C++, QML, and Python) to create
applications for different purposes that you can run on
many target platforms (desktop, mobile, and embedded).
\row
\li {1,3} Application (Qt)
\li Qt Widgets Application
\li Uses \QD forms to design a Qt widget based user interface for
the desktop and C++ to implement the application logic.
\li Library or plugin
\li Create a shared or static C++ library, a C++ plugin for Qt Quick
application extensions, or a \QC plugin.
\row
\li Qt Console Application
\li Uses a single main.cpp file.
\li Other project
\li Create custom \l{Developing Widget Based Applications}{\QD}
widgets or widget collections,
\l{Qt Quick UI Projects}{Qt Quick UI projects},
\l {Creating Tests}{auto-test projects},
\l{Adding Subprojects to Projects}{subprojects},
empty qmake projects, or qmake projects for testing
code snippets.
\row
\li Qt Quick Application
\li Creates a Qt Quick application project that can have both
QML and C++ code. You can build the application and deploy it
to desktop, embedded, and mobile target platforms.
\li Non-Qt project
\li Create plain C or C++ applications or \l {Setting Up Nimble}
{Nim or Nimble} applications (experimental)
\row
\li Imported project
\li Import projects from a supported \l{Using Version Control Systems}
{version control system}, such as Bazaar, CVS, Git, Mercurial, or
Subversion.
You can select an option to create a project that you can open
in \QDS, which has a visual editor for Qt Quick UIs.
\row
\li {1,4} Application (Qt for Python)
\li Empty Application
\li Creates a \l{https://doc.qt.io/qtforpython/index.html}
{Qt for Python} application that has only the main
code for a QApplication.
\row
\li Empty Window
\li Creates a Qt for Python application that has an empty
window.
\row
\li Window UI
\li Creates a Qt for Python application that has an empty
window with a widget-based UI. Preferred approach that requires
you to generate a Python file from the .ui file, to import
it directly into your application.
\row
\li Qt Quick Application - Empty
\li Creates a Python project that has an empty Qt Quick
Application.
\row
\li {1,3} Library
\li C++ Library
\li A shared or static C++ library based on qmake.
\row
\li Qt Quick 2 Extension Plugin
\li Creates a C++ plugin that makes it possible to offer extensions
that the QQmlEngine class can load dynamically into Qt Quick
applications.
\row
\li \QC Plugin
\li Creates a \QC plugin.
\row
\li {1,6} Other Project
\li Qt Custom Designer Widget
\li Creates a custom \QD widget or widget collection.
\row
\li Qt Quick UI Prototype
\li Creates a \l{Creating Qt Quick UI Projects}{Qt Quick UI project}
with a single QML file that has the main view. You can
preview Qt Quick UI projects in the
\l{Validating with Target Hardware}{QML Scene preview tool}.
You do not need to build them because they do not have any
C++ code.
Use this template only if you are prototyping. You cannot create
a full application by using this template.
You cannot deploy Qt Quick UI projects to embedded or mobile
target platforms. For those platforms, create a Qt Quick
application instead.
\row
\li Auto Test Project
\li Creates a project with boilerplate code for a Qt or Google
test. For more information, see \l {Creating Tests}.
\row
\li Subdirs Project
\li Creates a subproject that enables you to structure your qmake
projects as a tree hierarchy.
\row
\li Empty qmake Project
\li Creates an empty qmake project that uses qmake as the build
system but does not use any default classes.
\row
\li Code Snippet
\li Creates a qmake project from a code snippet. When working on
bug reports that have a code snippet, you can place the code
snippet into a project to compile and check it.
\row
\li {1,4} Non-Qt Project
\li Plain C Application
\li Creates a plain C application that uses qmake, Qbs, or CMake
but does not use the Qt library.
\row
\li Plain C++ Application
\li Creates a plain C++ application that uses qmake, Qbs, or CMake
but does not use the Qt library.
\row
\li Nim Application (experimental)
\li Creates a Nim application that uses Nimble, but does not use the
Qt library. For more information, see \l {Setting Up Nimble}.
\row
\li Nimble Application (experimental)
\li Creates a Nimble application that uses Nimble, but does not use
the Qt library. For more information, see
\l {Setting Up Nimble}.
\row
\li {1,3} Import Project
\li Project from version control
\li Imports a project from a supported version control system, such
as Bazaar, CVS, Git, Mercurial, or Subversion. For more
information about how \QC integrates version control systems,
see \l{Using Version Control Systems}.
\row
\li Import as qmake or CMake Project (Limited Functionality)
\li Imports an existing project that does not use any of the
supported build systems: qmake, Qbs, CMake, or Autotools. The
template creates a project file, which enables you to use
\QC as a code editor and as a launcher for debugging and
analysis tools. However, if you want to build the project,
you might need to edit the generated project file.
\row
\li Import Existing Project
\li Imports an existing project that does not use any of the
supported build systems: qmake, Qbs, CMake, or Autotools.
This enables you to use \QC as a code editor.
You can also import existing projects that do not use any of the
supported build systems to use \QC as a code editor and as a
launcher for debugging and analysis tools.
\row
\li Squish
\li Squish Test Suite
\li Creates a new \l {Using Squish}{Squish test suite}.
\li Create new \l {Using Squish}{Squish test suites}.
\endtable

View File

@@ -97,8 +97,8 @@
used for the \c CurrentKit:FileSystemName variable, which determines
the name of the shadow build directory, for example.
\row
\li \uicontrol{Device type}
\li Type of the device.
\li \uicontrol{Run device type}
\li Type of the run device.
Double-click the icon next to the field to select the image that is
displayed in the kit selector for this kit. You can use any
@@ -107,7 +107,7 @@
logo as an icon allows you to easily see, which compiler is used to
build the project for the selected kit.
\row
\li \uicontrol Device
\li \uicontrol {Run device}
\li The device to run applications on.
\row
\li \uicontrol {Build device}

View File

@@ -140,7 +140,7 @@
For more information about the
\uicontrol {Qt for Python - Qt Quick Application - Empty} wizard, see
\l {Creating Qt Quick Based Python Applications}.
\l {Qt Quick Based Python Applications}.
For examples of creating Qt for Python applications, see
\l {https://doc.qt.io/qtforpython/tutorials/index.html}
@@ -151,7 +151,7 @@
//! [python qml project wizards]
\section1 Creating Qt Quick Based Python Applications
\section1 Qt Quick Based Python Applications
The \uicontrol {Qt for Python - Qt Quick Application - Empty} wizard enables
you to create a Python project that has a main QML file. Specify the

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2021 The Qt Company Ltd.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
@@ -7,6 +7,12 @@
\title All Topics
\note The following list has links to all the individual topics (HTML files)
in the \QC Manual. Use your browser's page search to find a link to a
particular topic in the list. For a more extensive search, use the
\uicontrol Search function in the \l{https://doc.qt.io/qtcreator/}
{Qt documentation} portal or in the \l {Using the Help Mode}{Help} mode.
\list
\li \l{Getting Started}
\list
@@ -122,6 +128,7 @@
\li \l{Specifying Text Editor Settings}
\li \l{Using FakeVim Mode}
\endlist
\li \l{Editing Markdown Files}
\li \l{Using Language Servers}
\li \l{Editing MIME Types}
\li \l{Modeling}

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2021 The Qt Company Ltd.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -29,9 +29,11 @@
appropriate \l{http://qt.io/licensing/}{Qt license}. For more information,
see \l{Commercial Features}.
\table
\row
\li {4,1} \b {\l{All Topics}}
\li {4,1} \b {\l{All Topics}{Click Here for a List of All Topics}}
\row
\li \inlineimage front-gs.png
\li \inlineimage front-projects.png

View File

@@ -19,7 +19,7 @@
However, the actual performance of the application once started is
indistinguishable from the same application running on the desktop.
You can run \l{Creating Qt Quick UI Projects}{Qt Quick UI projects}, which
You can run \l{Qt Quick UI Projects}{Qt Quick UI projects}, which
have a .qmlproject file that define the main QML file and the import paths.
Compress the project folder into a ZIP file that you upload to \QDV.

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2021 The Qt Company Ltd.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -14,58 +14,28 @@
\title Creating Qt Quick Projects
The following table lists the wizard templates for creating a new
Qt Quick project from scratch.
Use the following wizard templates to create new Qt Quick projects:
\table
\header
\li Category
\li Wizard Template
\li Purpose
\row
\li Application (Qt)
\li Qt Quick Application
\li Creates a Qt Quick application project that can have both
QML and C++ code. You can build the application and deploy it
to desktop, embedded, and mobile target platforms.
\list
\li \uicontrol {Application (Qt)} > \uicontrol {Qt Quick Application}
\li \uicontrol {Application (Qt for Python)} >
\uicontrol {Qt for Python - Qt Quick Application}
\li \uicontrol {Other Project} > \uicontrol {Qt Quick UI Prototype}
\li \uicontrol {Library} > \uicontrol {Qt Quick 2 Extension Plugin}
\endlist
You can select an option to create a project that you can open
in \QDS.
\row
\li Application (Qt for Python)
\li Qt for Python - Qt Quick Application
\li Creates a Python project that has an empty Qt Quick
Application.
\row
\li Other Project
\li Qt Quick UI Prototype
\li Creates a Qt Quick UI project with a single QML file that
has the main view. You can preview Qt Quick UI projects
in the QML Scene preview tool. You do not need to build them
because they do not have any C++ code.
This project type is compatible with \QDS. However, use this
template only if you are prototyping. You cannot create
a full application by using this template.
You cannot deploy Qt Quick UI projects to embedded or
mobile target platforms. For those platforms, create a Qt Quick
application instead.
\row
\li Library
\li Qt Quick 2 Extension Plugin
\li Creates C++ plugins that make it possible to offer extensions
that can be loaded dynamically into Qt Quick applications.
\endtable
The \uicontrol {New Project} dialog shows detailed information about each
project wizard template.
\note The SDK for a particular target platform might install additional
templates for that platform. For example, the QNX templates are installed
as part of the QNX SDK.
\QC creates the necessary boilerplate files. Some of the files are
specific to a particular target platform.
specific to a particular target platform. You can use wizard templates
also to \l{Creating Files}{add files} to the projects.
\section1 Creating Qt Quick Applications
\section1 Qt Quick Applications
\list 1
@@ -142,7 +112,7 @@
\include creator-python-project.qdocinc python qml project wizards
\section1 Creating Qt Quick UI Projects
\section1 Qt Quick UI Projects
Qt Quick UI Prototype projects are useful for testing or prototyping user
interfaces,

View File

@@ -69,7 +69,7 @@
\endlist
For more information about the settings that you skipped and the other
wizard templates available, see \l{Creating Qt Quick Applications}.
wizard templates available, see \l{Qt Quick Applications}.
//! [qtquick empty application]
*/

View File

@@ -22,7 +22,7 @@
In addition, you can use \QDV to run
\if defined(qtcreator)
\l{Creating Qt Quick UI Projects}{Qt Quick UI projects}
\l{Qt Quick UI Projects}{Qt Quick UI projects}
\else
applications
\endif

View File

@@ -88,6 +88,7 @@
(\uicontrol {Synchronize with Editor}).
\endlist
\if defined(qtcreator)
\section1 Viewing the Class Hierarchy
The \uicontrol {Class View} shows the class hierarchy of the currently
@@ -144,4 +145,5 @@
To keep the view synchronized with the file currently open in the editor,
select \inlineimage icons/linkicon.png
(\uicontrol {Synchronize with Editor}).
\endif
*/

View File

@@ -95,7 +95,7 @@
\li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits >
\uicontrol Add.
\li In the \uicontrol Name field, specify a name for the kit.
\li In the \uicontrol {Device type} field, select
\li In the \uicontrol {Run device type} field, select
\uicontrol {WebAssembly Runtime}.
The value of the \uicontrol Device field is automatically
set to \uicontrol {Web Browser}.

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2022 The Qt Company Ltd.
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// **********************************************************************
@@ -294,12 +294,6 @@
and select \uicontrol{Finish} or \uicontrol Done to open the file
in the code editor.
\li In the \uicontrol Copy to Clipboard dialog, select \uicontrol Yes to
copy the path to the resource file to the clipboard for adding it
to the CMakeLists.txt file.
\image qtcreator-add-resource-wizard4.png "Copy to Clipboard dialog"
\li Select \uicontrol Add > \uicontrol {Add Prefix}.
\li In the \uicontrol{Prefix} field, replace the default prefix with a slash

View File

@@ -16,6 +16,7 @@ headerdirs = . \
../src \
../../../src/libs/aggregation \
../../../src/libs/extensionsystem \
../../../src/libs/solutions/tasking \
../../../src/libs/utils \
../../../src/plugins/coreplugin
@@ -23,11 +24,14 @@ sourcedirs = . \
../src \
../../../src/libs/aggregation \
../../../src/libs/extensionsystem \
../../../src/libs/solutions/tasking \
../../../src/libs/utils \
../../../src/plugins/coreplugin
excludedirs = ../../../src/libs/aggregation/examples
excludedirs = ../../../src/libs/aggregation/examples \
../../../src/libs/utils/mimetypes2
# -- Uncomment following option to generate complete documentation
# instead of public API documentation only.

View File

@@ -52,7 +52,7 @@
\li Add support for a new version control system.
\li Version control systems integrated in \QC are Bazaar, CVS, Git,
Mecurial, Perforce, and Subversion.
\li \l{Core::IVersionControl}
\li \c{Core::IVersionControl}
\row
\li Add a view to the navigation sidebar.
@@ -94,7 +94,7 @@
\li For a text typed in by the user you provide a list of things to
show in the popup. When the user selects an entry you are
requested to do whatever you want.
\li \l{Core::ILocatorFilter}, \l{Core::BaseFileFilter}
\li \l{Core::ILocatorFilter}
\row
\li Show a progress indicator for a concurrently running task.

View File

@@ -28,8 +28,7 @@
tracks the state of the plugin.
You can get the \l{ExtensionSystem::PluginSpec} instances via the
plugin manager's \l{ExtensionSystem::PluginManager::plugins()}{plugins()}
function, or, after a plugin is loaded, through the plugin's
\l{ExtensionSystem::IPlugin::pluginSpec()}{pluginSpec()} function.
function.
\li Sets the plugins to \c Read state.

View File

@@ -41,8 +41,8 @@
failure.
To add plugin tests, add a QObject based class with private slots for your
tests, and register it with \l{ExtensionSystem::IPlugin::addTest()} in your
plugin's \l{ExtensionSystem::IPlugin::initialized()} method. Guard all test
tests, and register it with \c{ExtensionSystem::IPlugin::addTest()} in your
plugin's \l{ExtensionSystem::IPlugin::initialize()} method. Guard all test
related code with a check for \c{WITH_TESTS}, to avoid shipping a binary
release of your plugin with test functions.

View File

@@ -202,7 +202,7 @@
One way to handle that would be to let the tool create an output file, which
is then opened within \QC. You provide an editor (probably read-only) for
handling this file. For lists of issues, consider creating task list files
which are shown in \l Issues.
which are shown in \uicontrol Issues.
\list
\li \l{https://doc.qt.io/qtcreator/creator-task-lists.html}

View File

@@ -34,6 +34,11 @@
for plugins and basic mechanisms for plugin interaction like an
object pool.
\row
\li \l{Tasking}
\li A solution containing a TaskTree and other classes for writing
declarative trees of asynchronous task flows.
\row
\li \l{Utils}
\li Useful classes that are reused in a lot of places in Qt Creator code.

View File

@@ -91,14 +91,14 @@
case, use book style capitalization and do not add a period after the tool
tip.
\image qtcreator-tooltip.png "Tooltip"
\image qtcreator-tooltip.png {Tooltip}
Tooltips can also contain full sentences. Try to make them as short and
concise as possible, while still making them grammatically correct. Use
sentence style capitalization and punctuation as you would for any
sentence.
\image qtcreator-tooltip-long.png "Sentence as a tooltip"
\image qtcreator-tooltip-long.png {Sentence as a tooltip}
\section3 Writing Tooltips in Design Mode
@@ -333,7 +333,7 @@
\li Opens when users right-click on the screen. Contents depend on
the context.
\image qtcreator-context-menu.png "Context menu"
\image qtcreator-context-menu.png {Context menu}
\li You can add menu items that are relevant in a particular
context. Follow the conventions for naming menu items.
@@ -343,7 +343,7 @@
\li User interface element that usually contains a number of
choices or allows the user to give input to the application.
Opens when users select a menu item or button.
\image qtcreator-dialog.png "Dialog"
\image qtcreator-dialog.png {Dialog}
\li Use the menu item or button name as the dialog name. You can
also combine the menu item or button name and the name of the
object that is managed in the dialog. For example, the \uicontrol Add
@@ -354,7 +354,7 @@
\li Allows you to browse not only files, but any items defined by
locator filters.
\image qtcreator-locator.png "Locator"
\image qtcreator-locator.webp {Locator}
\li You can add locator filters. Check that the filter is not
already in use and give the filter a descriptive name.
@@ -365,7 +365,7 @@
\li Contains menu items that represent commands or options and that
are logically grouped and displayed. A menu can also contain
submenus.
\image qtcreator-menu.png "Menu"
\image qtcreator-menu.png {Menu}
\li You can create new menus. Use short, but descriptive names that
are consistent with existing menu names. Use unambigious names.
@@ -373,7 +373,7 @@
\row
\li Menu item
\li Represents a command or an option for users to choose.
\image qtcreator-menu-item.png "Menu item"
\image qtcreator-menu-item.png {Menu item}
\li You can add new items to menus. Use short, but descriptive
names that are consistent with existing menu names. Use
unambigious names.
@@ -381,7 +381,7 @@
\li Message box
\li Dialog that provides feedback to users, in the form of status
information, a warning, or an error message.
\image qtcreator-error-message.png "Message box"
\image qtcreator-error-message.png {Message box}
Output from Qt Creator should be displayed in output views,
instead.
\li Use the event as the title and provide a solution in the
@@ -390,21 +390,21 @@
\li Mode
\li Modes correspond to complete screens of controls, specialized
for a task.
\image qtcreator-mode-selector.png "Mode selector"
\image qtcreator-mode-selector.png {Mode selector}
\li You can add a mode for a new type of editor, for example.
Use descriptive, but short mode names. They have to fit in the
\uicontrol {Mode selector}.
\row
\li Output
\li Views to display output from Qt Creator.
\image qtcreator-output-pane.png "Output"
\image qtcreator-output-pane.png {Output}
\li Use descriptive names for output views.
\row
\li Sidebar
\li A view available in the \uicontrol Edit and \uicontrol Debug modes that
you can use to browse projects, files, and bookmarks, and to
view the class hierarchy.
\image qtcreator-sidebar-menu.png "Sidebar"
\image qtcreator-sidebar-menu.png {Sidebar}
\li You can add views to the sidebar menu. Use descriptive names
for them.
\row
@@ -413,7 +413,7 @@
provides them with functions for managing the information.
Available in \uicontrol Debug mode, for interaction with the program
that is running under the control of the debugger.
\image qtcreator-debugger-views.webp "Views"
\image qtcreator-debugger-views.webp {Views}
\li Use descriptive names for views.
\endtable

View File

@@ -0,0 +1,6 @@
import qbs 1.0
Group {
name: "Unit tests"
condition: qtc.testsEnabled
}

View File

@@ -6,16 +6,16 @@ import qbs.Utilities
Module {
Depends { name: "cpp"; required: false }
property string qtcreator_display_version: '10.0.1'
property string qtcreator_display_version: '11.0.0-beta1'
property string ide_version_major: '10'
property string ide_version_minor: '0'
property string ide_version_release: '1'
property string ide_version_release: '82'
property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.'
+ ide_version_release
property string ide_compat_version_major: '10'
property string ide_compat_version_minor: '0'
property string ide_compat_version_release: '0'
property string ide_compat_version_release: '82'
property string qtcreator_compat_version: ide_compat_version_major + '.'
+ ide_compat_version_minor + '.' + ide_compat_version_release

View File

@@ -35,12 +35,9 @@ set(resource_files
debugger/libcpp_stdtypes.py
debugger/stdtypes.py
debugger/utils.py
debugger/loadorder.txt
)
if (APPLE)
set(resource_directories ${resource_directories} scripts)
endif()
# copy resource directories during build
qtc_copy_to_builddir(copy_share_to_builddir
DIRECTORIES ${resource_directories}

View File

@@ -235,7 +235,7 @@ def qdump__Utils__Port(d, value):
def qdump__Utils__Environment(d, value):
def x_qdump__Utils__Environment(d, value):
qdump__Utils__NameValueDictionary(d, value)
@@ -243,7 +243,7 @@ def qdump__Utils__DictKey(d, value):
d.putStringValue(value["name"])
def qdump__Utils__NameValueDictionary(d, value):
def x_qdump__Utils__NameValueDictionary(d, value):
dptr = d.extractPointer(value)
if d.qtVersion() >= 0x60000:
if dptr == 0:

View File

@@ -106,7 +106,7 @@ class Children():
self.d.putNumChild(0)
if self.d.currentMaxNumChild is not None:
if self.d.currentMaxNumChild < self.d.currentNumChild:
self.d.put('{name="<incomplete>",value="",type="",numchild="0"},')
self.d.put('{name="<load more>",value="",type="",numchild="1"},')
self.d.currentChildType = self.savedChildType
self.d.currentChildNumChild = self.savedChildNumChild
self.d.currentNumChild = self.savedNumChild
@@ -195,10 +195,16 @@ class DumperBase():
self.childrenPrefix = 'children=['
self.childrenSuffix = '],'
self.dumpermodules = [
os.path.splitext(os.path.basename(p))[0] for p in
glob.glob(os.path.join(os.path.dirname(__file__), '*types.py'))
]
self.dumpermodules = []
try:
# Fails in the piping case
self.dumpermodules = [
os.path.splitext(os.path.basename(p))[0] for p in
glob.glob(os.path.join(os.path.dirname(__file__), '*types.py'))
]
except:
pass
# These values are never used, but the variables need to have
# some value base for the swapping logic in Children.__enter__()
@@ -215,7 +221,7 @@ class DumperBase():
def setVariableFetchingOptions(self, args):
self.resultVarName = args.get('resultvarname', '')
self.expandedINames = set(args.get('expanded', []))
self.expandedINames = args.get('expanded', {})
self.stringCutOff = int(args.get('stringcutoff', 10000))
self.displayStringLimit = int(args.get('displaystringlimit', 100))
self.typeformats = args.get('typeformats', {})
@@ -298,6 +304,11 @@ class DumperBase():
return range(0, self.currentNumChild)
return range(min(self.currentMaxNumChild, self.currentNumChild))
def maxArrayCount(self):
if self.currentIName in self.expandedINames:
return self.expandedINames[self.currentIName]
return 100
def enterSubItem(self, item):
if self.useTimeStamps:
item.startTime = time.time()
@@ -872,7 +883,7 @@ class DumperBase():
self.output.append(stuff)
def takeOutput(self):
res = '\n'.join(self.output)
res = ''.join(self.output)
self.output = []
return res
@@ -2233,7 +2244,7 @@ class DumperBase():
res = self.currentValue
return res # The 'short' display.
def putArrayData(self, base, n, innerType, childNumChild=None, maxNumChild=10000):
def putArrayData(self, base, n, innerType, childNumChild=None):
self.checkIntType(base)
self.checkIntType(n)
addrBase = base
@@ -2241,6 +2252,7 @@ class DumperBase():
self.putNumChild(n)
#DumperBase.warn('ADDRESS: 0x%x INNERSIZE: %s INNERTYPE: %s' % (addrBase, innerSize, innerType))
enc = innerType.simpleEncoding()
maxNumChild = self.maxArrayCount()
if enc:
self.put('childtype="%s",' % innerType.name)
self.put('addrbase="0x%x",' % addrBase)
@@ -2248,7 +2260,7 @@ class DumperBase():
self.put('arrayencoding="%s",' % enc)
self.put('endian="%s",' % self.packCode)
if n > maxNumChild:
self.put('childrenelided="%s",' % n) # FIXME: Act on that in frontend
self.put('childrenelided="%s",' % n)
n = maxNumChild
self.put('arraydata="')
self.put(self.readMemory(addrBase, n * innerSize))
@@ -2282,7 +2294,7 @@ class DumperBase():
def putPlotData(self, base, n, innerType, maxNumChild=1000 * 1000):
self.putPlotDataHelper(base, n, innerType, maxNumChild=maxNumChild)
if self.isExpanded():
self.putArrayData(base, n, innerType, maxNumChild=maxNumChild)
self.putArrayData(base, n, innerType)
def putSpecialArgv(self, value):
"""

View File

@@ -870,6 +870,7 @@ class Dumper(DumperBase):
self.startMode_ = args.get('startmode', 1)
self.breakOnMain_ = args.get('breakonmain', 0)
self.useTerminal_ = args.get('useterminal', 0)
self.firstStop_ = True
pargs = self.hexdecode(args.get('processargs', ''))
self.processArgs_ = pargs.split('\0') if len(pargs) else []
self.environment_ = args.get('environment', [])
@@ -930,6 +931,8 @@ class Dumper(DumperBase):
if self.startMode_ == DebuggerStartMode.AttachExternal:
attach_info = lldb.SBAttachInfo(self.attachPid_)
if self.breakOnMain_:
self.createBreakpointAtMain()
self.process = self.target.Attach(attach_info, error)
if not error.Success():
self.reportState('enginerunfailed')
@@ -1474,6 +1477,12 @@ class Dumper(DumperBase):
self.reportState("inferiorstopok")
else:
self.reportState("stopped")
if self.firstStop_:
self.firstStop_ = False
if self.useTerminal_:
# When using a terminal, the process will be interrupted on startup.
# We therefore need to continue it here.
self.process.Continue()
else:
self.reportState(self.stateName(state))
@@ -2120,7 +2129,7 @@ class SummaryDumper(Dumper, LogMixin):
# Expand variable if we need synthetic children
oldExpanded = self.expandedINames
self.expandedINames = [value.name] if expanded else []
self.expandedINames = {value.name: 100} if expanded else {}
savedOutput = self.output
self.output = []

View File

@@ -0,0 +1,13 @@
utils
gdbtracepoint
dumper
***bridge***
boosttypes
creatortypes
libcpp_stdtypes
misctypes
opencvtypes
personaltypes
qttypes
stdtypes
android_stdtypes

View File

@@ -1445,7 +1445,7 @@ class QtcInternalDumper():
self.updateData(args)
def updateData(self, args):
self.expandedINames = __builtins__.set(args.get('expanded', []))
self.expandedINames = args.get('expanded', {})
self.typeformats = args.get('typeformats', {})
self.formats = args.get('formats', {})
self.output = ''

View File

@@ -4,6 +4,7 @@
# Debugger start modes. Keep in sync with DebuggerStartMode in debuggerconstants.h
# MT: Why does this not match (anymore?) to debuggerconstants.h : DebuggerStartMode ?
class DebuggerStartMode():
(
NoStartMode,

View File

@@ -199,6 +199,29 @@
"QtQuick.Controls.Styles 1.2",
"QtQuick.Controls.Styles 1.3",
"QtQuick.Controls.Styles 1.4",
"QtQuick.Controls.Basic 2.0",
"QtQuick.Controls.Basic 2.1",
"QtQuick.Controls.Basic 2.2",
"QtQuick.Controls.Basic 2.3",
"QtQuick.Controls.Basic 2.12",
"QtQuick.Controls.Basic 2.13",
"QtQuick.Controls.Basic 2.14",
"QtQuick.Controls.Basic 2.15",
"QtQuick.Controls.Fusion 2.0",
"QtQuick.Controls.Fusion 2.1",
"QtQuick.Controls.Fusion 2.2",
"QtQuick.Controls.Fusion 2.3",
"QtQuick.Controls.Fusion 2.12",
"QtQuick.Controls.Fusion 2.13",
"QtQuick.Controls.Fusion 2.14",
"QtQuick.Controls.Imagine 2.0",
"QtQuick.Controls.Imagine 2.1",
"QtQuick.Controls.Imagine 2.2",
"QtQuick.Controls.Imagine 2.3",
"QtQuick.Controls.Imagine 2.12",
"QtQuick.Controls.Imagine 2.13",
"QtQuick.Controls.Imagine 2.14",
"QtQuick.Controls.Imagine 2.15",
"QtQuick.Dialogs 1.0",
"QtQuick.Dialogs 1.1",
"QtQuick.Dialogs 1.2",

View File

@@ -0,0 +1,10 @@
{
"name": "QtQuickControlsMacOS",
"searchPaths": [],
"installPaths": [],
"implicitImports": [],
"supportedImports": [
"QtQuick.Controls.macOS",
"QtQuick.Controls.iOS"
]
}

View File

@@ -0,0 +1,9 @@
{
"name": "QtQuickControlsWin",
"searchPaths": [],
"installPaths": [],
"implicitImports": [],
"supportedImports": [
"QtQuick.Controls.Windows"
]
}

View File

@@ -1,44 +1,36 @@
cmake_minimum_required(VERSION 3.21.1)
set(BUILD_QDS_COMPONENTS ON CACHE BOOL "Build design studio components")
option(LINK_INSIGHT "Link Qt Insight Tracker library" ON)
option(BUILD_QDS_COMPONENTS "Build design studio components" ON)
project(%{ProjectName}App LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
find_package(QT NAMES Qt6 COMPONENTS Gui Qml Quick)
find_package(Qt6 REQUIRED COMPONENTS Core Qml Quick)
find_package(Qt6 6.2 REQUIRED COMPONENTS Core Gui Qml Quick)
# To build this application you need Qt 6.2.0 or higher
if (Qt6_VERSION VERSION_LESS 6.2.0)
message(FATAL_ERROR "You need Qt 6.2.0 or newer to build the application.")
if (Qt6_VERSION VERSION_GREATER_EQUAL 6.3)
qt_standard_project_setup()
endif()
qt_add_executable(${CMAKE_PROJECT_NAME} src/main.cpp)
qt_add_executable(%{ProjectName}App src/main.cpp)
# qt_standard_project_setup() requires Qt 6.3 or higher. See https://doc.qt.io/qt-6/qt-standard-project-setup.html for details.
if (${QT_VERSION_MINOR} GREATER_EQUAL 3)
qt6_standard_project_setup()
endif()
qt_add_resources(${CMAKE_PROJECT_NAME} "configuration"
qt_add_resources(%{ProjectName}App "configuration"
PREFIX "/"
FILES
qtquickcontrols2.conf
)
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Gui
Qt${QT_VERSION_MAJOR}::Quick
Qt${QT_VERSION_MAJOR}::Qml
target_link_libraries(%{ProjectName}App PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Qml
Qt6::Quick
)
if (${BUILD_QDS_COMPONENTS})
if (BUILD_QDS_COMPONENTS)
include(${CMAKE_CURRENT_SOURCE_DIR}/qmlcomponents)
endif ()
endif()
include(${CMAKE_CURRENT_SOURCE_DIR}/qmlmodules)
@@ -46,6 +38,8 @@ if (LINK_INSIGHT)
include(${CMAKE_CURRENT_SOURCE_DIR}/insight)
endif ()
install(TARGETS ${CMAKE_PROJECT_NAME}
install(TARGETS %{ProjectName}App
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

View File

@@ -1,112 +0,0 @@
#!/usr/bin/env python3
# Copyright (C) 2018 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
import os
import pipes
import stat
import subprocess
import sys
from tempfile import NamedTemporaryFile
def quote_shell(arg):
return pipes.quote(arg)
def clean_environment_script():
# keep some basic environment settings to ensure functioning terminal and config files
env_to_keep = ' '.join(['_', 'HOME', 'LOGNAME', 'PWD', 'SHELL', 'TMPDIR', 'USER', 'TERM',
'TERM_PROGRAM', 'TERM_PROGRAM_VERSION', 'TERM_SESSION_CLASS_ID',
'TERM_SESSION_ID'])
return r'''
function ignore() {
local keys=(''' + env_to_keep + ''')
local v=$1
for e in "${keys[@]}"; do [[ "$e" == "$v" ]] && return 0; done
}
while read -r line; do
key=$(echo $line | /usr/bin/cut -d '=' -f 1)
ignore $key || unset $key
done < <(env)
'''
def system_login_script_bash():
return r'''
[ -r /etc/profile ] && source /etc/profile
# fake behavior of /etc/profile as if BASH was set. It isn't for non-interactive shell
export PS1='\h:\W \u\$ '
[ -r /etc/bashrc ] && source /etc/bashrc
'''
def login_script_bash():
return r'''
if [ -f $HOME/.bash_profile ]; then
source $HOME/.bash_profile
elif [ -f $HOME/.bash_login ]; then
source $HOME/.bash_login ]
elif [ -f $HOME/.profile ]; then
source $HOME/.profile
fi
'''
def system_login_script_zsh():
return '[ -r /etc/profile ] && source /etc/profile\n'
def login_script_zsh():
return r'''
[ -r $HOME/.zprofile ] && source $HOME/.zprofile
[ -r $HOME/.zshrc ] && source $HOME/.zshrc
[ -r $HOME/.zlogin ] && source $HOME/.zlogin
'''
def environment_script():
return ''.join(['export ' + quote_shell(key + '=' + os.environ[key]) + '\n'
for key in os.environ])
def zsh_setup(shell):
return (shell,
system_login_script_zsh,
login_script_zsh,
shell + ' -c',
shell + ' -d -f')
def bash_setup(shell):
bash = shell if shell is not None and shell.endswith('/bash') else '/bin/bash'
return (bash,
system_login_script_bash,
login_script_bash,
bash + ' -c',
bash + ' --noprofile -l')
def main():
# create temporary file to be sourced into bash that deletes itself
with NamedTemporaryFile(mode='wt', delete=False) as shell_script:
shell = os.environ.get('SHELL')
shell, system_login_script, login_script, non_interactive_shell, interactive_shell = (
zsh_setup(shell) if shell is not None and shell.endswith('/zsh')
else bash_setup(shell))
commands = ('#!' + shell + '\n' +
'rm ' + quote_shell(shell_script.name) + '\n' +
clean_environment_script() +
system_login_script() + # /etc/(z)profile by default resets the path, so do first
environment_script() +
login_script() +
'cd ' + quote_shell(os.getcwd()) + '\n' +
('exec ' + non_interactive_shell + ' ' +
quote_shell(' '.join([quote_shell(arg) for arg in sys.argv[1:]])) + '\n'
if len(sys.argv) > 1 else 'exec ' + interactive_shell + '\n')
)
shell_script.write(commands)
shell_script.flush()
os.chmod(shell_script.name, stat.S_IXUSR | stat.S_IRUSR | stat.S_IWUSR)
# TODO /usr/bin/open doesn't work with notarized app in macOS 13,
# use osascript instead (QTCREATORBUG-28683).
# This has the disadvantage that the Terminal windows doesn't close
# automatically anymore.
# subprocess.call(['/usr/bin/open', '-a', 'Terminal', shell_script.name])
subprocess.call(['/usr/bin/osascript', '-e', 'tell app "Terminal" to activate'])
subprocess.call(['/usr/bin/osascript', '-e', 'tell app "Terminal" to do script "' + shell_script.name + '"'])
if __name__ == "__main__":
main()

View File

@@ -204,5 +204,5 @@ case $value$:
default:
break;
}</snippet>
<snippet group="C++" trigger="Q_PROPERTY" id="cpp_q_property" complement="(type name READ name WRITE setName NOTIFY nameChanged)">Q_PROPERTY($type$ $name$ READ $name$ WRITE set$name:c$ NOTIFY $name$Changed)</snippet>
<snippet group="C++" trigger="Q_PROPERTY" id="cpp_q_property" complement="(type name READ name WRITE setName NOTIFY nameChanged FINAL)">Q_PROPERTY($type$ $name$ READ $name$ WRITE set$name:c$ NOTIFY $name$Changed FINAL)</snippet>
</snippets>

View File

@@ -10,5 +10,3 @@ QList<QDesignerCustomWidgetInterface*> @COLLECTION_PLUGIN_CLASS@::customWidgets(
{
return m_widgets;
}
@COLLECTION_PLUGIN_EXPORT@

View File

@@ -15,9 +15,9 @@ class @COLLECTION_PLUGIN_CLASS@ : public QObject, public QDesignerCustomWidgetCo
@COLLECTION_PLUGIN_METADATA@
public:
explicit @COLLECTION_PLUGIN_CLASS@(QObject *parent = 0);
explicit @COLLECTION_PLUGIN_CLASS@(QObject *parent = nullptr);
virtual QList<QDesignerCustomWidgetInterface*> customWidgets() const;
QList<QDesignerCustomWidgetInterface*> customWidgets() const override;
private:
QList<QDesignerCustomWidgetInterface*> m_widgets;

View File

@@ -7,11 +7,7 @@ SOURCES =@PLUGIN_SOURCES@
RESOURCES = @PLUGIN_RESOURCES@
LIBS += -L. @WIDGET_LIBS@
greaterThan(QT_MAJOR_VERSION, 4) {
QT += designer
} else {
CONFIG += designer
}
QT += designer
target.path = $$[QT_INSTALL_PLUGINS]/designer
INSTALLS += target

View File

@@ -6,7 +6,6 @@
@PLUGIN_CLASS@::@PLUGIN_CLASS@(QObject *parent)
: QObject(parent)
{
m_initialized = false;
}
void @PLUGIN_CLASS@::initialize(QDesignerFormEditorInterface * /* core */)
@@ -61,11 +60,10 @@ bool @PLUGIN_CLASS@::isContainer() const
QString @PLUGIN_CLASS@::domXml() const
{
return QLatin1String("@WIDGET_DOMXML@");
return QLatin1String(@WIDGET_DOMXML@);
}
QString @PLUGIN_CLASS@::includeFile() const
{
return QLatin1String("@WIDGET_HEADER@");
}
@SINGLE_PLUGIN_EXPORT@

View File

@@ -14,22 +14,22 @@ class @PLUGIN_CLASS@ : public QObject, public QDesignerCustomWidgetInterface
@SINGLE_PLUGIN_METADATA@
public:
@PLUGIN_CLASS@(QObject *parent = 0);
explicit @PLUGIN_CLASS@(QObject *parent = nullptr);
bool isContainer() const;
bool isInitialized() const;
QIcon icon() const;
QString domXml() const;
QString group() const;
QString includeFile() const;
QString name() const;
QString toolTip() const;
QString whatsThis() const;
QWidget *createWidget(QWidget *parent);
void initialize(QDesignerFormEditorInterface *core);
bool isContainer() const override;
bool isInitialized() const override;
QIcon icon() const override;
QString domXml() const override;
QString group() const override;
QString includeFile() const override;
QString name() const override;
QString toolTip() const override;
QString whatsThis() const override;
QWidget *createWidget(QWidget *parent) override;
void initialize(QDesignerFormEditorInterface *core) override;
private:
bool m_initialized;
bool m_initialized = false;
};
@if ! '%{Cpp:PragmaOnce}'

View File

@@ -12,7 +12,7 @@ class @WIDGET_CLASS@ : public @WIDGET_BASE_CLASS@
Q_OBJECT
public:
@WIDGET_CLASS@(QWidget *parent = 0);
explicit @WIDGET_CLASS@(QWidget *parent = nullptr);
};
@if ! '%{Cpp:PragmaOnce}'

View File

@@ -70,6 +70,35 @@ isEmpty(BOOST_INCLUDE_DIR): {
SOURCES += \\
%{MainCppName}
@endif
@if "%{TestFrameWork}" == "BoostTest_dyn"
TEMPLATE = app
CONFIG -= qt
CONFIG -= app_bundle
CONFIG += console
isEmpty(BOOST_INSTALL_DIR): BOOST_INSTALL_DIR=$$(BOOST_INSTALL_DIR)
@if "%{BoostInstallDir}" != ""
# set by Qt Creator wizard
isEmpty(BOOST_INSTALL_DIR): BOOST_INSTALL_DIR="%{BoostInstallDir}"
@endif
!isEmpty(BOOST_INSTALL_DIR) {
win32: INCLUDEPATH *= $${BOOST_INSTALL_DIR}
else: INCLUDEPATH *= $${BOOST_INSTALL_DIR}/include
}
# Windows: adapt to name scheme, e.g. lib64-msvc-14.2
!isEmpty(BOOST_INSTALL_DIR): LIBS *= -L$${BOOST_INSTALL_DIR}/lib
# Windows: adapt to name scheme, e.g. boost_unit_test_framework-vc142-mt-gd-x64-1_80
LIBS *= -lboost_unit_test_framework
DEFINES *= BOOST_UNIT_TEST_FRAMEWORK_DYN_LINK
isEmpty(BOOST_INSTALL_DIR): {
message("BOOST_INSTALL_DIR is not set, assuming Boost can be found automatically in your system")
}
SOURCES += \\
%{MainCppName} \\
%{TestCaseFileWithCppSuffix}
@endif
@if "%{TestFrameWork}" == "Catch2"
TEMPLATE = app
@if "%{Catch2NeedsQt}" == "true"

Some files were not shown because too many files have changed in this diff Show More