From 69e18d7917ea5524191055d526bfa627581520e2 Mon Sep 17 00:00:00 2001
From: Tuomo Pelkonen
Date: Tue, 22 Jun 2021 11:53:32 +0300
Subject: [PATCH 01/10] Qmldesigner : Fix crash when component is added while
editing inline delegate
This is only fixing the crash but does not adding the import
Task-number: QDS-4602
Change-Id: Iacb449d5342fcfdd5daf21abcec668569380ddba
Reviewed-by: Miikka Heikkinen
---
.../qmldesigner/components/itemlibrary/itemlibrarywidget.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
index 290611e2e0b..ddf067c1270 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
@@ -291,8 +291,9 @@ void ItemLibraryWidget::handleAddImport(int index)
+ import.toImportString());
}
- m_model->changeImports({import}, {});
- QmlDesignerPlugin::instance()->currentDesignDocument()->updateSubcomponentManagerImport(import);
+ auto document = QmlDesignerPlugin::instance()->currentDesignDocument();
+ document->documentModel()->changeImports({import}, {});
+ document->updateSubcomponentManagerImport(import);
m_stackedWidget->setCurrentIndex(0); // switch to the Components view after import is added
updateSearch();
From 4290c264147eafafa315703b9bcd3594ef0bc358 Mon Sep 17 00:00:00 2001
From: Eike Ziller
Date: Thu, 17 Jun 2021 11:44:01 +0200
Subject: [PATCH 02/10] CMake build: Force optimization of CPlusPlus lib
Even in the debug build, as done for the qmake build system. This is for
performance optimization of this critical part for C++ parsing even in
debug / developer builds.
Change-Id: I9552ba9fc44e213f2df1d2d2a64a126af3603fd1
Reviewed-by: Eike Ziller
Reviewed-by: Christian Stenger
Reviewed-by: Cristian Adam
---
cmake/QtCreatorAPI.cmake | 25 +++++++++++++++-------
cmake/QtCreatorAPIInternal.cmake | 11 ++++++++++
src/libs/3rdparty/cplusplus/CMakeLists.txt | 9 ++++++++
src/libs/cplusplus/CMakeLists.txt | 9 ++++++++
4 files changed, 46 insertions(+), 8 deletions(-)
diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake
index c0db1ab3854..6504175d9e8 100644
--- a/cmake/QtCreatorAPI.cmake
+++ b/cmake/QtCreatorAPI.cmake
@@ -106,7 +106,7 @@ function(qtc_source_dir varName)
endfunction()
function(add_qtc_library name)
- cmake_parse_arguments(_arg "STATIC;OBJECT;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;UNVERSIONED;FEATURE_INFO"
+ cmake_parse_arguments(_arg "STATIC;OBJECT;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;UNVERSIONED;FEATURE_INFO;SKIP_PCH"
"DESTINATION;COMPONENT;SOURCES_PREFIX;BUILD_DEFAULT"
"CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN}
)
@@ -252,7 +252,10 @@ function(add_qtc_library name)
ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}"
${_arg_PROPERTIES}
)
- enable_pch(${name})
+
+ if (NOT _arg_SKIP_PCH)
+ enable_pch(${name})
+ endif()
if (WIN32 AND library_type STREQUAL "SHARED" AND NOT _arg_UNVERSIONED)
# Match qmake naming scheme e.g. Library4.dll
@@ -309,7 +312,7 @@ endfunction(add_qtc_library)
function(add_qtc_plugin target_name)
cmake_parse_arguments(_arg
- "SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION;EXPORT"
+ "SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION;EXPORT;SKIP_PCH"
"VERSION;COMPAT_VERSION;PLUGIN_JSON_IN;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME;BUILD_DEFAULT"
"CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;PLUGIN_TEST_DEPENDS;PROPERTIES"
${ARGN}
@@ -518,7 +521,9 @@ function(add_qtc_plugin target_name)
IMPORT_PREFIX ""
)
endif()
- enable_pch(${target_name})
+ if (NOT _arg_SKIP_PCH)
+ enable_pch(${target_name})
+ endif()
if (NOT _arg_SKIP_INSTALL)
if (_arg_EXPORT)
@@ -591,7 +596,7 @@ function(extend_qtc_test target_name)
endfunction()
function(add_qtc_executable name)
- cmake_parse_arguments(_arg "SKIP_INSTALL;SKIP_TRANSLATION;ALLOW_ASCII_CASTS"
+ cmake_parse_arguments(_arg "SKIP_INSTALL;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;SKIP_PCH"
"DESTINATION;COMPONENT;BUILD_DEFAULT"
"CONDITION;DEPENDS;DEFINES;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN})
@@ -692,7 +697,9 @@ function(add_qtc_executable name)
VISIBILITY_INLINES_HIDDEN ON
${_arg_PROPERTIES}
)
- enable_pch(${name})
+ if (NOT _arg_SKIP_PCH)
+ enable_pch(${name})
+ endif()
if (NOT _arg_SKIP_INSTALL)
unset(COMPONENT_OPTION)
@@ -779,7 +786,7 @@ function(extend_qtc_executable name)
endfunction()
function(add_qtc_test name)
- cmake_parse_arguments(_arg "GTEST" "TIMEOUT" "DEFINES;DEPENDS;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC" ${ARGN})
+ cmake_parse_arguments(_arg "GTEST" "TIMEOUT" "DEFINES;DEPENDS;INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;SKIP_PCH" ${ARGN})
foreach(dependency ${_arg_DEPENDS})
if (NOT TARGET ${dependency} AND NOT _arg_GTEST)
@@ -820,7 +827,9 @@ function(add_qtc_test name)
BUILD_RPATH "${_RPATH_BASE}/${_RPATH}"
INSTALL_RPATH "${_RPATH_BASE}/${_RPATH}"
)
- enable_pch(${name})
+ if (NOT _arg_SKIP_PCH)
+ enable_pch(${name})
+ endif()
if (NOT _arg_GTEST)
add_test(NAME ${name} COMMAND ${name})
diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake
index 45aa8246dbe..75da71d69ab 100644
--- a/cmake/QtCreatorAPIInternal.cmake
+++ b/cmake/QtCreatorAPIInternal.cmake
@@ -122,6 +122,17 @@ function(qtc_handle_sccache_support)
endif()
endfunction()
+function(qtc_enable_release_for_debug_configuration)
+ if (MSVC)
+ string(REPLACE "/Od" "/O2" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+ string(REPLACE "/Ob0" "/Ob1" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+ string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+ else()
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O2")
+ endif()
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}" PARENT_SCOPE)
+endfunction()
+
function(append_extra_translations target_name)
if(NOT ARGN)
return()
diff --git a/src/libs/3rdparty/cplusplus/CMakeLists.txt b/src/libs/3rdparty/cplusplus/CMakeLists.txt
index b8a8607a8c3..f2515c9c3a0 100644
--- a/src/libs/3rdparty/cplusplus/CMakeLists.txt
+++ b/src/libs/3rdparty/cplusplus/CMakeLists.txt
@@ -41,5 +41,14 @@ add_qtc_library(3rd_cplusplus OBJECT
Type.cpp Type.h
TypeVisitor.cpp TypeVisitor.h
cppassert.h
+ SKIP_PCH
PROPERTIES POSITION_INDEPENDENT_CODE ON
)
+
+if(TARGET 3rd_cplusplus)
+ qtc_enable_release_for_debug_configuration()
+ if (BUILD_WITH_PCH)
+ target_precompile_headers(3rd_cplusplus PRIVATE
+ "${QtCreator_SOURCE_DIR}/src/shared/qtcreator_gui_pch.h")
+ endif()
+endif()
diff --git a/src/libs/cplusplus/CMakeLists.txt b/src/libs/cplusplus/CMakeLists.txt
index 9ca49291d4c..aa650c11b34 100644
--- a/src/libs/cplusplus/CMakeLists.txt
+++ b/src/libs/cplusplus/CMakeLists.txt
@@ -40,4 +40,13 @@ add_qtc_library(CPlusPlus
pp-engine.h pp-scanner.cpp
pp-scanner.h
pp.h
+ SKIP_PCH
)
+
+if(TARGET CPlusPlus)
+ qtc_enable_release_for_debug_configuration()
+ if (BUILD_WITH_PCH)
+ target_precompile_headers(CPlusPlus PRIVATE
+ "${QtCreator_SOURCE_DIR}/src/shared/qtcreator_gui_pch.h")
+ endif()
+endif()
From 00d1a03b09f8462e236f373b701ea3038d3cfef2 Mon Sep 17 00:00:00 2001
From: Leena Miettinen
Date: Mon, 21 Jun 2021 16:37:21 +0200
Subject: [PATCH 03/10] Doc: Update info on installing QDS components and Qt
Quick Timeline
Link to the subsections with more information.
Change-Id: Id139ef10cd30693b5685a94af13906f99e8bde5d
Reviewed-by: Tim Jenssen
---
.../qtquick-from-qmlproject-to-pro.qdoc | 23 ++++++++++---------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc b/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc
index 089f9fd7ea9..6b2a6fc224c 100644
--- a/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2020 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -66,18 +66,19 @@
Then you can use the \l QQuickView class in the main C++ source file to
show the main QML file when the application starts.
- The \e {Qt Quick Designer Components} module is delivered with the
- standalone \QDS installation. If you use Qt Quick Studio Components
- or Effects from the module in a project that you want to edit in \QC,
+ The \e {Qt Quick Designer Components} module is installed when you
+ install \QDS. If you use Qt Quick Studio Components or Effects
+ from the module in a project that you want to edit in Qt Creator,
you have to build the module and install it to your Qt to be able to
- build your project.
+ build your project. For more information, see
+ \l{Adding Qt Quick Designer Components to Qt Installations}.
- The \l{Qt Quick Timeline} module is delivered with the standalone \QDS
- installation package and with Qt 5.14, and later. If you install \QDS
- using the Qt Installation Tool or use \QC, remember to also select the
- Qt Quick Timeline module for installation. If your Qt is older than 5.14,
- you must build the Qt Quick Timeline module and install it to your Qt to
- be able to build your project.
+ The \l{Qt Quick Timeline} module is installed when you install \QDS.
+ If you only install Qt Creator and Qt, remember to also select the
+ Qt Quick Timeline module for installation. If your Qt is older than
+ 5.14, you must build the Qt Quick Timeline module and install it to
+ your Qt to be able to build your project. For more information, see
+ \l{Adding Qt Quick Timeline Module to Qt Installations}.
\section1 Converting Projects
From 95496a7d8c46e03c0c9503186dec28702ddc042e Mon Sep 17 00:00:00 2001
From: hjk
Date: Wed, 23 Jun 2021 13:42:42 +0200
Subject: [PATCH 04/10] QtSupport: Fall back to local paths in ProParser
That's conceptually wrong, but the only thing we can do until
the ProParser can operate remotely.
Change-Id: I9e5cad6241239b4df45c44538dbb0f56c56d5e57
Reviewed-by: Christian Stenger
---
src/plugins/qtsupport/baseqtversion.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp
index 85d71a9e0e5..7d5e4bd2a5b 100644
--- a/src/plugins/qtsupport/baseqtversion.cpp
+++ b/src/plugins/qtsupport/baseqtversion.cpp
@@ -1189,7 +1189,9 @@ void BaseQtVersion::ensureMkSpecParsed() const
ProFileCacheManager::instance()->incRefCount();
QMakeParser parser(ProFileCacheManager::instance()->cache(), &vfs, &msgHandler);
ProFileEvaluator evaluator(&option, &parser, &vfs, &msgHandler);
- evaluator.loadNamedSpec(mkspecPath().toString(), false);
+ // FIXME: toString() would be better, but the pro parser Q_ASSERTs on anything
+ // non-local.
+ evaluator.loadNamedSpec(mkspecPath().path(), false);
parseMkSpec(&evaluator);
From 10420d4e5e6887c1007cc8326b9fb69f02116595 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kai=20K=C3=B6hne?=
Date: Wed, 23 Jun 2021 13:33:50 +0200
Subject: [PATCH 05/10] Replace Freenode with Libera.Chat
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change-Id: Ia4a54b72f522a02c734273630c8217af75e4ea92
Reviewed-by: hjk
Reviewed-by: Eike Ziller
Reviewed-by: Leena Miettinen
Reviewed-by: Robert Löhning
---
.../src/debugger/creator-only/creator-debugger.qdoc | 2 +-
src/plugins/coreplugin/mainwindow.cpp | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc
index 2cc62044585..6fc4a634167 100644
--- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc
+++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc
@@ -1510,7 +1510,7 @@
contents of the pane to debugger-related questions to the \QC
mailing list (qt-creator@qt-project.org) or paste them to a
\l{Pasting and Fetching Code Snippets}{code pasting service} before
- asking questions in the IRC (on the #qt-creator channel at FreeNode).
+ asking questions in the IRC (on the #qt-creator channel at Libera.Chat).
\endlist
diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 9f7b9274e70..7ad86b3c519 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -1250,7 +1250,7 @@ void MainWindow::contact()
QMessageBox dlg(QMessageBox::Information, tr("Contact"),
tr("Qt Creator developers can be reached at the Qt Creator mailing list:
"
"%1"
- "or the #qt-creator channel on FreeNode IRC:
"
+ "or the #qt-creator channel on Libera.Chat IRC:
"
"%2"
"Our bug tracker is located at %3.
"
"Please use %4 for bigger chunks of text.
")
@@ -1259,8 +1259,8 @@ void MainWindow::contact()
"mailto:qt-creator@qt-project.org"
"
")
.arg(" "
- ""
- "irc://freenode.org/qt-creator"
+ ""
+ "https://web.libera.chat/#qt-creator"
"
")
.arg(""
"https://bugreports.qt.io"
From 913dc9549e3cbda3deff5632e5e91684bbb6dade Mon Sep 17 00:00:00 2001
From: Cristian Adam
Date: Wed, 23 Jun 2021 15:33:31 +0200
Subject: [PATCH 06/10] CMakePM: Do not expand qrc files for
The qrc file expansion could take time and it's not a
great idea to do it for all files in the filesystem.
Amends 53115259baa522d0d2d8f05aaa058693b1de62a8
Task-number: QTCREATORBUG-25783
Change-Id: I10b1f6c224e78b0efe4654bcf36d7cb9ba0e7e5f
Reviewed-by: hjk
Reviewed-by: Qt CI Bot
Reviewed-by: Cristian Adam
---
src/plugins/cmakeprojectmanager/projecttreehelper.cpp | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/plugins/cmakeprojectmanager/projecttreehelper.cpp b/src/plugins/cmakeprojectmanager/projecttreehelper.cpp
index df63f64bdd2..7fda249d304 100644
--- a/src/plugins/cmakeprojectmanager/projecttreehelper.cpp
+++ b/src/plugins/cmakeprojectmanager/projecttreehelper.cpp
@@ -226,8 +226,17 @@ void addFileSystemNodes(ProjectNode *root, const QList &allFil
if (!fn->filePath().isChildOf(root->filePath()))
continue;
- std::unique_ptr node(fn->clone());
+ FileType fileType = fn->fileType();
+ if (fileType == FileType::Resource)
+ fileType = FileType::Source;
+
+ std::unique_ptr node(new FileNode(fn->filePath(), fileType));
+ node->setLine(fn->line());
+ node->setIsGenerated(fn->isGenerated());
node->setEnabled(false);
+ node->setPriority(fn->priority());
+ node->setListInProject(fn->listInProject());
+
fileSystemNode->addNestedNode(std::move(node));
}
From 2e4d57db35d3c6096ef3b503c45936ed6d8f5288 Mon Sep 17 00:00:00 2001
From: Eike Ziller
Date: Wed, 23 Jun 2021 16:47:25 +0200
Subject: [PATCH 07/10] Fix that disabled QRC files were enabled by QRC
expansion
The automatic expansion of QRC files to the tree of their contents
didn't preserve the "enabled" property of the original QRC node.
For CMake projects that resulted in the file system tree still being
shown, with only the QRC nodes, when "Hide Disabled Files" was on,
instead of hiding the file system tree completely.
Change-Id: If1eb88478955dc8635def844cfc501befcbfc329
Reviewed-by: Cristian Adam
Reviewed-by: Qt CI Bot
---
src/plugins/resourceeditor/resourceeditorplugin.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/plugins/resourceeditor/resourceeditorplugin.cpp b/src/plugins/resourceeditor/resourceeditorplugin.cpp
index 50708c98c14..25c29e2cdcd 100644
--- a/src/plugins/resourceeditor/resourceeditorplugin.cpp
+++ b/src/plugins/resourceeditor/resourceeditorplugin.cpp
@@ -258,6 +258,7 @@ void ResourceEditorPlugin::extensionsInitialized()
QTC_ASSERT(pn, continue);
const Utils::FilePath path = file->filePath();
auto topLevel = std::make_unique(path, pn->filePath());
+ topLevel->setEnabled(file->isEnabled());
topLevel->setIsGenerated(file->isGenerated());
pn->replaceSubtree(file, std::move(topLevel));
}
From afa421887165fc33b100a00ae6908952dc102945 Mon Sep 17 00:00:00 2001
From: Ivan Komissarov
Date: Tue, 22 Jun 2021 16:01:12 +0200
Subject: [PATCH 08/10] Update Qbs submodule to the top of 1.19 branch
Change-Id: I79385eb5d49c46a4e856682f3be43c954ca26717
Reviewed-by: Christian Kandeler
---
src/shared/qbs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/shared/qbs b/src/shared/qbs
index f002b866e7e..bd2d37ae336 160000
--- a/src/shared/qbs
+++ b/src/shared/qbs
@@ -1 +1 @@
-Subproject commit f002b866e7e190ddcadfb61ca935c6f0b6ef7e1a
+Subproject commit bd2d37ae336e3c88e2fd484cc64eb05b46d07888
From 116db827204cdc2565df41334907b44634afdda2 Mon Sep 17 00:00:00 2001
From: Bernhard Beschow
Date: Sat, 12 Jun 2021 15:00:25 +0200
Subject: [PATCH 09/10] Fix qmake build
Ammends commit 770d87709ee4d67e24b4a8d4b3fd2bdd0eff2745.
Change-Id: I5dc0d4ca821a7da8c8a14a56ce4f885176314be0
Reviewed-by: hjk
---
tests/manual/process/mainwindow.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/manual/process/mainwindow.cpp b/tests/manual/process/mainwindow.cpp
index ed7cb1dcb8f..9f0c8d50279 100644
--- a/tests/manual/process/mainwindow.cpp
+++ b/tests/manual/process/mainwindow.cpp
@@ -57,6 +57,7 @@ void MainWindow::test()
qDebug() << "Async: " << cmd << args;
process.setStdOutCallback([this](const QString &s) { append(s); });
process.setStdErrCallback([this](const QString &s) { append(s); });
- process.run({cmd, args});
+ process.setCommand({cmd, args});
+ process.runBlocking();
qDebug() << process;
}
From a3fbc85ced348d728de3e41c72e0a033b573c49e Mon Sep 17 00:00:00 2001
From: Leena Miettinen
Date: Thu, 10 Jun 2021 17:10:47 +0200
Subject: [PATCH 10/10] Doc: Create a Prototyping chapter
Restructure existing information and fix navigation links.
Fixes: QDS-4470
Change-Id: I4a1118a4620527b461b99bf05b8b06d947018c80
Reviewed-by: Johanna Vanhatapio
---
.../src/howto/creator-telemetry.qdoc | 2 +-
.../creator-only/mobile-app-design.qdoc | 4 +-
.../creator-projects-building-running.qdoc | 2 +-
doc/qtcreator/src/qtcreator-toc.qdoc | 64 +++++-----
doc/qtcreator/src/qtcreator.qdoc | 2 +-
.../creator-only/qtquick-app-development.qdoc | 27 +++--
.../qtquick-connection-editor-backend.qdoc | 2 +-
.../qtquick-iso-icon-browser.qdoc | 2 +-
.../creator-only/qtquick-states-scxml.qdocinc | 7 +-
.../src/qtquick/qt-design-viewer.qdoc | 2 +-
.../qtdesignstudio-simulation-overview.qdoc | 13 ++-
.../src/qtquick/qtquick-adding-dynamics.qdoc | 18 +--
.../qtquick/qtquick-animation-overview.qdoc | 2 +-
.../src/qtquick/qtquick-annotations.qdoc | 3 +-
.../src/qtquick/qtquick-components.qdoc | 8 +-
.../qtquick/qtquick-connection-editor.qdoc | 2 +-
.../src/qtquick/qtquick-designer.qdoc | 2 +-
doc/qtcreator/src/qtquick/qtquick-export.qdoc | 7 +-
doc/qtcreator/src/qtquick/qtquick-fonts.qdoc | 7 +-
.../qtquick-from-qmlproject-to-pro.qdoc | 7 +-
.../src/qtquick/qtquick-live-preview.qdoc | 12 +-
.../qtquick/qtquick-modules-with-plugins.qdoc | 5 +-
.../src/qtquick/qtquick-motion-design.qdoc | 9 ++
.../src/qtquick/qtquick-placeholder-data.qdoc | 6 +-
.../src/qtquick/qtquick-prototyping.qdoc | 109 ++++++++++++++++++
doc/qtcreator/src/qtquick/qtquick-states.qdoc | 4 +-
.../src/qtquick/qtquick-ui-forms.qdoc | 5 +-
.../examples/doc/progressbar.qdoc | 3 +-
.../src/qtbridge/qtbridge-overview.qdoc | 2 +-
.../src/qtdesignstudio-advanced.qdoc | 10 +-
...tdesignstudio-exporting-and-importing.qdoc | 8 +-
.../src/qtdesignstudio-help-overview.qdoc | 4 +-
.../src/qtdesignstudio-importing-2d.qdoc | 2 +-
.../src/qtdesignstudio-projects.qdoc | 2 +-
.../src/qtdesignstudio-toc.qdoc | 55 +++++----
.../src/qtdesignstudio-use-cases.qdoc | 2 +-
doc/qtdesignstudio/src/qtdesignstudio.qdoc | 18 +--
.../exporting-3d/exporting-3d-assets.qdoc | 13 ++-
.../exporting-3d/exporting-from-qt3ds.qdoc | 5 +
.../qtdesignstudio-3d-importing.qdoc | 5 +-
40 files changed, 292 insertions(+), 170 deletions(-)
rename doc/{qtdesignstudio/src => qtcreator/src/qtquick}/qtdesignstudio-simulation-overview.qdoc (87%)
create mode 100644 doc/qtcreator/src/qtquick/qtquick-prototyping.qdoc
diff --git a/doc/qtcreator/src/howto/creator-telemetry.qdoc b/doc/qtcreator/src/howto/creator-telemetry.qdoc
index db91a28bc8a..8cb24c64e6b 100644
--- a/doc/qtcreator/src/howto/creator-telemetry.qdoc
+++ b/doc/qtcreator/src/howto/creator-telemetry.qdoc
@@ -26,7 +26,7 @@
/*!
\page creator-telemetry.html
\if defined(qtdesignstudio)
- \previouspage creator-editor-external.html
+ \previouspage creator-quick-ui-forms.html
\else
\previouspage creator-task-lists.html
\endif
diff --git a/doc/qtcreator/src/overview/creator-only/mobile-app-design.qdoc b/doc/qtcreator/src/overview/creator-only/mobile-app-design.qdoc
index ff34d49bf10..9a4a9c94fd9 100644
--- a/doc/qtcreator/src/overview/creator-only/mobile-app-design.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/mobile-app-design.qdoc
@@ -30,9 +30,9 @@
// **********************************************************************
/*!
- \previouspage creator-ui-best-practices.html
+ \previouspage adding-plugins.html
\page creator-usability.html
- \nextpage studio-qtquick-best-practices.html
+ \nextpage creator-coding.html
\title Optimizing Applications for Mobile Devices
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-building-running.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-building-running.qdoc
index c98362ae17f..ffee57cccbc 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-building-running.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-building-running.qdoc
@@ -46,7 +46,7 @@
\list
- \li \l {Previewing}
+ \li \l {Validating with Target Hardware}
You can use the QML live preview to preview a QML file or an
entire Qt Quick application on the desktop, as well as on
diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc
index b9060826396..b812857a1ab 100644
--- a/doc/qtcreator/src/qtcreator-toc.qdoc
+++ b/doc/qtcreator/src/qtcreator-toc.qdoc
@@ -155,61 +155,49 @@
\li \l{Scalable Layouts}
\li \l{Using Custom Fonts}
\li \l{Annotating Designs}
- \li \l{Loading Placeholder Data}
\li \l{UI Files}
\endlist
- \li \l {Adding Dynamics}
+ \li \l{Prototyping}
\list
- \li \l{Creating Animations}
+ \li \l{Creating UI Logic}
+ \li \l{Simulating Complex Experiences}
\list
- \li \l{Editing Easing Curves}
+ \li \l{Loading Placeholder Data}
+ \li \l{Using QML Modules with Plugins}
+ \endlist
+ \li \l {Dynamic Behaviors}
+ \list
+ \li \l{Adding Connections}
+ \list
+ \li \l{Connecting Components to Signals}
+ \li \l{Adding Bindings Between Properties}
+ \li \l{Specifying Dynamic Properties}
+ \li \l{Managing C++ Backend Objects}
+ \endlist
+ \li \l {Adding States}
\endlist
- \li \l{Adding Connections}
- \list
- \li \l{Connecting Components to Signals}
- \li \l{Adding Bindings Between Properties}
- \li \l{Specifying Dynamic Properties}
- \li \l{Managing C++ Backend Objects}
- \endlist
- \li \l {Adding States}
- \endlist
- \li \l{Editing 3D Scenes}
- \list
\li \l {Exporting 3D Assets}
\list
\li \l{Exporting from Blender}{Blender}
\li \l{Exporting from Maya}{Maya}
\endlist
\li \l{Importing 3D Assets}
- \li \l{Adding 3D Views}
- \li \l{Using 3D Components}
- \list
- \li \l{Setting Group Properties}
- \li \l{Adding 3D Models}
- \li \l{Using Materials and Shaders}
- \li \l{Attaching Textures to Materials}
- \li \l{Using 3D Materials}
- \li \l{Applying 3D Effects}
- \li \l{Using Custom Shaders}
- \li \l{Creating Custom Effects and Materials}
- \li \l{Using Lights}
- \li \l{Using Scene Camera}
- \li \l{Setting Scene Environment}
- \endlist
- \endlist
+ \li \l{Exporting Components}
+ \endlist
+ \li \l{Motion Design}
+ \list
+ \li \l{Introduction to Animation Techniques}
+ \li \l{Creating Animations}
+ \li \l{Editing Easing Curves}
+ \endlist
\li \l {Browsing ISO 7000 Icons}
- \li \l {Using QML Modules with Plugins}
\li \l {Converting UI Projects to Applications}
- \li \l {Exporting Components}
\endlist
\li \l{Developing Widget Based Applications}
\list
\li \l{Adding Qt Designer Plugins}
\endlist
- \li \l {Best Practices}
- \list
- \li \l{Optimizing Applications for Mobile Devices}
- \endlist
+ \li \l{Optimizing Applications for Mobile Devices}
\endlist
\li \l{Coding}
\list
@@ -247,7 +235,7 @@
\endlist
\li \l{Building and Running}
\list
- \li \l{Previewing}
+ \li \l{Validating with Target Hardware}
\list
\li \l{Previewing on Desktop}
\li \l{Previewing on Devices}
diff --git a/doc/qtcreator/src/qtcreator.qdoc b/doc/qtcreator/src/qtcreator.qdoc
index dd2798fb7d6..9492de89225 100644
--- a/doc/qtcreator/src/qtcreator.qdoc
+++ b/doc/qtcreator/src/qtcreator.qdoc
@@ -96,7 +96,7 @@
\row
\li \b {\l{Building and Running}}
\list
- \li \l{Previewing}
+ \li \l{Validating with Target Hardware}
\li \l{Building for Multiple Platforms}
\li \l{Running on Multiple Platforms}
\li \l{Deploying to Devices}
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-development.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-development.qdoc
index c8f02215299..ee038bcd218 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-development.qdoc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-development.qdoc
@@ -49,17 +49,26 @@
\li \l {Wireframing}
- Qt Quick enables you to build UIs around the behavior of
- \e components and how they connect with one another. You
- create components using Qt Quick and QML types that are
- available in the Design mode, manage their relationships,
- and specify their properties.
+ Plan your UI properly. Know what elements, such as screens,
+ components, and states, you need. Create a descriptive wireframe
+ and acquire a detailed UI specification before you start to make
+ the process of creating the UI more efficient.
- \li \l {Adding Dynamics}
+ \li \l {Prototyping}
- You can animate the properties of UI components and create
- connections between them to enable them to communicate with
- each other.
+ After your UI wireframe has been approved, you can turn it into
+ an interactive prototype to ensure that you and the developers
+ share a common vision about the UI appearance and functionality.
+
+ \li \l{Motion Design}
+
+ After the wireframing and prototyping phases, you can use the
+ supported motion design techniques to fine-tune your UI for
+ production. You can use different animation techniques for
+ different purposes. \QC supports common motion design techniques,
+ such as timeline and keyframe based animation and easing curves,
+ as well as screen-to-screen or state-to-state application flows
+ and data-driven UI logic animation.
\endlist
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-connection-editor-backend.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-connection-editor-backend.qdoc
index 7af5a6ea8dd..afd9d07e584 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-connection-editor-backend.qdoc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-connection-editor-backend.qdoc
@@ -24,7 +24,7 @@
****************************************************************************/
/*!
- \previouspage quick-property-bindings.html
+ \previouspage quick-dynamic-properties.html
\page quick-connections-backend.html
\nextpage quick-states.html
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-iso-icon-browser.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-iso-icon-browser.qdoc
index 4939494504b..48dbe68617e 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-iso-icon-browser.qdoc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-iso-icon-browser.qdoc
@@ -26,7 +26,7 @@
/*!
\page qtquick-iso-icon-browser.html
\previouspage studio-3d-scene-environment.html
- \nextpage creator-qml-modules-with-plugins.html
+ \nextpage quick-converting-ui-projects.html
\title Browsing ISO 7000 Icons
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-states-scxml.qdocinc b/doc/qtcreator/src/qtquick/creator-only/qtquick-states-scxml.qdocinc
index 9cd23d6d0b7..1c85738d98b 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-states-scxml.qdocinc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-states-scxml.qdocinc
@@ -39,9 +39,10 @@
\image qmldesigner-states-when-condition.png
- If you add animation to the states, you can \l{Previewing}{preview}
- or \l{Running on Multiple Platforms}{run} the application to test
- the animation.
+ If you add animation to the states, you can
+ \l{Validating with Target Hardware}{preview}
+ or \l{Running on Multiple Platforms}{run}
+ the application to test the animation.
//! [scxml state machines]
*/
diff --git a/doc/qtcreator/src/qtquick/qt-design-viewer.qdoc b/doc/qtcreator/src/qtquick/qt-design-viewer.qdoc
index cdc8891b56e..ab23eb15810 100644
--- a/doc/qtcreator/src/qtquick/qt-design-viewer.qdoc
+++ b/doc/qtcreator/src/qtquick/qt-design-viewer.qdoc
@@ -27,7 +27,7 @@
\previouspage creator-live-preview-devices.html
\page qt-design-viewer.html
\if defined(qtdesignstudio)
- \nextpage studio-advanced.html
+ \nextpage studio-exporting-and-importing.html
\else
\nextpage creator-building-targets.html
\endif
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-simulation-overview.qdoc b/doc/qtcreator/src/qtquick/qtdesignstudio-simulation-overview.qdoc
similarity index 87%
rename from doc/qtdesignstudio/src/qtdesignstudio-simulation-overview.qdoc
rename to doc/qtcreator/src/qtquick/qtdesignstudio-simulation-overview.qdoc
index c32d5baaa52..e5899fe3de9 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-simulation-overview.qdoc
+++ b/doc/qtcreator/src/qtquick/qtdesignstudio-simulation-overview.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2020 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Design Studio documentation.
@@ -25,16 +25,19 @@
/*!
\page studio-simulation-overview.html
- \previouspage creator-editor-options-text.html
+ \previouspage qtquick-creating-ui-logic.html
\nextpage qtquick-placeholder-data.html
- \title Simulating Data Input
+ \title Simulating Complex Experiences
\QDS enables you to connect UIs to different forms of data from various
sources, such as QML-based data models, JavaScript files, and backend
- services. You can also connect your UI to Simulink to load live data from a
+ services.
+ \if definded(qtdesignstudio)
+ You can also connect your UI to Simulink to load live data from a
Simulink simulation.
+ \endif
\list
\li \l{Loading Placeholder Data}
@@ -43,6 +46,7 @@
you can test grid, list, or path views, even though you don't
have access to real data.
+ \if defined(qtdesignstudio)
\li \l{Simulating Application Logic}
You can use JavaScript to generate mock data for your UI.
@@ -52,6 +56,7 @@
Use the Simulink connector to connect a Simulink Simulation Model to
your UI. Simulink is a MATLAB-based graphical programming environment
for modeling, simulating, and analyzing multi-domain dynamic systems.
+ \endif
\li \l{Using QML Modules with Plugins}
diff --git a/doc/qtcreator/src/qtquick/qtquick-adding-dynamics.qdoc b/doc/qtcreator/src/qtquick/qtquick-adding-dynamics.qdoc
index 6d3c47ff2e6..274c205c60b 100644
--- a/doc/qtcreator/src/qtquick/qtquick-adding-dynamics.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-adding-dynamics.qdoc
@@ -25,22 +25,16 @@
/*!
\page qtquick-adding-dynamics.html
- \previouspage creator-quick-ui-forms.html
- \nextpage studio-timeline.html
+ \previouspage creator-qml-modules-with-plugins.html
+ \nextpage qmldesigner-connections.html
- \title Adding Dynamics
+ \title Dynamic Behaviors
- You can animate the properties of UI components and create connections
- between them to enable them to communicate with each other.
+ Create connections between components to enable them to communicate with
+ each other. The connections can be triggered by signals that are emitted
+ when the values of other components or the UI state change.
\list
- \li \l {Creating Animations}
-
- You can use a timeline and keyframe based editor in the
- \uicontrol Timeline view to animate the properties of UI
- components. Animating properties enables their values to
- move through intermediate values at specified keyframes
- instead of immediately changing to the target value.
\li \l {Adding Connections}
You can create connections between the UI components and
diff --git a/doc/qtcreator/src/qtquick/qtquick-animation-overview.qdoc b/doc/qtcreator/src/qtquick/qtquick-animation-overview.qdoc
index 0a1e0cb3abc..638cbce6ce6 100644
--- a/doc/qtcreator/src/qtquick/qtquick-animation-overview.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-animation-overview.qdoc
@@ -202,7 +202,7 @@
decreased from the backend, it moves the needle animation from one
end of the timeline to the other.
- For more information, see \l{Simulating Data Input}.
+ For more information, see \l{Simulating Complex Experiences}.
\section2 Programmatic Animation
diff --git a/doc/qtcreator/src/qtquick/qtquick-annotations.qdoc b/doc/qtcreator/src/qtquick/qtquick-annotations.qdoc
index 136b292d7e4..79bc0f1e774 100644
--- a/doc/qtcreator/src/qtquick/qtquick-annotations.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-annotations.qdoc
@@ -27,10 +27,11 @@
\page qtquick-annotations.html
\if defined(qtdesignstudio)
\previouspage qtquick-positioning.html
+ \nextpage qtquick-prototyping.html
\else
\previouspage qtquick-fonts.html
+ \nextpage qtquick-ui-forms.html
\endif
- \nextpage qtquick-placeholder-data.html
\title Annotating Designs
diff --git a/doc/qtcreator/src/qtquick/qtquick-components.qdoc b/doc/qtcreator/src/qtquick/qtquick-components.qdoc
index 0ea771d54a2..d41d4d0bd38 100644
--- a/doc/qtcreator/src/qtquick/qtquick-components.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-components.qdoc
@@ -90,10 +90,10 @@
instead of duplicating them, so the components do not need to be
processed as completely new component types. This reduces loading
and compilation time as well as the size of the binary.
- \li Any content that is data-driven should be
- \l {Using UI Files}{exported as a public property} of the
- relevant component. For example, a speedometer should have an \c int
- or \c real property for speed to which the UI is bound.
+ \li Any content that is data-driven should be exported as a public
+ property (alias property) of the relevant component. For example,
+ a speedometer should have an \c int or \c real property for speed
+ to which the UI is bound.
\li Separate UI from the application logic. Designers should work with
the \l{UI Files}{UI files} (.ui.qml), while developers should work
on the corresponding implementation files (.qml) to define their
diff --git a/doc/qtcreator/src/qtquick/qtquick-connection-editor.qdoc b/doc/qtcreator/src/qtquick/qtquick-connection-editor.qdoc
index 2c3d6a15f15..62c9bdb5439 100644
--- a/doc/qtcreator/src/qtquick/qtquick-connection-editor.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-connection-editor.qdoc
@@ -24,8 +24,8 @@
****************************************************************************/
/*!
- \previouspage qtquick-editing-easing-curves.html
\page qmldesigner-connections.html
+ \previouspage qtquick-adding-dynamics.html
\nextpage quick-signals.html
\title Adding Connections
diff --git a/doc/qtcreator/src/qtquick/qtquick-designer.qdoc b/doc/qtcreator/src/qtquick/qtquick-designer.qdoc
index df88e5473ae..fed9a25ca26 100644
--- a/doc/qtcreator/src/qtquick/qtquick-designer.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-designer.qdoc
@@ -188,7 +188,7 @@
or the entire UI. The changes you make to the UI are instantly
visible to you in the preview.
\li \key Alt+P (\key Opt+P on \macos)
- \li \l{Previewing}
+ \li \l{Validating with Target Hardware}
\row
\li Preview size
\li Displays the size of the preview dialog as a percentage. You can
diff --git a/doc/qtcreator/src/qtquick/qtquick-export.qdoc b/doc/qtcreator/src/qtquick/qtquick-export.qdoc
index e9c305c8c4c..2aed8fea62d 100644
--- a/doc/qtcreator/src/qtquick/qtquick-export.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-export.qdoc
@@ -25,13 +25,8 @@
/*!
\page creator-exporting-qml.html
- \if defined(qtdesignstudio)
\previouspage studio-importing-3d.html
- \nextpage quick-uis.html
- \else
- \previouspage quick-converting-ui-projects.html
- \nextpage creator-using-qt-designer.html
- \endif
+ \nextpage qtquick-motion-design.html
\title Exporting Components
diff --git a/doc/qtcreator/src/qtquick/qtquick-fonts.qdoc b/doc/qtcreator/src/qtquick/qtquick-fonts.qdoc
index 02a2a044dbd..41a17fc6234 100644
--- a/doc/qtcreator/src/qtquick/qtquick-fonts.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-fonts.qdoc
@@ -24,9 +24,14 @@
****************************************************************************/
/*!
- \previouspage qtquick-positioning.html
\page qtquick-fonts.html
+ \if defined{qtdesignstudio}
+ \previouspage studio-importing-2d.html
+ \nextpage studio-importing-3d.html
+ \else
+ \previouspage qtquick-positioning.html
\nextpage qtquick-annotations.html
+ \endif
\title Using Custom Fonts
diff --git a/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc b/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc
index 6b2a6fc224c..495629ab899 100644
--- a/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc
@@ -26,11 +26,12 @@
/*!
\page quick-converting-ui-projects.html
\if defined(qtdesignstudio)
- \previouspage studio-importing-3d.html
+ \previouspage creator-vcs-git.html
+ \nextpage creator-editor-external.html
\else
- \previouspage creator-qml-modules-with-plugins.html
+ \previouspage qtquick-iso-icon-browser.html
+ \nextpage creator-using-qt-designer.html
\endif
- \nextpage creator-exporting-qml.html
\title Converting UI Projects to Applications
diff --git a/doc/qtcreator/src/qtquick/qtquick-live-preview.qdoc b/doc/qtcreator/src/qtquick/qtquick-live-preview.qdoc
index 6d1b2d8726c..f6577915c94 100644
--- a/doc/qtcreator/src/qtquick/qtquick-live-preview.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-live-preview.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Design Studio documentation.
@@ -24,17 +24,13 @@
****************************************************************************/
/*!
- \if defined(qtdesignstudio)
- \previouspage studio-3d-camera.html
- \else
- \previouspage creator-building-running.html
- \endif
\page creator-live-preview.html
+ \previouspage quick-states.html
\nextpage creator-live-preview-desktop.html
- \title Previewing
+ \title Validating with Target Hardware
- You can use the QML live preview to preview a QML file or the entire
+ You can use the live preview feature to preview a UI file or the entire
UI on the desktop, as well as on Android and embedded Linux
devices. The changes you make to the UI are instantly visible
to you in the preview.
diff --git a/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc b/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc
index ba92923c96b..31b69054fad 100644
--- a/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc
@@ -33,11 +33,10 @@
\page creator-qml-modules-with-plugins.html
\if defined(qtdesignstudio)
\previouspage studio-simulink.html
- \nextpage studio-debugging.html
\else
- \previouspage qtquick-iso-icon-browser.html
- \nextpage quick-converting-ui-projects.html
+ \previouspage qtquick-placeholder-data.html
\endif
+ \nextpage qtquick-adding-dynamics.html
\title Using QML Modules with Plugins
diff --git a/doc/qtcreator/src/qtquick/qtquick-motion-design.qdoc b/doc/qtcreator/src/qtquick/qtquick-motion-design.qdoc
index 0f15aeed24a..9d68b374bbc 100644
--- a/doc/qtcreator/src/qtquick/qtquick-motion-design.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-motion-design.qdoc
@@ -25,6 +25,7 @@
/*!
\page qtquick-motion-design.html
+ \previouspage creator-exporting-qml.html
\nextpage quick-animation-overview.html
\title Motion Design
@@ -39,6 +40,14 @@
Learn more about which animation techniques are supported by \QDS
and the use cases they are most suitable for.
+
+ \li \l {Creating Animations}
+
+ You can use a timeline and keyframe based editor in the
+ \uicontrol Timeline view to animate the properties of UI
+ components. Animating properties enables their values to
+ move through intermediate values at specified keyframes
+ instead of immediately changing to the target value.
\li Production Quality (TODO)
After the wireframing and prototyping phases, you can use the
diff --git a/doc/qtcreator/src/qtquick/qtquick-placeholder-data.qdoc b/doc/qtcreator/src/qtquick/qtquick-placeholder-data.qdoc
index c3133fd0b86..e684cfda634 100644
--- a/doc/qtcreator/src/qtquick/qtquick-placeholder-data.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-placeholder-data.qdoc
@@ -25,12 +25,12 @@
/*!
\page qtquick-placeholder-data.html
- \if defined(qtdesignstudio)
+
\previouspage studio-simulation-overview.html
+ \if defined(qtdesignstudio)
\nextpage studio-javascript.html
\else
- \previouspage qtquick-annotations.html
- \nextpage creator-quick-ui-forms.html
+ \nextpage creator-qml-modules-with-plugins.html
\endif
\title Loading Placeholder Data
diff --git a/doc/qtcreator/src/qtquick/qtquick-prototyping.qdoc b/doc/qtcreator/src/qtquick/qtquick-prototyping.qdoc
new file mode 100644
index 00000000000..1e9c7840009
--- /dev/null
+++ b/doc/qtcreator/src/qtquick/qtquick-prototyping.qdoc
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Design Studio documentation.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+**
+****************************************************************************/
+
+/*!
+ \page qtquick-prototyping.html
+ \if defined(qtdesignstudio)
+ \previouspage qtquick-annotations.html
+ \else
+ \previouspage creator-quick-ui-forms.html
+ \endif
+ \nextpage qtquick-creating-ui-logic.html
+
+ \title Prototyping
+
+ \table
+ \row
+ \li \image studio-3d-scenes.png
+ \li After your UI wireframe has been approved, you can turn it
+ into an interactive prototype to ensure that you and the
+ developers share a common vision about the UI appearance
+ and functionality. You can create the UI logic to simulate
+ complex experiences and add dynamic behavior. You can then
+ validate your design on desktop, embedded, and mobile device
+ platforms. In the prototyping phase, you can also import
+ assets from 2D and 3D content creation tools to bring your
+ prototype closer to the final UI.
+ \endtable
+
+ \list
+
+ \li \l {Creating UI Logic}
+
+ You can turn your wireframe into an interactive prototype by
+ adding the logic that enables your components to apply actions
+ or react to mock data from backend systems to simulate complex
+ experiences.
+ \li \l{Simulating Complex Experiences}
+
+ You can connect UIs to different forms of data from various
+ sources, such as QML-based data models, JavaScript files, and
+ backend services.
+ \if defined(qtdesignstudio)
+ You can also connect your UI to Simulink to load live data from
+ a Simulink simulation.
+ \endif
+
+ \li \l {Dynamic Behaviors}
+
+ You can create connections between components to enable them to
+ communicate with each other. The connections can be triggered by
+ changes in component property values or in UI states.
+
+ \if defined(qtdesignstudio)
+ \li \l {Validating with Target Hardware}
+
+ You can use the live preview feature to preview a UI file or the
+ entire UI on the desktop, as well as on Android and embedded Linux
+ devices. The changes you make to the UI are instantly visible
+ to you in the preview.
+
+ \li \l {Asset Creation with Other Tools}
+
+ Describes how to export designs containing 2D and 3D assets into
+ files that you can import to projects in \QDS, how to import them,
+ and how to export them from \QDS back to the metadata format.
+
+ \else
+ \li \l {Exporting 3D Assets}
+
+ You can export assets from 3D graphics applications into several
+ widely-used formats, such as .blend, .dae, .fbx, .glb, .gltf, .obj,
+ .uia, or .uip.
+
+ \li \l {Importing 3D Assets}
+
+ You can import exported assets into \QC. For a list of formats
+ supported by each \l{Qt Quick 3D} version, see the module
+ documentation.
+
+ \li \l {Exporting Components}
+
+ You can export components contained in \l{UI Files}{UI files}
+ (.ui.qml) to JSON metadata format and PNG assets.
+ \endif
+
+ \endlist
+*/
diff --git a/doc/qtcreator/src/qtquick/qtquick-states.qdoc b/doc/qtcreator/src/qtquick/qtquick-states.qdoc
index 6267acb0717..f02e150a874 100644
--- a/doc/qtcreator/src/qtquick/qtquick-states.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-states.qdoc
@@ -26,10 +26,10 @@
/*!
\page quick-states.html
\if defined(qtdesignstudio)
- \previouspage quick-property-bindings.html
+ \previouspage quick-dynamic-properties.html
\nextpage creator-live-preview.html
\else
- \previouspage qtbridge-figma-using.html
+ \previouspage quick-connections-backend.html
\nextpage exporting-3d-assets.html
\endif
diff --git a/doc/qtcreator/src/qtquick/qtquick-ui-forms.qdoc b/doc/qtcreator/src/qtquick/qtquick-ui-forms.qdoc
index 6481f6bb022..16bcb47ea13 100644
--- a/doc/qtcreator/src/qtquick/qtquick-ui-forms.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-ui-forms.qdoc
@@ -33,10 +33,11 @@
\page creator-quick-ui-forms.html
\if defined(qtdesignstudio)
\previouspage qtquick-annotations.html
+ \nextpage creator-telemetry.html
\else
- \previouspage qtquick-placeholder-data.html
+ \previouspage qtquick-annotations.html
+ \nextpage qtquick-prototyping.html
\endif
- \nextpage qtquick-adding-dynamics.html
\title UI Files
diff --git a/doc/qtdesignstudio/examples/doc/progressbar.qdoc b/doc/qtdesignstudio/examples/doc/progressbar.qdoc
index 27042f72ea0..ddfc9c69eca 100644
--- a/doc/qtdesignstudio/examples/doc/progressbar.qdoc
+++ b/doc/qtdesignstudio/examples/doc/progressbar.qdoc
@@ -216,7 +216,8 @@
100. When all our progress bar instances have been animated, we'll continue
by specifying easing curves for them.
- For more information about previewing UIs, see \l {Previewing}.
+ For more information about previewing UIs, see
+ \l {Validating with Target Hardware}.
\section1 Specifying Easing Curves
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc
index da7748a9a8b..db4800d66a6 100644
--- a/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc
@@ -24,7 +24,7 @@
****************************************************************************/
/*!
- \previouspage studio-getting-started.html
+ \previouspage studio-exporting-and-importing.html
\page qtbridge-overview.html
\nextpage qtbridge-ai.html
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc
index 67d5db7276d..9f7ef447a8f 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc
@@ -43,15 +43,13 @@
it mainly from the keyboard.
\list
- \li \l{Supported Platforms}
- You can install and run \QC on several operating systems to design
- UIs for multiple desktop, embedded, and mobile device platforms.
\li \l{UI Files}
Some of the wizards create projects that contain UI files
(.ui.qml). You should always edit UI files in \l{Form Editor}
and \l Properties, to avoid breaking the code.
+
\li \l{Coding}
You can use the code editor in the \uicontrol {Text Editor} view or
@@ -59,12 +57,6 @@
the QML language as code, not just as plain text. This enables it
to provide you with useful features, such as semantic highlighting,
checking code syntax, code completion, and refactoring actions.
- \li \l{Simulating Data Input}
-
- \QDS enables you to connect UIs to different forms of data from various
- sources, such as QML-based data models, JavaScript files, and backend
- services. You can also connect your UI to Simulink to load live data from a
- Simulink simulation.
\li \l{Debugging and Profiling}
\QDS comes with a JavaScript debugger. In the Debug mode, you
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-exporting-and-importing.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-exporting-and-importing.qdoc
index e9b50c79a9d..f40e9ad6aeb 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-exporting-and-importing.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-exporting-and-importing.qdoc
@@ -24,11 +24,11 @@
****************************************************************************/
/*!
- \previouspage studio-getting-started.html
+ \previouspage qt-design-viewer.html
\page studio-exporting-and-importing.html
\nextpage qtbridge-overview.html
- \title Exporting and Importing
+ \title Asset Creation with Other Tools
Typically, you as a designer would design a UI using imaging and design
tools, such as Adobe Photoshop, Sketch, Figma, Blender, or Maya, and then
@@ -66,8 +66,8 @@
\li Animate your design in \l {Transition Editor} or \l Timeline
and \l {Curve Editor}.
\li Create interactions in \l States and \l {Connection View}.
- \li \l{Previewing}{Preview} your design in real time, on the desktop
- or on a mobile or an embedded device.
+ \li \l{Validating with Target Hardware}{Preview} your design in
+ real time, on the desktop or on a mobile or an embedded device.
\li Optionally, export your components back into the metadata format
that you can import back into the design tool by using \QB. You
can continue to iterate your design this way until it is ready.
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-help-overview.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-help-overview.qdoc
index decfeac83e4..4185c6ed527 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-help-overview.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-help-overview.qdoc
@@ -43,8 +43,10 @@
Contains answers to some frequently asked questions about \QDS.
+ \li \l{Supported Platforms}
+ You can install and run \QC on several operating systems to design
+ UIs for multiple desktop, embedded, and mobile device platforms.
\endlist
-
*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc
index 3e7e65f753b..e44a9952a2a 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc
@@ -26,7 +26,7 @@
/*!
\previouspage studio-importing-designs.html
\page studio-importing-2d.html
- \nextpage studio-importing-3d.html
+ \nextpage qtquick-fonts.html
\title Importing 2D Assets
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc
index 98642453836..c93df2a20ef 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc
@@ -60,7 +60,7 @@
Because the projects do not contain any C++ code, you do not need
to build them. To test how well your designs work, you can preview the
UIs on the desktop or embedded Linux devices. For more
- information, see \l{Previewing}.
+ information, see \l{Validating with Target Hardware}.
\image studio-project-wizards.png "A list of project wizards"
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
index 3250d6d73ab..da5b29fca83 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
@@ -111,22 +111,18 @@
\li \l{Scalable Layouts}
\li \l{Annotating Designs}
\endlist
- \li \l{Prototyping} (NEW)
+ \li \l{Prototyping}
\list
- \li Creating UI Logic
- \li \l{Simulating Data Input}{Simulating Complex Experiences}
+ \li \l{Creating UI Logic}
+ \li \l{Simulating Complex Experiences}
\list
\li \l{Loading Placeholder Data}
\li \l{Simulating Application Logic}
\li \l{Simulating Dynamic Systems}
\li \l{Using QML Modules with Plugins}
\endlist
- \li \l{Adding Dynamics}{Dynamic Behaviors}
+ \li \l{Dynamic Behaviors}
\list
- \li \l{Creating Animations}
- \list
- \li \l{Editing Easing Curves}
- \endlist
\li \l{Adding Connections}
\list
\li\l{Connecting Components to Signals}
@@ -135,34 +131,34 @@
\endlist
\li \l{Adding States}
\endlist
- \li \l{Previewing}{Validating with Target Hardware}
+ \li \l{Validating with Target Hardware}
\list
\li \l{Previewing on Desktop}
\li \l{Previewing on Devices}
\li \l{Previewing in Browsers}
\endlist
- \li \l {Exporting and Importing}{Asset Creation with Other Tools}
+ \li \l {Asset Creation with Other Tools}
\list
\li \l{Exporting from Design Tools}
\li \l{Exporting 2D Assets} (NEW)
- \list
- \li \l{Exporting Designs from Adobe Illustrator}
- \li \l{Exporting Designs from Adobe Photoshop}
- \list
- \li \l{Setting Up Qt Bridge for Adobe Photoshop}
- \li \l{Using Qt Bridge for Adobe Photoshop}
- \endlist
- \li \l{Exporting Designs from Sketch}
- \list
- \li \l{Setting Up Qt Bridge for Sketch}
- \li \l{Using Qt Bridge for Sketch}
- \endlist
- \li \l{Exporting Designs from Figma}
- \list
- \li \l{Setting Up Qt Bridge for Figma}
- \li \l{Using Qt Bridge for Figma}
- \endlist
- \endlist
+ \list
+ \li \l{Exporting Designs from Adobe Illustrator}
+ \li \l{Exporting Designs from Adobe Photoshop}
+ \list
+ \li \l{Setting Up Qt Bridge for Adobe Photoshop}
+ \li \l{Using Qt Bridge for Adobe Photoshop}
+ \endlist
+ \li \l{Exporting Designs from Sketch}
+ \list
+ \li \l{Setting Up Qt Bridge for Sketch}
+ \li \l{Using Qt Bridge for Sketch}
+ \endlist
+ \li \l{Exporting Designs from Figma}
+ \list
+ \li \l{Setting Up Qt Bridge for Figma}
+ \li \l{Using Qt Bridge for Figma}
+ \endlist
+ \endlist
\li \l {Exporting 3D Assets}
\list
\li \l{Exporting from Blender}
@@ -178,12 +174,13 @@
\li \l{Importing 3D Assets}
\endlist
\li \l{Exporting Components}
- \li \l{To and from Qt Creator} (designer-developer workflow)
\endlist
\endlist
\li \l{Motion Design}
\list
\li \l{Introduction to Animation Techniques}
+ \li \l{Creating Animations}
+ \li \l{Editing Easing Curves}
\li \l{Production Quality} (NEW)
\list
\li \l{Detailed Motion Design} (NEW)
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-use-cases.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-use-cases.qdoc
index c1633162522..dac2526ed0a 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-use-cases.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-use-cases.qdoc
@@ -61,7 +61,7 @@
\row
\li \l{Wireframing}
\li \l{Prototyping}
- \li \l{Exporting and Importing}
+ \li \l{Asset Creation with Other Tools}
\li \l{Implementing Applications}
\endtable
*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio.qdoc b/doc/qtdesignstudio/src/qtdesignstudio.qdoc
index 963c446eb03..1761fe504ce 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio.qdoc
@@ -63,19 +63,21 @@
\li \l{Scalable Layouts}
\li \l{Annotating Designs}
\endlist
- \li \b {\l{Prototyping}} (NEW)
+ \li \b {\l{Prototyping}}
\list
- \li Creating UI Logic
- \li \l{Simulating Data Input}{Simulating Complex Experiences}
- \li \l{Adding Dynamics}{Dynamic Behaviors}
- \li \l{Previewing}{Validating with Target Hardware}
- \li \l{Exporting and Importing}{Asset Creation with Other Tools}
+ \li \l{Creating UI Logic}
+ \li \l{Simulating Complex Experiences}
+ \li \l{Dynamic Behaviors}
+ \li \l{Validating with Target Hardware}
+ \li \l{Asset Creation with Other Tools}
\endlist
\li \b {\l{Motion Design}}
\list
\li \l{Introduction to Animation Techniques}
+ \li \l{Creating Animations}
+ \li \l{Editing Easing Curves}
\li \l{Production Quality} (NEW)
- \li \l{Importing for Content Creation Tools}
+ \li \l{Importing from Content Creation Tools}
\li \l{Optimizing for Target Hardware} (NEW)
\endlist
\row
@@ -112,7 +114,7 @@
\row
\li {4,1} \note To report bugs and suggestions to the
\l{https://bugreports.qt.io/}{Qt Project Bug Tracker},
- select \uicontrol {Help > Report Bug} in QDS.
+ select \uicontrol {Help > Report Bug} in \QDS.
To copy and paste detailed information about your system to the
bug report, select \uicontrol Help >
\uicontrol {System Information}.
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-3d-assets.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-3d-assets.qdoc
index 68ab76c6559..c96480bfc34 100644
--- a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-3d-assets.qdoc
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-3d-assets.qdoc
@@ -29,7 +29,7 @@
/*!
\page exporting-3d-assets.html
\if defined(qtdesignstudio)
- \previouspage
+ \previouspage figmaqtbridge.html
\else
\previouspage quick-states.html
\endif
@@ -37,6 +37,17 @@
\title Exporting 3D Assets
+ \if defined(qtcreator)
+ \table
+ \row
+ \li \inlineimage blender-logo.png
+ \li \inlineimage maya-logo.png
+ \row
+ \li \l{Exporting from Blender}{Blender}
+ \li \l{Exporting from Maya}{Maya}
+ \endtable
+ \endif
+
You can import files you created using 3D graphics applications and exported
to 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}
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-qt3ds.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-qt3ds.qdoc
index 29ef5c54068..96ecbb8b0d3 100644
--- a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-qt3ds.qdoc
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-qt3ds.qdoc
@@ -28,7 +28,12 @@
/*!
\page exporting-from-qt3ds.html
\previouspage exporting-from-maya.html
+ \if defined(qtdesignstudio)
\nextpage studio-importing-designs.html
+ \else
+ \nextpage studio-importing-3d.html
+ \endif
+
\title Exporting from Qt 3D Studio
Use the following guidelines to achieve the best results when converting
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-importing.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-importing.qdoc
index 06d8cf804a7..624d7f5ecb9 100644
--- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-importing.qdoc
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-importing.qdoc
@@ -26,12 +26,11 @@
/*!
\page studio-importing-3d.html
\if defined(qtdesignstudio)
- \previouspage studio-importing-2d.html
- \nextpage creator-exporting-qml.html
+ \previouspage qtquick-fonts.html
\else
\previouspage exporting-from-maya.html
- \nextpage studio-3d-view.html
\endif
+ \nextpage creator-exporting-qml.html
\title Importing 3D Assets