aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--cmake/QtCreatorTranslations.cmake167
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc10
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-ps-setup.qdoc24
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-setup.qdoc10
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc13
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-importing-designs.qdoc2
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc40
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-importing.qdoc11
-rw-r--r--qbs/imports/QtcProduct.qbs5
-rw-r--r--qbs/modules/libclang/functions.js3
-rw-r--r--qbs/modules/libclang/libclang.qbs3
-rw-r--r--qtcreator.pro4
-rwxr-xr-xscripts/build.py14
-rwxr-xr-xscripts/build_plugin.py4
-rw-r--r--share/CMakeLists.txt10
-rw-r--r--share/applications/org.qt-project.qtcreator.desktop (renamed from dist/org.qt-project.qtcreator.desktop)0
-rw-r--r--share/metainfo/org.qt-project.qtcreator.appdata.xml (renamed from dist/org.qt-project.qtcreator.appdata.xml)0
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/Values.qml81
-rw-r--r--share/qtcreator/themes/dark.creatortheme37
-rw-r--r--share/qtcreator/themes/default.creatortheme37
-rw-r--r--share/qtcreator/themes/flat-dark.creatortheme39
-rw-r--r--share/qtcreator/themes/flat-light.creatortheme37
-rw-r--r--share/qtcreator/themes/flat.creatortheme37
-rw-r--r--share/qtcreator/translations/CMakeLists.txt162
-rw-r--r--src/CMakeLists.txt6
-rw-r--r--src/libs/qmljs/parser/qmljslexer.cpp17
-rw-r--r--src/libs/utils/theme/theme.h38
-rw-r--r--src/plugins/android/androidconfigurations.cpp17
-rw-r--r--src/plugins/android/androiddevicedialog.cpp8
-rw-r--r--src/plugins/autotest/testoutputreader.cpp2
-rw-r--r--src/plugins/cppcheck/cppcheckrunner.cpp2
-rw-r--r--src/plugins/debugger/debuggerengine.cpp4
-rw-r--r--src/plugins/debugger/debuggermainwindow.cpp2
-rw-r--r--src/plugins/debugger/uvsc/uvscclient.cpp2
-rw-r--r--src/plugins/mcusupport/mcusupportoptionspage.cpp1
-rw-r--r--src/plugins/mcusupport/mcusupportplugin.cpp5
-rw-r--r--src/plugins/qmldesigner/components/connectioneditor/stylesheet.css4
-rw-r--r--src/plugins/qmldesigner/components/resources/stylesheet.css8
-rw-r--r--src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp6
-rw-r--r--src/plugins/qmldesigner/designmodewidget.cpp2
-rw-r--r--tests/auto/sdktool/sdktool.qbs7
-rw-r--r--tests/system/suite_debugger/tst_cli_output_console/test.py5
43 files changed, 583 insertions, 304 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9cf66c74aa..926cd34165 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(FeatureSummary)
include(QtCreatorIDEBranding)
+include(QtCreatorTranslations)
set(IDE_REVISION FALSE CACHE BOOL "Marks the presence of IDE revision string.")
set(IDE_REVISION_STR "" CACHE STRING "The IDE revision string.")
diff --git a/cmake/QtCreatorTranslations.cmake b/cmake/QtCreatorTranslations.cmake
new file mode 100644
index 0000000000..dd0dae6875
--- /dev/null
+++ b/cmake/QtCreatorTranslations.cmake
@@ -0,0 +1,167 @@
+# Defines function add_translation_targets
+
+function(_extract_ts_data_from_targets outprefix)
+ set(_sources "")
+ set(_includes "")
+
+ set(_targets "${ARGN}")
+ list(REMOVE_DUPLICATES _targets)
+
+ foreach(t IN ITEMS ${_targets})
+ if (TARGET "${t}")
+ get_target_property(_skip_translation "${t}" QT_SKIP_TRANSLATION)
+ get_target_property(_source_dir "${t}" SOURCE_DIR)
+ get_target_property(_interface_include_dirs "${t}" INTERFACE_INCLUDE_DIRECTORIES)
+ get_target_property(_include_dirs "${t}" INCLUDE_DIRECTORIES)
+ get_target_property(_source_files "${t}" SOURCES)
+ get_target_property(_extra_translations "${t}" QT_EXTRA_TRANSLATIONS)
+
+ if (NOT _skip_translation)
+ if(_include_dirs)
+ list(APPEND _includes ${_include_dirs})
+ endif()
+
+ if(_interface_include_dirs)
+ list(APPEND _interface_includes ${_include_dirs})
+ endif()
+
+ set(_target_sources "")
+ if(_source_files)
+ list(APPEND _target_sources ${_source_files})
+ endif()
+ if(_extra_translations)
+ list(APPEND _target_sources ${_extra_translations})
+ endif()
+ foreach(s IN ITEMS ${_target_sources})
+ get_filename_component(_abs_source "${s}" ABSOLUTE BASE_DIR "${_source_dir}")
+ list(APPEND _sources "${_abs_source}")
+ endforeach()
+ endif()
+ endif()
+ endforeach()
+
+ set("${outprefix}_sources" "${_sources}" PARENT_SCOPE)
+ set("${outprefix}_includes" "${_includes}" PARENT_SCOPE)
+endfunction()
+
+function(_create_ts_custom_target name)
+ cmake_parse_arguments(_arg "" "FILE_PREFIX;TS_TARGET_PREFIX" "LANGUAGES;SOURCES;INCLUDES" ${ARGN})
+ if (_arg_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "Invalid parameters to _create_ts_custom_target: ${_arg_UNPARSED_ARGUMENTS}.")
+ endif()
+
+ if (NOT _arg_TS_TARGET_PREFIX)
+ set(_arg_TS_TARGET_PREFIX "ts_")
+ endif()
+
+ set(ts_languages ${_arg_LANGUAGES})
+ if (NOT ts_languages)
+ set(ts_languages "${name}")
+ endif()
+
+ foreach(l IN ITEMS ${ts_languages})
+ list(APPEND ts_files "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_FILE_PREFIX}_${l}.ts")
+ endforeach()
+
+ set(_sources "${_arg_SOURCES}")
+ list(SORT _sources)
+
+ set(_includes "${_arg_INCLUDES}")
+
+ list(REMOVE_DUPLICATES _sources)
+ list(REMOVE_DUPLICATES _includes)
+
+ list(REMOVE_ITEM _sources "")
+ list(REMOVE_ITEM _includes "")
+
+ set(_prepended_includes)
+ foreach(include IN LISTS _includes)
+ list(APPEND _prepended_includes "-I${include}")
+ endforeach()
+ set(_includes "${_prepended_includes}")
+
+ string(REPLACE ";" "\n" _sources_str "${_sources}")
+ string(REPLACE ";" "\n" _includes_str "${_includes}")
+
+ set(ts_file_list "${CMAKE_CURRENT_BINARY_DIR}/ts_${name}.lst")
+ file(WRITE "${ts_file_list}" "${_sources_str}\n${_includes_str}\n")
+
+ add_custom_target("${_arg_TS_TARGET_PREFIX}${name}"
+ COMMAND Qt5::lupdate -locations relative -no-ui-lines -no-sort "@${ts_file_list}" -ts ${ts_files}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+ COMMENT "Generate .ts files"
+ DEPENDS ${_sources}
+ VERBATIM)
+endfunction()
+
+function(add_translation_targets file_prefix)
+ if (NOT TARGET Qt5::lrelease)
+ # 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.")
+ return()
+ endif()
+
+ cmake_parse_arguments(_arg ""
+ "OUTPUT_DIRECTORY;INSTALL_DESTINATION;TS_TARGET_PREFIX;QM_TARGET_PREFIX;ALL_QM_TARGET"
+ "LANGUAGES;TARGETS;SOURCES;INCLUDES" ${ARGN})
+ if (_arg_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "Invalid parameters to add_translation_targets: ${_arg_UNPARSED_ARGUMENTS}.")
+ endif()
+
+ if (NOT _arg_TS_TARGET_PREFIX)
+ set(_arg_TS_TARGET_PREFIX "ts_")
+ endif()
+
+ if (NOT _arg_QM_TARGET_PREFIX)
+ set(_arg_QM_TARGET_PREFIX "generate_qm_file_")
+ endif()
+
+ if (NOT _arg_ALL_QM_TARGET)
+ set(_arg_ALL_QM_TARGET "generate_qm_files")
+ endif()
+
+ if (NOT _arg_OUTPUT_DIRECTORY)
+ set(_arg_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ endif()
+
+ if (NOT _arg_INSTALL_DESTINATION)
+ message(FATAL_ERROR "Please provide a INSTALL_DESTINATION to add_translation_targets")
+ endif()
+
+ _extract_ts_data_from_targets(_to_process "${_arg_TARGETS}")
+
+ _create_ts_custom_target(untranslated
+ FILE_PREFIX "${file_prefix}" TS_TARGET_PREFIX "${_arg_TS_TARGET_PREFIX}"
+ SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES})
+
+ if (NOT TARGET "${_arg_ALL_QM_TARGET}")
+ add_custom_target("${_arg_ALL_QM_TARGET}" ALL COMMENT "Generate .qm-files")
+ endif()
+
+ foreach(l IN ITEMS ${_arg_LANGUAGES})
+ set(_ts_file "${CMAKE_CURRENT_SOURCE_DIR}/${file_prefix}_${l}.ts")
+ set(_qm_file "${_arg_OUTPUT_DIRECTORY}/${file_prefix}_${l}.qm")
+
+ _create_ts_custom_target("${l}" FILE_PREFIX "${file_prefix}" TS_TARGET_PREFIX "${_arg_TS_TARGET_PREFIX}"
+ SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES})
+
+ add_custom_command(OUTPUT "${_qm_file}"
+ COMMAND Qt5::lrelease "${_ts_file}" -qm "${_qm_file}"
+ MAIN_DEPENDENCY "${_ts_file}"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+ COMMENT "Generate .qm file"
+ VERBATIM)
+ add_custom_target("${_arg_QM_TARGET_PREFIX}${l}" DEPENDS "${_qm_file}")
+ install(FILES "${_qm_file}" DESTINATION ${_arg_INSTALL_DESTINATION})
+
+ add_dependencies("${_arg_ALL_QM_TARGET}" "${_arg_QM_TARGET_PREFIX}${l}")
+ endforeach()
+
+ _create_ts_custom_target(all
+ LANGUAGES ${_arg_LANGUAGES}
+ TS_TARGET_PREFIX "${_arg_TS_TARGET_PREFIX}"
+ FILE_PREFIX "${file_prefix}"
+ SOURCES ${_to_process_sources} ${_arg_SOURCES}
+ INCLUDES ${_to_process_includes} ${_arg_INCLUDES}
+ )
+endfunction()
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc
index 9a912f573a..d666763e55 100644
--- a/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc
@@ -31,9 +31,13 @@
\title Exporting Artwork from Design Tools
- You need to use \QB for exporting the 2D assets from design tools,
- whereas you can directly import 3D assets saved in widely-used 3D
- graphics formats. For best results when importing 3D assets, follow
+ You need to use \QB to first export 2D assets from design tools and then
+ import them. When working with 3D assets, you can use the export functions
+ provided by the 3D graphics tools to save the assets in widely-used 3D
+ graphics formats, and then use \QB to import them. You can download \QB
+ from the \l{https://marketplace.qt.io/}{Qt Marketplace}.
+
+ For best results when importing 3D assets, follow
the guidelines for creating and exporting them.
\list
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-setup.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-setup.qdoc
index 1261ee4d85..6e3b8ef3cd 100644
--- a/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-setup.qdoc
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-setup.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Bridge documentation.
@@ -32,10 +32,12 @@
\title Setting Up \QBPS
- \QBPS is delivered as an Adobe extension (ZXP) package and requires Adobe
- Photoshop version 20.0.0, or later to be installed. The \QBPS installation
- process differs depending on whether you use ZXPInstaller and whether you
- are installing on Windows or \macos.
+ You can download \QBPS from the \l{https://marketplace.qt.io/}
+ {Qt Marketplace}. It is delivered as an Adobe extension (ZXP)
+ package and requires Adobe Photoshop version 20.0.0, or later
+ to be installed. The \QBPS installation process differs depending
+ on whether you use ZXPInstaller and whether you are installing on
+ Windows or \macos.
\section1 Installing with ZXPInstaller
@@ -44,8 +46,7 @@
\list 1
\li Download and install \l{http://zxpinstaller.com/}{ZXPInstaller}.
\li Start ZXPInstaller.
- \li Drag and drop the \QBPS ZXP package from the \c photoshop_bridge
- directory in the installation directory of \QDS to ZXPInstaller.
+ \li Drag and drop the \QBPS ZXP package to ZXPInstaller.
\li Follow the instructions of the installation program.
\endlist
@@ -59,9 +60,8 @@
To install \QBPS on Windows without using ZXPInstaller:
\list 1
- \li Copy the \QBPS ZXP package from the \c photoshop_bridge directory
- in the installation directory of \QDS to the \c Documents directory
- in your user directory.
+ \li Copy the \QBPS ZXP package to the \c Documents directory in your
+ user directory.
\li Open Windows PowerShell.
\li Enter the following commands:
\badcode
@@ -77,9 +77,7 @@
To install \QBPS on \macos without using ZXPInstaller:
\list 1
- \li Copy the \QBPS ZXP package from the \c photoshop_bridge
- directory in the installation directory of \QDS to your
- \c Documents directory.
+ \li Copy the \QBPS ZXP package to your \c Documents directory.
\li Open Terminal.
\li Enter the following commands:
\badcode
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-setup.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-setup.qdoc
index 1f7a49d2e0..46d611ad51 100644
--- a/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-setup.qdoc
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-setup.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Bridge documentation.
@@ -32,13 +32,13 @@
\title Setting Up \QBSK
- \QBSK is delivered with \QDS as a Sketch plugin that you can install to
- Sketch.
+ You can download \QBSK from the \l{https://marketplace.qt.io/}
+ {Qt Marketplace}. It is delivered as a Sketch plugin that you
+ can install to Sketch.
\note Install the Sketch app before installing the plugin.
- To install the \QBSK plugin to Sketch, double-click the \QBSK plugin in the
- \c sketch_bridge directory in the installation directory of \QDS.
+ To install the \QBSK plugin to Sketch, double-click the executable file.
The plugin is available at \uicontrol Plugins > \uicontrol {\QB}.
*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc
index 9b9bd85604..65335c3a5c 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Bridge documentation.
@@ -31,12 +31,15 @@
\title Importing 2D Assets
+ You can download \QB from the \l{https://marketplace.qt.io/}{Qt Marketplace}.
+
\image studio-imported-assets.png "Artwork imported into Qt Design Studio"
- You can import assets that you exported with \QB to a \QDS project as image
- and QML files and edit them in the Design mode. If you make changes to your
- design in the design tool, you can merge the changes into existing QML files
- without overwriting the changes you have made in \QDS.
+ \QB enables you to export assets and then import them to a \QDS project
+ as image and QML files for editing in the \uicontrol {Form Editor}. If you
+ make changes to your design in the design tool, you can merge the changes
+ into existing QML files without overwriting the changes you have made in
+ \QDS.
\note Attempting to import assets exported on another system might fail.
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-importing-designs.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-importing-designs.qdoc
index 8ad05eba81..887a148e81 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-importing-designs.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-importing-designs.qdoc
@@ -35,6 +35,8 @@
exporting the 2D assets from design tools, whereas you can directly import
3D assets saved in widely-used 3D graphics formats.
+ You can download \QB from the \l{https://marketplace.qt.io/}{Qt Marketplace}.
+
\list
\li \l{Importing 2D Assets}
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc
index 3892672a1d..89a6b7742d 100644
--- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc
@@ -45,25 +45,16 @@
scene did not contain them, you can add the corresponding Qt Quick 3D
types from the \uicontrol Library.
- You can use the manipulator mode toolbar buttons (2) to show the move, rotate,
- or scale manipulator in the rendered scene when an item is selected and
- to determine what happens when you drag the selected item. Select the
- \uicontrol {Toggle Local/Global Orientation} button (3) to determine whether
- the manipulators affect only the local transforms of the item or whether
- they transform with respect to the global space.
+ You can use the toolbar buttons (2) to show the \e transformation
+ gizmo in the \uicontrol {3D Editor} when an item is selected
+ and to determine what happens when you drag the selected item.
+ Transformation refers to moving, rotating, or scaling of an object.
+ Select the \uicontrol {Toggle Local/Global Orientation} button (3) to
+ determine whether the gizmos affect only the local transformations of the
+ item or whether they transform with respect to the global space.
\image studio-3d-editor.png "3D Editor"
- For example, in local orientation mode, selecting an unrotated cube inside
- a rotated group in the move mode shows rotated axes. Dragging on the red
- arrow of the move manipulator affects only the x position of the item.
-
- In global mode, the manipulators always transform with respect to the global
- space. In the example above, switching to global mode will show the red
- arrow for the move manipulator aligned with the screen (assuming an
- unrotated camera). Dragging on the red arrow may affect two or three of the
- position values for the selected item in order to move it in global space.
-
The \e pivot of the component is used as the origin for position, scale,
and rotation operations. You can set a \l{Setting Transform Properties}
{local pivot offset} for an item in the \uicontrol Properties view to
@@ -153,6 +144,23 @@
To freely rotate the item, select the gray circle.
+ \section1 Using Global and Local Orientation
+
+ To switch between global and local orientation, select \uicontrol
+ {Toggle Local/Global Orientation}.
+
+ In global orientation mode, transformation of a selected object is presented
+ with respect to the global space. For example, while the move tool is
+ selected, selecting a cube will show its move gizmo aligned with the axes
+ of global space. Dragging on the red arrow of the gizmo moves the object in
+ the global x direction.
+
+ In local orientation mode, the position of a selected object is shown
+ according to local axes specific to the selected object. For example,
+ selecting a rotated cube will show its axes rotated, and not aligned with
+ the axes of global space. Dragging on the red arrow of the gizmo
+ moves the object in the local x direction in relation to the object.
+
\section1 Scaling Items
\image studio-3d-editor-scale.png "3D editor in scale mode"
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-importing.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-importing.qdoc
index 17f7482233..d8025677cf 100644
--- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-importing.qdoc
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-importing.qdoc
@@ -36,10 +36,11 @@
\title Importing 3D Assets
- You can import files you created using 3D graphics applications and stored
- in several widely-used formats, such as .blend, .dae, .fbx, .glb, .gltf,
- .obj, .uia, or .uip. For a list of formats supported by each \l{Qt Quick 3D}
- version, see the module documentation.
+ You can download \QB from the \l{https://marketplace.qt.io/}{Qt Marketplace}.
+ It enables you to import files you created using 3D graphics applications
+ and stored in several widely-used formats, such as .blend, .dae, .fbx, .glb,
+ .gltf, .obj, .uia, or .uip. For a list of formats supported by each
+ \l{Qt Quick 3D} version, see the module documentation.
For more information about exporting 3D graphics from Maya, see
\l{Exporting from Maya}.
@@ -68,5 +69,5 @@
\endlist
You can open the imported files in the Design mode for editing in the
- \l{Editing 3D Scenes}{3D editor}.
+ \l{Editing 3D Scenes}{3D Editor}.
*/
diff --git a/qbs/imports/QtcProduct.qbs b/qbs/imports/QtcProduct.qbs
index e54dc667f4..862c824743 100644
--- a/qbs/imports/QtcProduct.qbs
+++ b/qbs/imports/QtcProduct.qbs
@@ -36,6 +36,11 @@ Product {
cpp.cxxFlags: {
var flags = [];
+ if (qbs.toolchain.contains("clang")
+ && Utilities.versionCompare(cpp.compilerVersion, "10") >= 0) {
+ // Triggers a lot in Qt.
+ flags.push("-Wno-deprecated-copy", "-Wno-constant-logical-operand");
+ }
if (qbs.toolchain.contains("gcc") && !qbs.toolchain.contains("clang")) {
flags.push("-Wno-noexcept-type");
if (Utilities.versionCompare(cpp.compilerVersion, "9") >= 0)
diff --git a/qbs/modules/libclang/functions.js b/qbs/modules/libclang/functions.js
index d1bd2dd2ea..0c15a2a628 100644
--- a/qbs/modules/libclang/functions.js
+++ b/qbs/modules/libclang/functions.js
@@ -3,6 +3,7 @@ var File = require("qbs.File")
var FileInfo = require("qbs.FileInfo")
var MinimumLLVMVersion = "8.0.0" // CLANG-UPGRADE-CHECK: Adapt minimum version numbers.
var Process = require("qbs.Process")
+var Utilities = require("qbs.Utilities")
function readOutput(executable, args)
{
@@ -108,6 +109,8 @@ function formattingLibs(llvmConfig, qtcFunctions, targetOS)
return [];
var clangVersion = version(llvmConfig)
+ if (Utilities.versionCompare(clangVersion, "10") >= 0)
+ return [];
var libs = []
if (qtcFunctions.versionIsAtLeast(clangVersion, MinimumLLVMVersion)) {
if (qtcFunctions.versionIsAtLeast(clangVersion, "8.0.0")) {
diff --git a/qbs/modules/libclang/libclang.qbs b/qbs/modules/libclang/libclang.qbs
index 9c2cfae23d..bb2878f198 100644
--- a/qbs/modules/libclang/libclang.qbs
+++ b/qbs/modules/libclang/libclang.qbs
@@ -64,7 +64,8 @@ Module {
return incl != llvmIncludeDir;
})
property stringList llvmToolingCxxFlags: clangProbe.llvmToolingCxxFlags
- property bool toolingEnabled: !Environment.getEnv("QTC_DISABLE_CLANG_REFACTORING")
+ property bool toolingEnabled: Utilities.versionCompare(llvmVersion, "10") < 0
+ && !Environment.getEnv("QTC_DISABLE_CLANG_REFACTORING")
validate: {
if (!clangProbe.found) {
diff --git a/qtcreator.pro b/qtcreator.pro
index f59ec0a332..b17bad660a 100644
--- a/qtcreator.pro
+++ b/qtcreator.pro
@@ -98,10 +98,10 @@ BASENAME = $$(INSTALL_BASENAME)
isEmpty(BASENAME): BASENAME = qt-creator-$${PLATFORM}$(INSTALL_EDITION)-$${QTCREATOR_VERSION}$(INSTALL_POSTFIX)
linux {
- appstream.files = dist/org.qt-project.qtcreator.appdata.xml
+ appstream.files = share/metainfo/org.qt-project.qtcreator.appdata.xml
appstream.path = $$QTC_PREFIX/share/metainfo/
- desktop.files = dist/org.qt-project.qtcreator.desktop
+ desktop.files = share/applications/org.qt-project.qtcreator.desktop
desktop.path = $$QTC_PREFIX/share/applications/
INSTALLS += appstream desktop
diff --git a/scripts/build.py b/scripts/build.py
index a58a688dca..8102224cd8 100755
--- a/scripts/build.py
+++ b/scripts/build.py
@@ -146,7 +146,19 @@ def build_qtcreator(args, paths):
common.check_print_call(['cmake', '--install', '.', '--prefix', paths.dev_install,
'--component', 'Devel'],
paths.build)
-
+ if not args.no_docs:
+ common.check_print_call(['cmake', '--install', '.', '--prefix', paths.install,
+ '--component', 'qtc_docs_qtcreator'],
+ paths.build)
+ common.check_print_call(['cmake', '--install', '.', '--prefix', paths.install,
+ '--component', 'html_docs_qtcreator'],
+ paths.build)
+ common.check_print_call(['cmake', '--install', '.', '--prefix', paths.install,
+ '--component', 'html_docs_qtcreator-dev'],
+ paths.build)
+ common.check_print_call(['cmake', '--install', '.', '--prefix', paths.install,
+ '--component', 'html_docs_qtcreator-dev'],
+ paths.build)
def build_wininterrupt(args, paths):
if not common.is_windows_platform():
return
diff --git a/scripts/build_plugin.py b/scripts/build_plugin.py
index 45c16765d3..97c4829745 100755
--- a/scripts/build_plugin.py
+++ b/scripts/build_plugin.py
@@ -48,6 +48,9 @@ def get_arguments():
parser.add_argument('--output-path', help='Output path for resulting 7zip files')
parser.add_argument('--add-path', help='Adds a CMAKE_PREFIX_PATH to the build',
action='append', dest='prefix_paths', default=[])
+ parser.add_argument('--add-config', help=('Adds the argument to the CMake configuration call. '
+ 'Use "--add-config=-DSOMEVAR=SOMEVALUE" if the argument begins with a dash.'),
+ action='append', dest='config_args', default=[])
parser.add_argument('--deploy', help='Installs the "Dependencies" component of the plugin.',
action='store_true', default=False)
parser.add_argument('--debug', help='Enable debug builds', action='store_true', default=False)
@@ -82,6 +85,7 @@ def build(args, paths):
with open(os.path.join(paths.result, args.name + '.7z.git_sha'), 'w') as f:
f.write(ide_revision)
+ cmake_args += args.config_args
common.check_print_call(cmake_args + [paths.src], paths.build)
common.check_print_call(['cmake', '--build', '.'], paths.build)
common.check_print_call(['cmake', '--install', '.', '--prefix', paths.install, '--strip'],
diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt
index 471053adec..eb3c779b40 100644
--- a/share/CMakeLists.txt
+++ b/share/CMakeLists.txt
@@ -1 +1,11 @@
add_subdirectory(qtcreator)
+
+if (NOT APPLE AND NOT WIN32)
+ install(
+ DIRECTORY
+ applications
+ metainfo
+ DESTINATION
+ share
+ )
+endif()
diff --git a/dist/org.qt-project.qtcreator.desktop b/share/applications/org.qt-project.qtcreator.desktop
index 034721891d..034721891d 100644
--- a/dist/org.qt-project.qtcreator.desktop
+++ b/share/applications/org.qt-project.qtcreator.desktop
diff --git a/dist/org.qt-project.qtcreator.appdata.xml b/share/metainfo/org.qt-project.qtcreator.appdata.xml
index 4706e69b22..4706e69b22 100644
--- a/dist/org.qt-project.qtcreator.appdata.xml
+++ b/share/metainfo/org.qt-project.qtcreator.appdata.xml
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/Values.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/Values.qml
index 3f432d4080..9f04812af9 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/Values.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/Values.qml
@@ -25,6 +25,7 @@
pragma Singleton
import QtQuick 2.12
+import QtQuickDesignerTheme 1.0
QtObject {
id: values
@@ -80,54 +81,42 @@ QtObject {
// Theme Colors
- // Dark Theme Defaults
- property string themeControlBackground: "#242424"
- property string themeControlOutline: "#404040"
- property string themeTextColor: "#ffffff"
- property string themeDisabledTextColor: "#909090"
-
- property string themePanelBackground: "#2a2a2a"
- property string themeHoverHighlight: "#313131"
- property string themeColumnBackground: "#363636"
- property string themeFocusEdit: "#444444"
- property string themeFocusDrag: "#565656"
-
- property string themeControlBackgroundPressed: "#606060"
- property string themeControlBackgroundChecked: "#565656"
-
- property string themeInteraction: "#029de0"
-
- property string themeSliderActiveTrack: "#606060"
- property string themeSliderInactiveTrack: "#404040"
- property string themeSliderHandle: "#505050"
-
- property string themeSliderActiveTrackHover: "#7f7f7f"
- property string themeSliderInactiveTrackHover: "#505050"
- property string themeSliderHandleHover: "#606060"
-
- property string themeSliderActiveTrackFocus: "#aaaaaa"
- property string themeSliderInactiveTrackFocus: "#606060"
- property string themeSliderHandleFocus: values.themeInteraction
-
- property string themeErrorColor: "#df3a3a"
+ // COLORS NOW COME FROM THE THEME FILES
+ property string themeControlBackground: Theme.color(Theme.DScontrolBackground)
+ property string themeControlOutline: Theme.color(Theme.DScontrolOutline)
+ property string themeTextColor: Theme.color(Theme.DStextColor)
+ property string themeDisabledTextColor: Theme.color(Theme.DSdisabledTextColor)
+ property string themePanelBackground: Theme.color(Theme.DSpanelBackground)
+ property string themeHoverHighlight: Theme.color(Theme.DShoverHighlight)
+ property string themeColumnBackground: Theme.color(Theme.DScolumnBackground)
+ property string themeFocusEdit: Theme.color(Theme.DSfocusEdit)
+ property string themeFocusDrag: Theme.color(Theme.DSfocusDrag)
+ property string themeControlBackgroundPressed: Theme.color(Theme.DScontrolBackgroundPressed)
+ property string themeControlBackgroundChecked: Theme.color(Theme.DScontrolBackgroundChecked)
+ property string themeInteraction: Theme.color(Theme.DSinteraction)
+ property string themeSliderActiveTrack: Theme.color(Theme.DSsliderActiveTrack)
+ property string themeSliderInactiveTrack: Theme.color(Theme.DSsliderInactiveTrack)
+ property string themeSliderHandle: Theme.color(Theme.DSsliderHandle)
+ property string themeSliderActiveTrackHover: Theme.color(Theme.DSactiveTrackHover)
+ property string themeSliderInactiveTrackHover: Theme.color(Theme.DSsliderInactiveTrackHover)
+ property string themeSliderHandleHover: Theme.color(Theme.DSsliderHandleHover)
+ property string themeSliderActiveTrackFocus: Theme.color(Theme.DSsliderActiveTrackFocus)
+ property string themeSliderInactiveTrackFocus:Theme.color(Theme.DSsliderInactiveTrackFocus)
+ property string themeSliderHandleFocus: Theme.color(Theme.DSsliderHandleFocus)
+ property string themeErrorColor: Theme.color(Theme.DSerrorColor)
// NEW NEW NEW NEW NEW
- property string themeControlBackgroundDisabled: "#363636"
- property string themeControlOutlineDisabled: "#404040"
- property string themeTextColorDisabled: "#606060"
-
- property string themeTextSelectionColor: "#029de0"
- property string themeTextSelectedTextColor: "#ffffff"
-
- property string themeScrollBarTrack: "#404040"
- property string themeScrollBarHandle: "#505050"
-
- property string themeControlBackgroundInteraction: "#404040" // TODO Name. Right now themeFocusEdit is used for all 'edit' states. Is that correct? Different color!
-
- property string themeTranslationIndicatorBorder: "#7f7f7f"
-
- property string themeSectionHeadBackground: "#191919"
+ property string themeControlBackgroundDisabled: Theme.color(Theme.DScontrolBackgroundDisabled)
+ property string themeControlOutlineDisabled: Theme.color(Theme.DScontrolOutlineDisabled)
+ property string themeTextColorDisabled: Theme.color(Theme.DStextColorDisabled)
+ property string themeTextSelectionColor: Theme.color(Theme.DStextSelectionColor)
+ property string themeTextSelectedTextColor:Theme.color(Theme.DStextSelectedTextColor)
+ property string themeScrollBarTrack: Theme.color(Theme.DSscrollBarTrack)
+ property string themeScrollBarHandle: Theme.color(Theme.DSscrollBarHandle)
+ property string themeControlBackgroundInteraction: Theme.color(Theme.DScontrolBackgroundInteraction) // TODO Name. Right now themeFocusEdit is used for all 'edit' states. Is that correct? Different color!
+ property string themeTranslationIndicatorBorder: Theme.color(Theme.DStranlsationIndicatorBorder)
+ property string themeSectionHeadBackground: Theme.color(Theme.DSsectionHeadBackground)
// Taken out of Constants.js
- property string themeChangedStateText: "#99ccff"
+ property string themeChangedStateText: Theme.color(Theme.DSchangedStateText)
}
diff --git a/share/qtcreator/themes/dark.creatortheme b/share/qtcreator/themes/dark.creatortheme
index 41439ff22a..fa4a6ab330 100644
--- a/share/qtcreator/themes/dark.creatortheme
+++ b/share/qtcreator/themes/dark.creatortheme
@@ -22,6 +22,43 @@ backgroundColorDisabled=ff444444
qmlDesignerButtonColor=ff3c3e40
[Colors]
+
+;DS controls theme START
+DScontrolBackground=ff404040
+DScontrolOutline=ff595959
+DStextColor=ffffffff
+DSdisabledTextColor=ff909090
+DSpanelBackground=ff454444
+DShoverHighlight=ff313131
+DScolumnBackground=ff363636
+DSfocusEdit=ff444444
+DSfocusDrag=ff565656
+DScontrolBackgroundPressed=ff7a7a7a
+DScontrolBackgroundChecked=ff565656
+DSinteraction=ff3f91c4
+DSsliderActiveTrack=ff7a7a7a
+DSsliderInactiveTrack=ff4d4d4d
+DSsliderHandle=ff505050
+DSsliderActiveTrackHover=ff7f7f7f
+DSsliderInactiveTrackHover=ff505050
+DSsliderHandleHover=ff7a7a7a
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrackFocus=ff7a7a7a
+DSsliderHandleFocus=ff3f91c4
+DSerrorColor=ffdf3a3a
+DScontrolBackgroundDisabled=ff363636
+DScontrolOutlineDisabled=ff4d4d4d
+DStextColorDisabled=ff7a7a7a
+DStextSelectionColor=ff3f91c4
+DStextSelectedTextColor=ffffffff
+DSscrollBarTrack=ff4d4d4d
+DSscrollBarHandle=ff505050
+DScontrolBackgroundInteraction=ff4d4d4d
+DStranslationIndicatorBorder=ff7f7f7f
+DSsectionHeadBackground=ff424242
+DSchangedStateText=ff99ccff
+;DS controls theme END
+
BackgroundColorAlternate=alternateBackground
BackgroundColorDark=shadowBackground
BackgroundColorHover=hoverBackground
diff --git a/share/qtcreator/themes/default.creatortheme b/share/qtcreator/themes/default.creatortheme
index 08890a7c2f..8686733ab4 100644
--- a/share/qtcreator/themes/default.creatortheme
+++ b/share/qtcreator/themes/default.creatortheme
@@ -13,6 +13,43 @@ splitterColor=ff151515
qmlDesignerButtonColor=ff4c4e50
[Colors]
+
+;DS controls theme START
+DScontrolBackground=ff404040
+DScontrolOutline=ff595959
+DStextColor=ffffffff
+DSdisabledTextColor=ff909090
+DSpanelBackground=ff454444
+DShoverHighlight=ff313131
+DScolumnBackground=ff363636
+DSfocusEdit=ff444444
+DSfocusDrag=ff565656
+DScontrolBackgroundPressed=ff7a7a7a
+DScontrolBackgroundChecked=ff565656
+DSinteraction=ff3f91c4
+DSsliderActiveTrack=ff7a7a7a
+DSsliderInactiveTrack=ff4d4d4d
+DSsliderHandle=ff505050
+DSsliderActiveTrackHover=ff7f7f7f
+DSsliderInactiveTrackHover=ff505050
+DSsliderHandleHover=ff7a7a7a
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrackFocus=ff7a7a7a
+DSsliderHandleFocus=ff3f91c4
+DSerrorColor=ffdf3a3a
+DScontrolBackgroundDisabled=ff363636
+DScontrolOutlineDisabled=ff4d4d4d
+DStextColorDisabled=ff7a7a7a
+DStextSelectionColor=ff3f91c4
+DStextSelectedTextColor=ffffffff
+DSscrollBarTrack=ff4d4d4d
+DSscrollBarHandle=ff505050
+DScontrolBackgroundInteraction=ff4d4d4d
+DStranslationIndicatorBorder=ff7f7f7f
+DSsectionHeadBackground=ff424242
+DSchangedStateText=ff99ccff
+;DS controls theme END
+
BackgroundColorAlternate=ff3d3d3d
BackgroundColorDark=shadowBackground
BackgroundColorHover=ff515151
diff --git a/share/qtcreator/themes/flat-dark.creatortheme b/share/qtcreator/themes/flat-dark.creatortheme
index e281f189aa..1df02cd463 100644
--- a/share/qtcreator/themes/flat-dark.creatortheme
+++ b/share/qtcreator/themes/flat-dark.creatortheme
@@ -26,6 +26,43 @@ backgroundColorDisabled=ff444444
qmlDesignerButtonColor=ff4c4e50
[Colors]
+
+;DS controls theme START
+DScontrolBackground=ff404040
+DScontrolOutline=ff595959
+DStextColor=ffffffff
+DSdisabledTextColor=ff909090
+DSpanelBackground=ff454444
+DShoverHighlight=ff313131
+DScolumnBackground=ff363636
+DSfocusEdit=ff444444
+DSfocusDrag=ff565656
+DScontrolBackgroundPressed=ff7a7a7a
+DScontrolBackgroundChecked=ff565656
+DSinteraction=ff1d545c
+DSsliderActiveTrack=ff7a7a7a
+DSsliderInactiveTrack=ff4d4d4d
+DSsliderHandle=ff505050
+DSsliderActiveTrackHover=ff7f7f7f
+DSsliderInactiveTrackHover=ff505050
+DSsliderHandleHover=ff7a7a7a
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrackFocus=ff7a7a7a
+DSsliderHandleFocus=ff1d545c
+DSerrorColor=ffdf3a3a
+DScontrolBackgroundDisabled=ff363636
+DScontrolOutlineDisabled=ff4d4d4d
+DStextColorDisabled=ff7a7a7a
+DStextSelectionColor=ff1d545c
+DStextSelectedTextColor=ffffffff
+DSscrollBarTrack=ff4d4d4d
+DSscrollBarHandle=ff505050
+DScontrolBackgroundInteraction=ff4d4d4d
+DStranslationIndicatorBorder=ff7f7f7f
+DSsectionHeadBackground=ff424242
+DSchangedStateText=ff99ccff
+;DS controls theme END
+
BackgroundColorAlternate=alternateBackground
BackgroundColorDark=shadowBackground
BackgroundColorHover=hoverBackground
@@ -202,7 +239,7 @@ CodeModel_Error_TextMarkColor=error
CodeModel_Warning_TextMarkColor=warning
QmlDesigner_BackgroundColor=qmlDesignerButtonColor
-QmlDesigner_HighlightColor=ff3f91c4
+QmlDesigner_HighlightColor=ff1d545c
QmlDesigner_FormEditorSelectionColor=ff4ba2ff
QmlDesigner_FormEditorForegroundColor=ffffffff
QmlDesigner_BackgroundColorDarkAlternate=qmlDesignerButtonColor
diff --git a/share/qtcreator/themes/flat-light.creatortheme b/share/qtcreator/themes/flat-light.creatortheme
index f6b726762c..b8b4e7eabd 100644
--- a/share/qtcreator/themes/flat-light.creatortheme
+++ b/share/qtcreator/themes/flat-light.creatortheme
@@ -22,6 +22,43 @@ warning=ffecbc1c
qmlDesignerButtonColor=fff8f8f8
[Colors]
+
+;DS controls theme START
+DScontrolBackground=ffffffff
+DScontrolOutline=ff777777
+DStextColor=ff242424
+DSdisabledTextColor=ff505050
+DSpanelBackground=fff2f2f2
+DShoverHighlight=ffe6e6e6
+DScolumnBackground=ffaaaaaa
+DSfocusEdit=ffeaeaea
+DSfocusDrag=ffd1d1d1
+DScontrolBackgroundPressed=ff505050
+DScontrolBackgroundChecked=ff5e5e5e
+DSinteraction=ff0492c9
+DSsliderActiveTrack=ff363636
+DSsliderInactiveTrack=ffe6e6e6
+DSsliderHandle=ff777777
+DSsliderActiveTrackHover=ff7f7f7f
+DSsliderInactiveTrackHover=ff5e5e5e
+DSsliderHandleHover=ff505050
+DSsliderActiveTrackFocus=ff363636
+DSsliderInactiveTrackFocus=ff505050
+DSsliderHandleFocus=ff0492c9
+DSerrorColor=ffdf3a3a
+DScontrolBackgroundDisabled=ffaaaaaa
+DScontrolOutlineDisabled=ff777777
+DStextColorDisabled=ff505050
+DStextSelectionColor=ff0492c9
+DStextSelectedTextColor=ffffffff
+DSscrollBarTrack=ff777777
+DSscrollBarHandle=ff505050
+DScontrolBackgroundInteraction=ff777777
+DStranslationIndicatorBorder=ffebebeb
+DSsectionHeadBackground=ffebebeb
+DSchangedStateText=ff99ccff
+;DS controls theme END
+
BackgroundColorAlternate=alternateBackground
BackgroundColorDark=shadowBackground
BackgroundColorHover=hoverBackground
diff --git a/share/qtcreator/themes/flat.creatortheme b/share/qtcreator/themes/flat.creatortheme
index 0f057d80c0..e80a8d85f1 100644
--- a/share/qtcreator/themes/flat.creatortheme
+++ b/share/qtcreator/themes/flat.creatortheme
@@ -20,6 +20,43 @@ splitter=ff313131
qmlDesignerButtonColor=ff4c4e50
[Colors]
+
+;DS controls theme START
+DScontrolBackground=ff404040
+DScontrolOutline=ff595959
+DStextColor=ffffffff
+DSdisabledTextColor=ff909090
+DSpanelBackground=ff454444
+DShoverHighlight=ff313131
+DScolumnBackground=ff363636
+DSfocusEdit=ff444444
+DSfocusDrag=ff565656
+DScontrolBackgroundPressed=ff7a7a7a
+DScontrolBackgroundChecked=ff565656
+DSinteraction=ff3f91c4
+DSsliderActiveTrack=ff7a7a7a
+DSsliderInactiveTrack=ff4d4d4d
+DSsliderHandle=ff505050
+DSsliderActiveTrackHover=ff7f7f7f
+DSsliderInactiveTrackHover=ff505050
+DSsliderHandleHover=ff7a7a7a
+DSsliderActiveTrackFocus=ffaaaaaa
+DSsliderInactiveTrackFocus=ff7a7a7a
+DSsliderHandleFocus=ff3f91c4
+DSerrorColor=ffdf3a3a
+DScontrolBackgroundDisabled=ff363636
+DScontrolOutlineDisabled=ff4d4d4d
+DStextColorDisabled=ff7a7a7a
+DStextSelectionColor=ff3f91c4
+DStextSelectedTextColor=ffffffff
+DSscrollBarTrack=ff4d4d4d
+DSscrollBarHandle=ff505050
+DScontrolBackgroundInteraction=ff4d4d4d
+DStranslationIndicatorBorder=ff7f7f7f
+DSsectionHeadBackground=ff424242
+DSchangedStateText=ff99ccff
+;DS controls theme END
+
BackgroundColorAlternate=alternateBackground
BackgroundColorDark=shadowBackground
BackgroundColorHover=hoverBackground
diff --git a/share/qtcreator/translations/CMakeLists.txt b/share/qtcreator/translations/CMakeLists.txt
index 7b4d29bd77..d8ade110bc 100644
--- a/share/qtcreator/translations/CMakeLists.txt
+++ b/share/qtcreator/translations/CMakeLists.txt
@@ -44,168 +44,6 @@ else()
VERBATIM)
endif()
-function(_extract_ts_data_from_targets outprefix)
- set(_sources "")
- set(_includes "")
-
- set(_targets "${ARGN}")
- list(REMOVE_DUPLICATES _targets)
-
- foreach(t IN ITEMS ${_targets})
- if (TARGET "${t}")
- get_target_property(_skip_translation "${t}" QT_SKIP_TRANSLATION)
- get_target_property(_source_dir "${t}" SOURCE_DIR)
- get_target_property(_interface_include_dirs "${t}" INTERFACE_INCLUDE_DIRECTORIES)
- get_target_property(_include_dirs "${t}" INCLUDE_DIRECTORIES)
- get_target_property(_source_files "${t}" SOURCES)
- get_target_property(_extra_translations "${t}" QT_EXTRA_TRANSLATIONS)
-
- if (NOT _skip_translation)
- if(_include_dirs)
- list(APPEND _includes ${_include_dirs})
- endif()
-
- if(_interface_include_dirs)
- list(APPEND _interface_includes ${_include_dirs})
- endif()
-
- set(_target_sources "")
- if(_source_files)
- list(APPEND _target_sources ${_source_files})
- endif()
- if(_extra_translations)
- list(APPEND _target_sources ${_extra_translations})
- endif()
- foreach(s IN ITEMS ${_target_sources})
- get_filename_component(_abs_source "${s}" ABSOLUTE BASE_DIR "${_source_dir}")
- list(APPEND _sources "${_abs_source}")
- endforeach()
- endif()
- endif()
- endforeach()
-
- set("${outprefix}_sources" "${_sources}" PARENT_SCOPE)
- set("${outprefix}_includes" "${_includes}" PARENT_SCOPE)
-endfunction()
-
-function(_create_ts_custom_target name)
- cmake_parse_arguments(_arg "" "FILE_PREFIX;TS_TARGET_PREFIX" "LANGUAGES;SOURCES;INCLUDES" ${ARGN})
- if (_arg_UNPARSED_ARGUMENTS)
- message(FATAL_ERROR "Invalid parameters to _create_ts_custom_target: ${_arg_UNPARSED_ARGUMENTS}.")
- endif()
-
- if (NOT _arg_TS_TARGET_PREFIX)
- set(_arg_TS_TARGET_PREFIX "ts_")
- endif()
-
- set(ts_languages ${_arg_LANGUAGES})
- if (NOT ts_languages)
- set(ts_languages "${name}")
- endif()
-
- foreach(l IN ITEMS ${ts_languages})
- list(APPEND ts_files "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_FILE_PREFIX}_${l}.ts")
- endforeach()
-
- set(_sources "${_arg_SOURCES}")
- list(SORT _sources)
-
- set(_includes "${_arg_INCLUDES}")
-
- list(REMOVE_DUPLICATES _sources)
- list(REMOVE_DUPLICATES _includes)
-
- list(REMOVE_ITEM _sources "")
- list(REMOVE_ITEM _includes "")
-
- set(_prepended_includes)
- foreach(include IN LISTS _includes)
- list(APPEND _prepended_includes "-I${include}")
- endforeach()
- set(_includes "${_prepended_includes}")
-
- string(REPLACE ";" "\n" _sources_str "${_sources}")
- string(REPLACE ";" "\n" _includes_str "${_includes}")
-
- set(ts_file_list "${CMAKE_CURRENT_BINARY_DIR}/ts_${name}.lst")
- file(WRITE "${ts_file_list}" "${_sources_str}\n${_includes_str}\n")
-
- add_custom_target("${_arg_TS_TARGET_PREFIX}${name}"
- COMMAND Qt5::lupdate -locations relative -no-ui-lines -no-sort "@${ts_file_list}" -ts ${ts_files}
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- COMMENT "Generate .ts files"
- DEPENDS ${_sources}
- VERBATIM)
-endfunction()
-
-function(add_translation_targets file_prefix)
- if (NOT TARGET Qt5::lrelease)
- # 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.")
- return()
- endif()
-
- cmake_parse_arguments(_arg ""
- "OUTPUT_DIRECTORY;INSTALL_DESTINATION;TS_TARGET_PREFIX;QM_TARGET_PREFIX;ALL_QM_TARGET"
- "LANGUAGES;TARGETS;SOURCES;INCLUDES" ${ARGN})
- if (_arg_UNPARSED_ARGUMENTS)
- message(FATAL_ERROR "Invalid parameters to add_translation_targets: ${_arg_UNPARSED_ARGUMENTS}.")
- endif()
-
- if (NOT _arg_TS_TARGET_PREFIX)
- set(_arg_TS_TARGET_PREFIX "ts_")
- endif()
-
- if (NOT _arg_QM_TARGET_PREFIX)
- set(_arg_QM_TARGET_PREFIX "generate_qm_file_")
- endif()
-
- if (NOT _arg_ALL_QM_TARGET)
- set(_arg_ALL_QM_TARGET "generate_qm_files")
- endif()
-
- if (NOT _arg_OUTPUT_DIRECTORY)
- set(_arg_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
- endif()
-
- if (NOT _arg_INSTALL_DESTINATION)
- message(FATAL_ERROR "Please provide a INSTALL_DESTINATION to add_translation_targets")
- endif()
-
- _extract_ts_data_from_targets(_to_process "${_arg_TARGETS}")
-
- _create_ts_custom_target(untranslated
- FILE_PREFIX "${file_prefix}" TS_TARGET_PREFIX "${_arg_TS_TARGET_PREFIX}"
- SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES})
-
- if (NOT TARGET "${_arg_ALL_QM_TARGET}")
- add_custom_target("${_arg_ALL_QM_TARGET}" ALL COMMENT "Generate .qm-files")
- endif()
-
- foreach(l IN ITEMS ${_arg_LANGUAGES})
- set(_ts_file "${CMAKE_CURRENT_SOURCE_DIR}/${file_prefix}_${l}.ts")
- set(_qm_file "${_arg_OUTPUT_DIRECTORY}/${file_prefix}_${l}.qm")
-
- _create_ts_custom_target("${l}" FILE_PREFIX "${file_prefix}" TS_TARGET_PREFIX "${_arg_TS_TARGET_PREFIX}"
- SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES})
-
- add_custom_command(OUTPUT "${_qm_file}"
- COMMAND Qt5::lrelease "${_ts_file}" -qm "${_qm_file}"
- MAIN_DEPENDENCY "${_ts_file}"
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- COMMENT "Generate .qm file"
- VERBATIM)
- add_custom_target("${_arg_QM_TARGET_PREFIX}${l}" DEPENDS "${_qm_file}")
- install(FILES "${_qm_file}" DESTINATION ${_arg_INSTALL_DESTINATION})
-
- add_dependencies("${_arg_ALL_QM_TARGET}" "${_arg_QM_TARGET_PREFIX}${l}")
- endforeach()
-
- _create_ts_custom_target(all LANGUAGES ${_arg_LANGUAGES} FILE_PREFIX "${file_prefix}"
- SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES})
-endfunction()
-
-### collect targets to include in documentation:
add_translation_targets(qtcreator
LANGUAGES ${languages}
OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${IDE_DATA_PATH}/translations"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a04ed8a959..25276f1de1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -49,6 +49,10 @@ if (NOT DEFINED add_qtc_plugin)
include(\${CMAKE_CURRENT_LIST_DIR}/QtCreatorAPI.cmake)
endif()
+if (NOT DEFINED add_translation_targets)
+ include(\${CMAKE_CURRENT_LIST_DIR}/QtCreatorTranslations.cmake)
+endif()
+
if (NOT TARGET QtCreator::Core)
include(\${CMAKE_CURRENT_LIST_DIR}/QtCreatorTargets.cmake)
endif()
@@ -61,6 +65,7 @@ export(EXPORT QtCreator
file(COPY
${PROJECT_SOURCE_DIR}/cmake/QtCreatorIDEBranding.cmake
+ ${PROJECT_SOURCE_DIR}/cmake/QtCreatorTranslations.cmake
${PROJECT_SOURCE_DIR}/cmake/QtCreatorAPI.cmake
DESTINATION ${CMAKE_BINARY_DIR}/cmake
)
@@ -69,6 +74,7 @@ file(COPY
install(
FILES
${PROJECT_SOURCE_DIR}/cmake/QtCreatorIDEBranding.cmake
+ ${PROJECT_SOURCE_DIR}/cmake/QtCreatorTranslations.cmake
${PROJECT_SOURCE_DIR}/cmake/QtCreatorAPI.cmake
${CMAKE_BINARY_DIR}/cmake/QtCreatorConfig.cmake
DESTINATION lib/cmake/QtCreator
diff --git a/src/libs/qmljs/parser/qmljslexer.cpp b/src/libs/qmljs/parser/qmljslexer.cpp
index ef3718da02..0ae581724d 100644
--- a/src/libs/qmljs/parser/qmljslexer.cpp
+++ b/src/libs/qmljs/parser/qmljslexer.cpp
@@ -872,7 +872,6 @@ int Lexer::scanString(ScanStringMode mode)
{
QChar quote = (mode == TemplateContinuation) ? QChar(TemplateHead) : QChar(mode);
bool multilineStringLiteral = false;
- bool escaped = false;
const QChar *startCode = _codePtr - 1;
// in case we just parsed a \r, we need to reset this flag to get things working
@@ -881,23 +880,16 @@ int Lexer::scanString(ScanStringMode mode)
if (_engine) {
while (_codePtr <= _endPtr) {
- if (escaped) { // former char started an escape sequence
- escaped = false;
- _char = *_codePtr++;
- ++_currentColumnNumber;
- continue;
- }
if (isLineTerminator()) {
- if ((quote == QLatin1Char('`') || qmlMode()))
+ if ((quote == QLatin1Char('`') || qmlMode())) {
+ --_currentLineNumber;
break;
+ }
_errorCode = IllegalCharacter;
_errorMessage = QCoreApplication::translate("QmlParser", "Stray newline in string literal");
return T_ERROR;
} else if (_char == QLatin1Char('\\')) {
- if (mode != DoubleQuote && mode != SingleQuote)
- break;
- else // otherwise we need to handle an escape sequence
- escaped = true;
+ break;
} else if (_char == '$' && quote == QLatin1Char('`')) {
break;
} else if (_char == quote) {
@@ -923,6 +915,7 @@ int Lexer::scanString(ScanStringMode mode)
// rewind by one char, so things gets scanned correctly
--_codePtr;
+ --_currentColumnNumber;
_validTokenText = true;
_tokenText = QString(startCode, _codePtr - startCode);
diff --git a/src/libs/utils/theme/theme.h b/src/libs/utils/theme/theme.h
index 2bd1bd6845..e0f6e9cdb9 100644
--- a/src/libs/utils/theme/theme.h
+++ b/src/libs/utils/theme/theme.h
@@ -306,7 +306,43 @@ public:
QmlDesigner_BorderColor,
QmlDesigner_FormeditorBackgroundColor,
QmlDesigner_AlternateBackgroundColor,
- QmlDesigner_ScrollBarHandleColor
+ QmlDesigner_ScrollBarHandleColor,
+
+ /* Palette for DS Controls */
+
+ DScontrolBackground,
+ DScontrolOutline,
+ DStextColor,
+ DSdisabledTextColor,
+ DSpanelBackground,
+ DShoverHighlight,
+ DScolumnBackground,
+ DSfocusEdit,
+ DSfocusDrag,
+ DScontrolBackgroundPressed,
+ DScontrolBackgroundChecked,
+ DSinteraction,
+ DSsliderActiveTrack,
+ DSsliderInactiveTrack,
+ DSsliderHandle,
+ DSsliderActiveTrackHover,
+ DSsliderInactiveTrackHover,
+ DSsliderHandleHover,
+ DSsliderActiveTrackFocus,
+ DSsliderInactiveTrackFocus,
+ DSsliderHandleFocus,
+ DSerrorColor,
+ DScontrolBackgroundDisabled,
+ DScontrolOutlineDisabled,
+ DStextColorDisabled,
+ DStextSelectionColor,
+ DStextSelectedTextColor,
+ DSscrollBarTrack,
+ DSscrollBarHandle,
+ DScontrolBackgroundInteraction,
+ DStranslationIndicatorBorder,
+ DSsectionHeadBackground,
+ DSchangedStateText
};
enum Gradient {
diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp
index a574c4c123..f5ce84007e 100644
--- a/src/plugins/android/androidconfigurations.cpp
+++ b/src/plugins/android/androidconfigurations.cpp
@@ -1324,15 +1324,14 @@ static QVariant findOrRegisterDebugger(ToolChain *tc,
void AndroidConfigurations::updateAutomaticKitList()
{
- const QList<Kit *> androidKits = Utils::filtered(KitManager::kits(), [](Kit *k) {
- Core::Id deviceTypeId = DeviceTypeKitAspect::deviceTypeId(k);
- return deviceTypeId == Core::Id(Constants::ANDROID_DEVICE_TYPE);
- });
-
- for (auto k: androidKits) {
- if (k->value(Constants::ANDROID_KIT_NDK).isNull() || k->value(Constants::ANDROID_KIT_SDK).isNull()) {
- k->setValueSilently(Constants::ANDROID_KIT_NDK, currentConfig().ndkLocation(QtSupport::QtKitAspect::qtVersion(k)).toString());
- k->setValue(Constants::ANDROID_KIT_SDK, currentConfig().sdkLocation().toString());
+ for (Kit *k : KitManager::kits()) {
+ if (DeviceTypeKitAspect::deviceTypeId(k) == Constants::ANDROID_DEVICE_TYPE) {
+ if (k->value(Constants::ANDROID_KIT_NDK).isNull() || k->value(Constants::ANDROID_KIT_SDK).isNull()) {
+ if (BaseQtVersion *qt = QtKitAspect::qtVersion(k)) {
+ k->setValueSilently(Constants::ANDROID_KIT_NDK, currentConfig().ndkLocation(qt).toString());
+ k->setValue(Constants::ANDROID_KIT_SDK, currentConfig().sdkLocation().toString());
+ }
+ }
}
}
diff --git a/src/plugins/android/androiddevicedialog.cpp b/src/plugins/android/androiddevicedialog.cpp
index a2783d4d51..35da26b24c 100644
--- a/src/plugins/android/androiddevicedialog.cpp
+++ b/src/plugins/android/androiddevicedialog.cpp
@@ -483,8 +483,12 @@ AndroidDeviceDialog::~AndroidDeviceDialog()
AndroidDeviceInfo AndroidDeviceDialog::device()
{
+ refreshDeviceList();
+
if (!m_defaultDevice.isEmpty()) {
- auto device = std::find_if(m_connectedDevices.begin(), m_connectedDevices.end(), [this](const AndroidDeviceInfo& info) {
+ auto device = std::find_if(m_connectedDevices.begin(),
+ m_connectedDevices.end(),
+ [this](const AndroidDeviceInfo &info) {
return info.serialNumber == m_defaultDevice ||
info.avdname == m_defaultDevice;
});
@@ -494,8 +498,6 @@ AndroidDeviceInfo AndroidDeviceDialog::device()
m_defaultDevice.clear();
}
- refreshDeviceList();
-
if (exec() == QDialog::Accepted)
return m_model->device(m_ui->deviceView->currentIndex());
return AndroidDeviceInfo();
diff --git a/src/plugins/autotest/testoutputreader.cpp b/src/plugins/autotest/testoutputreader.cpp
index d23b779fe5..3faa7282f3 100644
--- a/src/plugins/autotest/testoutputreader.cpp
+++ b/src/plugins/autotest/testoutputreader.cpp
@@ -50,7 +50,7 @@ TestOutputReader::TestOutputReader(const QFutureInterface<TestResultPtr> &future
};
if (m_testApplication) {
- connect(m_testApplication, &QProcess::readyRead,
+ connect(m_testApplication, &QProcess::readyReadStandardOutput,
this, [chopLineBreak, this] () {
m_testApplication->setReadChannel(QProcess::StandardOutput);
while (m_testApplication->canReadLine())
diff --git a/src/plugins/cppcheck/cppcheckrunner.cpp b/src/plugins/cppcheck/cppcheckrunner.cpp
index 86b53f3007..649e01a247 100644
--- a/src/plugins/cppcheck/cppcheckrunner.cpp
+++ b/src/plugins/cppcheck/cppcheckrunner.cpp
@@ -43,7 +43,7 @@ CppcheckRunner::CppcheckRunner(CppcheckTool &tool) :
{
if (Utils::HostOsInfo::hostOs() == Utils::OsTypeLinux) {
QProcess getConf;
- getConf.start("getconf ARG_MAX");
+ getConf.start("getconf", {"ARG_MAX"});
getConf.waitForFinished(2000);
const QByteArray argMax = getConf.readAllStandardOutput().replace("\n", "");
m_maxArgumentsLength = std::max(argMax.toInt(), m_maxArgumentsLength);
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 93bc013ae1..ff3bc70788 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -386,6 +386,10 @@ public:
// This triggers activity in the EngineManager which
// recognizes the rampdown by the m_perpective == nullptr above.
perspective->destroy();
+
+ // disconnect the follow font size connection
+ TextEditorSettings::instance()->disconnect(this);
+
delete perspective;
}
diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp
index ed33870ed5..1c404a22b2 100644
--- a/src/plugins/debugger/debuggermainwindow.cpp
+++ b/src/plugins/debugger/debuggermainwindow.cpp
@@ -69,8 +69,6 @@ static Q_LOGGING_CATEGORY(perspectivesLog, "qtc.utils.perspectives", QtWarningMs
namespace Utils {
-const int SettingsVersion = 3;
-
const char LAST_PERSPECTIVE_KEY[] = "LastPerspective";
const char MAINWINDOW_KEY[] = "Debugger.MainWindow";
const char AUTOHIDE_TITLEBARS_KEY[] = "AutoHideTitleBars";
diff --git a/src/plugins/debugger/uvsc/uvscclient.cpp b/src/plugins/debugger/uvsc/uvscclient.cpp
index 57de522689..33889646ed 100644
--- a/src/plugins/debugger/uvsc/uvscclient.cpp
+++ b/src/plugins/debugger/uvsc/uvscclient.cpp
@@ -61,7 +61,7 @@ public:
Q_GLOBAL_STATIC(QLibrary, gUvscLibrary)
Q_GLOBAL_STATIC(QVector<UvscClient *>, gUvscClients)
-static QMutex gUvscsGuard(QMutex::NonRecursive);
+static QMutex gUvscsGuard;
static QStringList childrenINamesOf(const QString &parentIName, const QStringList &allINames)
{
diff --git a/src/plugins/mcusupport/mcusupportoptionspage.cpp b/src/plugins/mcusupport/mcusupportoptionspage.cpp
index e4506b902d..b06a97f174 100644
--- a/src/plugins/mcusupport/mcusupportoptionspage.cpp
+++ b/src/plugins/mcusupport/mcusupportoptionspage.cpp
@@ -231,7 +231,6 @@ void McuSupportOptionsWidget::apply()
return;
McuSupportOptions::registerQchFiles();
- McuSupportOptions::removeOutdatedKits();
const McuTarget *mcuTarget = currentMcuTarget();
if (!mcuTarget)
diff --git a/src/plugins/mcusupport/mcusupportplugin.cpp b/src/plugins/mcusupport/mcusupportplugin.cpp
index 3028c7e80e..0be99d8c05 100644
--- a/src/plugins/mcusupport/mcusupportplugin.cpp
+++ b/src/plugins/mcusupport/mcusupportplugin.cpp
@@ -36,6 +36,7 @@
#include <projectexplorer/devicesupport/devicemanager.h>
#include <projectexplorer/jsonwizard/jsonwizardfactory.h>
+#include <projectexplorer/kitmanager.h>
using namespace ProjectExplorer;
@@ -86,6 +87,10 @@ bool McuSupportPlugin::initialize(const QStringList& arguments, QString* errorSt
void McuSupportPlugin::extensionsInitialized()
{
ProjectExplorer::DeviceManager::instance()->addDevice(McuSupportDevice::create());
+
+ connect(KitManager::instance(), &KitManager::kitsLoaded, [](){
+ McuSupportOptions::removeOutdatedKits();
+ });
}
} // namespace Internal
diff --git a/src/plugins/qmldesigner/components/connectioneditor/stylesheet.css b/src/plugins/qmldesigner/components/connectioneditor/stylesheet.css
index aeacc63733..5155ac3efa 100644
--- a/src/plugins/qmldesigner/components/connectioneditor/stylesheet.css
+++ b/src/plugins/qmldesigner/components/connectioneditor/stylesheet.css
@@ -40,7 +40,7 @@ QHeaderView::section {
background-color: #494949;
padding: 4px;
border: 1px solid black;
- color: #cacaca;
+ color: creatorTheme.DStextColor;
margin: 2px
}
@@ -54,7 +54,7 @@ QWidget#widgetSpacer {
QStackedWidget {
border: 0px;
- background-color: #4f4f4f;
+ background-color: creatorTheme.QmlDesigner_TabLight;
}
QTabBar::tab:selected {
diff --git a/src/plugins/qmldesigner/components/resources/stylesheet.css b/src/plugins/qmldesigner/components/resources/stylesheet.css
index 841540f1c8..cc72eae062 100644
--- a/src/plugins/qmldesigner/components/resources/stylesheet.css
+++ b/src/plugins/qmldesigner/components/resources/stylesheet.css
@@ -51,12 +51,12 @@ QLineEdit#itemLibrarySearchInput
QComboBox QAbstractItemView {
show-decoration-selected: 1; /* make the selection span the entire width of the view */
- background-color: #494949; /* sets background of the menu */
+ background-color: creatorTheme.DSpanelBackground; /* sets background of the menu */
border: 1px solid black;
margin: 0px; /* some spacing around the menu */
- color: #cacaca;
- selection-background-color: #d2d2d2;
- selection-color: #404040;
+ color: creatorTheme.DStextColor;
+ selection-background-color: creatorTheme.DSinteraction;
+ selection-color: creatorTheme.DStextSelectedTextColor;
}
QTabWidget {
diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
index 91e4c9c7b0..fd0d9a51ff 100644
--- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
+++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
@@ -982,9 +982,6 @@ bool TextToModelMerger::load(const QString &data, DifferenceHandler &differenceH
if (rewriterBenchmark().isInfoEnabled())
time.start();
- // maybe the project environment (kit, ...) changed, so we need to clean old caches
- NodeMetaInfo::clearCache();
-
const QUrl url = m_rewriterView->model()->fileUrl();
m_qrcMapping.clear();
@@ -994,6 +991,9 @@ bool TextToModelMerger::load(const QString &data, DifferenceHandler &differenceH
setActive(true);
m_rewriterView->setIncompleteTypeInformation(false);
+ // maybe the project environment (kit, ...) changed, so we need to clean old caches
+ NodeMetaInfo::clearCache();
+
try {
Snapshot snapshot = m_rewriterView->textModifier()->qmljsSnapshot();
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp
index 2cf61e6e20..e52eabc7bf 100644
--- a/src/plugins/qmldesigner/designmodewidget.cpp
+++ b/src/plugins/qmldesigner/designmodewidget.cpp
@@ -316,7 +316,7 @@ void DesignModeWidget::setup()
// Apply stylesheet to QWidget
QByteArray sheet = Utils::FileReader::fetchQrc(":/qmldesigner/stylesheet.css");
sheet += Utils::FileReader::fetchQrc(":/qmldesigner/scrollbar.css");
- sheet += "QLabel { background-color: #4f4f4f; }";
+ sheet += "QLabel { background-color: creatorTheme.DSsectionHeadBackground; }";
navigationView.widget->setStyleSheet(Theme::replaceCssColors(QString::fromUtf8(sheet)));
// Create DockWidget
diff --git a/tests/auto/sdktool/sdktool.qbs b/tests/auto/sdktool/sdktool.qbs
index bd8b8d267a..b7928c7487 100644
--- a/tests/auto/sdktool/sdktool.qbs
+++ b/tests/auto/sdktool/sdktool.qbs
@@ -1,4 +1,4 @@
-import qbs
+import qbs.FileInfo
QtcAutotest {
name: "sdktool autotest"
@@ -8,5 +8,8 @@ QtcAutotest {
files: "tst_sdktool.cpp"
}
- cpp.defines: base.concat(['SDKTOOL_DIR="' + qbs.installRoot + '/' + qtc.ide_libexec_path + '"'])
+ cpp.defines: base.concat([
+ 'SDKTOOL_DIR="' + FileInfo.joinPaths(FileInfo.fromNativeSeparators(qbs.installRoot),
+ qtc.ide_libexec_path) + '"'
+ ])
}
diff --git a/tests/system/suite_debugger/tst_cli_output_console/test.py b/tests/system/suite_debugger/tst_cli_output_console/test.py
index 9774ea59b2..3f996241af 100644
--- a/tests/system/suite_debugger/tst_cli_output_console/test.py
+++ b/tests/system/suite_debugger/tst_cli_output_console/test.py
@@ -39,12 +39,15 @@ def main():
mainEditor = waitForObject(":Qt Creator_CppEditor::Internal::CPPEditorWidget")
replaceEditorContent(mainEditor, "")
typeLines(mainEditor, ["#include <QDebug>",
+ "#include <QThread>",
"#include <iostream>",
+ "struct Waiter:public QThread{Waiter(){QThread::sleep(2);}};",
"int main(int, char *argv[])",
"{",
'std::cout << \"' + outputStdOut + '\" << std::endl;',
'std::cerr << \"' + outputStdErr + '\" << std::endl;',
- 'qDebug() << \"' + outputQDebug + '\";'])
+ 'qDebug() << \"' + outputQDebug + '\";',
+ 'Waiter();'])
# Rely on code completion for closing bracket
invokeMenuItem("File", "Save All")
openDocument(project + "." + project + "\\.pro")