aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeena Miettinen <riitta-leena.miettinen@qt.io>2020-01-16 16:30:39 +0100
committerLeena Miettinen <riitta-leena.miettinen@qt.io>2020-01-20 13:54:38 +0000
commit4a971127ac06fc81bc503085264ec8fecaa95bc3 (patch)
treeaa744fcc2591b14040c9be570c12e02b700dcb3f
parent11b7074170c0e2278dd8fed60cd789b5846eee81 (diff)
Doc: Add Qt Design Studio Manual sources
To build the manual, switch to qtcreator\doc\qtdesignstudiodoc, run qmake, and then "make docs". The example documentation does not get built with this change. We need to decide whether to move the examples or fetch their docs from the other repository. Task-number: QDS-1487 Change-Id: Ic0a8c15b226eba8ac90686953568f3deaa000fb0 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
-rw-r--r--doc/qtdesignstudio/README.md156
-rw-r--r--doc/qtdesignstudio/config/html-online.qdocconf2
-rw-r--r--doc/qtdesignstudio/config/license.qdocconf4
-rw-r--r--doc/qtdesignstudio/config/qtdesignstudio.qdocconf120
-rw-r--r--doc/qtdesignstudio/config/style/qt5-sidebar.html18
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-align-buttons.pngbin0 -> 101822 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-binding-editor.pngbin0 -> 10132 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-breadcrumb-bar.pngbin0 -> 20872 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-button-styled.pngbin0 -> 129971 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-button.pngbin0 -> 124950 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-library.pngbin0 -> 39924 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-main-page.pngbin0 -> 131172 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-project-files.pngbin0 -> 52568 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-project.pngbin0 -> 112120 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-ready.pngbin0 -> 182426 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1-toolbar.pngbin0 -> 15203 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui1.pngbin0 -> 15572 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui2-column-properties.pngbin0 -> 32184 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui2-field-properties.pngbin0 -> 78796 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui2-imports.pngbin0 -> 29890 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui2-loginpage-ready.pngbin0 -> 185308 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui2-loginpage.pngbin0 -> 137483 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui2.pngbin0 -> 19297 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui3-base-state.pngbin0 -> 207261 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui3-connections.pngbin0 -> 8481 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui3-login-state.pngbin0 -> 13510 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui3-states.pngbin0 -> 171016 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui3-visibility.pngbin0 -> 37254 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui3.gifbin0 -> 152776 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui4-easing-curve.pngbin0 -> 116473 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui4-page.pngbin0 -> 175218 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui4-timeline-opacity.pngbin0 -> 19389 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui4-timeline-settings-states.pngbin0 -> 37312 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui4-timeline-settings.pngbin0 -> 33310 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui4-timeline.pngbin0 -> 30495 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/images/loginui4.gifbin0 -> 440484 bytes
-rw-r--r--doc/qtdesignstudio/examples/doc/loginui1.qdoc381
-rw-r--r--doc/qtdesignstudio/examples/doc/loginui2.qdoc217
-rw-r--r--doc/qtdesignstudio/examples/doc/loginui3.qdoc274
-rw-r--r--doc/qtdesignstudio/examples/doc/loginui4.qdoc322
-rw-r--r--doc/qtdesignstudio/examples/loginui1/PushButton.ui.qml117
-rw-r--r--doc/qtdesignstudio/examples/loginui1/Screen01.ui.qml96
-rw-r--r--doc/qtdesignstudio/examples/loginui1/imports/loginui1/Constants.qml69
-rw-r--r--doc/qtdesignstudio/examples/loginui1/imports/loginui1/qmldir1
-rw-r--r--doc/qtdesignstudio/examples/loginui1/loginui1.qml60
-rw-r--r--doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject41
-rw-r--r--doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject.qtds118
-rw-r--r--doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject.qtds.4.10-pre1118
-rw-r--r--doc/qtdesignstudio/examples/loginui1/qt_logo_green_64x64px.pngbin0 -> 1077 bytes
-rw-r--r--doc/qtdesignstudio/examples/loginui1/qtquickcontrols2.conf6
-rw-r--r--doc/qtdesignstudio/examples/loginui2/PushButton.ui.qml117
-rw-r--r--doc/qtdesignstudio/examples/loginui2/Screen01.ui.qml133
-rw-r--r--doc/qtdesignstudio/examples/loginui2/imports/loginui2/Constants.qml76
-rw-r--r--doc/qtdesignstudio/examples/loginui2/imports/loginui2/qmldir1
-rw-r--r--doc/qtdesignstudio/examples/loginui2/loginui2.qml62
-rw-r--r--doc/qtdesignstudio/examples/loginui2/loginui2.qmlproject41
-rw-r--r--doc/qtdesignstudio/examples/loginui2/loginui2.qmlproject.qtds118
-rw-r--r--doc/qtdesignstudio/examples/loginui2/qt_logo_green_64x64px.pngbin0 -> 1077 bytes
-rw-r--r--doc/qtdesignstudio/examples/loginui2/qtquickcontrols2.conf6
-rw-r--r--doc/qtdesignstudio/examples/loginui3/PushButton.ui.qml115
-rw-r--r--doc/qtdesignstudio/examples/loginui3/Screen01.ui.qml193
-rw-r--r--doc/qtdesignstudio/examples/loginui3/imports/loginui3/Constants.qml76
-rw-r--r--doc/qtdesignstudio/examples/loginui3/imports/loginui3/qmldir1
-rw-r--r--doc/qtdesignstudio/examples/loginui3/loginui3.qml67
-rw-r--r--doc/qtdesignstudio/examples/loginui3/loginui3.qmlproject41
-rw-r--r--doc/qtdesignstudio/examples/loginui3/loginui3.qmlproject.qtds118
-rw-r--r--doc/qtdesignstudio/examples/loginui3/qt_logo_green_64x64px.pngbin0 -> 1077 bytes
-rw-r--r--doc/qtdesignstudio/examples/loginui3/qtquickcontrols2.conf6
-rw-r--r--doc/qtdesignstudio/examples/loginui4/PushButton.ui.qml123
-rw-r--r--doc/qtdesignstudio/examples/loginui4/Screen01.ui.qml287
-rw-r--r--doc/qtdesignstudio/examples/loginui4/imports/loginui4/Constants.qml76
-rw-r--r--doc/qtdesignstudio/examples/loginui4/imports/loginui4/qmldir1
-rw-r--r--doc/qtdesignstudio/examples/loginui4/loginui4.qml67
-rw-r--r--doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject41
-rw-r--r--doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject.qtds118
-rw-r--r--doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject.qtds.4.10-pre1118
-rw-r--r--doc/qtdesignstudio/examples/loginui4/qt_logo_green_64x64px.pngbin0 -> 1077 bytes
-rw-r--r--doc/qtdesignstudio/examples/loginui4/qtquickcontrols2.conf6
-rw-r--r--doc/qtdesignstudio/images/area-light.pngbin0 -> 14374 bytes
-rw-r--r--doc/qtdesignstudio/images/browse-button.pngbin0 -> 173 bytes
-rw-r--r--doc/qtdesignstudio/images/directional-light.pngbin0 -> 10823 bytes
-rw-r--r--doc/qtdesignstudio/images/iso-icon-browser.pngbin0 -> 130451 bytes
-rw-r--r--doc/qtdesignstudio/images/materials.pngbin0 -> 56035 bytes
-rw-r--r--doc/qtdesignstudio/images/maya-export-options.pngbin0 -> 39204 bytes
-rw-r--r--doc/qtdesignstudio/images/qt-bridge-override.pngbin0 -> 43087 bytes
-rw-r--r--doc/qtdesignstudio/images/qt-bridge-sanitize.pngbin0 -> 43707 bytes
-rw-r--r--doc/qtdesignstudio/images/qt-bridge-settings.pngbin0 -> 42633 bytes
-rw-r--r--doc/qtdesignstudio/images/qt-bridge.pngbin0 -> 47788 bytes
-rw-r--r--doc/qtdesignstudio/images/qt-sketch-bridge-settings.pngbin0 -> 28342 bytes
-rw-r--r--doc/qtdesignstudio/images/qt-sketch-bridge.pngbin0 -> 34365 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-3d-directional-light.pngbin0 -> 25743 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-3d-editor-move.pngbin0 -> 21034 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-3d-editor-rotate.pngbin0 -> 22978 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-3d-editor-scale.pngbin0 -> 20896 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-3d-editor.pngbin0 -> 25151 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-3d-point-light.pngbin0 -> 32931 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-3d-properties-type.pngbin0 -> 3681 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-3d-scenes.pngbin0 -> 1670 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-animation.pngbin0 -> 6060 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-arc.pngbin0 -> 131991 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-border.pngbin0 -> 121819 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-components.pngbin0 -> 3963 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-connections.pngbin0 -> 3989 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-design-mode.pngbin0 -> 75844 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-edit-mode.pngbin0 -> 49322 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-editing-3d-scenes.pngbin0 -> 74154 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-editors.pngbin0 -> 133955 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-flipable.pngbin0 -> 78933 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-group.pngbin0 -> 34034 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-gs.pngbin0 -> 1852 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-help.pngbin0 -> 1577 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-import-3d.pngbin0 -> 26618 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-import-metadata.pngbin0 -> 25757 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-imported-assets.pngbin0 -> 137428 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-kit-selector.pngbin0 -> 12263 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-live-preview.pngbin0 -> 110308 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-pie.pngbin0 -> 139769 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-preview.pngbin0 -> 3532 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-project-wizards.pngbin0 -> 33200 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-projects.pngbin0 -> 2380 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-ps-export.pngbin0 -> 139223 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-rectangle.pngbin0 -> 142015 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-run-settings.pngbin0 -> 29170 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-settings.pngbin0 -> 1945 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-sketch-export.pngbin0 -> 941319 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-triangle.pngbin0 -> 103732 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-welcome-mode.pngbin0 -> 51796 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-workflow.pngbin0 -> 49848 bytes
-rw-r--r--doc/qtdesignstudio/qtdesignstudio-online.qdocconf8
-rw-r--r--doc/qtdesignstudio/qtdesignstudio.qdocconf3
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc65
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-ps-overview.qdoc59
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-ps-setup.qdoc116
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-ps-using.qdoc258
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-overview.qdoc56
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-setup.qdoc44
-rw-r--r--doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc196
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-adding-dynamics.qdoc70
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc90
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-components.qdocinc79
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-debugging.qdoc52
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-examples.qdoc48
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-faq.qdoc40
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-fonts.qdoc55
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-getting-started.qdoc79
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-help-overview.qdoc59
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-importing-designs.qdoc177
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc152
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-platforms.qdoc55
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-projects-overview.qdoc73
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc159
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-prototyping.qdoc91
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc90
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc160
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-tutorials.qdoc53
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio-visual-effects.qdocinc104
-rw-r--r--doc/qtdesignstudio/src/qtdesignstudio.qdoc119
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-maya.qdoc57
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-camera.qdoc113
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc76
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-design-mode.qdoc88
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc176
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc165
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc229
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-model.qdoc77
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-node.qdoc82
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-scene-environment.qdoc156
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc111
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-view.qdoc54
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d.qdoc67
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-arc.qdoc350
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-border.qdoc315
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-flipable.qdoc125
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-group.qdoc67
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-iso.qdoc67
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-pie.qdoc254
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-rectangle.qdoc283
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-svgPath.qdoc212
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-triangle.qdoc287
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/qtquickdesigner-components.qdoc52
-rw-r--r--doc/qtdesignstudio/src/qtquickdesigner-components/qtquickstudiocomponents-qmlmodule.qdoc58
-rw-r--r--doc/qtdesignstudio/studiodoc.pro15
182 files changed, 10274 insertions, 0 deletions
diff --git a/doc/qtdesignstudio/README.md b/doc/qtdesignstudio/README.md
new file mode 100644
index 0000000000..74a5f5c741
--- /dev/null
+++ b/doc/qtdesignstudio/README.md
@@ -0,0 +1,156 @@
+# Writing Qt Design Studio Documentation
+
+The Qt Design Studio Manual is based on the Qt Creator Manual, with additional
+topics. When building the Qt Design Studio Manual, parts of the Qt Creator
+Manual are pulled in from Qt Creator sources. This is enabled by creating
+separate table of contents files for each Manual and by using defines
+to hide and show information depending on which Manual is being built.
+
+This readme file describes how to build the Qt Design Studio Manual and how to
+edit or add source files when necessary.
+
+## Building the Qt Design Studio Manual
+
+1. Edit qtcreator\qtcreator.pri as follows:
+ `isEmpty(IDE_DISPLAY_NAME): IDE_DISPLAY_NAME = Qt Design Studio`
+ `isEmpty(IDE_ID): IDE_ID = qtdesignstudio`
+ `isEmpty(IDE_CASED_ID): IDE_CASED_ID = QtDesignStudio`
+2. Switch to the `qtcreator\doc\qtdesignstudio` directory.
+4. Run `qmake` from Qt 5.14.0, or later
+ (because you need the Qt Timeline and Qt Quick 3D module docs)
+5. Run `make docs` on Linux and macOS or `nmake docs` on Windows.
+
+The docs are generated in `qtcreator\doc\qtdesignstudio\doc\qtdesignstudio`
+
+## Showing and Hiding Information
+
+Qt Design Studio uses only a subset of Qt Creator plugins and it has its
+own special plugins. This means that their manuals have somewhat different
+structures. Which, in turn breaks the navigation links to previous and next
+pages.
+
+This also means that some of the Qt Creator doc source files are not needed at
+all and some contain information that does not apply to the Qt Design Studio
+Manual. If QDoc parses all the Qt Creator doc sources, it would generate
+HTML files for each topic and include those files and all the images that they
+refer to in the help compilation files. This would unnecessarily increase the
+size of the help database and pollute the help index with references to files
+that are not actually listed in the table of contents of the manual. To avoid
+this, the files that are not needed are excluded from doc builds in the doc
+build configuration file.
+
+### Fixing the Navigation Links
+
+The navigation order of the topics in the Qt Design Studio Manual is specified
+in `qtcreator\doc\qtdesignstudio\src\qtdesignstudio-toc.qdoc`. The
+order of the topics in the Qt Creator Manual is specified in
+`qtcreator\doc\src\qtcreator-toc.qdoc`. If you add topics to or move them
+around in the TOC file, you must adjust the navigation links accordingly.
+
+The `qtdesignstudio` define is specified as a value of the `defines` option in
+the Qt Design Studio doc configuration file,
+`qtcreator\doc\qtdesignstudio\config\qtdesignstudio.qdocconf`. It is
+mostly used in the Qt Creator doc sources to specify values for the
+\previouspage and \nextpage commands depending on whether the Qt Design Studio
+Manual or Qt Creator Manual is being built. For example, the following if-else
+statement is needed, because the `quick-buttons.html` is excluded from the
+Qt Design Studio Manual:
+
+`\page quick-components.html`
+`\previouspage creator-using-qt-quick-designer.html`
+`\if defined(qtdesignstudio)`
+`\nextpage qtquick-navigator.html`
+`\else`
+`\nextpage quick-buttons.html`
+`\endif`
+
+### Excluding Souce Files from Builds
+
+The directories to exclude from Qt Design Studio Manual builds are listed as
+values of the `excludedirs` option in `\config\qtdesignstudio.qdocconf`.
+
+You only need to edit the values of the option if you want to show or hide all
+the contents of a directory. For example, if you add support for a Qt Creator
+plugin that was previously not supported by Qt Design Studio, you should remove
+the directory that contains the documentation for the plugin from the values.
+
+To hide or show individual topics within individual `.qdoc` files, you need to
+move the files in the Qt Creator doc source (`qtcreator\doc\src`) to or from
+excluded directories.
+
+For example, if support for iOS were added, you would need to check whether the
+information about iOS support is applicable to Qt Design Studio Manual. If yes,
+you would need to remove the following line from the `excludedirs` value:
+
+`../../src/ios \`
+
+You would then use defines to hide any Qt Creator specific information from the
+source file in the directory.
+
+If a directory contains some files that are needed in both manuals and some that
+are only needed in the Qt Creator Manual, the latter are located in a
+subdirectory called `creator-only`, which is excluded from the Qt Design Studio
+doc builds.
+
+### Hiding Text in Qt Creator Doc Sources
+
+The `qtcreator` define is specified as a value of the `defines` option in the
+Qt Creator doc configuration file,
+`qtcreator\doc\src\config\qtcreator-project.qdocconf`. It is mostly used in the
+Qt Creator doc sources to hide Qt Creator specific information when the Qt
+Design Studio Manual is built.
+
+The `\else` command is sometimes used to replace some Qt Creator specific text
+with text that applies to Qt Design Studio. For example, the following if-else
+statement is needed in the Qt Creator doc sources, because the project wizards
+in Qt Design Studio are different from those in Qt Creator, and are therefore
+described in a new topic that is located in the Qt Design Studio doc sources:
+
+`For more information, see`
+`\if defined(qtcreator)`
+`\l{Creating Qt Quick Projects}.`
+`\else`
+`\l{Creating UI Prototype Projects}.`
+`\endif`
+
+Note that titles in the two manuals can be identical only if the page is
+excluded from the Qt Design Studio Manual. In this case, QDoc can correctly
+determine the link target. If you add a link to a section title that appears
+twice in the doc source files, QDoc uses the first reference to that title
+in the `.index` file.
+
+## Writing About Qt Design Studio Specific Features
+
+Qt Design Studio specific plugins and features are described in a set of doc
+source files located in the `qtcreator\doc\qtdesignstudio\src` directory. Some
+files are used to include subsections in topics in the Qt Creator doc sources.
+
+Screenshots and other illustrations are stored in the `\qtdesignstudio\images`
+directory.
+
+### Adding Topics
+
+If you add new topics to the Qt Design Studio Manual, add links to them to the
+table of contents in `qtdesignstudio-toc.qdoc` and check the values of the
+navigation links around them.
+
+### Including Sections in Qt Creator Doc Sources
+
+Qt Quick Designer is an integral part of both Qt Creator and Qt Design Studio.
+Therefore, most topics that describe it are needed in the manuals of both tools.
+You can use the `\include` command in the Qt Creator doc sources to include
+`.qdocinc` files from the Qt Design Studio doc sources when building the
+Qt Design Studio Manual.
+
+For example, the following lines in the
+`qtcreator\doc\src\qtquick\qtquick-components.qdoc` file add information about
+creating and using Qt Design Studio Components to the `Creating Components`
+topic that is pulled from the Qt Creator doc sources:
+
+`\if defined(qtdesignstudio)`
+`\include qtdesignstudio-components.qdocinc creating studio components`
+`\include qtdesignstudio-components.qdocinc studio components`
+`\endif`
+
+Similarly, you can use include files to include subsections in different main
+level topics in the two manuals.
diff --git a/doc/qtdesignstudio/config/html-online.qdocconf b/doc/qtdesignstudio/config/html-online.qdocconf
new file mode 100644
index 0000000000..d7963a3c3d
--- /dev/null
+++ b/doc/qtdesignstudio/config/html-online.qdocconf
@@ -0,0 +1,2 @@
+HTML.prologue = \
+ "<div class=\"context qt_commercial\">\n"
diff --git a/doc/qtdesignstudio/config/license.qdocconf b/doc/qtdesignstudio/config/license.qdocconf
new file mode 100644
index 0000000000..06da694133
--- /dev/null
+++ b/doc/qtdesignstudio/config/license.qdocconf
@@ -0,0 +1,4 @@
+# Start of footer - the rest is defined in the default template
+HTML.footer = \
+ " <p class=\"qt_commercial\">Available under certain Qt licenses.<br/><a href=\"http://www.qt.io/download/\">Find out more.</a></p>\n" \
+ " </div>\n"
diff --git a/doc/qtdesignstudio/config/qtdesignstudio.qdocconf b/doc/qtdesignstudio/config/qtdesignstudio.qdocconf
new file mode 100644
index 0000000000..c27a744898
--- /dev/null
+++ b/doc/qtdesignstudio/config/qtdesignstudio.qdocconf
@@ -0,0 +1,120 @@
+project = "$IDE_DISPLAY_NAME"
+description = "$IDE_DISPLAY_NAME Manual"
+url = https://doc.qt.io/qtdesignstudio
+
+moduleheader =
+
+headerdirs =
+sourcedirs = ../src \
+ ../examples/doc \
+ ../../src
+# The image folders also need to added by packaging scripts, so inform your
+# local release team about any changes you make.
+imagedirs = ../images \
+ ../examples/doc/images \
+ ../../images \
+ ../../../plugins/qmldesigner/qmlpreviewplugin/images \
+ ../../../share/qtcreator/qml/qmlpuppet/mockfiles/images \
+ ../../../share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/images \
+ ../../../src/libs/qmleditorwidgets/images \
+ ../../../src/libs/utils/images \
+ ../../../src/plugins/debugger/images \
+ ../../../src/plugins/diffeditor/images \
+ ../../../src/plugins/help/images \
+ ../../../src/plugins/projectexplorer/images \
+ ../../../src/plugins/qmldesigner/components/componentcore/images \
+ ../../../src/plugins/qmldesigner/components/formeditor \
+ ../../../src/plugins/qmldesigner/components/navigator \
+ ../../../src/plugins/qmldesigner/components/timelineeditor/images \
+ ../../../src/plugins/qmldesigner/qmlpreviewplugin/images \
+ ../../../src/plugins/texteditor/images
+
+excludefiles += ../../src/qtcreator.qdoc \
+ ../../src/qtcreator-toc.qdoc
+
+excludedirs += ../../examples/accelbubble \
+ ../../examples/textfinder \
+ ../../examples/transitions \
+ ../../src/analyze \
+ ../../src/android \
+ ../../src/baremetal \
+ ../../src/cmake \
+ ../../src/debugger/creator-only \
+ ../../src/editors/creator-only \
+ ../../src/howto/creator-only \
+ ../../src/ios \
+ ../../src/linux-mobile \
+ ../../src/mcu \
+ ../../src/overview/creator-only \
+ ../../src/projects \
+ ../../src/qnx \
+ ../../src/qtquick/creator-only \
+ ../../src/vcs/creator-only \
+ ../../src/widgets \
+ ../../src/webassembly
+
+exampledirs = ../examples/ \
+ ../../examples
+examples.fileextensions += *.qml *.svg *.ts *.qm
+
+HTML.extraimages = ../../config/images/commercial.png
+qhp.QtCreator.extraFiles = ../../config/images/commercial.png
+
+depends += qtwidgets \
+ qtcore \
+ qtqml \
+ qtqmlmodels \
+ qtquick \
+ qmake \
+ qtdoc \
+ qtgraphicaleffects \
+ qtgui \
+ qthelp \
+ qtquick3d \
+ qtquickcontrols \
+ qtquickextras \
+ qtquicktimeline \
+ qtlinguist \
+ qtscxml \
+ qtsensors \
+ qttestlib \
+ qtuitools \
+ qtxml
+
+include(../../config/macros.qdocconf)
+include(../../config/qt-cpp-ignore.qdocconf)
+include(../../config/qt-defines.qdocconf)
+
+defines += qtdesignstudio
+
+sources.fileextensions = "*.qdoc" "*.qdocinc"
+
+#depends += qtcreator \
+# qmake
+
+qhp.projects = qtdesignstudio
+qhp.qtdesignstudio.file = qtdesignstudio.qhp
+qhp.qtdesignstudio.namespace = org.qt-project.$IDE_ID.$QTC_VERSION_TAG
+qhp.qtdesignstudio.virtualFolder = doc
+qhp.qtdesignstudio.indexTitle = $IDE_DISPLAY_NAME Manual $QTC_VERSION
+qhp.qtdesignstudio.filterAttributes = $IDE_ID $QTC_VERSION
+qhp.qtdesignstudio.customFilters.qtdesignstudio.name = $IDE_DISPLAY_NAME $QTC_VERSION
+qhp.qtdesignstudio.customFilters.qtdesignstudio.filterAttributes = $IDE_ID $QTC_VERSION
+qhp.qtdesignstudio.indexRoot =
+
+qhp.qtdesignstudio.subprojects = manual
+qhp.qtdesignstudio.subprojects.manual.title = $IDE_DISPLAY_NAME Manual
+qhp.qtdesignstudio.subprojects.manual.indexTitle = All Topics
+qhp.qtdesignstudio.subprojects.manual.type = manual
+
+
+# Doxygen compatibility commands
+macro.see = "\\sa"
+macro.function = "\\fn"
+macro.QB = "Qt Bridge"
+macro.QBPS = "Qt Bridge for Adobe Photoshop"
+macro.QBSK = "Qt Bridge for Sketch"
+macro.QDS = "Qt Design Studio"
+
+navigation.landingpage = "$IDE_DISPLAY_NAME Manual"
+buildversion = "$IDE_DISPLAY_NAME Manual $QTC_VERSION"
diff --git a/doc/qtdesignstudio/config/style/qt5-sidebar.html b/doc/qtdesignstudio/config/style/qt5-sidebar.html
new file mode 100644
index 0000000000..ea8aeab578
--- /dev/null
+++ b/doc/qtdesignstudio/config/style/qt5-sidebar.html
@@ -0,0 +1,18 @@
+<div class="sectionlist normallist">
+ <div class="heading">
+ <a name="reference"></a>
+ <h2 id="reference">Qt Design Studio Manual</h2>
+ </div>
+ <div class="indexboxcont indexboxbar">
+ <ul>
+ <li><a href="studio-getting-started.html">Getting Started</a></li>
+ <li><a href="studio-projects-managing.html">Managing Projects</a></li>
+ <li><a href="studio-prototyping.html">Creating UIs</a></li>
+ <li><a href="studio-adding-dynamics.html">Adding Dynamics</a></li>
+ <li><a href="studio-3d.html">Editing 3D Scenes</a></li>
+ <li><a href="creator-live-preview.html">Previewing</a></li>
+ <li><a href="studio-advanced.html">Advanced Topics</a></li>
+ <li><a href="studio-help.html">Help</a></li>
+ <li><a href="qtdesignstudio-toc.html">All Topics</a></li>
+ </ul>
+ </div>
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-align-buttons.png b/doc/qtdesignstudio/examples/doc/images/loginui1-align-buttons.png
new file mode 100644
index 0000000000..1e64ec1b1b
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-align-buttons.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-binding-editor.png b/doc/qtdesignstudio/examples/doc/images/loginui1-binding-editor.png
new file mode 100644
index 0000000000..abbf16e991
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-binding-editor.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-breadcrumb-bar.png b/doc/qtdesignstudio/examples/doc/images/loginui1-breadcrumb-bar.png
new file mode 100644
index 0000000000..99898235fe
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-breadcrumb-bar.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-button-styled.png b/doc/qtdesignstudio/examples/doc/images/loginui1-button-styled.png
new file mode 100644
index 0000000000..0449e31505
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-button-styled.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-button.png b/doc/qtdesignstudio/examples/doc/images/loginui1-button.png
new file mode 100644
index 0000000000..ea4796fa09
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-button.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-library.png b/doc/qtdesignstudio/examples/doc/images/loginui1-library.png
new file mode 100644
index 0000000000..1183e572cd
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-library.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-main-page.png b/doc/qtdesignstudio/examples/doc/images/loginui1-main-page.png
new file mode 100644
index 0000000000..06998bdd51
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-main-page.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-project-files.png b/doc/qtdesignstudio/examples/doc/images/loginui1-project-files.png
new file mode 100644
index 0000000000..43a561c54e
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-project-files.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-project.png b/doc/qtdesignstudio/examples/doc/images/loginui1-project.png
new file mode 100644
index 0000000000..1fe1ff3c1f
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-project.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-ready.png b/doc/qtdesignstudio/examples/doc/images/loginui1-ready.png
new file mode 100644
index 0000000000..472dec3001
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-ready.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1-toolbar.png b/doc/qtdesignstudio/examples/doc/images/loginui1-toolbar.png
new file mode 100644
index 0000000000..8968b021a4
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1-toolbar.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui1.png b/doc/qtdesignstudio/examples/doc/images/loginui1.png
new file mode 100644
index 0000000000..4971673531
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui1.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui2-column-properties.png b/doc/qtdesignstudio/examples/doc/images/loginui2-column-properties.png
new file mode 100644
index 0000000000..26444afef6
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui2-column-properties.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui2-field-properties.png b/doc/qtdesignstudio/examples/doc/images/loginui2-field-properties.png
new file mode 100644
index 0000000000..cd41dfbe32
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui2-field-properties.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui2-imports.png b/doc/qtdesignstudio/examples/doc/images/loginui2-imports.png
new file mode 100644
index 0000000000..961f4c875e
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui2-imports.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui2-loginpage-ready.png b/doc/qtdesignstudio/examples/doc/images/loginui2-loginpage-ready.png
new file mode 100644
index 0000000000..af692bf74e
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui2-loginpage-ready.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui2-loginpage.png b/doc/qtdesignstudio/examples/doc/images/loginui2-loginpage.png
new file mode 100644
index 0000000000..0381935b0d
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui2-loginpage.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui2.png b/doc/qtdesignstudio/examples/doc/images/loginui2.png
new file mode 100644
index 0000000000..40fae287d4
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui2.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui3-base-state.png b/doc/qtdesignstudio/examples/doc/images/loginui3-base-state.png
new file mode 100644
index 0000000000..2966ea7061
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui3-base-state.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui3-connections.png b/doc/qtdesignstudio/examples/doc/images/loginui3-connections.png
new file mode 100644
index 0000000000..783065d3f4
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui3-connections.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui3-login-state.png b/doc/qtdesignstudio/examples/doc/images/loginui3-login-state.png
new file mode 100644
index 0000000000..4b00084e3c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui3-login-state.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui3-states.png b/doc/qtdesignstudio/examples/doc/images/loginui3-states.png
new file mode 100644
index 0000000000..bc0e5f7239
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui3-states.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui3-visibility.png b/doc/qtdesignstudio/examples/doc/images/loginui3-visibility.png
new file mode 100644
index 0000000000..858c959942
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui3-visibility.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui3.gif b/doc/qtdesignstudio/examples/doc/images/loginui3.gif
new file mode 100644
index 0000000000..f3380d9078
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui3.gif
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui4-easing-curve.png b/doc/qtdesignstudio/examples/doc/images/loginui4-easing-curve.png
new file mode 100644
index 0000000000..8a1eb963ad
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui4-easing-curve.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui4-page.png b/doc/qtdesignstudio/examples/doc/images/loginui4-page.png
new file mode 100644
index 0000000000..70238a8b85
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui4-page.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui4-timeline-opacity.png b/doc/qtdesignstudio/examples/doc/images/loginui4-timeline-opacity.png
new file mode 100644
index 0000000000..de5346276a
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui4-timeline-opacity.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui4-timeline-settings-states.png b/doc/qtdesignstudio/examples/doc/images/loginui4-timeline-settings-states.png
new file mode 100644
index 0000000000..6085894bf9
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui4-timeline-settings-states.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui4-timeline-settings.png b/doc/qtdesignstudio/examples/doc/images/loginui4-timeline-settings.png
new file mode 100644
index 0000000000..d1affa8d8c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui4-timeline-settings.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui4-timeline.png b/doc/qtdesignstudio/examples/doc/images/loginui4-timeline.png
new file mode 100644
index 0000000000..e983c6f42e
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui4-timeline.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/images/loginui4.gif b/doc/qtdesignstudio/examples/doc/images/loginui4.gif
new file mode 100644
index 0000000000..0d51973091
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/images/loginui4.gif
Binary files differ
diff --git a/doc/qtdesignstudio/examples/doc/loginui1.qdoc b/doc/qtdesignstudio/examples/doc/loginui1.qdoc
new file mode 100644
index 0000000000..18a7d8d499
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/loginui1.qdoc
@@ -0,0 +1,381 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \example loginui1
+ \ingroup studioexamples
+ \ingroup gstutorials
+ \nextpage {Log In UI - Part 2}
+
+ \title Log In UI - Part 1
+ \brief Illustrates how to use wizards to create a simple UI that contains a
+ text label, push buttons, and a logo.
+
+ \image loginui1.png
+
+ \e{Log In UI - Part 1} is the first in a series of examples that build on
+ each other to illustrate how to use \QDS to create a simple UI with some
+ basic UI components, such as pages, buttons, and fields. Part 1 describes
+ how to use \QDS wizards to create a Qt Quick project and a button UI
+ control, and how to modify the files generated by the wizards to design
+ your own UI.
+
+ The \e {Learn Qt Quick} sections provide additional information about the
+ tasks performed by the wizards and about the basics of QML and Qt Quick.
+
+ \section1 Creating the UI Project
+
+ For the purposes of this example, you will use the simplest wizard offered.
+ Wizards are available also for creating UIs that are optimized for mobile
+ platforms and for launcher applications. For more information about the
+ options you have, see \l {Creating Projects}.
+
+ To create a project:
+
+ \list 1
+ \li Select \uicontrol File > \uicontrol {New File or Project} >
+ \uicontrol General > \uicontrol {Qt Quick Application - Empty} >
+ \uicontrol Choose.
+ \li In the \uicontrol Name field, enter \e {loginui1}.
+ \li In the \uicontrol {Create in} field, enter the path for the project
+ files
+ \li Select \uicontrol Next (or \uicontrol Continue on \macos) to
+ continue to the \uicontrol {Define Project Details} page.
+ \li In the \uicontrol {Screen resolution} field, select \e {640 x 480}.
+ \li Select \uicontrol Finish (or \uicontrol Done on \macos) to create
+ the project.
+ \endlist
+
+ Your project should now look something like this in the Design mode:
+
+ \image loginui1-project.png "Log In UI project in the Design mode"
+
+ The UI is built using a \l Rectangle QML type that forms the background and
+ a \l Text type that displays some text.
+
+ \section2 Learn Qt Quick - Projects and Files
+
+ \QDS creates a set of boilerplate files and folders that you need to create
+ a UI using Qt Quick and QML. The files are listed in the \uicontrol Project
+ tab in the \uicontrol Navigator and in the \uicontrol Projects pane. For
+ more information, see \l {Viewing Project Files}.
+
+ \image loginui1-project-files.png
+
+ \list
+ \li The \e {loginui1.qmlproject} project file defines that all
+ QML, JavaScript, and image files in the project folder belong to
+ the project. Therefore, you do not need to individually list new
+ files when you add them to the project.
+ \li The \e {loginui1.qml} file defines the functionality of
+ the UI. For the time being, it does not do anything.
+ \li The \e {Screen01.ui.qml} file defines the appearance of the
+ UI. For more information, see \l {Qt Quick UI Forms}.
+ \li The \e {qtquickcontrols2.conf} file specifies the selected
+ \l {Styling Qt Quick Controls}{UI style} and some style-specific
+ arguments.
+ \li The \e imports folder contains a \e {Constants.qml} file that
+ specifies a font loader for the Arial font and a \e qmldir module
+ definition file that declares the Constant QML type. For more
+ information, see \l {Module Definition qmldir Files}. In addition,
+ the \e QtQuick subfolder contains the Studio components and effects
+ QML types. You can ignore the subfolder for now, because it is not
+ used in this example.
+ \endlist
+
+ QML files define a hierarchy of objects with a highly-readable, structured
+ layout. Every QML file consists of two parts: an imports section and an
+ object declaration section. The QML types and functionality most common to
+ UIs are provided in the QtQuick import. Select the \uicontrol {Text Editor}
+ tab in the Design mode or press \key F4 to view the QML code of an ui.qml
+ file.
+
+ For more information about creating a QML file from scratch, see
+ \l{First Steps with QML}.
+
+ Next, you will edit the properties of the UI elements to create the main
+ page of the UI.
+
+ \section1 Creating the Main Page
+
+ You will now change the properties of the \l Rectangle type to turn the UI
+ background white and those of the \l Text type to change the text and to use
+ a larger font size. In addition, you will use the \l Image type to add the
+ Qt logo to the page.
+
+ To preview the changes that you make to the UI while you make
+ them, select the \inlineimage live_preview.png
+ (\uicontrol {Show Live Preview}) button on the canvas toolbar
+ or press \key {Alt+P}.
+
+ The \e Screen01.ui.qml file that the wizard created for you should be
+ open in the Design mode. If it is not, you can double-click it in the
+ \uicontrol Project sidebar view to open it.
+
+ To modify \e Screen01.ui.qml in the \uicontrol {Form Editor} tab:
+
+ \list 1
+ \li Select \e Rectangle in the \uicontrol Navigator to display its
+ properties in the \uicontrol Properties view.
+ \li In the \uicontrol Color field, select the
+ \inlineimage icons/action-icon-binding.png
+ (\uicontrol Actions) menu, and then select \uicontrol Reset to
+ reset the rectangle background to the default color, white.
+ \li Select \e Text in the \uicontrol Navigator.
+ \li In the \uicontrol id field, change its id to \e pageTitle.
+ \li In the \uicontrol Text field, enter \e {Qt Account}.
+ \li In the \uicontrol Font group, \uicontrol Size field, set the font
+ size to \e 24 pixels.
+ \li Drag and drop an \l Image type from \uicontrol Library >
+ \uicontrol {QML Types} > \uicontrol {Qt Quick Basic} to the
+ top-left corner of the rectangle.
+ \li In the \uicontrol id field, change its id to \e logo.
+ \li In the \uicontrol Source field, select the \inlineimage browse-button.png
+ (\uicontrol Browse) button to locate the Qt logo image file. Click
+ \l {https://doc.qt.io/qtdesignstudio/images/used-in-examples/loginui1/qt_logo_green_64x64px.png}
+ {here} to open the Qt logo in a browser and save it as a file in the
+ folder where you created the project. The image is only used for
+ decoration, so you can also use any other image or just leave it
+ out.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ Your UI should now look something like this in the Design mode and live
+ preview:
+
+ \image loginui1-main-page.png "Modified UI in the Design mode"
+
+ \section2 Learn Qt Quick - QML Types
+
+ The \l {Qt Quick} module provides all the basic types necessary for creating
+ UIs. It provides a visual canvas and includes types for creating and
+ animating visual components, receiving user input, and creating data models
+ and views.
+
+ To be able to use the functionality of Qt Quick types, the wizard adds the
+ following \e import statements to the QML files that it creates:
+
+ \quotefromfile loginui1/Screen01.ui.qml
+ \skipto import
+ \printuntil loginui1 1.0
+
+ The \uicontrol Library lists the QML types in each Qt module that are
+ supported by \QDS. You can use the basic types to create your own QML
+ types, and they will be listed in the \uicontrol {My QML Components} tab.
+ The tab is only visible if you have created custom QML components.
+
+ For more information about the \l Rectangle and \l Image types used in this
+ example, see \l{Use Case - Visual Elements In QML}. For descriptions of all
+ QML types, see \l{All QML Types} in the Qt reference documentation.
+
+ \section1 Creating a Push Button
+
+ You can use another wizard to create a push button and to add it to the
+ project. The wizard creates a reusable button component that appears in
+ the \uicontrol {My QML Components} tab in the \uicontrol Library. You can
+ drag and drop it to the canvas and modify its properties to change its
+ appearance and functionality.
+
+ If you find that you cannot use the wizard to create the kind of push
+ button that you want, you can create your button from scratch using basic
+ QML types. For more information, see \l {Creating Buttons} and
+ \l {Creating Scalable Buttons and Borders}.
+
+ To create a push button:
+
+ \list 1
+ \li Select \uicontrol File > \uicontrol {New File or Project} >
+ \uicontrol {Files and Classes} > \uicontrol {Qt Quick Controls} >
+ \uicontrol {Custom Button} > \uicontrol Choose.
+ \li In the \uicontrol {Component name} field, enter \e {PushButton}.
+ \li Select \uicontrol Finish (or \uicontrol Done on \macos) to create
+ the button.
+ \endlist
+
+ Your button should now look something like this in the Design mode:
+
+ \image loginui1-button.png "Button in the Design mode."
+
+ \section2 Learn Qt Quick - Qt Quick Controls
+
+ The \e {Custom Button} wizard creates a \l [Qt Quick Controls 2] {Button}
+ QML type that belongs to the \l {Qt Quick Controls 2} module. It is a
+ push-button control that can be pushed or clicked by the user. Buttons
+ are normally used to perform an action or to answer a question. The Button
+ type inherits properties and functionality from another QML type. These
+ enable you to set text, display an icon, react to mouse clicks, and so on.
+
+ To be able to use the functionality of the Button type, the wizard adds the
+ following \e import statements to the \e PushButton.ui.qml file:
+
+ \quotefromfile loginui1/PushButton.ui.qml
+ \skipto import
+ \printuntil loginui1
+
+ The \l {Qt Quick Templates 2} module provides the functionality of the
+ Button type. The module is imported as \e T, and the alias is added to
+ the Button type definition to indicate that the Button type from the
+ Qt Quick Controls 2 module is used, instead of some other type with the
+ same name.
+
+ \printuntil text
+ \dots
+ \skipto Rectangle {
+ \printuntil }
+ \dots
+
+ Next, you will change the appearance of the button by modifying its
+ properties.
+
+ \section1 Styling the Button
+
+ You can now modify the properties of the PushButton type to your liking. To
+ make the changes apply to all the button instances, you must make them in
+ the \e PushButton.ui.qml file.
+
+ Because the wizard already set a master style for all the UI files in the
+ project, the button background properties are not displayed in the
+ \uicontrol Properties view. You can access them by selecting them in the
+ \uicontrol Master menu (1) on the toolbar.
+
+ \image loginui1-toolbar.png
+
+ To change the button properties:
+
+ \list 1
+ \li On the toolbar, select \uicontrol Master >
+ \uicontrol buttonBackground to move into the button background
+ component.
+ \li Select the button background on the canvas or in the
+ \uicontrol Navigator to display its properties in the
+ \uicontrol Properties view.
+ \li In the \uicontrol Color field, select
+ \inlineimage icons/action-icon.png
+ (\uicontrol Actions) > \uicontrol {Set Binding} and set the
+ button background color to \e #41cd52.
+ \li Press \key Enter or select the tick button at the bottom of
+ the editor to save the new value.
+ \image loginui1-binding-editor.png "Binding Editor"
+ \li In the \uicontrol {Border Color} field, set the button
+ border color to \e #21be2b. You could also use the color picker
+ to change the button color.
+ \li In the \uicontrol Radius field, enter 6 to give the button
+ rounded corners.
+ \li Select \uicontrol Master > \uicontrol textItem, and set the
+ button text color to white (\e #ffffff).
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ To move back to the top level PushButton type on the canvas, select
+ \uicontrol PushButton.ui.qml on the breadcrumb bar (1):
+
+ \image loginui1-breadcrumb-bar.png "Breadcrumb bar in the Design mode."
+
+ Your button should now look something like this:
+
+ \image loginui1-button-styled.png "Modified button in the Design mode."
+
+ \section2 Learn Qt Quick - Property Bindings
+
+ An object's property can be assigned a static value which stays constant
+ until it is explicitly assigned a new value. In this example, the color
+ values you set in the \uicontrol {Binding Editor} are static.
+
+ However, to make the fullest use of QML and its built-in support for dynamic
+ object behavior, you can use property bindings that specify relationships
+ between different object properties. When a property's dependencies change
+ in value, the property is automatically updated according to the specified
+ relationship.
+
+ Behind the scenes, the QML engine monitors the property's dependencies
+ (that is, the variables in the binding expression). When it detects a
+ change, it re-evaluates the binding expression and applies the new result
+ to the property.
+
+ For more information, see \l {Property Binding}.
+
+ Next, you will use the \e PushButton type in the main UI QML file,
+ \e Screen01.ui.qml to add two instances of the button to the UI
+ and to modify their text labels.
+
+ \section1 Adding Buttons to the UI
+
+ You will now add two button instances to the UI and modify their labels.
+
+ \list 1
+ \li Double-click \e Screen01.ui.qml in the \uicontrol Project sidebar
+ view to open it on the canvas.
+ \li Drag and drop two instances of the PushButton type from the
+ \uicontrol Library to the canvas.
+ \image loginui1-library.png "Library sidebar view"
+ \li Select one of the buttons in the \uicontrol Navigator to modify
+ its id and text label in the \uicontrol Properties view.
+ \li In the \uicontrol Id field, enter \e loginButton.
+ \li In the \uicontrol Text field, enter \e {Log In} and select
+ \uicontrol tr to mark the text
+ \l {Internationalization and Localization with Qt Quick}
+ {translatable}.
+ \li Select the other button, and change its id to \e registerButton
+ and text label to \e {Create Account}. Again, mark the text
+ translatable.
+ \li When an element is selected, selection handles are displayed in its
+ corners and on its sides. Use the selection handles to resize the
+ buttons so that the text fits comfortably on the button background.
+ In this example, the button width is set to 120 pixels.
+ \li Move the cursor on the selected button to make the selection icon
+ appear. You can now drag the button to another position on the
+ canvas. Use the guidelines to align the buttons below the page
+ title:
+ \image loginui1-align-buttons.png
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ The first iteration of your UI is now ready and should now look something
+ like this in the Design mode and live preview:
+
+ \image loginui1-ready.png "The finished UI in the Design mode"
+
+ \section2 Learn Qt Quick - QML Ids
+
+ Each QML type and each instance of a QML type has an \e id that uniquely
+ identifies it and enables other objects' properties to be bound to it. An
+ id must be unique, it must begin with a lower-case letter or an underscore
+ character, and it can contain only letters, numbers, and underscore
+ characters.
+
+ For more information, see \l{The id Attribute}.
+
+ \section1 Next Steps
+
+ To learn how to add more UI controls and position them on the page using
+ anchors and layouts so that the UI is scalable, see the next example in
+ the series, \l {Log In UI - Part 2}.
+
+ For a more advanced example of creating a menu button and using it to
+ construct a button bar, see \l {Side Menu}.
+*/
diff --git a/doc/qtdesignstudio/examples/doc/loginui2.qdoc b/doc/qtdesignstudio/examples/doc/loginui2.qdoc
new file mode 100644
index 0000000000..908c50ee51
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/loginui2.qdoc
@@ -0,0 +1,217 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \example loginui2
+ \ingroup studioexamples
+ \ingroup gstutorials
+ \previouspage {Log In UI - Part 1}
+ \nextpage {Log In UI - Part 3}
+
+ \title Log In UI - Part 2
+ \brief Illustrates how to position UI components on pages using anchors and
+ positioners.
+
+ \image loginui2.png "Log In UI"
+
+ \e{Log In UI - Part 2} is the second in a series of examples that build
+ on each other to illustrate how to use \QDS to create a simple UI with
+ some basic UI components, such as pages, buttons, and entry fields. Part 2
+ describes how to position the UI components on pages to create a scalable
+ UI.
+
+ To ensure that the layout is responsive and all the UI elements stay in
+ their proper places when you resize the UI on the desktop or on devices
+ with different screen sizes, you will use anchors and positioners.
+
+ These instructions build on \l {Log In UI - Part 1}.
+
+ The \e {Learn Qt Quick} sections provide additional information about the
+ features of QML and Qt Quick that are relevant to the task at hand.
+
+ \section1 Anchoring UI Components
+
+ First, you will add a new rectangle to the canvas and move all the
+ current UI components to it to create a new page. Then, you will
+ \l {Setting Anchors and Margins}{anchor} the static elements on the
+ page, that is the logo image (\e logo) and page title (\e pageTitle),
+ to the page. When you created the project using the new project wizard
+ in Part 1 of this example, the wizard anchored \e pageTitle to the
+ vertical and horizontal center of the page. Therefore, you will only
+ need to replace the vertical anchor of \e pageTitle with a top anchor
+ to align it with \e logo on the page.
+
+ To preview the changes that you make to the UI while you make
+ them, select the \inlineimage live_preview.png
+ (\uicontrol {Show Live Preview}) button on the canvas toolbar
+ or press \key {Alt+P}.
+
+ To anchor components on a page:
+
+ \list 1
+ \li Open \e {Screen01.ui.qml} for editing in the Design mode
+ \uicontrol {Form Editor} tab.
+ \li Select the rectangle that forms the UI background in the
+ \uicontrol Navigator, and change its id to \e root in the
+ \uicontrol Properties view.
+ \li Drag and drop a \uicontrol Rectangle from the \uicontrol Library
+ to \e root, and change its id to \e loginPage.
+ \li In the \uicontrol Layout tab, select the \inlineimage anchor-fill.png
+ (\uicontrol {Fill Parent Item}) button to anchor the page to the root
+ item on all sides.
+ \li Select all the other UI elements below \e root in the
+ \uicontrol Navigator (press the \key Shift key for multiple
+ selection) and drag them to \e loginPage.
+ \li Select \e logo in the \uicontrol Navigator.
+ \li Select the \inlineimage anchor-top.png
+ (\uicontrol Top) and \inlineimage anchor-left.png
+ (\uicontrol Left) anchor buttons to anchor \e logo to the top left
+ corner of its parent (the \e loginPage) with 10-pixel margins.
+ \li Select \e pageTitle in the \uicontrol Navigator.
+ \li Deselect the \inlineimage anchor-vertical-center.png
+ (\uicontrol {Vertical Center}) button to remove the
+ anchor, and then select the \uicontrol Top button to anchor the
+ title to the top of the page with a 70-pixel margin.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ Your page now should look something like this in the Design mode and live
+ preview:
+
+ \image loginui2-loginpage.png "Login page in the Design mode"
+
+ \section2 Learn Qt Quick - Anchors
+
+ In an anchor-based layout, each QML type can be thought of as having a set
+ of invisible \e anchor lines: top, bottom, left, right, fill, horizontal
+ center, vertical center, and baseline.
+
+ Anchors enable placing an object either adjacent to or inside of another
+ object, by attaching one or more of the object's anchor lines to the anchor
+ lines of the other object. If an object changes, the objects that are
+ anchored to it will adjust automatically to maintain the anchoring.
+
+ For more information, see \l{Positioning with Anchors}.
+
+ \section1 Using Column Positioners
+
+ You will now add two entry fields to the page and position them in a column
+ to learn another method of \l{Using Positioners}{positioning items}.
+ Next, you will position the push buttons on the page in another column.
+ Finally, you will anchor the columns to the page to enable their positions
+ to change when the screen size changes.
+
+ To add entry fields to the page:
+
+ \list 1
+ \li In \uicontrol Library > \uicontrol {QML Types}, select the
+ \uicontrol {+ \QtQuick.Controls} button to display the
+ \l {Qt Quick Controls 2} types in the tab:
+ \image loginui2-imports.png
+ \li Drag and drop two instances of the \uicontrol {Text Field} type
+ to the canvas.
+ \li Select one of the text fields in the \uicontrol Navigator, and
+ change its id to \e usernameField in the \uicontrol Properties view.
+ \li In the \uicontrol Geometry group, \uicontrol Size field, set the
+ width of the field to \e 300 pixels.
+ \li In the \uicontrol Placeholder field, enter \e Username and select
+ \uicontrol tr to mark the text translatable.
+ \image loginui2-field-properties.png "Text field properties"
+ \li In the \uicontrol Text field, delete the default text to make the
+ placeholder text visible on the canvas. The text value always takes
+ precedence over the placeholder text value.
+ \li Select the other text field, and change its id to
+ \e passwordField, placeholder text to \e Password,
+ and width to \e 300 pixels. Also remove the default text.
+ \endlist
+
+ You will now position the fields and buttons as columns:
+
+ \list 1
+ \li Select \e usernameField and \e passwordField in the
+ \uicontrol Navigator, and right-click on either item
+ to open a context menu.
+ \li Select \uicontrol Position > \uicontrol {Position in Column}
+ to position the fields on top of each other on the canvas.
+ \li Select the column in the \uicontrol Navigator and change its id
+ to \e fieldColumn in \uicontrol Properties.
+ \li In the \uicontrol Spacing field, set the spacing between the
+ fields to 5 pixels.
+ \image loginui2-column-properties.png "Column properties"
+ \li Select \e loginButton and \e registerButton, and then select
+ \uicontrol Position > \uicontrol {Position in Column} to position
+ them in a column.
+ \li Select the button column, change its id to \e buttonColumn, and
+ set the spacing between the buttons to 5 pixels, as above.
+ \endlist
+
+ You will now anchor the field and button columns to the page:
+
+ \list 1
+ \li Select \e fieldColumn in the \uicontrol Navigator.
+ \li In \uicontrol Properties > \uicontrol Layout, select the
+ \uicontrol Top button to anchor the top of the button column to
+ the top of its parent (the \e loginPage) with a 200-pixel margin.
+ \li Select the \inlineimage anchor-horizontal-center.png
+ (\uicontrol {Horizontal Center}) button to center the field
+ column horizontally on the page.
+ \li Select \e buttonColumn in the \uicontrol Navigator.
+ \li In \uicontrol Properties > \uicontrol Layout, select the
+ \inlineimage anchor-bottom.png
+ (\uicontrol Bottom) button to anchor the bottom of the button
+ column to the bottom of its parent (the \e loginPage) with a
+ 50-pixel margin.
+ \li Select the \uicontrol {Horizontal Center} button to center
+ the button column horizontally on the page.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ The second iteration of your UI is now ready and should look something like
+ this in the Design mode and live preview:
+
+ \image loginui2-loginpage-ready.png "Login page in the Design mode"
+
+ \section1 Learn Qt Quick - Positioners
+
+ Qt Quick provides built-in positioner items. For many use cases, the best
+ positioner to use is a simple grid, row, or column, and Qt Quick provides
+ items that will position children in these formations in the most efficient
+ manner possible. For more information about using pre-defined positioners,
+ see \l {Item Positioners}.
+
+ For more complicated UI designs, you can use QML types from the
+ \l {Qt Quick Layouts Overview}{Qt Quick Layouts module}.
+
+ \section1 Next Steps
+
+ To learn more about positioning items in \QDS, see
+ \l{Positioning Items in UIs}.
+
+ To learn how to add a second page and move to it from the main page, see
+ the next example in the series, \l {Log In UI - Part 3}.
+*/
+
diff --git a/doc/qtdesignstudio/examples/doc/loginui3.qdoc b/doc/qtdesignstudio/examples/doc/loginui3.qdoc
new file mode 100644
index 0000000000..1bfa856b3e
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/loginui3.qdoc
@@ -0,0 +1,274 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \example loginui3
+ \ingroup studioexamples
+ \ingroup gstutorials
+
+ \title Log In UI - Part 3
+ \brief Illustrates how to use states to create a second UI page.
+ \previouspage {Log In UI - Part 2}
+ \nextpage {Log In UI - Part 4}
+
+ \image loginui3.gif "Log In UI"
+
+ \e{Log In UI - Part 3} is the third in a series of examples that build
+ on each other to illustrate how to use \QDS to create a simple UI with
+ some basic UI components, such as pages, buttons, and entry fields. Part 3
+ describes how to use states to add a second page to the UI.
+
+ Because the second page will contain most of the same UI elements as the
+ login page, you will use \e states to show and hide UI elements as necessary
+ when a user selects the \uicontrol {Create Account} button.
+
+ These instructions build on:
+
+ \list
+ \li \l {Log In UI - Part 1}
+ \li \l {Log In UI - Part 2}
+ \endlist
+
+ The \e {Learn Qt Quick} sections provide additional information about the
+ features of QML and Qt Quick that are relevant to the task at hand.
+
+ \section1 Adding UI Components
+
+ You will add another text field for verifying the password that users
+ enter to create an account and a back button for returning to the login
+ page. You are already familiar with the tasks in this section from Part 1
+ of this example.
+
+ To preview the changes that you make to the UI while you make
+ them, select the \inlineimage live_preview.png
+ (\uicontrol {Show Live Preview}) button on the canvas toolbar
+ or press \key {Alt+P}.
+
+ To add the text field and a back button needed on the registration page:
+
+ \list 1
+ \li Open \e {Screen01.ui.qml} in the Design mode
+ \uicontrol {Form Editor} for editing.
+ \li Drag and drop a \uicontrol {Text Field} from \uicontrol Library
+ > \uicontrol {QML Types} > \uicontrol {Qt Quick Controls 2} to
+ \e fieldColumn in the \uicontrol Navigator.
+ \li In \uicontrol Properties, change the id of the text field to
+ \e verifyPasswordField.
+ \li In the \uicontrol Geometry group, \uicontrol Size field, set the
+ width of the field to \e 300 pixels.
+ \li In the \uicontrol Placeholder field, set the placeholder text to
+ \e {Verify password}.
+ \li In the \uicontrol Text field, delete the default text to make the
+ placeholder text visible on the canvas.
+ \li Drag and drop a PushButton type from the \uicontrol Library,
+ \uicontrol {My QML Components} tab, to \e loginPage in the
+ \uicontrol Navigator.
+ \li Select the button in the \uicontrol Navigator and change its id to
+ \e backButton in \uicontrol Properties.
+ \li In the \uicontrol Geometry group, \uicontrol Size field, set the
+ button width to \e 40 pixels.
+ \li In the \uicontrol Text field, enter \e <.
+ \li In the \uicontrol Font group, \uicontrol Size field, set the font
+ size to \e 24 pixels.
+ \li In the \uicontrol Layout tab, select the \inlineimage anchor-top.png
+ (\uicontrol Top) and \inlineimage anchor-right.png
+ (\uicontrol Right) anchor buttons to anchor \e backButton to
+ the top right corner of its parent (the \e loginPage) with 20-
+ and 10-pixel margins, respectively.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ Your page now should look something like this in the Design mode and live
+ preview:
+
+ \image loginui3-base-state.png "Login page with new UI components"
+
+ Next, you will add states for the login page and the registration page,
+ where you use the visibility property to hide the password verification
+ field and the back button on the login page and the login button on the
+ registration page.
+
+ \section1 Using States to Simulate Page Changes
+
+ You will now add \l{Adding States}{states} to the UI to show and hide UI
+ components on the canvas:
+
+ \list 1
+ \li In the \uicontrol States pane, select the \inlineimage plus.png
+ button.
+ \image loginui3-login-state.png "States pane"
+ \li Enter \e loginState as the state name.
+ \li Select \e verifyPasswordField in the \uicontrol Navigator,
+ and deselect the \uicontrol Visibility check box in
+ \uicontrol Properties to hide the verify password field in
+ the login state.
+ \image loginui3-visibility.png
+ \li Repeat the above step for \e backButton.
+ \li In the \uicontrol {Text Editor}, add the following line to the
+ definition of \e root to specify that the application should start
+ in \e loginState:
+ \quotefromfile loginui3/Screen01.ui.qml
+ \skipto Rectangle {
+ \printuntil state: "loginState"
+ \li Add another state and name it \e registerState.
+ \li In this state, reselect the \uicontrol Visibility check box in
+ \e verifyPasswordField and \e backButton properties to show them
+ again.
+ \li Select \e loginButton in the \uicontrol Navigator, and deselect
+ the \uicontrol Visibility check box to hide the login button in
+ the registration state.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ You can now see all the states in the \uicontrol States view. The live
+ preview displays the default state, \e loginState:
+
+ \image loginui3-states.png "States view"
+
+ \section2 Learn Qt Quick - States
+
+ In Qt Quick, the \e state of a particular visual item is the set of
+ information which describes how and where the individual component
+ parts of the visual item are displayed within it, and all the data
+ associated with that state. Most visual items in a UI will have a
+ limited number of states, each with well-defined properties.
+
+ For example, an element in a list may be either selected or not, and if
+ selected, it may either be the currently active single selection or it
+ may be part of a selection group. Each of those states may have certain
+ associated visual appearance (neutral, highlighted, expanded, and so on).
+
+ Qt Quick provides a \l State type with properties which define its
+ semantics and can be used to trigger behavior or animations. UI components
+ typically have a state property and a default state. The default state
+ contains all of an item's initial property values, and is therefore useful
+ for managing property values before state changes.
+
+ UI components can specify additional states by adding new State objects to
+ the state property. Each state within a component has a unique name. To
+ change the current state of an item, the state property is set to the name
+ of the state. State changes can be bound to conditions by using the \c when
+ property.
+
+ For more information, see \l{Qt Quick States}.
+
+ Next, you will create connections to specify that clicking the
+ \uicontrol {Create Account} button on the login page triggers a
+ transition to the registration page and that clicking the back
+ button on the registration page triggers a transition to the login
+ page.
+
+ \section1 Connecting Buttons to States
+
+ QML types have predefined signals that are emitted when users interact
+ with the UI. The \e PushButton QML type contains a \l{MouseArea} type
+ that has a \e clicked signal. The signal is emitted whenever the mouse
+ is clicked within the area.
+
+ You will now use the \uicontrol Connections view to
+ \l{Connecting Objects to Signals}{connect} the clicked signal of
+ \e registerButton to \e registerState and that of \e backButton
+ to \e loginState:
+
+ \list 1
+ \li Select \e registerButton in the \uicontrol Navigator.
+ \li In the \uicontrol Connections view, select the \inlineimage plus.png
+ button to add the action that the \c onClicked signal handler of
+ \e registerButton should apply.
+ \li Double-click the value \uicontrol Action column and select
+ \uicontrol {Change state to registerState} in the drop-down menu.
+ \li Repeat the steps above to connect \e backButton to \e loginState
+ by selecting \uicontrol {Change state to loginState} in the last
+ step.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ You can now see the following connections in the Design mode:
+
+ \image loginui3-connections.png "Connections view"
+
+ In the live preview, you can now click the \uicontrol {Create Account}
+ button to go to the registration page and the back button to return to
+ the login page.
+
+ \image loginui3.gif "Moving between login page and registration page"
+
+ The \e PushButton type also uses states to change the button background and
+ text color when the button is clicked. Now that clicking buttons performs
+ actions, you will change the background color for the button down state
+ from grey to green to match the color in the normal state that you changed
+ to green in Part 1.
+
+ \section2 Learn Qt Quick - Signal and Event Handlers
+
+ UI components need to communicate with each other. For example, a button
+ needs to know that the user has clicked on it. The button may change color
+ to indicate its state and perform an action.
+
+ QML has a signal and handler mechanism, where the signal is the event that
+ is responded to through a signal handler. When a signal is emitted, the
+ corresponding signal handler is invoked. Placing logic such as a script or
+ other operations in the handler allows the component to respond to the
+ event.
+
+ For more information, see \l{Signal and Handler Event System}.
+
+ Next, you will modify the properties of the \e PushButton type in the text
+ editor.
+
+ \section1 Changing Button Background Color
+
+ You will modify the button background color for the \e down state of the
+ \e PushButton type in the \e PushButton.ui.qml file.
+
+ \list 1
+ \li Right-click \e loginButton in the \uicontrol Navigator and select
+ \uicontrol {Go into Component} to open \e PushButton.ui.qml for
+ editing in the Design mode.
+ \li Open the \uicontrol {Text Editor} tab.
+ \li Edit the property values for the \e down state, to set the button
+ text color to white and the background and border colors to
+ darker shades of green by using the \c {Qt.darker()} function:
+ \quotefromfile loginui3/PushButton.ui.qml
+ \skipto states:
+ \printuntil ]
+ You could also specify all the colors here as fixed values.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ \section1 Next Steps
+
+ For a more complicated UI, you would typically use QML types that specify
+ a view of items provided by a model, such as a \l ListView or \l StackView.
+ For more information, see \l{Using Data Models}.
+
+ To learn how to use a timeline to animate the transition between the login
+ and registration pages, see the next example in the series,
+ \l {Log In UI - Part 4}.
+*/
diff --git a/doc/qtdesignstudio/examples/doc/loginui4.qdoc b/doc/qtdesignstudio/examples/doc/loginui4.qdoc
new file mode 100644
index 0000000000..66fd5886c5
--- /dev/null
+++ b/doc/qtdesignstudio/examples/doc/loginui4.qdoc
@@ -0,0 +1,322 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \example loginui4
+ \ingroup studioexamples
+ \ingroup gstutorials
+
+ \title Log In UI - Part 4
+ \brief Illustrates how to use the timeline and states to animate UI
+ components.
+ \previouspage {Log In UI - Part 3}
+ \nextpage {Log In UI - Part 5}
+
+ \image loginui4.gif "Log In UI"
+
+ \e{Log In UI - Part 4} is the fourth in a series of examples that build
+ on each other to illustrate how to use \QDS to create a simple UI with
+ some basic UI components, such as pages, buttons, and entry fields. Part 4
+ describes how to use the timeline and states to animate UI components.
+
+ In Part 3, you learned how to use states to simulate page changes in a UI
+ and connections to provide user interaction with it. In Part 4, you will now
+ learn another way of animating the UI by using timeline animations that you
+ bind to states.
+
+ These instructions build on:
+
+ \list
+ \li \l {Log In UI - Part 1}
+ \li \l {Log In UI - Part 2}
+ \li \l {Log In UI - Part 3}
+ \endlist
+
+ The \e {Learn Qt Quick} sections provide additional information about the
+ features of QML and Qt Quick that are relevant to the task at hand.
+
+ \section1 Animating UI Components
+
+ In Part 3, you changed the visibility property in different states to
+ simulate changing pages. To make sure that those changes won't interfere
+ with the changes to the opacity property you will make in Part 4, you will
+ first remove the states.
+ In addition, you will need to remove the line that sets the default state
+ from the \e Screen01.ui.qml file in the \uicontrol {Text Editor}.
+
+ Then, you will add a timeline and insert keyframes for the opacity property
+ to hide the password verification field and back button on the login page
+ and the login button on the registration page. Because we want the password
+ verification field to appear to slide down from the password field, you will
+ also need to insert a keyframe for its anchor margin property. To be able to
+ animate the anchor, you also need to pull out the fields from the fields
+ column and anchor them to the page and to each other instead.
+
+ To preview the changes that you make to the UI while you make
+ them, select the \inlineimage live_preview.png
+ (\uicontrol {Show Live Preview}) button on the canvas toolbar
+ or press \key {Alt+P}.
+
+ \section2 Replacing Columns with Anchors
+
+ First, you will prepare the page for adding animation:
+
+ \list 1
+ \li Open \e {Screen01.ui.qml} in the Design mode for editing.
+ \li In the \uicontrol States pane, select the \inlineimage close.png
+ (\uicontrol Close) button in \e loginState and \e registerState
+ to remove the states.
+ \li In the \uicontrol {Text Editor}, remove the following line:
+ \code
+ {state: "loginState"}
+ \endcode
+ \li Select the fields in \e fieldColumn in the \uicontrol Navigator
+ and drag and drop them to \e loginPage.
+ \li Select \e fieldColumn in the \uicontrol Navigator and press
+ \key Delete to delete it.
+ \li Select \e usernameField in the \uicontrol Navigator.
+ \li In \uicontrol Properties > \uicontrol Layout, select the
+ \inlineimage anchor-top.png
+ (\uicontrol Top) button to anchor the top of the field to the top
+ of its parent (the \e loginPage). \QDS will suggest an appropriate
+ margin based on the current Y-position of the field.
+ \li Select the \inlineimage anchor-horizontal-center.png
+ (\uicontrol {Horizontal Center}) button to anchor
+ the horizontal center of the field to that of its parent.
+ \li Select \e passwordField, and then select the \uicontrol Top
+ button in \uicontrol Properties > \uicontrol Layout.
+ \li In the \uicontrol Target field, select \e usernameField to anchor
+ the top of \e passwordField to the bottom of \e usernameField
+ with a 5-pixel margin.
+ \li Select the \uicontrol {Horizontal Center} button to anchor the
+ horizontal center of \e passwordField to that of \e usernameField.
+ \li Repeat the above steps to anchor the top of \e verifyPasswordField
+ to the bottom of the \e passwordField with a 5-pixel margin and to
+ anchor its horizontal center to that of \e passwordField.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ You could also animate the Y-position property of the verify password
+ field for a similar effect. In that case, you would need to use absolute
+ positioning for the field. This is less flexible if you export your
+ design from a design tool, such as Adobe Photoshop, and decide to change
+ your design and export it again at some point. In that case, the margins
+ would probably stay the same, even if the positions of the fields on the
+ page would change.
+
+ Your page now should look something like this in the Design mode and live preview:
+
+ \image loginui4-page.png "UI with all the buttons and fields in the Design mode"
+
+ \section2 Adding a Timeline and Animation Settings
+
+ You are now ready to add the \l{Creating Animations}{timeline}. You will
+ need two animations, one for moving into the registration page and another
+ for returning to the login page. You can use the same animation for both
+ cases, by running it either from the beginning to the end or from the
+ end to the beginning.
+
+ To add a timeline with settings for running the animation:
+
+ \image loginui4-timeline-settings.png
+
+ \list 1
+ \li In the \uicontrol Timeline view, select \inlineimage plus.png
+ to add a 1000-frame timeline and settings for running the animation.
+ \li In the \uicontrol {Animation ID} field, enter \e toLoginState.
+ \li Deselect the \uicontrol {Running in base state} check box, because
+ you want the animation to run only after the user clicks the
+ \uicontrol {Create Account} button. You can use the default settings
+ for the other fields.
+ \li Select \inlineimage plus.png
+ next to the \uicontrol {Animation Settings} group to add settings
+ for running the animation when the user clicks the back button.
+ \li In the \uicontrol {Animation ID} field, enter \e toRegisterState.
+ \li To run the animation backwards when the user clicks the back button,
+ enter \e 1000 in the \uicontrol {Start frame} field and \e 0 in the
+ \uicontrol {End frame} field.
+ \li Select \uicontrol Close in the \uicontrol {Timeline Settings} view
+ to save the timeline and the animation settings.
+ \endlist
+
+ Next, you will record the animation in the \uicontrol Timeline view.
+
+ \section2 Inserting Keyframes
+
+ You will now insert keyframes and record property changes in the
+ \uicontrol Timeline view:
+
+ \list 1
+ \li Select \e backButton in the \uicontrol Navigator.
+ \li In \uicontrol Properties > \uicontrol Opacity > \uicontrol Settings,
+ select \uicontrol {Insert Keyframe} to insert a keyframe for the
+ opacity property of the button.
+ \li Check that the playhead is in frame 0, and select the
+ \inlineimage recordfill.png
+ (Per Property Recording) button for the \uicontrol opacity property
+ of \e backButton to start recording property changes.
+ \image loginui4-timeline-opacity.png "Record button for the opacity property"
+ \li In the field next to the opacity property name on that same line,
+ type 0 to hide the button, and press \key Enter to save the value.
+ \li Move the playhead to frame 1000 and change the opacity value to 1
+ to show the button.
+ \li Select the record button again to stop recording property changes.
+ If you forget this, all the following changes will be recorded, and
+ the results will be unpredictable.
+ \li Select \e verifyPasswordField in the \uicontrol Navigator,
+ and repeat the above steps to insert a keyframe for the
+ \uicontrol opacity property of the field and to record
+ changes for it.
+ \li Select the \e loginButton in the \uicontrol Navigator, and repeat
+ the above steps to insert a keyframe for the \uicontrol opacity
+ property of the button and to record changes for it. However, this
+ time the opacity value needs to be 1 in frame 0 and 0 in frame 1000.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ When you move the playhead along the timeline, you can see how the login
+ button fades out while the verify password field and back button fade in.
+
+ You will now animate the top anchor margin of the verify password field
+ to make it appear to slide down from the password field.
+
+ \section2 Animating Anchors
+
+ To animate the top anchor margin of the verify password field:
+
+ \list 1
+ \li Select \e verifyPasswordField in the \uicontrol Navigator.
+ \li Select \uicontrol Properties > \uicontrol Layout > \uicontrol Margin
+ > \uicontrol {Insert Keyframe} to insert a keyframe for the top
+ anchor margin of \e verifyPasswordField.
+ \li In the \uicontrol Timeline view, check that the playhead is in
+ frame 0, and select the record button for the \e anchors.topMargin
+ property of \e verifyPasswordField.
+ \li In the field next to the property, set a negative value for the
+ top anchor margin, -40, to place \e verifyPasswordField on top of
+ \e passwordField.
+ \li Move the playhead to frame 1000 and change the top anchor margin to
+ 5, so that \e verifyPasswordField appears to slide down and settle
+ below \e passwordField.
+ \li Select the record button again to stop recording property changes.
+ \li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
+ to save your changes.
+ \endlist
+
+ \section2 Adding Easing Curves
+
+ You will now add an \l{Editing Easing Curves}{easing curve} to the anchor
+ margin animation that will make the transition seem smoother:
+
+ \list 1
+ \li Click the keyframe marker \inlineimage keyframe_linear_inactive.png
+ for the \e anchors.topMargin property at frame 1000 on the
+ timeline to select it.
+ \li Right-click the keyframe marker to open a context menu, and
+ select \uicontrol {Edit Easing Curve} to add an easing curve
+ to the animation.
+ \li In the \uicontrol {Easing Curve Editor}, select \e easeOutSine.
+ \image loginui4-easing-curve.png
+ \li Select \uicontrol OK to close the editor.
+ \endlist
+
+ When you attach easing curves to keyframes, the shape of the keyframe
+ marker changes from \inlineimage keyframe_linear_inactive.png
+ to \inlineimage keyframe_manualbezier_inactive.png
+ .
+
+ Your timeline now should look something like this:
+
+ \image loginui4-timeline.png "Timeline view with the recorded property changes"
+
+ Next, you create states for the login and registration pages and bind them
+ to the animation settings.
+
+ \section1 Binding Animation to States
+
+ You will now bring back the \l{Adding States}{states} in the
+ \uicontrol States pane and bind them to the animation settings
+ in the \uicontrol Timeline view:
+
+ \list 1
+ \li In the \uicontrol States pane, select the \inlineimage plus.png
+ button twice to add two states called \e loginState and
+ \e registerState. You don't need to make any property changes this
+ time, because you'll bind the states to property animations.
+ \li In the \uicontrol Timeline view, select the \inlineimage animation.png
+ (\uicontrol {Timeline Settings (S)}) button on the toolbar (or press
+ \key S to open the \uicontrol {Timeline Settings} dialog.
+ \image loginui4-timeline-settings-states.png
+ \li Double-click the cell in the \uicontrol Timeline column on the
+ \e loginState row, and select \e timeline in the list.
+ \li Double-click the cell in the \uicontrol Animation column on the
+ \e loginState row, and select \e toRegisterState.
+ \li Repeat these steps for \e registerState row, but select
+ \e toLoginState in the \uicontrol Animation column.
+ \li Click \uicontrol Close to save the timeline settings.
+ \endlist
+
+ In the live preview, you can now click the \uicontrol {Create Account}
+ button to go to the registration page and the back button to return to
+ the login page.
+
+ \image loginui4.gif "Moving between login page and registration page"
+
+ \section2 Learn Qt Quick - Timeline
+
+ The Qt Quick Timeline module provides QML types to use timelines and
+ keyframes to animate component properties in UIs. Animating properties
+ enables their values to move through intermediate values instead of
+ immediately changing to the target value.
+
+ The Keyframe type specifies the value of a keyframe on a timeline. \QDS
+ automatically adds keyframes between two keyframes, and sets their values
+ evenly to create an appearance of movement or transformation.
+
+ An easing curve can be attached to the keyframe to change the appearance
+ of the animation. For more information about easing curve types, see the
+ documentation for \l [QML] {PropertyAnimation}{easing curves}.
+
+ To be able to use the functionality of Qt Quick Timeline types, \QDS adds
+ the following \e import statement to the QML files where it uses the types:
+
+ \quotefromfile loginui4/Screen01.ui.qml
+ \skipto QtQuick.Timeline
+ \printuntil 1.0
+
+ All the properties and functions of the QML types from this module are
+ available in the Design mode, and therefore it is enough to learn how to
+ use the \uicontrol Timeline view, as described in \l {Creating Animations}.
+
+ \section1 Next Steps
+
+ For more examples about using timelines, see \l{Examples and Tutorials}.
+
+ To watch a video tutorial about creating timelines and adding keyframes,
+ select \e {Learn to use Qt Design Studio Part 2} in the \uicontrol Tutorials
+ tab in the \uicontrol Welcome mode.
+*/
diff --git a/doc/qtdesignstudio/examples/loginui1/PushButton.ui.qml b/doc/qtdesignstudio/examples/loginui1/PushButton.ui.qml
new file mode 100644
index 0000000000..0feeed1618
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/PushButton.ui.qml
@@ -0,0 +1,117 @@
+
+
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.10
+import QtQuick.Templates 2.1 as T
+import loginui1 1.0
+
+T.Button {
+ id: control
+
+ text: qsTr("MyButton")
+
+ font: Constants.font
+ implicitWidth: Math.max(
+ background ? background.implicitWidth : 0,
+ contentItem.implicitWidth + leftPadding + rightPadding)
+ implicitHeight: Math.max(
+ background ? background.implicitHeight : 0,
+ contentItem.implicitHeight + topPadding + bottomPadding)
+ leftPadding: 4
+ rightPadding: 4
+
+ background: Rectangle {
+ id: buttonBackground
+ color: "#41cd52"
+ radius: 6
+ implicitWidth: 100
+ implicitHeight: 40
+ opacity: enabled ? 1 : 0.3
+ border.width: 1
+ border.color: "#21be2b"
+ }
+
+ contentItem: Text {
+ id: textItem
+ text: control.text
+
+ font: control.font
+ opacity: enabled ? 1.0 : 0.3
+ color: "white"
+ horizontalAlignment: Text.AlignHCenter
+ verticalAlignment: Text.AlignVCenter
+ elide: Text.ElideRight
+ }
+
+ states: [
+ State {
+ name: "normal"
+ when: !control.down
+ PropertyChanges {
+ target: buttonBackground
+ }
+ },
+ State {
+ name: "down"
+ when: control.down
+ PropertyChanges {
+ target: textItem
+ color: "black"
+ }
+ PropertyChanges {
+ target: buttonBackground
+ color: "#a2a2a2"
+ border.color: "black"
+ }
+ }
+ ]
+}
+
diff --git a/doc/qtdesignstudio/examples/loginui1/Screen01.ui.qml b/doc/qtdesignstudio/examples/loginui1/Screen01.ui.qml
new file mode 100644
index 0000000000..cdfea9ce60
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/Screen01.ui.qml
@@ -0,0 +1,96 @@
+
+
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.10
+import loginui1 1.0
+
+Rectangle {
+ width: Constants.width
+ height: Constants.height
+
+ Text {
+ id: pageTitle
+ x: 259
+ y: 155
+ width: 123
+ height: 40
+ text: qsTr("Qt Account")
+ font.pixelSize: 24
+ }
+
+ Image {
+ id: logo
+ x: 8
+ y: 8
+ width: 100
+ height: 100
+ source: "qt_logo_green_64x64px.png"
+ fillMode: Image.PreserveAspectFit
+ }
+
+ PushButton {
+ id: registerButton
+ x: 259
+ y: 277
+ width: 120
+ height: 40
+ text: qsTr("Create Account")
+ }
+
+ PushButton {
+ id: loginButton
+ x: 259
+ y: 231
+ width: 120
+ height: 40
+ text: qsTr("Log In")
+ }
+}
diff --git a/doc/qtdesignstudio/examples/loginui1/imports/loginui1/Constants.qml b/doc/qtdesignstudio/examples/loginui1/imports/loginui1/Constants.qml
new file mode 100644
index 0000000000..83dbc40a9b
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/imports/loginui1/Constants.qml
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+pragma Singleton
+import QtQuick 2.10
+
+QtObject {
+ readonly property int width: 640
+ readonly property int height: 480
+ readonly property FontLoader mySystemFont: FontLoader { name: "Arial" }
+ /* Edit this comment to add your custom font */
+ /* readonly property FontLoader myCustomFont: FontLoader { source: "MyCustomFont.ttf" } */
+ readonly property font font: Qt.font({
+ family: mySystemFont.name,
+ pointSize: Qt.application.font.pixelSize
+ })
+ readonly property font largeFont: Qt.font({
+ family: mySystemFont.name,
+ pointSize: Qt.application.font.pixelSize * 1.6
+ })
+ readonly property color backgroundColor: "#c2c2c2"
+}
diff --git a/doc/qtdesignstudio/examples/loginui1/imports/loginui1/qmldir b/doc/qtdesignstudio/examples/loginui1/imports/loginui1/qmldir
new file mode 100644
index 0000000000..616ac20353
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/imports/loginui1/qmldir
@@ -0,0 +1 @@
+singleton Constants 1.0 Constants.qml
diff --git a/doc/qtdesignstudio/examples/loginui1/loginui1.qml b/doc/qtdesignstudio/examples/loginui1/loginui1.qml
new file mode 100644
index 0000000000..57796d12b4
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/loginui1.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.10
+import loginui1 1.0
+
+Item {
+ width: Constants.width
+ height: Constants.height
+
+ Screen01 {
+ }
+}
diff --git a/doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject b/doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject
new file mode 100644
index 0000000000..7c9af71d7c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject
@@ -0,0 +1,41 @@
+/* File generated by Qt Creator */
+
+import QmlProject 1.1
+
+Project {
+ mainFile: "loginui1.qml"
+
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+
+ JavaScriptFiles {
+ directory: "."
+ }
+
+ ImageFiles {
+ directory: "."
+ }
+
+ Files {
+ filter: "*.conf"
+ files: ["qtquickcontrols2.conf"]
+ }
+
+ Files {
+ filter: "qmldir"
+ directory: "."
+ }
+
+ Environment {
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ }
+
+ /* List of plugin directories passed to QML runtime */
+ importPaths: [ "imports" ]
+
+ /* Required for deployment */
+ targetDirectory: "/opt/loginui1"
+}
diff --git a/doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject.qtds b/doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject.qtds
new file mode 100644
index 0000000000..156d4a96ed
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject.qtds
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtDesignStudio 1.3.0, 2019-10-24T11:06:25. -->
+<qtcreator>
+ <data>
+ <variable>EnvironmentId</variable>
+ <value type="QByteArray">{595d361f-de69-4ff2-b1f6-d89b95edfd27}</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+ <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+ <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+ <value type="QString" key="language">Cpp</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+ </valuemap>
+ </valuemap>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+ <value type="QString" key="language">QmlJS</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+ </valuemap>
+ </valuemap>
+ <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+ <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+ <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+ <value type="int" key="EditorConfiguration.IndentSize">4</value>
+ <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+ <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+ <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+ <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+ <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+ <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+ <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+ <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+ <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+ <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+ <value type="int" key="EditorConfiguration.TabSize">8</value>
+ <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+ <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+ <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+ <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+ <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+ <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.PluginSettings</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{8994bd34-5ed9-4c45-8c0a-94c8f33eca4a}</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">-1</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">0</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+ <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+ <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+ <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+ <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+ <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+ <value type="int" key="PE.EnvironmentAspect.Base">0</value>
+ <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration.QmlScene</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value>
+ <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+ <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+ <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">22</value>
+ </data>
+ <data>
+ <variable>Version</variable>
+ <value type="int">22</value>
+ </data>
+</qtcreator>
diff --git a/doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject.qtds.4.10-pre1 b/doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject.qtds.4.10-pre1
new file mode 100644
index 0000000000..5c5b6b4c9e
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/loginui1.qmlproject.qtds.4.10-pre1
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtDesignStudio 1.2.0, 2019-05-28T14:45:23. -->
+<qtcreator>
+ <data>
+ <variable>EnvironmentId</variable>
+ <value type="QByteArray">{595d361f-de69-4ff2-b1f6-d89b95edfd27}</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+ <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+ <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+ <value type="QString" key="language">Cpp</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+ </valuemap>
+ </valuemap>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+ <value type="QString" key="language">QmlJS</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+ </valuemap>
+ </valuemap>
+ <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+ <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+ <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+ <value type="int" key="EditorConfiguration.IndentSize">4</value>
+ <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+ <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+ <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+ <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+ <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+ <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+ <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+ <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+ <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+ <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+ <value type="int" key="EditorConfiguration.TabSize">8</value>
+ <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+ <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+ <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+ <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+ <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+ <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.PluginSettings</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{8994bd34-5ed9-4c45-8c0a-94c8f33eca4a}</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">-1</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">0</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+ <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+ <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+ <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+ <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+ <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+ <value type="int" key="PE.EnvironmentAspect.Base">0</value>
+ <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration.QmlScene</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value>
+ <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+ <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+ <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">21</value>
+ </data>
+ <data>
+ <variable>Version</variable>
+ <value type="int">21</value>
+ </data>
+</qtcreator>
diff --git a/doc/qtdesignstudio/examples/loginui1/qt_logo_green_64x64px.png b/doc/qtdesignstudio/examples/loginui1/qt_logo_green_64x64px.png
new file mode 100644
index 0000000000..235a381b5f
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/qt_logo_green_64x64px.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/loginui1/qtquickcontrols2.conf b/doc/qtdesignstudio/examples/loginui1/qtquickcontrols2.conf
new file mode 100644
index 0000000000..75b2cb8fff
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui1/qtquickcontrols2.conf
@@ -0,0 +1,6 @@
+; This file can be edited to change the style of the application
+; Read "Qt Quick Controls 2 Configuration File" for details:
+; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html
+
+[Controls]
+Style=Default
diff --git a/doc/qtdesignstudio/examples/loginui2/PushButton.ui.qml b/doc/qtdesignstudio/examples/loginui2/PushButton.ui.qml
new file mode 100644
index 0000000000..7138bb41d8
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui2/PushButton.ui.qml
@@ -0,0 +1,117 @@
+
+
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.10
+import QtQuick.Templates 2.1 as T
+import loginui2 1.0
+
+T.Button {
+ id: control
+
+ text: qsTr("MyButton")
+
+ font: Constants.font
+ implicitWidth: Math.max(
+ background ? background.implicitWidth : 0,
+ contentItem.implicitWidth + leftPadding + rightPadding)
+ implicitHeight: Math.max(
+ background ? background.implicitHeight : 0,
+ contentItem.implicitHeight + topPadding + bottomPadding)
+ leftPadding: 4
+ rightPadding: 4
+
+ background: Rectangle {
+ id: buttonBackground
+ color: "#41cd52"
+ radius: 6
+ implicitWidth: 100
+ implicitHeight: 40
+ opacity: enabled ? 1 : 0.3
+ border.width: 1
+ border.color: "#21be2b"
+ }
+
+ contentItem: Text {
+ id: textItem
+ text: control.text
+
+ font: control.font
+ opacity: enabled ? 1.0 : 0.3
+ color: "white"
+ horizontalAlignment: Text.AlignHCenter
+ verticalAlignment: Text.AlignVCenter
+ elide: Text.ElideRight
+ }
+
+ states: [
+ State {
+ name: "normal"
+ when: !control.down
+ PropertyChanges {
+ target: buttonBackground
+ }
+ },
+ State {
+ name: "down"
+ when: control.down
+ PropertyChanges {
+ target: textItem
+ color: "black"
+ }
+ PropertyChanges {
+ target: buttonBackground
+ color: "#a2a2a2"
+ border.color: "black"
+ }
+ }
+ ]
+}
+
diff --git a/doc/qtdesignstudio/examples/loginui2/Screen01.ui.qml b/doc/qtdesignstudio/examples/loginui2/Screen01.ui.qml
new file mode 100644
index 0000000000..9995430aaf
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui2/Screen01.ui.qml
@@ -0,0 +1,133 @@
+
+
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.10
+import loginui2 1.0
+import QtQuick.Controls 2.3
+
+Rectangle {
+ id: root
+ width: Constants.width
+ height: Constants.height
+
+ Rectangle {
+ id: loginPage
+ color: "#ffffff"
+ anchors.fill: parent
+
+ Image {
+ id: logo
+ width: 100
+ height: 100
+ anchors.topMargin: 10
+ anchors.left: parent.left
+ anchors.leftMargin: 10
+ anchors.top: parent.top
+ source: "qt_logo_green_64x64px.png"
+ fillMode: Image.PreserveAspectFit
+ }
+
+ Text {
+ id: pageTitle
+ width: 123
+ height: 40
+ text: qsTr("Qt Account")
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: parent.top
+ anchors.topMargin: 70
+ font.pixelSize: 24
+ }
+
+ Column {
+ id: fieldColumn
+ width: 300
+ height: 85
+ spacing: 5
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: parent.top
+ anchors.topMargin: 200
+
+ TextField {
+ id: usernameField
+ width: 300
+ placeholderText: qsTr("Username")
+ font.pointSize: 10
+ }
+
+ TextField {
+ id: passwordField
+ width: 300
+ placeholderText: qsTr("Password")
+ font.pointSize: 10
+ }
+ }
+
+ Column {
+ id: buttonColumn
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 50
+ spacing: 5
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ PushButton {
+ id: loginButton
+ width: 120
+ text: qsTr("Log In")
+ }
+
+ PushButton {
+ id: registerButton
+ width: 120
+ text: qsTr("Create Account")
+ }
+ }
+ }
+}
diff --git a/doc/qtdesignstudio/examples/loginui2/imports/loginui2/Constants.qml b/doc/qtdesignstudio/examples/loginui2/imports/loginui2/Constants.qml
new file mode 100644
index 0000000000..74a66dcae2
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui2/imports/loginui2/Constants.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+pragma Singleton
+import QtQuick 2.10
+
+QtObject {
+ readonly property int width: 640
+ readonly property int height: 480
+ readonly property FontLoader mySystemFont: FontLoader { name: "Arial" }
+ /* Edit this comment to add your custom font */
+ /* readonly property FontLoader myCustomFont: FontLoader { source: "MyCustomFont.ttf" } */
+ readonly property font font: Qt.font({
+ family: mySystemFont.name,
+ pointSize: Qt.application.font.pixelSize
+ })
+ readonly property font largeFont: Qt.font({
+ family: mySystemFont.name,
+ pointSize: Qt.application.font.pixelSize * 1.6
+ })
+ readonly property color backgroundColor: "#c2c2c2"
+}
+
+
+
+/*##^## Designer {
+ D{i:0;autoSize:true;height:480;width:640}
+}
+ ##^##*/
diff --git a/doc/qtdesignstudio/examples/loginui2/imports/loginui2/qmldir b/doc/qtdesignstudio/examples/loginui2/imports/loginui2/qmldir
new file mode 100644
index 0000000000..616ac20353
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui2/imports/loginui2/qmldir
@@ -0,0 +1 @@
+singleton Constants 1.0 Constants.qml
diff --git a/doc/qtdesignstudio/examples/loginui2/loginui2.qml b/doc/qtdesignstudio/examples/loginui2/loginui2.qml
new file mode 100644
index 0000000000..594150b005
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui2/loginui2.qml
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.10
+import loginui2 1.0
+
+Item {
+ width: Constants.width
+ height: Constants.height
+
+ Screen01 {
+ }
+}
+
+
diff --git a/doc/qtdesignstudio/examples/loginui2/loginui2.qmlproject b/doc/qtdesignstudio/examples/loginui2/loginui2.qmlproject
new file mode 100644
index 0000000000..094cd9b2c3
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui2/loginui2.qmlproject
@@ -0,0 +1,41 @@
+/* File generated by Qt Creator */
+
+import QmlProject 1.1
+
+Project {
+ mainFile: "loginui2.qml"
+
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+
+ JavaScriptFiles {
+ directory: "."
+ }
+
+ ImageFiles {
+ directory: "."
+ }
+
+ Files {
+ filter: "*.conf"
+ files: ["qtquickcontrols2.conf"]
+ }
+
+ Files {
+ filter: "qmldir"
+ directory: "."
+ }
+
+ Environment {
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ }
+
+ /* List of plugin directories passed to QML runtime */
+ importPaths: [ "imports" ]
+
+ /* Required for deployment */
+ targetDirectory: "/opt/loginui2"
+}
diff --git a/doc/qtdesignstudio/examples/loginui2/loginui2.qmlproject.qtds b/doc/qtdesignstudio/examples/loginui2/loginui2.qmlproject.qtds
new file mode 100644
index 0000000000..083a067353
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui2/loginui2.qmlproject.qtds
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtDesignStudio 1.2.0, 2019-05-28T16:13:26. -->
+<qtcreator>
+ <data>
+ <variable>EnvironmentId</variable>
+ <value type="QByteArray">{595d361f-de69-4ff2-b1f6-d89b95edfd27}</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+ <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+ <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+ <value type="QString" key="language">Cpp</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+ </valuemap>
+ </valuemap>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+ <value type="QString" key="language">QmlJS</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+ </valuemap>
+ </valuemap>
+ <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+ <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+ <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+ <value type="int" key="EditorConfiguration.IndentSize">4</value>
+ <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+ <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+ <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+ <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+ <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+ <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+ <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+ <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+ <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+ <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+ <value type="int" key="EditorConfiguration.TabSize">8</value>
+ <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+ <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+ <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+ <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+ <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+ <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.PluginSettings</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{8994bd34-5ed9-4c45-8c0a-94c8f33eca4a}</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">-1</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">0</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+ <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+ <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+ <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+ <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+ <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+ <value type="int" key="PE.EnvironmentAspect.Base">0</value>
+ <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration.QmlScene</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value>
+ <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+ <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+ <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">21</value>
+ </data>
+ <data>
+ <variable>Version</variable>
+ <value type="int">21</value>
+ </data>
+</qtcreator>
diff --git a/doc/qtdesignstudio/examples/loginui2/qt_logo_green_64x64px.png b/doc/qtdesignstudio/examples/loginui2/qt_logo_green_64x64px.png
new file mode 100644
index 0000000000..235a381b5f
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui2/qt_logo_green_64x64px.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/loginui2/qtquickcontrols2.conf b/doc/qtdesignstudio/examples/loginui2/qtquickcontrols2.conf
new file mode 100644
index 0000000000..75b2cb8fff
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui2/qtquickcontrols2.conf
@@ -0,0 +1,6 @@
+; This file can be edited to change the style of the application
+; Read "Qt Quick Controls 2 Configuration File" for details:
+; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html
+
+[Controls]
+Style=Default
diff --git a/doc/qtdesignstudio/examples/loginui3/PushButton.ui.qml b/doc/qtdesignstudio/examples/loginui3/PushButton.ui.qml
new file mode 100644
index 0000000000..e22e421698
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui3/PushButton.ui.qml
@@ -0,0 +1,115 @@
+
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.10
+import QtQuick.Templates 2.1 as T
+import loginui3 1.0
+
+T.Button {
+ id: control
+
+ text: qsTr("MyButton")
+
+ font: Constants.font
+ implicitWidth: Math.max(
+ background ? background.implicitWidth : 0,
+ contentItem.implicitWidth + leftPadding + rightPadding)
+ implicitHeight: Math.max(
+ background ? background.implicitHeight : 0,
+ contentItem.implicitHeight + topPadding + bottomPadding)
+ leftPadding: 4
+ rightPadding: 4
+
+ background: Rectangle {
+ id: buttonBackground
+ color: "#41cd52"
+ radius: 6
+ implicitWidth: 100
+ implicitHeight: 40
+ opacity: enabled ? 1 : 0.3
+ border.width: 1
+ border.color: "#21be2b"
+ }
+
+ contentItem: Text {
+ id: textItem
+ text: control.text
+
+ font: control.font
+ opacity: enabled ? 1.0 : 0.3
+ color: "white"
+ horizontalAlignment: Text.AlignHCenter
+ verticalAlignment: Text.AlignVCenter
+ elide: Text.ElideRight
+ }
+
+ states: [
+ State {
+ name: "normal"
+ when: !control.down
+ PropertyChanges {
+ target: buttonBackground
+ }
+ },
+ State {
+ name: "down"
+ when: control.down
+ PropertyChanges {
+ target: textItem
+ color: "white"
+ }
+ PropertyChanges {
+ target: buttonBackground
+ color: Qt.darker("#41cd52", 1.2)
+ border.color: Qt.darker("#21be2b", 1.2)
+ }
+ }
+ ]
+}
diff --git a/doc/qtdesignstudio/examples/loginui3/Screen01.ui.qml b/doc/qtdesignstudio/examples/loginui3/Screen01.ui.qml
new file mode 100644
index 0000000000..2ebf95a89c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui3/Screen01.ui.qml
@@ -0,0 +1,193 @@
+
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.10
+import loginui3 1.0
+import QtQuick.Controls 2.3
+
+Rectangle {
+ id: root
+ state: "loginState"
+ width: Constants.width
+ height: Constants.height
+
+ Rectangle {
+ id: loginPage
+ color: "#ffffff"
+ anchors.fill: parent
+
+ Image {
+ id: logo
+ width: 100
+ height: 100
+ anchors.topMargin: 10
+ anchors.left: parent.left
+ anchors.leftMargin: 10
+ anchors.top: parent.top
+ source: "qt_logo_green_64x64px.png"
+ fillMode: Image.PreserveAspectFit
+ }
+
+ Text {
+ id: pageTitle
+ width: 123
+ height: 40
+ text: qsTr("Qt Account")
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: parent.top
+ anchors.topMargin: 70
+ font.pixelSize: 24
+ }
+
+ PushButton {
+ id: backButton
+ width: 40
+ text: "<"
+ font.pixelSize: 24
+ anchors.right: parent.right
+ anchors.rightMargin: 10
+ anchors.top: parent.top
+ anchors.topMargin: 20
+ }
+
+ Column {
+ id: fieldColumn
+ width: 300
+ height: 130
+ spacing: 5
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: parent.top
+ anchors.topMargin: 200
+
+ TextField {
+ id: usernameField
+ width: 300
+ placeholderText: qsTr("Username")
+ font.pointSize: 10
+ }
+
+ TextField {
+ id: passwordField
+ width: 300
+ placeholderText: qsTr("Password")
+ font.pointSize: 10
+ }
+
+ TextField {
+ id: verifyPasswordField
+ width: 300
+ visible: true
+ font.pointSize: 10
+ placeholderText: qsTr("Verify password")
+ }
+ }
+
+ Column {
+ id: buttonColumn
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 50
+ spacing: 5
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ PushButton {
+ id: loginButton
+ width: 120
+ text: qsTr("Log In")
+ }
+
+ PushButton {
+ id: registerButton
+ width: 120
+ text: qsTr("Create Account")
+ }
+ }
+ }
+
+ Connections {
+ target: registerButton
+ onClicked: {
+ root.state = "registerState"
+ }
+ }
+
+ Connections {
+ target: backButton
+ onClicked: {
+ root.state = "loginState"
+ }
+ }
+ states: [
+ State {
+ name: "loginState"
+
+ PropertyChanges {
+ target: verifyPasswordField
+ visible: false
+ }
+
+ PropertyChanges {
+ target: backButton
+ visible: false
+ }
+ },
+ State {
+ name: "registerState"
+ PropertyChanges {
+ target: verifyPasswordField
+ visible: true
+ }
+
+ PropertyChanges {
+ target: loginButton
+ visible: false
+ }
+ }
+ ]
+}
diff --git a/doc/qtdesignstudio/examples/loginui3/imports/loginui3/Constants.qml b/doc/qtdesignstudio/examples/loginui3/imports/loginui3/Constants.qml
new file mode 100644
index 0000000000..74a66dcae2
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui3/imports/loginui3/Constants.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+pragma Singleton
+import QtQuick 2.10
+
+QtObject {
+ readonly property int width: 640
+ readonly property int height: 480
+ readonly property FontLoader mySystemFont: FontLoader { name: "Arial" }
+ /* Edit this comment to add your custom font */
+ /* readonly property FontLoader myCustomFont: FontLoader { source: "MyCustomFont.ttf" } */
+ readonly property font font: Qt.font({
+ family: mySystemFont.name,
+ pointSize: Qt.application.font.pixelSize
+ })
+ readonly property font largeFont: Qt.font({
+ family: mySystemFont.name,
+ pointSize: Qt.application.font.pixelSize * 1.6
+ })
+ readonly property color backgroundColor: "#c2c2c2"
+}
+
+
+
+/*##^## Designer {
+ D{i:0;autoSize:true;height:480;width:640}
+}
+ ##^##*/
diff --git a/doc/qtdesignstudio/examples/loginui3/imports/loginui3/qmldir b/doc/qtdesignstudio/examples/loginui3/imports/loginui3/qmldir
new file mode 100644
index 0000000000..616ac20353
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui3/imports/loginui3/qmldir
@@ -0,0 +1 @@
+singleton Constants 1.0 Constants.qml
diff --git a/doc/qtdesignstudio/examples/loginui3/loginui3.qml b/doc/qtdesignstudio/examples/loginui3/loginui3.qml
new file mode 100644
index 0000000000..0fd5dcc8e7
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui3/loginui3.qml
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.10
+import loginui3 1.0
+
+Item {
+ width: Constants.width
+ height: Constants.height
+
+ Screen01 {
+ }
+}
+
+
+
+/*##^## Designer {
+ D{i:0;autoSize:true;height:480;width:640}
+}
+ ##^##*/
diff --git a/doc/qtdesignstudio/examples/loginui3/loginui3.qmlproject b/doc/qtdesignstudio/examples/loginui3/loginui3.qmlproject
new file mode 100644
index 0000000000..418175f23c
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui3/loginui3.qmlproject
@@ -0,0 +1,41 @@
+/* File generated by Qt Creator */
+
+import QmlProject 1.1
+
+Project {
+ mainFile: "loginui3.qml"
+
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+
+ JavaScriptFiles {
+ directory: "."
+ }
+
+ ImageFiles {
+ directory: "."
+ }
+
+ Files {
+ filter: "*.conf"
+ files: ["qtquickcontrols2.conf"]
+ }
+
+ Files {
+ filter: "qmldir"
+ directory: "."
+ }
+
+ Environment {
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ }
+
+ /* List of plugin directories passed to QML runtime */
+ importPaths: [ "imports" ]
+
+ /* Required for deployment */
+ targetDirectory: "/opt/loginui3"
+}
diff --git a/doc/qtdesignstudio/examples/loginui3/loginui3.qmlproject.qtds b/doc/qtdesignstudio/examples/loginui3/loginui3.qmlproject.qtds
new file mode 100644
index 0000000000..fafe88caea
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui3/loginui3.qmlproject.qtds
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtDesignStudio 1.2.0, 2019-05-29T13:03:13. -->
+<qtcreator>
+ <data>
+ <variable>EnvironmentId</variable>
+ <value type="QByteArray">{595d361f-de69-4ff2-b1f6-d89b95edfd27}</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+ <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+ <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+ <value type="QString" key="language">Cpp</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+ </valuemap>
+ </valuemap>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+ <value type="QString" key="language">QmlJS</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+ </valuemap>
+ </valuemap>
+ <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+ <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+ <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+ <value type="int" key="EditorConfiguration.IndentSize">4</value>
+ <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+ <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+ <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+ <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+ <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+ <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+ <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+ <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+ <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+ <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+ <value type="int" key="EditorConfiguration.TabSize">8</value>
+ <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+ <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+ <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+ <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+ <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+ <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.PluginSettings</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{8994bd34-5ed9-4c45-8c0a-94c8f33eca4a}</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">-1</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">0</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+ <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+ <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+ <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+ <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+ <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+ <value type="int" key="PE.EnvironmentAspect.Base">0</value>
+ <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration.QmlScene</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value>
+ <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+ <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+ <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">21</value>
+ </data>
+ <data>
+ <variable>Version</variable>
+ <value type="int">21</value>
+ </data>
+</qtcreator>
diff --git a/doc/qtdesignstudio/examples/loginui3/qt_logo_green_64x64px.png b/doc/qtdesignstudio/examples/loginui3/qt_logo_green_64x64px.png
new file mode 100644
index 0000000000..235a381b5f
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui3/qt_logo_green_64x64px.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/loginui3/qtquickcontrols2.conf b/doc/qtdesignstudio/examples/loginui3/qtquickcontrols2.conf
new file mode 100644
index 0000000000..75b2cb8fff
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui3/qtquickcontrols2.conf
@@ -0,0 +1,6 @@
+; This file can be edited to change the style of the application
+; Read "Qt Quick Controls 2 Configuration File" for details:
+; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html
+
+[Controls]
+Style=Default
diff --git a/doc/qtdesignstudio/examples/loginui4/PushButton.ui.qml b/doc/qtdesignstudio/examples/loginui4/PushButton.ui.qml
new file mode 100644
index 0000000000..5d49d38abb
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/PushButton.ui.qml
@@ -0,0 +1,123 @@
+
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.10
+import QtQuick.Templates 2.1 as T
+import loginui4 1.0
+
+T.Button {
+ id: control
+
+ text: qsTr("MyButton")
+
+ font: Constants.font
+ implicitWidth: Math.max(
+ background ? background.implicitWidth : 0,
+ contentItem.implicitWidth + leftPadding + rightPadding)
+ implicitHeight: Math.max(
+ background ? background.implicitHeight : 0,
+ contentItem.implicitHeight + topPadding + bottomPadding)
+ leftPadding: 4
+ rightPadding: 4
+
+ background: Rectangle {
+ id: buttonBackground
+ color: "#41cd52"
+ radius: 6
+ implicitWidth: 100
+ implicitHeight: 40
+ opacity: enabled ? 1 : 0.3
+ border.width: 1
+ border.color: "#21be2b"
+ }
+
+ contentItem: Text {
+ id: textItem
+ text: control.text
+
+ font: control.font
+ opacity: enabled ? 1.0 : 0.3
+ color: "white"
+ horizontalAlignment: Text.AlignHCenter
+ verticalAlignment: Text.AlignVCenter
+ elide: Text.ElideRight
+ }
+
+ states: [
+ State {
+ name: "normal"
+ when: !control.down
+ PropertyChanges {
+ target: buttonBackground
+ }
+ },
+ State {
+ name: "down"
+ when: control.down
+ PropertyChanges {
+ target: textItem
+ color: "white"
+ }
+ PropertyChanges {
+ target: buttonBackground
+ color: Qt.darker("#41cd52", 1.2)
+ border.color: Qt.darker("#21be2b", 1.2)
+ }
+ }
+ ]
+}
+
+
+
+
+/*##^## Designer {
+ D{i:0;autoSize:true;height:480;width:640}
+}
+ ##^##*/
diff --git a/doc/qtdesignstudio/examples/loginui4/Screen01.ui.qml b/doc/qtdesignstudio/examples/loginui4/Screen01.ui.qml
new file mode 100644
index 0000000000..e318223a0b
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/Screen01.ui.qml
@@ -0,0 +1,287 @@
+
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+import QtQuick 2.10
+import loginui4 1.0
+import QtQuick.Controls 2.3
+import QtQuick.Timeline 1.0
+
+Rectangle {
+ id: root
+ width: Constants.width
+ height: Constants.height
+
+ Rectangle {
+ id: loginPage
+ color: "#ffffff"
+ anchors.fill: parent
+
+ Image {
+ id: logo
+ width: 100
+ height: 100
+ anchors.topMargin: 10
+ anchors.left: parent.left
+ anchors.leftMargin: 10
+ anchors.top: parent.top
+ source: "qt_logo_green_64x64px.png"
+ fillMode: Image.PreserveAspectFit
+ }
+
+ Text {
+ id: pageTitle
+ width: 123
+ height: 40
+ text: qsTr("Qt Account")
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: parent.top
+ anchors.topMargin: 70
+ font.pixelSize: 24
+ }
+
+ PushButton {
+ id: backButton
+ x: 507
+ width: 40
+ text: "<"
+ opacity: 1
+ anchors.right: parent.right
+ anchors.rightMargin: 10
+ anchors.top: parent.top
+ anchors.topMargin: 20
+ font.pixelSize: 24
+ }
+
+ Column {
+ id: buttonColumn
+ anchors.bottom: parent.bottom
+ anchors.bottomMargin: 50
+ spacing: 5
+ anchors.horizontalCenter: parent.horizontalCenter
+
+ PushButton {
+ id: loginButton
+ width: 120
+ text: qsTr("Log In")
+ }
+
+ PushButton {
+ id: registerButton
+ width: 120
+ text: qsTr("Create Account")
+ }
+ }
+
+ TextField {
+ id: usernameField
+ width: 300
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: parent.top
+ anchors.topMargin: 200
+ placeholderText: qsTr("Username")
+ font.pointSize: 10
+ }
+
+ TextField {
+ id: passwordField
+ width: 300
+ anchors.horizontalCenter: usernameField.horizontalCenter
+ anchors.top: usernameField.bottom
+ anchors.topMargin: 5
+ placeholderText: qsTr("Password")
+ font.pointSize: 10
+ }
+
+ TextField {
+ id: verifyPasswordField
+ width: 300
+ anchors.horizontalCenter: passwordField.horizontalCenter
+ anchors.top: passwordField.bottom
+ anchors.topMargin: 5
+ visible: true
+ font.pointSize: 10
+ placeholderText: qsTr("Verify password")
+ }
+ }
+
+ Timeline {
+ id: timeline
+ animations: [
+ TimelineAnimation {
+ id: toRegisterState
+ running: false
+ loops: 1
+ duration: 1000
+ to: 1000
+ from: 0
+ },
+ TimelineAnimation {
+ id: toLoginState
+ loops: 1
+ from: 1000
+ running: false
+ to: 0
+ duration: 1000
+ }
+ ]
+ enabled: true
+ startFrame: 0
+ endFrame: 1000
+
+ KeyframeGroup {
+ target: verifyPasswordField
+ property: "opacity"
+ Keyframe {
+ frame: 0
+ value: 0
+ }
+
+ Keyframe {
+ value: 1
+ frame: 1001
+ }
+ }
+
+ KeyframeGroup {
+ target: loginButton
+ property: "opacity"
+ Keyframe {
+ frame: 0
+ value: 1
+ }
+
+ Keyframe {
+ frame: 1000
+ value: "0"
+ }
+ }
+
+ KeyframeGroup {
+ target: verifyPasswordField
+ property: "anchors.topMargin"
+
+ Keyframe {
+ easing.bezierCurve: [0.39, 0.575, 0.565, 1, 1, 1]
+ value: 5
+ frame: 1001
+ }
+
+ Keyframe {
+ value: "-40"
+ frame: 0
+ }
+ }
+
+ KeyframeGroup {
+ target: backButton
+ property: "opacity"
+ Keyframe {
+ frame: 0
+ value: 0
+ }
+
+ Keyframe {
+ frame: 1000
+ value: 1
+ }
+ }
+ }
+
+ Connections {
+ target: registerButton
+ onClicked: {
+ root.state = "registerState"
+ }
+ }
+
+ Connections {
+ target: backButton
+ onClicked: {
+ root.state = "loginState"
+ }
+ }
+ states: [
+ State {
+ name: "registerState"
+
+ PropertyChanges {
+ target: timeline
+ enabled: true
+ }
+
+ PropertyChanges {
+ target: toRegisterState
+ running: true
+ }
+ },
+ State {
+ name: "loginState"
+
+ PropertyChanges {
+ target: timeline
+ enabled: true
+ }
+
+ PropertyChanges {
+ target: toLoginState
+ running: true
+ }
+ }
+ ]
+}
+
+
+
+
+/*##^## Designer {
+ D{i:4;anchors_y:28;timeline_expanded:true}D{i:6;timeline_expanded:true}D{i:7;timeline_expanded:true}
+D{i:8;anchors_y:200;timeline_expanded:true}D{i:9;anchors_x:170;anchors_y:245}D{i:10;anchors_y:245;timeline_expanded:true}
+}
+ ##^##*/
diff --git a/doc/qtdesignstudio/examples/loginui4/imports/loginui4/Constants.qml b/doc/qtdesignstudio/examples/loginui4/imports/loginui4/Constants.qml
new file mode 100644
index 0000000000..74a66dcae2
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/imports/loginui4/Constants.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+pragma Singleton
+import QtQuick 2.10
+
+QtObject {
+ readonly property int width: 640
+ readonly property int height: 480
+ readonly property FontLoader mySystemFont: FontLoader { name: "Arial" }
+ /* Edit this comment to add your custom font */
+ /* readonly property FontLoader myCustomFont: FontLoader { source: "MyCustomFont.ttf" } */
+ readonly property font font: Qt.font({
+ family: mySystemFont.name,
+ pointSize: Qt.application.font.pixelSize
+ })
+ readonly property font largeFont: Qt.font({
+ family: mySystemFont.name,
+ pointSize: Qt.application.font.pixelSize * 1.6
+ })
+ readonly property color backgroundColor: "#c2c2c2"
+}
+
+
+
+/*##^## Designer {
+ D{i:0;autoSize:true;height:480;width:640}
+}
+ ##^##*/
diff --git a/doc/qtdesignstudio/examples/loginui4/imports/loginui4/qmldir b/doc/qtdesignstudio/examples/loginui4/imports/loginui4/qmldir
new file mode 100644
index 0000000000..616ac20353
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/imports/loginui4/qmldir
@@ -0,0 +1 @@
+singleton Constants 1.0 Constants.qml
diff --git a/doc/qtdesignstudio/examples/loginui4/loginui4.qml b/doc/qtdesignstudio/examples/loginui4/loginui4.qml
new file mode 100644
index 0000000000..0f6b845bce
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/loginui4.qml
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.10
+import loginui4 1.0
+
+Item {
+ width: Constants.width
+ height: Constants.height
+
+ Screen01 {
+ }
+}
+
+
+
+/*##^## Designer {
+ D{i:0;autoSize:true;height:480;width:640}
+}
+ ##^##*/
diff --git a/doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject b/doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject
new file mode 100644
index 0000000000..8447f30664
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject
@@ -0,0 +1,41 @@
+/* File generated by Qt Creator */
+
+import QmlProject 1.1
+
+Project {
+ mainFile: "loginui4.qml"
+
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+
+ JavaScriptFiles {
+ directory: "."
+ }
+
+ ImageFiles {
+ directory: "."
+ }
+
+ Files {
+ filter: "*.conf"
+ files: ["qtquickcontrols2.conf"]
+ }
+
+ Files {
+ filter: "qmldir"
+ directory: "."
+ }
+
+ Environment {
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ }
+
+ /* List of plugin directories passed to QML runtime */
+ importPaths: [ "imports" ]
+
+ /* Required for deployment */
+ targetDirectory: "/opt/loginui3"
+}
diff --git a/doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject.qtds b/doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject.qtds
new file mode 100644
index 0000000000..f062eb1fea
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject.qtds
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtDesignStudio 1.3.0, 2019-09-04T14:46:00. -->
+<qtcreator>
+ <data>
+ <variable>EnvironmentId</variable>
+ <value type="QByteArray">{595d361f-de69-4ff2-b1f6-d89b95edfd27}</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+ <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+ <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+ <value type="QString" key="language">Cpp</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+ </valuemap>
+ </valuemap>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+ <value type="QString" key="language">QmlJS</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+ </valuemap>
+ </valuemap>
+ <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+ <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+ <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+ <value type="int" key="EditorConfiguration.IndentSize">4</value>
+ <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+ <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+ <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+ <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+ <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+ <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+ <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+ <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+ <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+ <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+ <value type="int" key="EditorConfiguration.TabSize">8</value>
+ <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+ <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+ <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+ <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+ <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+ <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.PluginSettings</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{8994bd34-5ed9-4c45-8c0a-94c8f33eca4a}</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">-1</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">0</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+ <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+ <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+ <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+ <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+ <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+ <value type="int" key="PE.EnvironmentAspect.Base">0</value>
+ <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration.QmlScene</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value>
+ <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+ <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+ <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">22</value>
+ </data>
+ <data>
+ <variable>Version</variable>
+ <value type="int">22</value>
+ </data>
+</qtcreator>
diff --git a/doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject.qtds.4.10-pre1 b/doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject.qtds.4.10-pre1
new file mode 100644
index 0000000000..f4d9a761ec
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/loginui4.qmlproject.qtds.4.10-pre1
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtDesignStudio 1.2.0, 2019-05-29T15:11:35. -->
+<qtcreator>
+ <data>
+ <variable>EnvironmentId</variable>
+ <value type="QByteArray">{595d361f-de69-4ff2-b1f6-d89b95edfd27}</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+ <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+ <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+ <value type="QString" key="language">Cpp</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+ </valuemap>
+ </valuemap>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+ <value type="QString" key="language">QmlJS</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+ </valuemap>
+ </valuemap>
+ <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+ <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+ <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+ <value type="int" key="EditorConfiguration.IndentSize">4</value>
+ <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+ <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+ <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+ <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+ <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+ <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+ <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+ <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+ <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+ <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+ <value type="int" key="EditorConfiguration.TabSize">8</value>
+ <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+ <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+ <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+ <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+ <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+ <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.PluginSettings</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{8994bd34-5ed9-4c45-8c0a-94c8f33eca4a}</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">-1</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">0</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+ <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+ <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+ <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+ <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+ <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+ <value type="int" key="PE.EnvironmentAspect.Base">0</value>
+ <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration.QmlScene</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value>
+ <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value>
+ <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+ <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+ <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">21</value>
+ </data>
+ <data>
+ <variable>Version</variable>
+ <value type="int">21</value>
+ </data>
+</qtcreator>
diff --git a/doc/qtdesignstudio/examples/loginui4/qt_logo_green_64x64px.png b/doc/qtdesignstudio/examples/loginui4/qt_logo_green_64x64px.png
new file mode 100644
index 0000000000..235a381b5f
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/qt_logo_green_64x64px.png
Binary files differ
diff --git a/doc/qtdesignstudio/examples/loginui4/qtquickcontrols2.conf b/doc/qtdesignstudio/examples/loginui4/qtquickcontrols2.conf
new file mode 100644
index 0000000000..75b2cb8fff
--- /dev/null
+++ b/doc/qtdesignstudio/examples/loginui4/qtquickcontrols2.conf
@@ -0,0 +1,6 @@
+; This file can be edited to change the style of the application
+; Read "Qt Quick Controls 2 Configuration File" for details:
+; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html
+
+[Controls]
+Style=Default
diff --git a/doc/qtdesignstudio/images/area-light.png b/doc/qtdesignstudio/images/area-light.png
new file mode 100644
index 0000000000..89d4c31dfa
--- /dev/null
+++ b/doc/qtdesignstudio/images/area-light.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/browse-button.png b/doc/qtdesignstudio/images/browse-button.png
new file mode 100644
index 0000000000..b147f3203e
--- /dev/null
+++ b/doc/qtdesignstudio/images/browse-button.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/directional-light.png b/doc/qtdesignstudio/images/directional-light.png
new file mode 100644
index 0000000000..cf7a1214cb
--- /dev/null
+++ b/doc/qtdesignstudio/images/directional-light.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/iso-icon-browser.png b/doc/qtdesignstudio/images/iso-icon-browser.png
new file mode 100644
index 0000000000..8aa6109efe
--- /dev/null
+++ b/doc/qtdesignstudio/images/iso-icon-browser.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/materials.png b/doc/qtdesignstudio/images/materials.png
new file mode 100644
index 0000000000..12cbb22768
--- /dev/null
+++ b/doc/qtdesignstudio/images/materials.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/maya-export-options.png b/doc/qtdesignstudio/images/maya-export-options.png
new file mode 100644
index 0000000000..4517eebd60
--- /dev/null
+++ b/doc/qtdesignstudio/images/maya-export-options.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/qt-bridge-override.png b/doc/qtdesignstudio/images/qt-bridge-override.png
new file mode 100644
index 0000000000..79d536edb0
--- /dev/null
+++ b/doc/qtdesignstudio/images/qt-bridge-override.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/qt-bridge-sanitize.png b/doc/qtdesignstudio/images/qt-bridge-sanitize.png
new file mode 100644
index 0000000000..a52ec74532
--- /dev/null
+++ b/doc/qtdesignstudio/images/qt-bridge-sanitize.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/qt-bridge-settings.png b/doc/qtdesignstudio/images/qt-bridge-settings.png
new file mode 100644
index 0000000000..1ac1a9940e
--- /dev/null
+++ b/doc/qtdesignstudio/images/qt-bridge-settings.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/qt-bridge.png b/doc/qtdesignstudio/images/qt-bridge.png
new file mode 100644
index 0000000000..5eb3dd39dd
--- /dev/null
+++ b/doc/qtdesignstudio/images/qt-bridge.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/qt-sketch-bridge-settings.png b/doc/qtdesignstudio/images/qt-sketch-bridge-settings.png
new file mode 100644
index 0000000000..13760012e7
--- /dev/null
+++ b/doc/qtdesignstudio/images/qt-sketch-bridge-settings.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/qt-sketch-bridge.png b/doc/qtdesignstudio/images/qt-sketch-bridge.png
new file mode 100644
index 0000000000..31d9208504
--- /dev/null
+++ b/doc/qtdesignstudio/images/qt-sketch-bridge.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-3d-directional-light.png b/doc/qtdesignstudio/images/studio-3d-directional-light.png
new file mode 100644
index 0000000000..f5e16e8e40
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-3d-directional-light.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-3d-editor-move.png b/doc/qtdesignstudio/images/studio-3d-editor-move.png
new file mode 100644
index 0000000000..77e83eacd5
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-3d-editor-move.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-3d-editor-rotate.png b/doc/qtdesignstudio/images/studio-3d-editor-rotate.png
new file mode 100644
index 0000000000..033c4c4a9e
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-3d-editor-rotate.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-3d-editor-scale.png b/doc/qtdesignstudio/images/studio-3d-editor-scale.png
new file mode 100644
index 0000000000..af2ecee0d0
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-3d-editor-scale.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-3d-editor.png b/doc/qtdesignstudio/images/studio-3d-editor.png
new file mode 100644
index 0000000000..575b7510c6
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-3d-editor.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-3d-point-light.png b/doc/qtdesignstudio/images/studio-3d-point-light.png
new file mode 100644
index 0000000000..9252f47c78
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-3d-point-light.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-3d-properties-type.png b/doc/qtdesignstudio/images/studio-3d-properties-type.png
new file mode 100644
index 0000000000..7589d8dc17
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-3d-properties-type.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-3d-scenes.png b/doc/qtdesignstudio/images/studio-3d-scenes.png
new file mode 100644
index 0000000000..94dbb54778
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-3d-scenes.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-animation.png b/doc/qtdesignstudio/images/studio-animation.png
new file mode 100644
index 0000000000..1bcabc0a13
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-animation.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-arc.png b/doc/qtdesignstudio/images/studio-arc.png
new file mode 100644
index 0000000000..3d1a1dabd2
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-arc.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-border.png b/doc/qtdesignstudio/images/studio-border.png
new file mode 100644
index 0000000000..df9f12cc63
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-border.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-components.png b/doc/qtdesignstudio/images/studio-components.png
new file mode 100644
index 0000000000..d72388e53b
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-components.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-connections.png b/doc/qtdesignstudio/images/studio-connections.png
new file mode 100644
index 0000000000..787bfbdc95
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-connections.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-design-mode.png b/doc/qtdesignstudio/images/studio-design-mode.png
new file mode 100644
index 0000000000..9937cce4ff
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-design-mode.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-edit-mode.png b/doc/qtdesignstudio/images/studio-edit-mode.png
new file mode 100644
index 0000000000..4923271823
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-edit-mode.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-editing-3d-scenes.png b/doc/qtdesignstudio/images/studio-editing-3d-scenes.png
new file mode 100644
index 0000000000..329e38b5c3
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-editing-3d-scenes.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-editors.png b/doc/qtdesignstudio/images/studio-editors.png
new file mode 100644
index 0000000000..063bda76a8
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-editors.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-flipable.png b/doc/qtdesignstudio/images/studio-flipable.png
new file mode 100644
index 0000000000..d4b490b246
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-flipable.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-group.png b/doc/qtdesignstudio/images/studio-group.png
new file mode 100644
index 0000000000..27a5f79bbc
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-group.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-gs.png b/doc/qtdesignstudio/images/studio-gs.png
new file mode 100644
index 0000000000..898826e83d
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-gs.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-help.png b/doc/qtdesignstudio/images/studio-help.png
new file mode 100644
index 0000000000..3cee0bf635
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-help.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-import-3d.png b/doc/qtdesignstudio/images/studio-import-3d.png
new file mode 100644
index 0000000000..6f960a875a
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-import-3d.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-import-metadata.png b/doc/qtdesignstudio/images/studio-import-metadata.png
new file mode 100644
index 0000000000..6b2f1716b5
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-import-metadata.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-imported-assets.png b/doc/qtdesignstudio/images/studio-imported-assets.png
new file mode 100644
index 0000000000..2722c84ba4
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-imported-assets.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-kit-selector.png b/doc/qtdesignstudio/images/studio-kit-selector.png
new file mode 100644
index 0000000000..1844be1412
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-kit-selector.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-live-preview.png b/doc/qtdesignstudio/images/studio-live-preview.png
new file mode 100644
index 0000000000..30d5c822d0
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-live-preview.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-pie.png b/doc/qtdesignstudio/images/studio-pie.png
new file mode 100644
index 0000000000..f2e67a63fb
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-pie.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-preview.png b/doc/qtdesignstudio/images/studio-preview.png
new file mode 100644
index 0000000000..4f943f3f8d
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-preview.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-project-wizards.png b/doc/qtdesignstudio/images/studio-project-wizards.png
new file mode 100644
index 0000000000..29a31a2e14
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-project-wizards.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-projects.png b/doc/qtdesignstudio/images/studio-projects.png
new file mode 100644
index 0000000000..623bc1f872
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-projects.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-ps-export.png b/doc/qtdesignstudio/images/studio-ps-export.png
new file mode 100644
index 0000000000..a28cc68bb0
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-ps-export.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-rectangle.png b/doc/qtdesignstudio/images/studio-rectangle.png
new file mode 100644
index 0000000000..0d545b8fbb
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-rectangle.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-run-settings.png b/doc/qtdesignstudio/images/studio-run-settings.png
new file mode 100644
index 0000000000..034377a98d
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-run-settings.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-settings.png b/doc/qtdesignstudio/images/studio-settings.png
new file mode 100644
index 0000000000..2ac37ea853
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-settings.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-sketch-export.png b/doc/qtdesignstudio/images/studio-sketch-export.png
new file mode 100644
index 0000000000..e9ecc8a92b
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-sketch-export.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-triangle.png b/doc/qtdesignstudio/images/studio-triangle.png
new file mode 100644
index 0000000000..948e67041e
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-triangle.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-welcome-mode.png b/doc/qtdesignstudio/images/studio-welcome-mode.png
new file mode 100644
index 0000000000..2657be12af
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-welcome-mode.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-workflow.png b/doc/qtdesignstudio/images/studio-workflow.png
new file mode 100644
index 0000000000..a155ed0da4
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-workflow.png
Binary files differ
diff --git a/doc/qtdesignstudio/qtdesignstudio-online.qdocconf b/doc/qtdesignstudio/qtdesignstudio-online.qdocconf
new file mode 100644
index 0000000000..27121048cb
--- /dev/null
+++ b/doc/qtdesignstudio/qtdesignstudio-online.qdocconf
@@ -0,0 +1,8 @@
+include(config/license.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-online.qdocconf)
+include(config/html-online.qdocconf)
+include(config/qtdesignstudio.qdocconf)
+
+# Add an .html file with sidebar content, used in the online style
+HTML.stylesheets += config/style/qt5-sidebar.html
+
diff --git a/doc/qtdesignstudio/qtdesignstudio.qdocconf b/doc/qtdesignstudio/qtdesignstudio.qdocconf
new file mode 100644
index 0000000000..2bb8c5e8f9
--- /dev/null
+++ b/doc/qtdesignstudio/qtdesignstudio.qdocconf
@@ -0,0 +1,3 @@
+include(config/license.qdocconf)
+include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
+include(config/qtdesignstudio.qdocconf)
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc
new file mode 100644
index 0000000000..60a521726e
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage studio-getting-started.html
+ \page qtbridge-overview.html
+ \nextpage psqtbridge.html
+
+ \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
+ the guidelines for creating and exporting them.
+
+ \list
+
+ \li \l{Exporting Designs from Adobe Photoshop}
+
+ You can use the \QBPS export tool in Adobe Photoshop to convert
+ artwork into Qt Quick files (.ui.qml) that you can import to
+ projects in \QDS.
+
+ \li \l{Exporting Designs from Sketch}
+
+ You can use the \QBSK export tool in Sketch to convert artwork into
+ Qt Quick files that you can import to projects in \QDS.
+
+ \li \l{Exporting from Maya}
+
+ You can export 3D graphics from Maya in the FBX format.
+ The necessary plugin is usually enabled by default.
+
+ \omit
+ \li \l{Exporting 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.
+ \endomit
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-overview.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-overview.qdoc
new file mode 100644
index 0000000000..272a045421
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-overview.qdoc
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+// Note: The \page value is hard-coded as a link in Qt Bridge for Adobe Photoshop.
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage qtbridge-overview.html
+ \page psqtbridge.html
+ \nextpage qtbridge-ps-setup.html
+
+ \title Exporting Designs from Adobe Photoshop
+
+ You can use \QBPS to export designs from Adobe Photoshop to .ui.qml files.
+
+ \image studio-ps-export.png
+
+ If you would rather use Adobe Illustrator for creating artwork, you can
+ copy-paste your assets to Adobe Photoshop as \e {smart objects}.
+
+ The following topics describe setting up and using \QBPS:
+
+ \list
+
+ \li \l{Setting Up Qt Bridge for Adobe Photoshop}
+
+ You must install and set up the \QBPS export tool before you can use
+ it to convert artwork into Qt Quick files that you can import to
+ projects in \QDS.
+
+ \li \l{Using Qt Bridge for Adobe Photoshop}
+
+ To get the best results when you use \QBPS to export designs from
+ Photoshop to Qt Quick files, you should follow the guidelines for
+ working with Photoshop and organizing your assets.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-setup.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-setup.qdoc
new file mode 100644
index 0000000000..0268fd04af
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-setup.qdoc
@@ -0,0 +1,116 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Bridge 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.
+**
+****************************************************************************/
+
+/*!
+
+ \contentspage {Qt Design Studio}
+ \previouspage psqtbridge.html
+ \page qtbridge-ps-setup.html
+ \nextpage qtbridge-ps-using.html
+
+ \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.
+
+ \section1 Installing with ZXPInstaller
+
+ To use ZXPInstaller to install \QBPS:
+
+ \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 Follow the instructions of the installation program.
+ \endlist
+
+ \section1 Installing Without ZXPInstaller
+
+ The \QBPS installation process differs depending on the platform you
+ are installing on.
+
+ \section2 Installing on Windows
+
+ 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 Open Windows PowerShell.
+ \li Enter the following commands:
+ \badcode
+ cd "$env:UserProfile\Documents"
+ mv .\io.qt.QtBridge.zxp .\io.qt.QtBridge.zip
+ expand-archive .\io.qt.QtBridge.zip
+ xcopy /E /I .\io.qt.QtBridge "$env:APPDATA\Adobe\CEP\extensions\io.qt.QtBridge"
+ \endcode
+ \endlist
+
+ \section2 Installing on \macos
+
+ 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 Open Terminal.
+ \li Enter the following commands:
+ \badcode
+ cd ~/Documents
+ unzip io.qt.QtBridge.zxp -d io.qt.QtBridge
+ sudo mkdir -p /Library/Application\ Support/Adobe/CEP/extensions
+ sudo cp -R ./io.qt.QtBridge /Library/Application\ Support/Adobe/CEP/extensions
+ \endcode
+ \endlist
+
+ \section1 Enabling Remote Connections
+
+ To set up \QBPS:
+
+ \list 1
+ \li Once the installation is completed, restart Adobe Photoshop to make
+ \QBPS appear in \uicontrol Window > \uicontrol Extensions.
+ \li Select \uicontrol Edit > \uicontrol Preferences >
+ \uicontrol General > \uicontrol Plug-ins to enable a remote
+ connection.
+ \li Select the \uicontrol {Enable Remote Connections} check box and
+ enter a password in the \uicontrol Password field.
+ \li To test that the connection is working properly, start \QBPS and
+ select the settings icon in the top right corner.
+ \image qt-bridge-settings.png
+ \li In the \uicontrol Password field, enter the password you entered in
+ Adobe Photoshop and select \uicontrol {Connect}.
+ \li In the \uicontrol {Export Path} group, select the browse button
+ (\uicontrol {...}) to specify the location where \QBPS copies the
+ exported files.
+ \endlist
+
+ Once the connection is successfully created, \QBPS is ready to use.
+*/
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-using.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-using.qdoc
new file mode 100644
index 0000000000..754a73f635
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-ps-using.qdoc
@@ -0,0 +1,258 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Bridge 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage qtbridge-ps-setup.html
+ \page qtbridge-ps-using.html
+ \nextpage sketchqtbridge.html
+
+ \title Using \QBPS
+
+ \section1 Organizing Assets
+
+ To get the best results when you use \QBPS to export designs from Adobe
+ Photoshop to \QDS, follow these guidelines when working with Photoshop:
+
+ \list
+ \li Arrange your art into artboards and organize it into groups and
+ layers that are imported into \QDS as separate files, depending
+ on the choices you make when exporting designs.
+ \li Use the Type tool to make sure that all of your text labels
+ are exported to \l Text items.
+ \li Store all assets in vector format to be able to easily rescale them
+ for different screen sizes and resolutions.
+ \endlist
+
+ If you would rather use Adobe Illustrator for creating artwork, you can
+ copy-paste your assets to Adobe Photoshop as \e {smart objects}. You can
+ then double-click the smart objects in Photoshop to open them in Illustrator
+ for editing. Because you use smart objects, all your changes are propagated
+ to all instances of the objects used in your designs in Photoshop.
+
+ To use the fonts that you use in Photoshop also in \QDS, you need to load
+ them to \QDS. \QDS deploys them to devices when you preview the UI. For more
+ information, see \l{Using Custom Fonts}.
+
+ \section2 Using Artboards
+
+ The relationships between the groups and layers on an artboard are preserved
+ when you export designs from Adobe Photoshop and import them into \QDS.
+
+ When you use \QBPS to export your designs, you will determine how you want
+ each group or layer exported: as a \e component or \e child. A component is
+ a single QML file that can contain other assets. A child is a single PNG
+ file that you can use within QML files.
+
+ If you plan to use pieces of your artwork as separate images in the UI,
+ group them on an artboard as separate layers. You can then export the group
+ as a component and each layer within it as a child. The children are
+ imported to \QDS as separate PNG files that you can use as image sources.
+
+ To use the contents of an artboard as a single image in the UI, you can
+ merge the groups and layers when you export them. During import, the
+ contents are flattened into one PNG file. The merge is done in a way that
+ enables you to change the groups and layers in Photoshop or Adobe
+ Illustrator and then export and import the artboard again. This is an easy
+ way to create a reference image of how the final UI should look like, for
+ example.
+
+ Place different parts of the UI, such as menus and pop-ups, on separate
+ artboards to be able to export them as components or children and to
+ import them as QML and PNG files that you can drag and drop to the working
+ area in \QDS Design mode while creating a UI.
+
+ \QDS offers predefined sets of UI controls that you can modify according
+ to your needs. You can export your own controls as QML types, Qt Quick
+ Controls, or Studio Components. The position and dimensions of your control
+ are preserved.
+
+ However, if you want your UI controls, such as check boxes, to look exactly
+ like they do in Photoshop, you have to create the control in an Artboard and
+ use the artboard in the layers where the control instance is to be created.
+ \QB exports the control as a custom QML component that you can program in
+ \QDS.
+
+ \section1 Exporting Assets
+
+ Each artboard is exported automatically as a component. That is, a separate
+ QML file that contains all the artwork on the artboard, except layers that
+ are set to be skipped or exported as child items. You determine how
+ each group or layer in an artboard is exported: as a component or a child
+ item. In addition, you can merge the groups and layers of an artboard
+ into the parent as one item or skip layers completely.
+
+ By default, layers are exported as follows:
+
+ \list
+ \li First level group layers are exported as child items of the
+ artboard.
+ \li Second level group layers are merged to their parent.
+ \li Asset layers are exported as merged.
+ \li Text layers are always exported as child items.
+ \endlist
+
+ \QBPS automatically proposes identifiers (QML ids) for all groups and layers.
+ The ids will be used as filenames in \QDS. You can change the ids, so that
+ you can easily find them in \QDS. Just keep in mind that the ids must be
+ unique and that they must follow some naming conventions.
+
+ You can export assets using the default settings and make all the changes
+ later in \QDS. If you are familiar with the \l{QML Syntax Basics}
+ {QML syntax}, you can modify the settings to tailor the generated QML to
+ a certain degree. For example, you can specify the QML type or Studio
+ component to use for a component or layer. If you have drawn an arc that
+ you mean to animate, you can export it as an Arc Studio component to avoid
+ having to replace the arc image with an Arc component in \QDS. Or you could
+ export a button as a Qt Quick Controls 2 Button type.
+
+ You can specify effects, such as a blur effect, to use for a group or layer.
+
+ The QML types supported by \QDS are listed in the \uicontrol {QML Types}
+ tab in the \uicontrol Library in the Design mode of \QDS. For more
+ information, see \l{Creating Components}.
+
+ You can also specify values for the properties of the QML type or create
+ \l{Property Aliases}{property aliases} to fetch the values from other
+ properties.
+
+ \image qt-bridge.png
+
+ \section2 Specifying Settings for Exporting Assets
+
+ To export your design using \QBPS:
+
+ \list 1
+ \li \QBPS automatically proposes identifiers for all groups and layers
+ that you can change in the \uicontrol {QML ID} field. The ids must
+ be unique, they must begin with a lower-case letter or an
+ underscore, and they can only contain letters, numbers, and
+ underscore characters. For more information, see
+ \l {The id Attribute}.
+ \li In the \uicontrol {Export As} field, select the export type for the
+ group or layer:
+ \list
+ \li \uicontrol Component creates a separate QML file for the
+ selected artboard, group, or layer that contains all the
+ artwork in it, except layers that are set to be skipped or
+ exported as child items.
+ \li \uicontrol Child creates a separate PNG file for each asset
+ of the selected group or layer, with references to the
+ images in the component file.
+ \li \uicontrol Merged merges the selected groups and layers into
+ the parent as one item.
+ \li \uicontrol Skipped completely skips the selected layer.
+ \endlist
+ \li In the \uicontrol {As Artboard} field, select an artboard
+ to reuse. For example, you can use an artboard to define a
+ component, such as a button, and reuse it in other artboards.
+ \li In the \uicontrol {QML Type} field, specify the QML type
+ or Studio component to morph this layer into. The generated
+ component will be of this type. For example, if you drew a
+ rectangle, you can export it as a Rectangle Studio component.
+ You can provide the import statement of the module where the QML
+ type is defined in the \uicontrol {Add Imports} field.
+ \li In the \uicontrol {Add Imports} field, enter additional
+ import statements to have them added to the generated QML file.
+ For example, to use Qt Quick Controls 2.3, you need the import
+ statement \c {QtQuick.Controls 2.3} and to use Qt Studio
+ Components 1.0, you need the import statement
+ \c {QtQuick.Studio.Components 1.0}. You can also import a module
+ as an alias.
+ \li In the \uicontrol {QML Properties} field, specify properties for
+ the QML type. You can add and modify properties in \QDS.
+ \li Select the \uicontrol {Clip Contents} check box to enable clipping
+ in the type generated from the layer. The generated type will clip
+ its own painting, as well as the painting of its children, to its
+ bounding rectangle.
+ \li Select the \uicontrol {Create Alias} check box to export the item
+ generated from this layer as an alias in the parent component.
+ \li Select \uicontrol {Cascade properties} to apply the current set of
+ properties to all the children of the selected layer.
+ \li Select \uicontrol Export to copy your assets to the export path you
+ specified.
+ \li When the exporting is done, select \uicontrol OK.
+ \endlist
+
+ All the assets and metadata are copied to the directory you specified. This
+ might take a little while depending on the complexity of your project.
+
+ You can now create a project in \QDS and import the assets to it, as
+ described in \l {Creating Projects} and \l{Importing Designs}.
+
+ \section1 Sanitizing Documents
+
+ \QBPS enables removing all \QBPS related metadata from the active
+ document. In the \QBPS \uicontrol Settings dialog, select
+ \uicontrol {Sanitize Document} to sanitize the active document.
+ Once the sanitization is successfully done, the document will
+ contain no \QBPS related metadata and the \QBPS layer settings will fall
+ back to the \l{Exporting Assets}{default} values.
+
+ \note The sanitization is done in memory and the document must be saved to
+ keep the sanitized state.
+
+ \image qt-bridge-sanitize.png
+
+ \section1 Extending \QBPS
+ You can change the default behavior of \QBPS with the help of a JSX script. One can write
+ specific functions in the script that are called by \QBPS with useful parameters.
+
+ \section2 Overridable JSX Functions
+ You can define the following functions in the override JSX.
+ \list
+ \li preExport(document)
+ This function is called before the document is exported. The parameter \a document is
+ the PSD Document instance. This function can be used to make temporary changes in
+ the document before export.
+ \li postExport(document)
+ This function is called after the document is exported. The parameter \a document is the
+ PSD Document instance. You can undo the temporary changes done in the function
+ \e preExport(...).
+ \li customDefaultQmlId(name, instance)
+ The function is called for settings the default QML id of the layer. The returned value
+ is used for the QML id. Return \e Falsey to use the auto generated QML id instead.
+ The parameter \a name is the auto generated QML id by the plugin and \a instance is the
+ PSD layer instance.
+ \endlist
+
+ \note Please refer to \l {https://www.adobe.com/devnet/photoshop/scripting.html}
+ {Adobe Photoshop CC Javascript} scripting guide to understand the object model and \e Document
+ and \e Layer instances.
+
+ \image qt-bridge-override.png
+
+ In the \QBPS \uicontrol Settings dialog, select \uicontrol {Override JSX Script} to set the
+ override JSX script.
+
+ For more information, watch a video tutorial and webinar about using \QBPS:
+
+ \list
+ \li \l{https://resources.qt.io/development-topic-ui-design/qtdesignstudio-clustertutorial-partone}
+ {Building an Instrument Cluster for Your Car HMI, Part 1}
+ \li \l{https://www.youtube.com/watch?v=ZzbucmQPU44}
+ {From Photoshop to Prototype with Qt Design Studio}
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-overview.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-overview.qdoc
new file mode 100644
index 0000000000..dbb986aa61
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-overview.qdoc
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+// Note: The \page value is hard-coded as a link in Qt Bridge for Sketch.
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage qtbridge-ps-using.html
+ \page sketchqtbridge.html
+ \nextpage qtbridge-sketch-setup.html
+
+ \title Exporting Designs from Sketch
+
+ You can use \QBSK to export designs from Sketch to .ui.qml files.
+
+ \image studio-sketch-export.png
+
+ The following topics describe setting up and using \QBSK:
+
+ \list
+
+ \li \l{Setting Up Qt Bridge for Sketch}
+
+ You must install Sketch and the \QBSK export tool before you can use
+ the tool to convert artwork into Qt Quick files that you can import
+ to projects in \QDS.
+
+ \li \l{Using Qt Bridge for Sketch}
+
+ To get the best results when you use \QBSK to export designs from
+ Sketch to Qt Quick files, you should follow the guidelines for
+ working with Sketch and organizing your assets.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-setup.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-setup.qdoc
new file mode 100644
index 0000000000..4c761b90d0
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-setup.qdoc
@@ -0,0 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Bridge 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.
+**
+****************************************************************************/
+
+/*!
+
+ \contentspage {Qt Design Studio}
+ \previouspage sketchqtbridge.html
+ \page qtbridge-sketch-setup.html
+ \nextpage qtbridge-sketch-using.html
+
+ \title Setting Up \QBSK
+
+ \QBSK is delivered with \QDS 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.
+
+ The plugin is available at \uicontrol Plugins > \uicontrol {\QB}.
+*/
diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc
new file mode 100644
index 0000000000..c10d4c18ae
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc
@@ -0,0 +1,196 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Bridge 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage qtbridge-sketch-setup.html
+ \page qtbridge-sketch-using.html
+ \nextpage exporting-from-maya.html
+
+ \title Using \QBSK
+
+ \section1 Organizing Assets
+
+ To get the best results when you use \QBSK to export designs from Sketch
+ to \QDS, follow these guidelines when working with Sketch:
+
+ \list
+ \li Arrange your sketch document in artboards, layers, and groups. The
+ QML code generated in \QDS corresponds to the structure of your
+ Sketch document.
+ \li \QBSK supports document \e symbols and \e {symbol overrides}. Each
+ symbol is exported as a QML component, and each symbol instance is
+ generated as a respective \e component instance in the generated
+ QML. The symbol overrides are exported as values of properties for
+ the components. For example, if you use symbol overrides to specify
+ the text for each button instance, it is exported as a value of the
+ text property.
+ \li Store all assets in the scalable vector graphics (SVG) format
+ to be able to easily rescale them for different screen sizes
+ and resolutions.
+ \endlist
+
+ To use the fonts that you use in Sketch also in \QDS, you need to load
+ them to \QDS. \QDS deploys them to devices when you preview the UI. For more
+ information, see \l{Using Custom Fonts}.
+
+ \section2 Using Artboards
+
+ The relationships between artboards and layers are preserved when you export
+ designs from Sketch and import them into \QDS.
+
+ An artboard can only be exported as a component. That is, a separate
+ QML file that contains all the artwork on the artboard, except layers that
+ are set to be skipped or exported as child items.
+
+ A component is a single QML file that can contain other child items with
+ assets or text.
+
+ To use the contents of an artboard as a single image in the UI, you can
+ merge the groups and layers when you export them. During import, the
+ contents are flattened into one PNG file. The merge is done in a way that
+ enables you to change the groups and layers in Sketch and then export and
+ import the artboard again. This is an easy way to create a reference image
+ of how the final UI should look like, for example.
+
+ Place different parts of the UI, such as menus and pop-ups, on separate
+ artboards to be able to export them as components or children and to
+ import them as QML and PNG files that you can drag and drop to the working
+ area in \QDS Design mode while creating a UI.
+
+ \section2 Using Layer and Groups
+
+ When you use \QBSK to export your designs, you will determine how you want
+ each layer or group to be exported: as \e merged or as \e child. Each
+ layer or group represents a separate image in the UI when it is exported as
+ a \e child. The asset of the layer or group is merged to its parent
+ group or artboard if it is exported as \e merged.
+
+ You can select the asset format and DPI to use for each image in
+ \uicontrol Settings > \uicontrol {Asset Settings}.
+
+ \section1 Exporting Assets
+
+ By default, layers are exported as follows:
+
+ \list
+ \li Artboards are always exported as \e components or \e skipped.
+ \li Asset layers are exported as merged.
+ \li Text layers can only be exported as \e child or \e skipped.
+ \li A \e hotspot layer can only be exported as \e child or \e skipped.
+ It is always exported as an instance of the \l MouseArea QML type.
+ \li A symbol instance layer can only be exported as \e child or
+ \e skipped.
+ \endlist
+
+ You can export assets using the default settings and make all the changes
+ later in \QDS. If you are familiar with the \l{QML Syntax Basics}
+ {QML syntax}, you can modify the settings to tailor the generated QML to
+ a certain degree. For example, you can specify the QML type or
+ \l {Studio Components}{Qt Quick Studio Component} to use for a component or
+ layer. If you have drawn an arc that you mean to animate, you can export it
+ as an \l Arc component to avoid having to replace the arc image with an Arc
+ component in \QDS. Or you could export a button as a Qt Quick Controls
+ \l Button type.
+
+ \image qt-sketch-bridge.png
+
+ \section2 Specifying Settings for Exporting Assets
+
+ To export your design using \QBSK:
+
+ \list 1
+ \li \QBSK automatically proposes identifiers for all groups and layers
+ that you can change in the \uicontrol {QML ID} field. The ids will
+ be made unique when the layer and the respective artwork is imported
+ into \QDS.
+ \li In the \uicontrol {Export As} field, select the export type for the
+ group or layer:
+ \list
+ \li \uicontrol Component creates a separate QML file for the
+ selected symbol that contains all the artwork in it, except
+ layers or groups that are set to be skipped or exported as
+ child items.
+ \li \uicontrol Child creates a separate PNG file for each asset
+ of the selected group or layer, with references to the
+ images in the component file.
+ \li \uicontrol Merged merges the selected groups and layers into
+ the parent artboard or group as one item.
+ \li \uicontrol Skipped completely skips the selected layer.
+ \endlist
+ \li In the \uicontrol {QML Type} field, specify the QML type or
+ \l {Studio Components}{Qt Quick Studio Component} to morph this
+ layer into. The generated component will be of this type. For
+ example, if you drew a rectangle, you can export it as a
+ \l Rectangle component.
+ You can provide the import statement of the module where the QML
+ type is defined in the \uicontrol Imports field.
+ \li In the \uicontrol Imports field, enter
+ additional import statements to have them added to the generated QML
+ file. For example, to use Qt Quick Controls 2.3, you need the
+ import statement \c {QtQuick.Controls 2.3} and to use Qt Quick
+ Studio Components 1.0, you need the import statement
+ \c {QtQuick.Studio.Components 1.0}. You can also import a module as
+ an alias.
+ \li In the \uicontrol {Properties} field, specify properties for the QML
+ type. You can add and modify properties in \QDS.
+ \li Select the \uicontrol Alias check box to export the item generated
+ from this layer as an alias in the parent component.
+ \li Select the \uicontrol Clip check box to enable
+ clipping in the type generated from the layer. The generated type
+ will clip its own painting, as well as the painting of its children,
+ to its bounding rectangle.
+ \li Select the \uicontrol Visible check box to determine the visibility
+ of the layer.
+ \li Select \uicontrol Export to copy your assets to the export path you
+ specified.
+ \li When the exporting is done, select \uicontrol OK.
+ \endlist
+
+ All the assets and metadata are copied to the directory you specified. This
+ might take a little while depending on the complexity of your project.
+
+ You can now create a project in \QDS and import the assets to it, as
+ described in \l {Creating Projects} and \l{Importing Designs}.
+
+ \section1 Specifying Export Path and Asset Format
+
+ To specify export path and asset format, select \uicontrol Settings >
+ \uicontrol {Asset Settings}.
+
+ \image qt-sketch-bridge-settings.png
+
+ \list 1
+ \li By default, \QBSK exports assets to a directory named after your
+ Sketch file located inside the parent directory of the Sketch file
+ being exported. You can change the export path in the
+ \uicontrol {Export Path} field.
+ \li You can select the default asset format and DPI to use for each
+ layer. These settings are overridden by the layer export settings
+ from the Sketch app. That is, if the layer is made exportable in
+ the Sketch app, the respective asset format and DPI settings are
+ preserved.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-adding-dynamics.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-adding-dynamics.qdoc
new file mode 100644
index 0000000000..60891e2aa3
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-adding-dynamics.qdoc
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page studio-adding-dynamics.html
+ \previouspage studio-fonts.html
+ \nextpage studio-timeline.html
+
+ \title Adding Dynamics
+
+ You can animate the properties of UI components and create connections
+ between them to enable them to communicate with each other.
+
+ \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
+ the application to enable them to communicate with each other. For
+ example, how does the appearance of a button change on a mouse click
+ and which action does the application need to perform in response to
+ it.
+
+ You can also create connections between UI components by
+ binding their properties together. This way, when the value of a
+ property changes in a parent component, it can be automatically
+ changed in all the child components, for example.
+ \li \l {Adding States}
+
+ Qt Quick allows you to declare various UI states that describe
+ how component properties change from a base state. Therefore,
+ states can be a useful way of organizing your UI
+ logic. You can associate transitions with items to define
+ how their properties will animate when they change due to a state
+ change.
+ \li \l {Editing PathView Properties}
+
+ You can use a graphical spline editor to specify \l{PathView} paths.
+ A path view lays out data provided by data models on a \l{Path}.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc
new file mode 100644
index 0000000000..b10c89527c
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage qt-design-viewer.html
+ \page studio-advanced.html
+ \nextpage studio-platforms.html
+
+ \title Advanced Topics
+
+ \QDS attempts to meet your needs, whether you have previous experience with
+ QML, and coding or not. When you install \QDS, the default configuration
+ allows you to start designing and previewing UIs with very little effort.
+
+ However, you might want to use the \uicontrol {Text Editor} in the Design
+ mode sometimes to edit your QML files or write some JavaScript to simulate
+ application logic and bring your UI to life. If you use JavaScript, you
+ might also want to debug and profile you UIs to find and fix problems in
+ them.
+
+ You can also use special options to start \QC from the command line and use
+ 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{Keyboard Shortcuts}
+
+ \QDS provides various keyboard shortcuts to speed up your
+ development process. You can change the keyboard shortcuts,
+ as well as import and export keyboard shortcut mapping schemes.
+ \li \l{Coding}
+
+ You can use the code editor in the Design mode
+ \uicontrol {Text Editor} view or in the Edit mode to modify QML
+ code. The code editor understands 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 Application Logic}
+
+ You can use JavaScript to simulate application logic to bring your
+ UI to life.
+ \li \l{Debugging and Profiling}
+
+ \QDS comes with a JavaScript debugger. In the Debug mode, you
+ can inspect the state of your UI while debugging.
+
+ The memory and CPU power available on devices are limited and
+ you should use them carefully. The QML Profiler enables you to
+ profile Qt Quick UIs.
+ \endlist
+
+ \section1 Related Topics
+
+ \list
+ \li \l{Using External Tools}
+
+ You can use external tools directly from \QC. lupdate and lrelease,
+ QML preview tools (QML Viewer and QML Scene), the default text
+ editor for your system, and the \c sort tool are preconfigured for
+ use. You can change their default configurations and configure new
+ tools.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-components.qdocinc b/doc/qtdesignstudio/src/qtdesignstudio-components.qdocinc
new file mode 100644
index 0000000000..71857f95a7
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-components.qdocinc
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the 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.
+**
+****************************************************************************/
+
+/*!
+//! [studio components]
+
+ \section1 Studio Components
+
+ A set of ready-made studio components are available for creating differently
+ shaped objects, such as arcs, pies, or triangles, as well as objects with
+ particular abilities, such as being visibly \e flipped between their front
+ and back sides, like a card. The studio components are built on top of
+ \l {Qt Quick Shapes QML Types}, with some additional properties.
+
+ You can drag-and-drop the following studio components from the
+ \uicontrol Library to the canvas or the \uicontrol Navigator:
+
+ \list
+ \li \l Arc adds an arc that begins and ends at given positions.
+ \li \l Border adds a border with corners that you can shape
+ independently of each other.
+ \li \l Flipable provides a surface that can be flipped.
+ \li \l Group provides an item with the size property.
+ \li \l Iso adds a container for an ISO 7000 icon.
+ \li \l Pie adds a pie slice or a pie with a slice missing from it.
+ \li \l Rectangle adds a rectangle with corners that you can shape
+ independently of each other.
+ \li \l SvgPath adds an SVG path.
+ \li \l Triangle adds a triangle.
+ \endlist
+
+//! [studio components]
+
+//! [creating studio components]
+
+ \section1 Creating Custom Controls
+
+ You can use the project wizard to create a starting point for a custom
+ \l [QtQuickControls2] {Button}, \l [QtQuickControls2] {Pane},
+ \l [QtQuickControls2] {StackView}{Stack View}, or
+ \l [QtQuickControls2] {Switch}.
+
+ \list 1
+ \li Select \uicontrol File > \uicontrol {New File or Project} >
+ \uicontrol {Files and Classes} > \uicontrol {Qt Quick Controls}.
+ \li Select the control to create, and then select \uicontrol Choose.
+
+ \note Components are listed in the \uicontrol {QML Components}
+ section of the \uicontrol Library only if the filename begins
+ with a capital letter.
+ \li Edit component properties in the \uicontrol Properties pane.
+
+ The available properties depend on the QML type.
+ \endlist
+
+//! [creating studio components]
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-debugging.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-debugging.qdoc
new file mode 100644
index 0000000000..98687a88a7
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-debugging.qdoc
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage studio-javascript.html
+ \page studio-debugging.html
+ \nextpage creator-debugging-qml.html
+
+ \title Debugging and Profiling
+
+ \list
+ \li \l{Debugging Qt Quick Projects}
+
+ You can use the integrated debugger to debug JavaScript functions,
+ to execute JavaScript expressions to get information about the state
+ of the UI, and to inspect QML properties and JavaScript
+ variables and change them temporarily at runtime.
+ \li \l{Debugging a Qt Quick Example Application}
+
+ This section uses the \l{QML Advanced Tutorial}{Same Game} example
+ application to illustrate how to debug Qt Quick applications in the
+ Debug mode.
+ \li \l{Profiling QML Applications}
+
+ You can use the QML Profiler to find causes for typical performance
+ problems in your UIs, such as slowness, freezing, and stuttering.
+ The QML Profiler is installed and configured as part of \QDS.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-examples.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-examples.qdoc
new file mode 100644
index 0000000000..03e119d3c3
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-examples.qdoc
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage studio-help.html
+ \group studioexamples
+ \nextpage creator-help.html
+
+ \title Examples and Tutorials
+
+ In the Welcome mode, you can open examples and tutorials that illustrate
+ how to use \QDS.
+
+ \section1 Video Tutorials
+
+ The \uicontrol Tutorials tab contains links to video tutorials that provide
+ more information about \QDS.
+
+ You can access the Cluster tutorial source files in the \uicontrol Examples
+ tab.
+
+ \section1 Examples
+
+ The \uicontrol Examples tab lists examples about using \QDS.
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-faq.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-faq.qdoc
new file mode 100644
index 0000000000..7667fa5a10
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-faq.qdoc
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage index.html
+ \previouspage creator-help.html
+ \page studio-faq.html
+ \nextpage studio-terms.html
+
+ \title Frequently Asked Questions
+
+ This section contains answers to some frequently asked questions about \QDS.
+ You might also find answers to your questions in the product documentation
+ by searching or browsing the index in the \l{Using the Help Mode}
+ {Help mode}. Many questions are also answered by the
+ \l{Examples and Tutorials}{examples and video tutorials}.
+
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-fonts.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-fonts.qdoc
new file mode 100644
index 0000000000..1ceef949d7
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-fonts.qdoc
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 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.
+**
+****************************************************************************/
+
+/*!
+
+ \contentspage {Qt Design Studio}
+ \previouspage qtquick-properties.html
+ \page studio-fonts.html
+ \nextpage studio-adding-dynamics.html
+
+ \title Using Custom Fonts
+
+ For your UI to use custom fonts when you preview it on a device,
+ you have to import the fonts to the project folder. \QDS deploys them to
+ the device along with your UI.
+
+ \note Use fixed-width fonts if you plan to animate running numbers, so that
+ they do not appear to jump around the screen when they change.
+
+ To add fonts:
+
+ \list 1
+ \li Select \uicontrol Library > \uicontrol Resources >
+ \uicontrol {Add New Resources}.
+ \li Browse to the folder that contains the font files and select them.
+ \li Enter the name of the directory to save the fonts. By default, \QDS
+ suggests the project directory.
+ \li Select \uicontrol OK to save the fonts.
+ \endlist
+
+ The fonts are added to the list of fonts for the \uicontrol Font property
+ in \uicontrol Properties.
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-getting-started.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-getting-started.qdoc
new file mode 100644
index 0000000000..a9b12d1057
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-getting-started.qdoc
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage index.html
+ \page studio-getting-started.html
+ \nextpage qtbridge-overview.html
+
+ \title Getting Started
+
+ Typically, you as a designer would create artwork in imaging and design
+ tools, such as Adobe Photoshop, Sketch, Blender, or Maya, and then send it
+ to a developer for adding it to the application. With the \QB export tool,
+ you can convert 2D assets into \l {Qt Quick} files. You can use the export
+ functionality of 3D graphics tools to save your 3D assets in a format
+ supported by \QDS. You can import the 2D and 3D assets into \QDS for
+ editing, before you submit the UI to the developer for adding the
+ functionality to the application.
+
+ The following image describes the workflow using \QBPS and \QDS:
+
+ \image studio-workflow.png
+
+ The workflow consists of the following steps:
+
+ \list 1
+ \li Export your artwork from a design tool.
+ \li Create a project in \QDS and import your artwork to it.
+ \li Create reusable components in the Design mode.
+ \li Animate your design with the timeline and easing curve editor.
+ \li Create interactions using states and connections.
+ \li Preview your design in real time, on the desktop or on a mobile
+ or an embedded device.
+ \endlist
+
+ The following topics contain information that you'll need to find your
+ way around \QDS:
+
+ \list
+ \li \l {Exporting Artwork from Design Tools}
+
+ Describes how to export 2D and 3D assets into files that
+ you can import to projects in \QDS.
+ \li \l {User Interface}
+
+ Describes the parts and basic features of \QDS.
+ \li \l{Editing QML Files in Design Mode}
+
+ Describes the parts and basic features of the Design mode.
+ \li \l {Tutorials}
+
+ Describes how to use \QDS to create a simple animated UI with some
+ basic UI components, such as pages, buttons, and fields. Some of
+ the buttons can be used for moving between the pages.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-help-overview.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-help-overview.qdoc
new file mode 100644
index 0000000000..8c983839f2
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-help-overview.qdoc
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage index.html
+ \page studio-help.html
+ \previouspage creator-editor-external.html
+ \nextpage {Examples and Tutorials}
+
+ \title Help
+
+ \list
+ \li \l{Examples and Tutorials}
+
+ A set of examples available in the Welcome mode illustrates how
+ to use \QDS features such as the timeline. If you would rather
+ be shown things than read about them, you can watch our extensive
+ video tutorials.
+
+ \li \l{Using the Help Mode}
+
+ \QDS comes fully integrated with documentation. You can use search
+ and index functions to find particular topics in the helps, or
+ request context-sensitive help by pressing \key F1 in the Design
+ mode.
+
+ \li \l{Frequently Asked Questions}
+
+ Contains answers to some frequently asked questions about \QDS.
+
+ \li \l{Concepts and Terms}
+
+ Describes main \QDS concepts and terms.
+
+ \endlist
+
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-importing-designs.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-importing-designs.qdoc
new file mode 100644
index 0000000000..ee7f2250f9
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-importing-designs.qdoc
@@ -0,0 +1,177 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Bridge 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage creator-vcs-git.html
+ \page studio-importing-designs.html
+ \nextpage studio-importing-2d.html
+
+ \title Importing Designs
+
+ You can import 2D and 3D assets to \QDS projects. 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.
+
+ \list
+ \li \l{Importing 2D Assets}
+
+ You can import 2D assets that you exported with \QB to a \QDS
+ project as image and QML files and edit them in the Design mode.
+ \li \l{Importing 3D Assets}
+
+ You can import 3D assets that you created using 3D graphics
+ applications and stored in one of the supported file formats.
+ You can then edit them in the Design mode.
+ \endlist
+*/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage studio-importing-designs.html
+ \page studio-importing-2d.html
+ \nextpage studio-importing-3d.html
+
+ \title Importing 2D Assets
+
+ \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.
+
+ \note Attempting to import assets exported on another system might fail.
+
+ The following instructions use an empty project as an example. For more
+ information about the options you have, see
+ \l {Creating Projects}.
+
+ To import designs to \QDS projects:
+
+ \list 1
+ \li Select \uicontrol File > \uicontrol {New File or Project} >
+ \uicontrol General > \uicontrol Choose, and follow the
+ instructions of the wizard to create an empty project.
+ \li In \uicontrol Projects, double-click \e Screen01.ui.qml to move to
+ the Design mode.
+ \li Select \uicontrol Library > \uicontrol Resources >
+ \uicontrol {Add New Resources}.
+ \li Select the folder where you exported the assets.
+ \li Select \uicontrol {Exported Assets (*.metadata)} in the dropdown
+ menu to filter \e .metadata files.
+ \li Select a \e .metadata file to import, and then select
+ \uicontrol Open.
+ \li Select \uicontrol Details next to the
+ \uicontrol {Metadata Import Paths} field to display the path where
+ the metadata is imported from.
+ \image studio-import-metadata.png "Asset Import dialog"
+ \li Select \uicontrol Details next to the
+ \uicontrol {QML/Asset Export Paths} field to display the paths to
+ copy the assets to.
+ \li In the \uicontrol QML field, you can change the folder to copy the
+ QML files to.
+ \li In the \uicontrol Assets field, you can change the folder to copy
+ the image files to.
+ \li Deselect the \uicontrol {Import assets} check box if you only want
+ to create QML files.
+ \li Deselect the \uicontrol {Generate QML} check box if you only
+ want to import assets.
+ \li Select the \uicontrol {Merge QML} check box if you have imported the
+ assets before and want to merge the changes into existing QML files
+ instead of overwriting the existing files.
+ \li Select \uicontrol Import to import the QML files and assets. This
+ might take a little while for complex projects.
+ \endlist
+
+ The imported assets are displayed in the \uicontrol Resources tab in the
+ \uicontrol Library as PNG images. The components that you specified in
+ the design tool are displayed in the \uicontrol {My QML Components} tab,
+ as well as in the \uicontrol Project tab of the \uicontrol Navigator as
+ separate QML files.
+
+ \note The layer that was the bottom layer in the design tool becames the top
+ layer in the \uicontrol Navigator to reflect the QML code model. You
+ can view the QML code in the \uicontrol {Text Editor} tab.
+
+ If asset importer conflicts, warnings, and errors are displayed in the
+ \uicontrol {Asset Import} dialog while importing, fix the issues in
+ design tool and export the assets again.
+
+ \section1 \QB Videos
+
+ For more information about importing assets from Adobe Photoshop, watch a
+ video tutorial and webinar about using \QB:
+
+ \list
+ \li \l{https://resources.qt.io/development-topic-ui-design/qtdesignstudio-clustertutorial-partone}
+ {Building an Instrument Cluster for Your Car HMI, Part 1}
+ \li \l{https://www.youtube.com/watch?v=ZzbucmQPU44}
+ {From Photoshop to Prototype with Qt Design Studio}
+ \endlist
+*/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage studio-importing-2d.html
+ \page studio-importing-3d.html
+ \nextpage quick-converting-ui-projects.html
+
+ \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.
+
+ For more information about exporting 3D graphics from Maya, see
+ \l{Exporting from Maya}.
+
+ During the import, you can optimize the files for \QDS. You can remove
+ components from meshes to reduce the cache size, find and fix issues in
+ the files, optimize graphs and meshes, and so on. The available options
+ depend on whether you are importing files that you created with Qt 3D Studio
+ or with other 3D graphics tools. See the tooltips in the options dialog
+ for more information about a particular option.
+
+ \image studio-import-3d.png
+
+ To import 3D assets to \QDS projects:
+
+ \list 1
+ \li In the Design mode, select \uicontrol Library > \uicontrol Resources
+ > \uicontrol {Add New Resources}.
+ \li Select \uicontrol {3D Assets} in the dropdown menu to filter 3D
+ graphics files.
+ \li Select a file to import, and then select \uicontrol Open.
+ \li In the \uicontrol {3D Scene Options} tab, select options for
+ importing the file.
+ \li Select \uicontrol Import to import the 3D graphics file.
+ \li When the import is done, select \uicontrol Close.
+ \endlist
+
+ You can open the imported files in the Design mode for editing in the
+ \l{Editing 3D Scenes}{3D editor}.
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc
new file mode 100644
index 0000000000..a0e5926adb
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc
@@ -0,0 +1,152 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage creator-editor-options-text.html
+ \page studio-javascript.html
+ \nextpage studio-debugging.html
+
+ \title Simulating Application Logic
+
+ You can use JavaScript to simulate application logic that brings your UI to
+ life.
+
+ You will need the following files:
+
+ \list
+ \li Qt Quick file that will specify the API of the UI
+ \li JavaScript file that generates mock data for the UI.
+ For more information about using JavaScript, see
+ \l{Integrating QML and JavaScript}.
+ \li Module definition file (\e qmldir) that declares the QML type
+ you specify in the Qt Quick file. For more information, see
+ \l {Module Definition qmldir Files}.
+ \endlist
+
+ Here, you will need to write some C++ code. Namely, the Qt Quick file will
+ contain a QObject-derived class that is registered with the QML type system
+ as a \e singleton type. This enables the use of global property values in
+ the UI.
+
+ You can find a video tutorial about creating JavaScript for generating mock
+ data for a UI
+ \l{https://resources.qt.io/development-topic-ui-design/qtdesignstudio-clustertutorial-partfour}
+ {here}.
+
+ To create the necessary files:
+
+ \list 1
+ \li In the File Explorer, create a folder for the JavaScript files
+ (for example, \e backend) and another one for the mock data
+ (for example, \e Data) in your project folder.
+ \note Make sure to capitalize the data folder name, because you
+ will need to import it as a QML type later, and QML type names must
+ be capitalized.
+ \li In \QDS, open the project file (.qmlproject) to add the backend
+ folder to the list of plugin directories passed to the QML runtime:
+ \code
+ importPaths: [ "imports", "backend" ]
+ \endcode
+ \li Select \uicontrol File > \uicontrol {New File or Project} >
+ \uicontrol {Files and Classes} > \uicontrol {Qt Quick Files} >
+ \uicontrol {Qt Quick File} > \uicontrol Choose to add a Qt
+ Quick file that will specify the API of the UI.
+ \li Follow the instructions of the wizard to create the Qt Quick file
+ in the data folder. In these instructions, the file is called
+ \e Values.qml.
+ \note Make sure to capitalize the filename, because it will become
+ a custom QML type.
+ \li Select \uicontrol File > \uicontrol {New File or Project} >
+ \uicontrol {Files and Classes} > \uicontrol {JavaScript} >
+ \uicontrol {JavaScript File} > \uicontrol Choose to create a
+ JavaScript file that generates mock data for the UI.
+ \li Follow the instructions of the wizard to create the JavaScript file
+ in the data folder. In these instructions, the file is called
+ \e {simulation.js}.
+ \li Delete the template text in JavaScript file and save the file.
+ \li In a text editor such as Notepad, create a module definition file
+ called \e qmldir with the following contents and place it in the
+ data directory:
+ \code
+ singleton Values 1.0 Values.qml
+ \endcode
+ \li Open \e Values.qml in the \uicontrol {Text Editor} tab for editing.
+ \li Add the following code to the top of the file to register the
+ QObject-derived class that you will use to expose the global
+ properties as a singleton type:
+ \code
+ pragma Singleton
+ \endcode
+ \li Add the following import statement to import the \e {simulation.js}
+ file to use the functionality that it provides:
+ \code
+ #import simulation.js as JS
+ \endcode
+ \li Add the following code to create a QObject-derived class that will
+ list the global properties you want to simulate and their default
+ values:
+ \code
+ QObject {
+ id: values
+
+ // property values to simulate
+ property int name1: default1
+ property string name2: default2
+ property real name3: default3
+
+ }
+ \endcode
+ \note You must export the properties as aliases by selecting
+ \uicontrol {Export Property as Alias} in the
+ \inlineimage icons/action-icon.png
+ (\uicontrol Actions) menu of the property in the
+ \uicontrol Properties view. Exported properties are listed in
+ \uicontrol Connections > \uicontrol Properties, where you can
+ change their names.
+ \li Add the following code to use a \l Timer type to specify a range of
+ values for the property:
+ \code
+ property Timer name1Timer: Timer{
+ running: true
+ repeat: true
+ onTriggered: JS.name1Timer()
+ interval: 10
+ \endcode
+ \note You must add the JavaScript method to the JavaScript file.
+ \li Open the main UI file of the project and add the following code to
+ import the data folder as a QML module:
+ \code
+ #import Data 1.0 as Data
+ \endcode
+ \li Select \uicontrol {Set Binding} in the \uicontrol Settings menu of the
+ property to bind the property value to the value defined in the
+ values file. For example, you would set the following expression for
+ \e name1:
+ \code
+ Data.Values.name1
+ \endcode
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-platforms.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-platforms.qdoc
new file mode 100644
index 0000000000..2f48bdf68d
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-platforms.qdoc
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage studio-advanced.html
+ \page studio-platforms.html
+ \nextpage creator-keyboard-shortcuts.html
+
+ \title Supported Platforms
+
+ You can install and run \QDS on several operating systems to create
+ applications for multiple desktop, embedded, and mobile device platforms.
+
+ \section1 Development Platforms
+
+ \QDS is available in binary packages for the following operating systems:
+
+ \list
+ \li \macos 10.13 and 10.14.x
+ \li Ubuntu Linux 18.04
+ \li Windows 10
+ \endlist
+
+ \section1 Design Tools
+
+ \QB is available for the following design tools:
+
+ \list
+ \li Adobe Photoshop version 20.0.0
+ \li Sketch 55.1
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-projects-overview.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-projects-overview.qdoc
new file mode 100644
index 0000000000..6f313d6688
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-projects-overview.qdoc
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage {Tutorials}
+ \page studio-projects-managing.html
+ \nextpage studio-projects.html
+
+ \title Managing Projects
+
+ One of the major advantages of \QDS is that it allows a team of designers
+ and developers to share a project across different development platforms
+ with a common tool for design, development, profiling, and debugging.
+
+ \list
+
+ \li \l {Creating Projects}
+
+ You must add your exported files to a new project that you create
+ in \QDS. Setting up a new project in \QDS is aided by a wizard that
+ guides you step-by-step through the project creation process,
+ creates the necessary files, and specifies settings depending
+ on the choices you make.
+
+ You can use wizards to create projects for the desktop or embedded
+ Linux and Android devices. In addition, you can add individual QML
+ files, components, font loaders, and JavaScript files to your
+ projects.
+
+ \li \l{Using Git}
+
+ You can add the project files to the Git version control, so that
+ the developers can keep up with your changes. Store and edit only
+ project source files and configuration files. Do not store generated
+ files.
+
+ \li \l{Importing Designs}
+
+ You can import assets that you exported from Adobe Photoshop to a
+ \QDS project and edit them in the Design mode to create a UI.
+
+ \li \l {Converting UI Projects to Applications}
+
+ \QDS projects are useful for creating UIs. To use them
+ for application development in Qt Creator, you have to convert them
+ to Qt Quick Application projects that contain .pro, .cpp, and .qrc
+ files.
+
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc
new file mode 100644
index 0000000000..570f2c8eb0
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc
@@ -0,0 +1,159 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+
+ \contentspage {Qt Design Studio Manual}
+ \previouspage studio-projects-managing.html
+ \page studio-projects.html
+ \nextpage creator-vcs-git.html
+
+ \title Creating Projects
+
+ Creating a project enables you to:
+
+ \list
+ \li Group files together
+ \li Include forms and resource files
+ \li Specify settings for previewing UIs
+ \endlist
+
+ Setting up a new project in \QDS is aided by a wizard that guides you
+ step-by-step through the project creation process. The wizards prompt you
+ to enter the settings needed for that particular type of project and create
+ the necessary files for you.
+
+ Studio projects are useful for creating UIs. You cannot use
+ them for application development, because they do not contain:
+
+ \list
+ \li C++ code
+ \li Resource files (.qrc)
+ \li Code needed for deploying applications to devices.
+ \endlist
+
+ Because the UIs 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}.
+
+ \image studio-project-wizards.png "A list of project wizards"
+
+ You can export designs from other design tools and import them to projects
+ or create them from scratch using the following wizards:
+
+ \list
+ \li \uicontrol General generates projects that are suitable for all
+ target platforms.
+ \omit
+ \li \uicontrol Embedded generates projects that work well on embedded
+ Linux devices.
+ \endomit
+ \li \uicontrol Mobile generates projects that work well on mobile
+ devices.
+ \li \uicontrol Desktop generates projects that work well on the desktop.
+ \endlist
+
+ \section1 Using Project Wizards
+
+ \list 1
+ \li Select \uicontrol File > \uicontrol {New File or Project}.
+ \li Select the type of your project, and then select \uicontrol Choose.
+ \li In the \uicontrol Name field, enter a name for the project.
+ \li In the \uicontrol {Create in} field, enter the path for the project
+ files, and then select \uicontrol Next (or \uicontrol Continue on
+ \macos).
+ \li In the \uicontrol {Screen resolution} field, select the screen
+ resolution for previewing the UI on the desktop or on a device.
+ \li In the \uicontrol {Qt Quick Controls Style} field, select one of
+ the predefined \l{Styling Qt Quick Controls}{UI styles} to use,
+ and then select \uicontrol Finish (or \uicontrol Done on \macos).
+ \endlist
+
+ \QDS creates the following files and folders:
+
+ \list
+ \li .qmlproject project file defines that all QML, JavaScript, and image
+ files in the project folder belong to the project. Therefore, you do
+ not need to individually list all the files in the project.
+ \li .qml file defines a UI item, such as a component, screen, or the
+ whole UI.
+ \li ui.qml file defines a form for the UI.
+ \li qtquickcontrols2.conf file specifies the preferred style and some
+ style-specific arguments.
+ \li \e imports folder contains a \e {Constants.qml} file that specifies
+ a font loader for the Arial font and a \e qmldir module definition
+ file that declares the Constant QML type. For more information, see
+ \l {Module Definition qmldir Files}. In addition, the \e QtQuick
+ subfolder contains the Studio components and effects QML types.
+ \endlist
+
+ To use JavaScript and image files in the UI, copy them to the
+ project folder.
+
+ \section1 Adding Files to Projects
+
+ You can use wizards also to add individual files to your projects.
+ You can create the following types of files:
+
+ \list
+ \li \uicontrol {Qt Quick Files}
+ \list
+ \li \uicontrol {Qt Quick File} generates a QML type with one
+ of the following types as the root item: \l Item,
+ \l Rectangle, \l Image, \l BorderImage, \l Flickable,
+ \l Row, \l Column, \l Flow, or \li Grid.
+ \li \uicontrol {Qt Quick UI File} generates a UI form with one
+ of the above types as the root item.
+ \li \uicontrol {Qt Quick Views} generates a \l GridView or a
+ \l ListView.
+ \endlist
+ \li \uicontrol {Qt Quick Controls}
+ \list
+ \li \l [Qt Quick Controls 2] {Button}{Custom Button} creates a
+ push button with a text label.
+ \li \l [Qt Quick Controls 2] {Switch}{Custom Switch} creates a
+ switch with on and off states.
+ \li \l [Qt Quick Controls 2] {Pane} provides a background that
+ matches the UI style and theme.
+ \li \l [Qt Quick Controls 2] { StackView} provides a stack-based
+ navigation model.
+ \li \l [Qt Quick Controls 2] {SwipeView} enables users to
+ navigate pages by swiping sideways.
+ \endlist
+ \li \uicontrol {QML Files}
+ \list
+ \li \l FontLoader imports custom fonts to the project for
+ deployment to devices. For more information, see
+ \l {Using Custom Fonts}.
+ \li \l ListModel adds a list model to the project.
+ \endlist
+ \li \uicontrol {JavaScript File} generates files that you can use to
+ write the application logic. This is useful for testing the
+ application before the developers implement the application logic
+ in C++, for example. For more information, see
+ \l {Simulating Application Logic}.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-prototyping.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-prototyping.qdoc
new file mode 100644
index 0000000000..df42f2fca0
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-prototyping.qdoc
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage quick-converting-ui-projects.html
+ \page studio-prototyping.html
+ \nextpage quick-components.html
+
+ \title Creating UIs
+
+ When you install \QDS, everything you'll need to design UIs
+ using \l{Qt Quick} and to preview them on the desktop or on Android or
+ embedded Linux devices is automatically installed and configured correctly
+ for you.
+
+ 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. You can specify values for the \e properties of a
+ component to change its appearance and behavior. All QML types have a
+ set of predefined properties, some of which control things that are
+ visible to users, while others are used behind the scene.
+
+ While it is useful to learn the basics of Qt Quick, you can also rely on
+ \QDS to write the code for you when you drag-and-drop the ready-made
+ components to the working area and change them to your liking by modifying
+ their properties in the Design mode. You can always check up details in
+ the extensive Qt Quick documentation by pressing \key F1.
+
+ \list
+
+ \li \l {Creating Components}
+
+ In addition to your imported artwork, you can use the Design
+ mode to customize ready-made components or design any custom form
+ and shape directly as QML types. You can import visual assets in
+ various formats, such as PNG, JPG, and SVG for use in the
+ components.
+
+ \li \l {Managing Item Hierarchy}
+
+ You can manage the items in the current QML file and their
+ relationships in the \uicontrol Navigator.
+
+ \li \l {Specifying Item Properties}
+
+ You can specify values for the properties of a component to change
+ its appearance and behavior. All QML types have a set of predefined
+ properties. Some properties, such as position, size, and visibility,
+ are common to all QML types, whereas others are specific to the QML
+ type. You can specify properties for your components in the
+ \uicontrol Properties pane.
+
+ \li \l {Using Custom Fonts}
+
+ You can load custom fonts to \QDS and use them in your designs.
+ \endlist
+
+ \section1 Related Topics
+
+ \list
+ \li \l{Qt Quick UI Forms}
+
+ Some of the wizards create Qt Quick projects that contain UI forms
+ (.ui.qml files). The forms use a purely declarative subset of the
+ QML language and you can edit them in the Design mode.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc
new file mode 100644
index 0000000000..5bb5b2f2de
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage index.html
+ \page studio-terms.html
+ \previouspage studio-faq.html
+ \nextpage creator-acknowledgements.html
+
+ \title Concepts and Terms
+
+ This topic describes main \QDS concepts and terms.
+
+ \section1 Component
+ \target glossary-component
+
+ An instantiable QML definition, typically contained in a .qml file.
+ For example, a Button component may be defined in Button.qml. The
+ QML runtime may instantiate this Button component to create Button
+ objects. Alternatively, a component may be defined inside a
+ \l{Component} QML type.
+
+ \section1 Deploy Configuration
+ \target glossary-deploy-config
+
+ Handles the packaging and copying of the necessary files to a location
+ you want to preview the UI at. The files can be copied to a location in
+ the file system of the development PC or a \l{glossary-device}{device}.
+
+ \section1 Device
+ \target glossary-device
+
+ An embedded device or an Anroid device.
+
+ \section1 Kit
+ \target glossary-buildandrun-kit
+
+ \QDS groups run settings as kits to make cross-platform development easier.
+ Each kit consists of a set of values that define one environment, such as a
+ \l{glossary-device} {device} to preview the UI on.
+
+ \section1 Mode
+ \target glossary-mode
+
+ Adapts the \QDS UI to the different UI design
+ tasks at hand. Each mode has its own view that shows only the information
+ required for performing a particular task, and provides only the most
+ relevant features and functions related to it. As a result, the majority
+ of the \QDS window area is always dedicated to the actual task.
+
+ \section1 Project
+ \target glossary-project
+
+ Groups together a set of files, images, and other assets that you
+ can deploy and run on different desktop and \l{glossary-device}{device}
+ platforms, as specified by a \e {deploy configuration} and
+ \e {run configuration}.
+
+ \section1 Run Configuration
+ \target glossary-run-config
+
+ Starts the UI in the location where it was copied by the
+ \e {deploy configuration}. By default, when you run a project, \QDS
+ deploys it to the \l{glossary-device}{device} specified in the
+ selected \l{glossary-buildandrun-kit}{kit}, and runs it there. However,
+ if you have not made any changes to the project since you last deployed
+ it, \QC simply runs it again.
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
new file mode 100644
index 0000000000..4c7af21e01
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
@@ -0,0 +1,160 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \page qtdesignstudio-toc.html
+
+ \title All Topics
+
+ \list
+ \li \l{Getting Started}
+ \list
+ \li \l{Exporting Artwork from Design Tools}
+ \list
+ \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 from Maya}
+ \endlist
+ \li \l{User Interface}
+ \list
+ \li \l{Selecting Modes}
+ \li \l{Browsing Project Contents}
+ \li \l{Viewing Output}
+ \endlist
+ \li \l{Editing QML Files in Design Mode}
+ \li \l{Tutorials}
+ \endlist
+ \li \l{Managing Projects}
+ \list
+ \li \l{Creating Projects}
+ \li \l{Using Git}
+ \li \l{Importing Designs}
+ \list
+ \li \l{Importing 2D Assets}
+ \li \l{Importing 3D Assets}
+ \endlist
+ \li \l{Converting UI Projects to Applications}
+ \endlist
+ \li \l{Creating UIs}
+ \list
+ \li \l{Creating Components}
+ \list
+ \li \l{Creating Buttons}
+ \li \l{Creating Scalable Buttons and Borders}
+ \endlist
+ \li \l{Managing Item Hierarchy}
+ \li \l{Specifying Item Properties}
+ \li \l{Using Custom Fonts}
+ \li \l{Qt Quick UI Forms}
+ \endlist
+ \li \l {Adding Dynamics}
+ \list
+ \li \l{Creating Animations}
+ \li \l{Adding Connections}
+ \list
+ \li\l{Connecting Objects to Signals}
+ \li\l{Specifying Dynamic Properties}
+ \li\l{Adding Bindings Between Properties}
+ \endlist
+ \li \l{Adding States}
+ \li \l{Editing PathView Properties}
+ \endlist
+ \li \b {\l{Editing 3D Scenes}}
+ \list
+ \li \l{Editing 3D Assets in Design Mode}
+ \li \l{Working in the 3D Editor}
+ \li \l{Adding 3D Views}
+ \li \l{Using 3D Components}
+ \list
+ \li \l{Setting Node Properties}
+ \li \l{Adding Models}
+ \li \l{Using Materials and Shaders}
+ \li \l{Attaching Textures to Materials}
+ \li \l{Using Lights}
+ \li \l{Using Scene Camera}
+ \li \l{Setting Scene Environment}
+ \endlist
+ \endlist
+ \li \l{Previewing}
+ \list
+ \li \l{Previewing on Desktop}
+ \li \l{Previewing on Devices}
+ \li \l{Previewing in Browsers}
+ \endlist
+ \li \l{Advanced Topics}
+ \list
+ \li \l{Supported Platforms}
+ \li \l{Keyboard Shortcuts}
+ \li \l{Coding}
+ \list
+ \li \l{Writing Code}
+ \list
+ \li \l{Working in Edit Mode}
+ \li \l{Semantic Highlighting}
+ \li \l{Checking Code Syntax}
+ \li \l{Completing Code}
+ \li \l{Indenting Text or Code}
+ \li \l{Using Qt Quick Toolbars}
+ \li \l{Comparing Files}
+ \endlist
+ \li \l{Finding}
+ \list
+ \li \l{Finding and Replacing}
+ \li \l{Searching with the Locator}
+ \endlist
+ \li \l{Refactoring}
+ \li \l{Configuring the Editor}
+ \list
+ \li \l{Specifying Text Editor Settings}
+ \endlist
+ \endlist
+ \li \l{Simulating Application Logic}
+ \li \l{Debugging and Profiling}
+ \list
+ \li \l{Debugging Qt Quick Projects}
+ \li \l{Debugging a Qt Quick Example Application}
+ \li \l{Profiling QML Applications}
+ \endlist
+ \li \l{Using External Tools}
+ \endlist
+ \li \l{Help}
+ \list
+ \li \l{Examples and Tutorials}
+ \li \l{Using the Help Mode}
+ \li \l{Frequently Asked Questions}
+ \li \l{Concepts and Terms}
+ \endlist
+ \li \l{Acknowledgements}
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-tutorials.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-tutorials.qdoc
new file mode 100644
index 0000000000..da98ee0690
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-tutorials.qdoc
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \previouspage creator-using-qt-quick-designer.html
+ \group gstutorials
+ \nextpage studio-projects-managing.html
+
+ \title Tutorials
+
+ \image loginui4.gif "Log In UI"
+
+ You can follow a set of hands-on tutorials that build on each other to
+ illustrate how to use the features of \QDS. In addition, the tutorials
+ provide additional information about the features of QML and Qt Quick
+ that are relevant to the task at hand. Even if you plan to export your
+ designs from a design tool, it is useful to first create a small UI from
+ scratch to learn the basic concepts of \QDS. In particular, Part 1
+ describes the terms and concepts that you will run into when exporting
+ designs with \QB.
+
+ Before you start, take a look at the following topics to familiarize
+ yourself with the parts of \QDS in general, and the Design mode in
+ particular: \l{User Interface} and \l{Editing QML Files in Design Mode}.
+
+ In addition to these entry-level tutorials, \QDS comes with examples
+ and video tutorials that you can open from the \uicontrol Examples and
+ \uicontrol Tutorials tabs in the \uicontrol Welcome mode. For more
+ information, see \l {Examples and Tutorials}.
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-visual-effects.qdocinc b/doc/qtdesignstudio/src/qtdesignstudio-visual-effects.qdocinc
new file mode 100644
index 0000000000..e373dc80a8
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio-visual-effects.qdocinc
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+//! [qml visual effects]
+
+ \section1 Applying Visual Effects
+
+ \QDS provides a set of Qt Quick Studio effects that inherit the types in the
+ \l {Qt Graphical Effects} module. To apply a visual effect to a component,
+ you must place the component inside the effect. First drag-and-drop an
+ effect from \uicontrol Library > \uicontrol Effects to the the canvas or
+ the \uicontrol Navigator, and then drag-and-drop the component to the
+ effect. For some effects, you need two source components.
+
+ The following table summarizes the available effects and contains links to
+ the documentation of the inherited QML type.
+
+ \table
+ \header
+ \li Qt Quick Studio Effect
+ \li Description
+ \row
+ \li \l [QML] {Blend}
+ \li Merges two source components by using a blend mode.
+
+ The default mode is \c subtract, where the pixel value from the
+ component that is going to be blended over the source component
+ is subtracted from the source and written.
+
+ For a list of possible values and examples of their use, see
+ \l{Blend::mode}{Blend.mode}.
+ \row
+ \li \l {FastBlur}{Blur}
+ \li Applies a fast blur effect to one or more source components.
+ \row
+ \li \l {BrightnessContrast}{Brightness Contrast}
+ \li Adjusts brightness and contrast.
+ \row
+ \li \l {ColorOverlay}{Color Overlay}
+ \li Alters the colors of the source component by applying an overlay
+ color.
+ \row
+ \li \l Colorize
+ \li Sets the color in the HSL color space.
+ \row
+ \li \l {DirectionalBlur}{Directional Blur}
+ \li Applies blur effect to the specified direction.
+ \row
+ \li \l {DropShadow}{Drop Shadow}
+ \li Generates a soft shadow behind the source component.
+ \row
+ \li \l [QML] {Glow}
+ \li Generates a halo-like glow around the source component.
+ \row
+ \li \l {HueSaturation}{Hue Saturation}
+ \li Alters the source component colors in the HSL color space.
+ \row
+ \li \l {OpacityMask}{Mask}
+ \li Masks the source component with another component.
+ \row
+ \li \l {MaskedBlur}{Masked Blur}
+ \li Applies a blur effect with a varying intesity.
+ The \l GradientStop type is used to specify the color used at a
+ given position in a gradient, as represented by a gradient stop.
+ The default positions for the stops are 0.20, 0.50, 0.80, and 1.00.
+ The default color is black.
+ \row
+ \li \l {RadialBlur}{Radial Blur}
+ \li Applies directional blur in a circular direction around the
+ component's center point.
+ \row
+ \li \l {Desaturate}{Saturation}
+ \li Reduces the saturation of the colors.
+ \row
+ \li \l {ZoomBlur}{Zoom Blur}
+ \li Applies directional blur effect towards source component's center
+ point.
+ \endtable
+
+//! [qml visual effects]
+*/
diff --git a/doc/qtdesignstudio/src/qtdesignstudio.qdoc b/doc/qtdesignstudio/src/qtdesignstudio.qdoc
new file mode 100644
index 0000000000..f69cd066c6
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtdesignstudio.qdoc
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage{index.html}{Qt Design Studio}
+ \page index.html
+ \nextpage studio-getting-started.html
+
+ \title Qt Design Studio Manual
+
+ \QDS is a UI design and development environment for creating animated UIs
+ and previewing them on the desktop or on Android and embedded Linux devices.
+ It provides you with tools for accomplishing your tasks throughout the whole
+ process, from design to production.
+
+ \table
+ \row
+ \li \inlineimage studio-gs.png
+ \li \inlineimage studio-projects.png
+ \li \inlineimage studio-components.png
+ \li \inlineimage studio-animation.png
+ \row
+ \li \l{Getting Started}
+ \list
+ \li \l{Exporting Artwork from Design Tools}
+ \li \l{User Interface}
+ \li \l{Editing QML Files in Design Mode}
+ \li \l{Tutorials}
+ \endlist
+ \li \b {\l{Managing Projects}}
+ \list
+ \li \l{Creating Projects}
+ \li \l{Using Git}
+ \li \l{Importing Designs}
+ \li \l{Converting UI Projects to Applications}
+ \endlist
+ \li \b {\l{Creating UIs}}
+ \list
+ \li \l{Creating Components}
+ \li \l{Managing Item Hierarchy}
+ \li \l{Specifying Item Properties}
+ \li \l{Using Custom Fonts}
+ \endlist
+ \li \b {\l{Adding Dynamics}}
+ \list
+ \li \l{Creating Animations}
+ \li \l{Adding Connections}
+ \li \l{Adding States}
+ \li \l{Editing PathView Properties}
+ \endlist
+ \row
+ \li \inlineimage studio-3d-scenes.png
+ \li \inlineimage studio-preview.png
+ \li \inlineimage studio-settings.png
+ \li \inlineimage studio-help.png
+ \row
+ \li \b {\l{Editing 3D Scenes}}
+ \list
+ \li \l{Editing 3D Assets in Design Mode}
+ \li \l{Working in the 3D Editor}
+ \li \l{Adding 3D Views}
+ \li \l{Using 3D Components}
+ \endlist
+ \li \b {\l{Previewing}}
+ \list
+ \li \l{Previewing on Desktop}
+ \li \l{Previewing on Devices}
+ \li \l{Previewing in Browsers}
+ \endlist
+ \li \b {\l{Advanced Topics}}
+ \list
+ \li \l{Supported Platforms}
+ \li \l{Keyboard Shortcuts}
+ \li \l{Coding}
+ \li \l{Simulating Application Logic}
+ \li \l{Debugging and Profiling}
+ \endlist
+ \li \b {\l{Help}}
+ \list
+ \li \l{Examples and Tutorials}
+ \li \l{Using the Help Mode}
+ \li \l{Frequently Asked Questions}
+ \li \l{Concepts and Terms}
+ \endlist
+ \row
+ \li {4,1} \l{All Topics}
+ \row
+ \li {4,1} \note To report bugs and suggestions to the Qt Bug
+ Tracker, select \uicontrol {Help > Report Bug}.
+ To copy and paste detailed information about your system to the
+ bug report, select \uicontrol Help >
+ \uicontrol {System Information}.
+
+ For credits and a list of third-party libraries, see
+ \l {Acknowledgements}.
+ \endtable
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-maya.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-maya.qdoc
new file mode 100644
index 0000000000..53d3009a78
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-maya.qdoc
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Design Studio.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page exporting-from-maya.html
+ \previouspage qtbridge-sketch-using.html
+ \nextpage creator-quick-tour.html
+
+ \title Exporting from Maya
+
+ You can export graphics from Maya in the FBX format. The necessary plugin is
+ usually enabled by default, but you can check that in the plugin manager.
+
+ To export graphics from Maya:
+
+ \list 1
+ \li Select \uicontrol Window > \uicontrol Settings/Preferences >
+ \uicontrol {Plug-in Manager} and check that the fbxmaya.mll
+ plugin is enabled.
+ \li Select \uicontrol File > \uicontrol {Export All}.
+ \image maya-export-options.png "Export options in Maya"
+ \li In the \uicontrol {File name} field, enter a name for the export
+ file.
+ \li In the \uicontrol {Files of type} field, select
+ \uicontrol {FBX export}.
+ \li In \uicontrol Presets > \uicontrol {Current Preset}, select
+ \uicontrol {Autodesk Media & Entertainment}.
+ \li In \uicontrol Geometry > \uicontrol {Convert NURBS surface to},
+ select \uicontrol {Interactive Display Mesh}.
+ \li To export files, select \uicontrol {Export All}.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-camera.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-camera.qdoc
new file mode 100644
index 0000000000..0c33b4bc20
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-camera.qdoc
@@ -0,0 +1,113 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Design Studio.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page studio-3d-camera.html
+ \previouspage studio-3d-lights.html
+ \nextpage studio-3d-scene-environment.html
+
+ \title Using Scene Camera
+
+ A camera is always necessary to view the content of a 3D scene. A camera
+ defines how to project the content of a 3D scene into a 2D coordinate space,
+ which can then be used on a 2D surface. When a camera is present in the
+ scene, it can be used to direct what is displayed in a 3D view.
+
+ You can use the following 3D QML types to determine camera projection:
+
+ \list
+ \li \l{PerspectiveCamera}{Camera Perspective} - is the standard camera
+ type, which uses field of view and near and far clip planes to
+ specify the projection.
+ \li \l{OrthographicCamera}{Camera Orthographic} - renders all contents
+ with no perspective. It is ideal for rendering 2D elements, because
+ your images are guaranteed to be the right size on the screen, and
+ you can use the z position of components to bring them closer to or
+ take them farther from the camera (\e z-sorting) with no
+ foreshortening artifacts.
+ \li \l{FrustumCamera}{Camera Frustum} - enables finer grain control of
+ how the frustum is defined, by setting the number of degrees between
+ the top and bottom or left and right edges of the camera frustum.
+ This is useful when creating asymmetrical frustums.
+ \li \l{CustomCamera}{Camera Custom} - provides full control over how
+ the projection matrix is created.
+ \endlist
+
+ You can position the camera in the scene and set the direction it is facing.
+ The default direction of the camera is such that the forward vector is
+ looking up the +z axis, and the up direction vector is up the +y axis. You
+ can apply transforms to the camera and its parent types to define
+ exactly where your camera is located and in which direction it is facing.
+
+ The second part of determining the projection of the camera is defining the
+ field of view (\e frustum) of the camera that defines which parts of the
+ scene are visible, as well as how they are visible.
+
+ You can edit the camera properties in the \uicontrol Properties view.
+
+ \section1 Setting Camera Field of View
+
+ The camera frustum can be obtained by taking a frustum (that is, a
+ truncation with parallel planes) of the cone of vision that a camera or eye
+ would have to the rectangular viewports typically used in computer graphics.
+ The shape of the cone depends on the camera lens that is being simulated.
+ Typically, it is a rectangular pyramid with the top cut off.
+
+ The planes that cut the frustum perpendicular to the viewing direction are
+ called the \e {near plane} and the \e {far plane}. Components in front of
+ the near plane or behind the far plane are not drawn.
+
+ The \uicontrol {Clip near} and \uicontrol {Clip far} properties determine
+ the position of the near plane and the far plane. We recommend that
+ you place the near and far planes as close to each other as possible to
+ optimize depth accuracy. Components are clipped at pixel level instead of
+ element level. This means that a model crossing a plane may be only
+ partially rendered.
+
+ The \uicontrol {Field of view} (FOV) property specifies the number of
+ degrees between the edges of the camera frustum. The larger the value,
+ the stronger the sense of 3D in your scene. By default, the
+ \uicontrol {FOV orientation} property is set to use the vertical FOV.
+ This value is the number of degrees between the top and bottom edges
+ of the camera frustum.
+
+ The horizontal FOV determines the number of degrees between the left and
+ right edges of the camera frustum. It is automatically calculated based on
+ the aspect ratio of the scene when the FOV orientation is set to vertical.
+ You can set the orientation to horizontal to translate FOV values from
+ graphics tools such as Maya and Blender, which use horizontal FOV by
+ default.
+
+ The default values are intended to cause anything within the view
+ of the camera to be rendered. Aside from special clipping effects, you
+ may need to adjust these values to more closely contain your content for
+ better results with ambient occlusion or with effects that use the depth
+ buffer of the camera, such as the \e {depth of field} effect.
+
+ \note Orthographic cameras don't have the FOV property.
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc
new file mode 100644
index 0000000000..38a71a1b53
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page studio-3d-components.html
+ \previouspage studio-3d-view.html
+ \nextpage studio-3d-node.html
+
+ \title Using 3D Components
+
+ To add 3D components to the scene, drag and drop a them from
+ \uicontrol Library > \uicontrol {QML Types} > \uicontrol {Qt Quick 3D} to
+ the scene or to a 3D view in the \uicontrol Navigator.
+
+ To edit 3D components, select the component in the 3D editor or in the
+ \uicontrol Navigator and set its properties in the \uicontrol Properties
+ view.
+
+ \list
+ \li \l {Setting Node Properties}
+
+ You can set the opacity, visibility, and transform properties
+ of all 3D components.
+ \li \l {Adding Models}
+
+ You can use the model component to load static mesh data from
+ storage or one of the built-in primitive types: cube, cone,
+ cylinder, rectangle, or sphere. You can attach materials to
+ meshes and sub-meshes.
+ \li \l {Using Materials and Shaders}
+
+ You can use materials and shaders to define how object surfaces
+ are rendered in a scene and during live preview.
+ \li \l {Attaching Textures to Materials}
+
+ You can use a Texture component to specify an image and how it is
+ mapped to meshes in a 3D scene. Texture components can use image
+ data either from a file or a Qt Quick QML type.
+ \li \l{Using Lights}
+
+ You can use several light types as the source of lighting in a
+ scene and set their properties.
+ \li \l {Using Scene Camera}
+
+ To project a 3D scene to a 2D viewport, it is necessary to view
+ the scene from a camera. You can select the camera type and set
+ its properties.
+ \li \l {Setting Scene Environment}
+
+ You can use the SceneEnvironment type to specify how the scene is
+ rendered globally.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-design-mode.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-design-mode.qdoc
new file mode 100644
index 0000000000..e214c544f2
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-design-mode.qdoc
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage studio-3d.html
+ \page studio-3d-design-mode.html
+ \nextpage studio-3d-editor.html
+
+ \title Editing 3D Assets in Design Mode
+
+ \QDS opens QML files that contain 3D scenes in the Design mode and the
+ scenes in the 3D editor. You can add imported 3D assets as resources
+ to projects and edit them to create scenes and states, as well as the
+ transitions between them.
+
+ \image studio-editing-3d-scenes.png "3D assets in Design mode"
+
+ To edit 3D scenes in the Design mode:
+
+ \list
+ \li \uicontrol {3D Editor} (1) is the working area where you create the
+ scene, position the model, light and camera, as well as move and
+ scale items.
+ \li \uicontrol {3D View} (2) is where you see the scene projected by the
+ camera.
+ \li The sidebars contain views where you can select QML types to use in
+ the scene, specify properties for them, and view them in a tree
+ structure, as well as to create connections and browse projects and
+ files. You can select the content of the sidebars in the sidebar
+ menu:
+ \list
+ \li \uicontrol {Library} (3) displays the building blocks that you
+ can use to create scenes: predefined Qt Quick 3D Components,
+ Qt Quick Controls, your own 3D assets that you import to the
+ project, and other resources. For more information, see
+ \l {Adding 3D Views}.
+ \li \uicontrol {Navigator} (4) displays the items in the current QML
+ file as a tree structure. For more information, see
+ \l {Managing Item Hierarchy}.
+ \li \uicontrol {Properties} (5) organizes the properties of the
+ selected item. You can change the properties also in the
+ \uicontrol {Text Editor}. For more information, see
+ \l {Specifying Item Properties}.
+ \li \uicontrol Connections enables you to create connections
+ between objects, signals, and object properties. For more
+ information, see \l{Adding Connections}.
+ \li \uicontrol {File System} shows all files in the currently
+ selected directory. For more information, see
+ \l{Viewing the File System}.
+ \li \uicontrol {Open Documents} shows currently open files.
+ \li \uicontrol {Projects} shows a list of projects open in the
+ current session. For more information, see
+ \l{Viewing Project Files}.
+ \endlist
+ \li \uicontrol {States} displays the different states of the
+ item. QML states typically describe user interface configurations,
+ such as the UI controls, their properties and behavior and the
+ available actions. For more information, see \l{Adding States}.
+ \li \uicontrol Timeline (6) provides a timeline and keyframe based
+ editor that enables you to animate the properties of components.
+ \endlist
+
+ To close the 3D editor, select \uicontrol 2D in the list on the toolbar (7).
+ To reopen it, select \uicontrol {2D/3D}.
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc
new file mode 100644
index 0000000000..034a4817ab
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc
@@ -0,0 +1,176 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage studio-3d-design-mode.html
+ \page studio-3d-editor.html
+ \nextpage studio-3d-view.html
+
+ \title Working in the 3D Editor
+
+ To project a 3D scene to a 2D viewport, it is necessary to view the scene
+ from a \l{Using Scene Camera}{camera}. Select the \uicontrol {Toggle
+ Perspective/Orthographic Projection} button (1) on the 3D editor toolbar to
+ switch between a \e {perspective camera} and an \e {orthographic camera}.
+ A perspective camera uses field of view and near and far clip planes to
+ specify the projection, whereas an orthographic camera can be thought of
+ as a 2D camera. Both of them are free-form cameras that you can use to
+ orbit around the scene.
+
+ When you import 3D scenes from files that you exported from 3D graphics
+ tools, you also import the camera, light, model, and materials. If your
+ 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.
+
+ \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.
+
+ \section1 Controlling the Edit View Camera
+
+ You can add 3D camera types to the scene to project the view you see in
+ the View3D type in the application. While editing scenes, you can use
+ a separate \e {edit view camera} (4) to project the scene to the 3D edit
+ view in the Design mode.
+
+ You can navigate the scene by rotating, panning, and zooming the edit view
+ camera.
+
+ To zoom, use the mouse wheel or press \key Alt and right-click anywhere in
+ the rendered view to zoom the view in or out as you drag up or down.
+
+ To pan, press \key Alt and use the middle mouse button to click anywhere in
+ the rendered view to slide the view around.
+
+ To orbit, press \key Alt and click anywhere in the rendered view to rotate
+ the view.
+
+ To scale the edit view camera and to focus it on the selected items, select
+ \uicontrol {Fit Selected} button or press \key F.
+
+ The world axis helper (5) shows the direction of the world axes in respect
+ to the edit view camera. To point the camera at the currently selected
+ component in the direction of an axis, click the axis. If no component
+ is selected, the camera is pointed at the world origin. This does not
+ affect the camera zoom level.
+
+ For more information about using the cameras in the scene, the available
+ 3D camera types, and their properties, see \l{Using Scene Camera}.
+
+ \section1 Selecting Items
+
+ To move, rotate, or scale items in the scene, you need to select them first.
+ The selection mode buttons determine how items are selected when you click
+ them in the 3D editor.
+
+ \list
+ \li In the \inlineimage item_selection_selected.png
+ (\uicontrol {Select Item}) mode, a single item is selected.
+ \li In the \inlineimage group_selection_selected.png
+ (\uicontrol {Select Group}) mode, the top level parent of the item
+ is selected. This enables you to move, rotate, or scale a group of
+ items.
+ \endlist
+
+ To toggle the selection mode, press \key Q.
+
+ \section1 Moving Items
+
+ \image studio-3d-editor-move.png "3D editor in move mode"
+
+ You can move items in relation to their coordinate system, along the x, y,
+ or z view axis or on the top, bottom, left, and right clip planes of the
+ render camera.
+
+ To move items, select \inlineimage move_selected.png
+ or press \key W.
+
+ To move items along an axis, click the axis and drag the item along the
+ axis.
+
+ To move items on a plane, select the plane handle and drag the item on
+ the plane.
+
+ To move an item freely in the editor, select the handle at the center of
+ the item.
+
+ \section1 Rotating Items
+
+ You can rotate items around the view axes of the camera.
+
+ \image studio-3d-editor-rotate.png "3D editor in rotate mode"
+
+ To rotate items, select \inlineimage rotate_selected.png
+ or press \key E.
+
+ To rotate an item around an axis, select the axis and drag in the direction
+ you want to rotate the item in.
+
+ To freely rotate the item, select the gray circle.
+
+ \section1 Scaling Items
+
+ \image studio-3d-editor-scale.png "3D editor in scale mode"
+
+ To scale items, select \inlineimage scale_selected.png
+ or press \key R.
+
+ You can use the scale handles to adjust the local x, y, or z scale of an
+ item. You can ajust the scale across one, two, or three axes, depending
+ on the handle.
+
+ To adjust the scale across one axis, select the scale handle attached to
+ the axis. To uniformly scale an item across all axes, select the handle
+ at the center of the item.
+
+ To adjust the scale across a plane, select the plane handle and drag the
+ item on the plane.
+
+ \section1 Using Edit View Light
+
+ You use 3D light types to light the models in the scene. While editing
+ scenes, you can use a separate \e {edit view light} to illuminate the
+ portions of the scene that the scene lights do not hit. To switch the edit
+ view light on and off, select the \uicontrol {Toggle Edit Light} button (6).
+
+ For more information about the available scene light types and their
+ properties, see \l{Using Lights}.
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc
new file mode 100644
index 0000000000..a247785f03
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-lights.qdoc
@@ -0,0 +1,165 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Design Studio.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page studio-3d-lights.html
+ \previouspage studio-3d-texture.html
+ \nextpage studio-3d-camera.html
+
+ \title Using Lights
+
+ Light components are the primary source of lighting in a \QDS scene.
+ As a secondary light source, you can use \l{Using Image-based Lighting}
+ {image-based lighting}.
+
+ By default, all imported scenes are created with one directional light.
+ You can use the following \l{Qt Quick 3D} components to add lights:
+
+ \list
+ \li \l{DirectionalLight}{Light Directional}
+ \li \l{PointLight}{Light Point}
+ \li \l{AreaLight}{Light Area}
+ \endlist
+
+ \note Each additional light negatively effects the rendering performance
+ of your scene. Keep scenes as simple as possible and use lights sparingly.
+ Use a \l{SceneEnvironment}{Scene Environment} component to apply image-based
+ lighting that can produce soft and subtle lighting.
+
+ You can edit light properties in the \uicontrol Properties view. The
+ \uicontrol Scope property specifies which node, with it's children,
+ is illuminated by a light.
+
+ Set the \uicontrol {Color} property to specify the color applied to models
+ illuminated by a light. Set the \uicontrol {Ambient color} property to
+ specify the ambient color applied to materials before being illuminated by
+ the light.
+
+ You can animate light properties in the \uicontrol Timeline view.
+
+ \section1 Directional Light
+
+ A directional light emits light in one direction from a unidentifiable
+ source located infinitely far away. This is similar to sunlight.
+
+ \image studio-3d-directional-light.png "Models lit by a dirctional light"
+
+ If the \uicontrol {Casts shadow} property is enabled, shadows are positioned
+ parallel to the light direction. A directional light has infinite range and
+ does not diminish.
+
+ Moving a directional light does not have any effect. The light will always
+ be emitted in the direction of the light's z axis. Rotating the light along
+ its x or y axis will change the direction in which the light is emitted.
+
+ Scaling a directional light will only have an effect in the following cases:
+
+ \list
+ \li If the z scale is set to a negative number, the light will be
+ emitted in the opposite direction.
+ \li If the scale of any axis is set to 0, the light will be emitted
+ along the world's z axis. Rotating the light has no effect.
+ \endlist
+
+ \section1 Point Light
+
+ A point light can be described as a sphere, emitting light with equal
+ strength in all directions from the center of the light. This is similar
+ to the way a light bulb emits light.
+
+ \image studio-3d-point-light.png "Models lit by a point light"
+
+ Lighting is applied outwards from the center of a point light, becoming
+ increasingly dim away from the center. Moving a point light changes the
+ position from where the light is emitted. Rotating or scaling a point
+ light does not have any effect.
+
+ To specify an overall multiplier for a point light's effects, set the
+ \uicontrol Brightness property.
+
+ To control the fade-off and range of a point light, set the
+ \uicontrol {Constant fade}, \uicontrol {Linear fade}, and
+ \uicontrol {Quadratic fade} properties. Constant fade is the constant
+ factor of the \e attenuation term of the light. Attenuation refers to
+ the reduction in the intensity of light as it travels through a medium
+ due to absorption or scattering of photons.
+
+ Turn up the linear fade value to increase the rate at which the lighting
+ effect dims the light in proportion to the distance to the light. The value
+ 0.0 means that the light doesn't have linear fade.
+
+ Turn up the quadratic fade to increase the rate at which the lighting effect
+ dims on surfaces that are far away from the light. The value 1.0 means that
+ the point light fade exactly follows the inverse square law. For example,
+ when the distance to an object doubles, the light intensity decreases to one
+ fourth.
+
+ Aside from fade, a point light has the same properties as a directional
+ light.
+
+ \section1 Area Light
+
+ An area light is similar to the directional light. However, instead of
+ emitting an equally bright light across the whole scene, the area light
+ emits directional light from a rectangle shaped object. You can set the
+ \uicontrol Width and \uicontrol Height properties to determine the size
+ of the area light.
+
+ Aside from the size, an area light has the same properties as a directional
+ light.
+
+ The image below shows an example on how to light an object with different
+ colors using two different area lights.
+
+ \image area-light.png
+
+ You can rotate, scale, and move area lights.
+
+ \section1 Shadows
+
+ To simulate shadows using this light, enable the \uicontrol {Cast shadows}
+ check box. Cast shadows work best with area or point lights.
+
+ To specify the darkness of the shadows, set the \uicontrol {Shadow factor}
+ property. The value 0 means no shadows are cast.
+
+ To specify the amount of blur applied to the shadows, set the
+ \uicontrol {Shadow filter} property.
+
+ Tweak the \uicontrol {Shadow bias} property value by small amounts
+ if you see objects casting shadows on themselves.
+
+ To specify the quality of the shadow map created for shadow rendering, set
+ the \uicontrol {Shadow map quality} property. Lower quality uses less
+ resources, but produces lower quality shadows, while higher quality uses
+ more resources to produce better quality shadows.
+
+ To specify the maximum distance for the shadow map, set the
+ \uicontrol {Shadow map far} property value. Using smaller values
+ may improve the precision and effects of the map.
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc
new file mode 100644
index 0000000000..ecbef398dc
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc
@@ -0,0 +1,229 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Desing Studio.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page studio-3d-materials.html
+ \previouspage studio-3d-model.html
+ \nextpage studio-3d-texture.html
+
+ \title Using Materials and Shaders
+
+ \image materials.png
+
+ Materials and shaders define how object surfaces are rendered in \QDS and
+ live preview. As you change the properties of materials, new shaders are
+ generated accordingly, and the property values are bound. The complexity of
+ a shader depends on a combination of the properties that are set on it, and
+ the context of the scene itself.
+
+ The materials that you used in your imported scenes are imported to \QDS
+ as \l{Qt Quick 3D} components. When you add a View3D component, it contains
+ a DefaultMaterial component. You can use the following predefined Qt Quick
+ 3D components to add materials to models:
+
+ \list
+ \li Default material
+ \li Principled material
+ \li Texture
+ \endlist
+
+ Before a model can be rendered in a scene, it must have at least one
+ material to define how the mesh is shaded. The DefaultMaterial component
+ is the easiest way to define such a material. The PrincipledMaterial
+ component specifies the minimum amount of properties.
+
+ You can use the \l Texture component to apply textures to materials. It
+ defines an image and how the image is mapped to meshes in a 3D scene. To
+ use image data from a file, set the \uicontrol Source property of the
+ Texture component in the \uicontrol Properties view.
+
+ To have the material use vertex colors from the mesh, select the
+ \uicontrol {Enable vertex colors} check box. These are multiplied
+ by any other colors specified for the material.
+
+ You can modify material properties in the \uicontrol Properties view, as
+ instructed in the following sections. The availability of the properties
+ depends on the material type.
+
+ You can animate material properties in the \uicontrol Timeline view, as
+ instructed in \l {Creating Animations}.
+
+ \section1 Blending Colors
+
+ To determine how the colors of a model blend with the colors of the models
+ behind it, set the \uicontrol {Blend mode} property. To make opaque objects
+ occlude the objects behind them, select \uicontrol {SourceOver}.
+
+ For a lighter result, select \uicontrol Screen to blend colors using an
+ inverted multiply or \uicontrol ColorDodge to blend them by inverted
+ division. Color dodge procudes an even lighter result than screen.
+
+ For a darker result, select \uicontrol Multiply to blend colors using a
+ multiply or \uicontrol ColorBurn to blend them by inverted division, where
+ the result also is inverted. Color burn produces an even darker result than
+ multiply.
+
+ The screen and multiply modes are order-independent, so select them to
+ avoid \e popping, which can happen when using semi-opaque objects and
+ sorting the back and front faces or models.
+
+ For a result with higher contrast, select \uicontrol Overlay, which is a mix
+ of the multiply and screen modes.
+
+ \section1 Lighting Materials
+
+ To set the lighting method for generating a material, use the
+ \uicontrol Lighting property. Select \uicontrol {Fragment lighting} to
+ calculate diffuse and specular lighting for each rendered pixel. Some
+ effects, such as Fresnel or a bump map, require fragment lighting.
+
+ To skip lighting calculation, select \uicontrol {No lighting}. This is very
+ fast and quite effective when using image maps that do not need to be shaded
+ by lighting.
+
+ To set the base color for the material, use the \uicontrol {Diffuse Color}
+ property. You can either use the color picker or specify a RBG value. Set
+ the diffuse color to black to create purely-specular materials, such as
+ metals or mirrors. To apply a texture to a material, set it as the value of
+ the \uicontrol {Diffuse map} property. Using a texture with transparency
+ also applies the alpha channel as an \uicontrol {Opacity map}. You can set
+ the opacity of the material independently of the model as the value of the
+ \uicontrol Opacity property.
+
+ \section1 Self-Illuminating Materials
+
+ To set the color and amount of self-illumination for a material, use the
+ \uicontrol {Emissive color} and \uicontrol {Emissive factor} properties. In
+ a scene with black ambient lighting, a material with an emissive factor of 0
+ is black where the light does not shine on it. Setting the emissive factor
+ to 1 shows the material in its diffuse color instead.
+
+ To use a Texture for specifying the emissive factor for different parts of
+ the material, set the \uicontrol {Emissive map} property. Using a grayscale
+ image does not affect the color of the result, while using a color image
+ produces glowing regions with the color affected by the emissive map.
+
+ \section1 Using Highlights and Reflections
+
+ You can control the highlights and reflections on a material by setting the
+ properties in the \uicontrol Specular group. You can use the color picker
+ or set a RGB value to specify the color used to adjust specular reflections.
+ Use white for no effect
+
+ To use a color texture to modulate the amount and the color of specularity
+ across the surface of a material, set the \uicontrol {Specular map}
+ property. Set the \uicontrol {Specular amount} property to specify the
+ strength of specularity. This property does not affect the specular
+ reflection map, but it does affect the amount of reflections from a scene's
+ light probe.
+
+ \note Unless your mesh is high-resolution, you may need to use fragment
+ lighting to get good specular highlights from scene lights.
+
+ To determine how to calculate specular highlights for lights in the scene,
+ set the \uicontrol {Specular model}. In addition to the default mode, you
+ can use the GGX or Ward lighting model.
+
+ To use a Texture for specular highlighting on a material, set the
+ \uicontrol {Reflection map} property. When the texture is applied using
+ environmental mapping (not UV mapping), the map appears to be reflecting
+ from the environment as you rotate the model. Specular reflection maps are
+ an easy way to add a high-quality look at a relatively low cost.
+
+ To specify an image to use as the specular reflection map, set the
+ \uicontrol {Light probe} property
+
+ Crisp images cause your material to look very glossy. The more you
+ blur your image, the softer your material appears.
+
+ To decrease head-on reflections (looking directly at the surface)
+ while maintaining reflections seen at grazing angles, set the
+ \uicontrol {Fresnel power} property. To select the angles to control,
+ set the \uicontrol {Index of refraction} property.
+
+ To control the size of the specular highlights generated from lights and the
+ clarity of reflections in general, set the \uicontrol {Specular roughness}
+ property. Larger values increase the roughness, while softening specular
+ highlights and blurring reflections. To control the specular roughness of
+ the material using a Texture, set the \uicontrol {Roughness map property}.
+
+ \section1 Simulating Geometry Displacement
+
+ Specify the properties in the \uicontrol {Bump/Normal} group to simulate
+ fine geometry displacement across the surface of the material. Set the
+ \uicontrol {Bump map} property to use a grayscale texture for the
+ simulation. Brighter pixels indicate raised regions.
+
+ To use a RGB image for simulation, set the \uicontrol {Normal map} property.
+ The RGB channels indicate XYZ normal deviations.
+
+ The amount of displacement is controlled by the \uicontrol {Bump amount}
+ property.
+
+ Bump and normal maps do not affect the silhouette of a model. To affect the
+ silhouette, set the \uicontrol {Displacement map} property. It specifies a
+ grayscale image used to offset the vertices of geometry across the surface
+ of the material. The \uicontrol {Displacement amount} property specifies the
+ offset amount.
+
+ \section1 Specifying Material Translucency
+
+ Set the properties in the \uicontrol Translucency group to control how much
+ light can pass through the material from behind. To use a grayscale texture,
+ specify it as the value of the \uicontrol {Translucency map} property.
+
+ To specify the amount of light wrap for the translucency map, set the
+ \uicontrol {Diffuse light wrap} property. A value of 0 does not wrap the
+ light at all, while a value of 1 wraps the light all around the object.
+
+ To specify the amount of falloff for the translucency based on
+ the angle of the normals of the object to the light source, set
+ the \uicontrol {Translucency falloff} property.
+
+ \section1 Culling Faces
+
+ Set the \uicontrol {Culling mode} property to determine whether the front
+ and back faces of a model are rendered. Culling modes check whether the
+ points in the polygon appear in clockwise or counter-clockwise order when
+ projected onto the screen. If front-facing polygons have a clockwise
+ winding, but the polygon projected on the screen has a counter-clockwise
+ winding, the projected polygon is rotated to face away from the camera and
+ is not rendered. Culling makes rendering objects quicker and more efficient
+ by reducing the number of polygons to draw.
+
+ \section1 Applying Materials to Models
+
+ To apply materials to models:
+
+ \list 1
+ \li Drag and drop a material component from the \uicontrol Library to a
+ Model component in the \uicontrol Navigator or 3D editor.
+ \li Edit the properties of the material in the \uicontrol Properties
+ view.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-model.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-model.qdoc
new file mode 100644
index 0000000000..4fa05b6463
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-model.qdoc
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Design Studio.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page studio-3d-model.html
+ \previouspage studio-3d-node.html
+ \nextpage studio-3d-materials.html
+
+ \title Adding Models
+
+ A Model component loads mesh data from a file. You can modify how the
+ component is shaded by adding materials to the model.
+
+ A model can load static meshes from storage or one of the built-in primitive
+ types: cube, cone, cylinder, rectangle, or sphere. You can select the model
+ type in the \uicontrol Source field in the \uicontrol Properties field.
+ Select the \inlineimage plus.png
+ button to add custom model types to the list.
+
+ To enable picking the model against the scene, select the
+ \uicontrol Pickable check box. Picking transforms the screen
+ space x and y coordinates to a ray cast towards the specified
+ position in scene space.
+
+ To use the geometry of this model when rendering to shadow maps, select the
+ \uicontrol {Casts shadows} check box. To allow casting shadows on the model,
+ select the \uicontrol {Receives shadows} check box.
+
+ \section1 Tessellation
+
+ To dynamically generate additional geometry for the model, select the
+ tiling mode in the \uicontrol {Tessellation mode} filed. Tessellation
+ is useful when using a displacement map with geometry, or to generate a
+ smoother silhouette when zooming in. You can select either a Phong or
+ an NPatch tessellation generator.
+
+ Specify an edge multiplier to the tessellation generator in the
+ \uicontrol {Edge tessellation} field and an inner multiplier in
+ the \uicontrol {Inner tessellation} field.
+
+ To display a wireframe that highlights the additional geometry created by
+ the tessellation generator, select the \uicontrol {Enable wireframe mode}
+ check box.
+
+ \section1 Adding Materials to Sub-Meshes
+
+ A model can consist of several sub-meshes, each of which can have its own
+ material. Select the material from the list in the \uicontrol {Materials}
+ field. Select the \inlineimage plus.png
+ button to add materials to the list. For more information about materials,
+ see \l {Using Materials and Shaders}.
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-node.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-node.qdoc
new file mode 100644
index 0000000000..a13bb46725
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-node.qdoc
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage studio-3d-components.html
+ \page studio-3d-node.html
+ \nextpage studio-3d-model.html
+
+ \title Setting Node Properties
+
+ You can set the opacity, visibility, and transform properties of a 3D
+ component in the \uicontrol Properties view.
+
+ \section1 Setting Component Opacity and Visibility
+
+ All components have an \uicontrol Opacity value applied to them. The opacity
+ of 100 makes a component fully opaque, while the opacity of 0 prevents a
+ component from rendering at all.
+
+ Just as modifying the position or rotation of a parent component affects
+ all child components, opacity is multiplicatively cumulative through
+ the transform hierarchy. A cube that is 50\% opaque inside a group that
+ is 80\% opaque renders with an equivalent apperance of 40\% opacity
+ (\c{0.8 * 0.5 = 0.4}). Setting the opacity of a group to 0 prevents
+ any descendants within the group from rendering.
+
+ The \uicontrol Visibility property provides an alternative way to hide and
+ show components. It is useful when you want to show a component in a
+ particular state, but hide it in another state, for example.
+
+ \section1 Setting Transform Properties
+
+ The value of the \uicontrol Translation property contains the position
+ translation of the component in the local coordinate space established by
+ the parent component. The \uicontrol Orientation property specifies whether
+ the left-handed or right-handed coordinate system is used.
+
+ In the y-up left-handed coordinate system, increasing the value of x
+ moves the component to the right, as seen from the default camera location,
+ whereas increasing the value of y moves the component up. Increasing the
+ value of z moves the component away from the camera.
+
+ The value of the \uicontrol Rotation parameter sets the local rotation of
+ the component in the space established by the parent component. The
+ \uicontrol {Rotation order} property specifies whether the left-handed or
+ right-handed (the values with \e r) rotation about the x, y, and z axes
+ is applied, and the order in which the rotation is applied on each axis.
+
+ The value of the \uicontrol Scale property sets the local scale of the
+ component in the space established by the parent component. An odd number
+ of negative scale values causes the component to render \e {inside-out},
+ which cannot be seen due to backface-culling.
+
+ The value of the \uicontrol Pivot property sets the local pivot offset for
+ the component. You can think of the pivot as offsetting the geometry for the
+ component away from the origin, allowing a component to rotate and scale
+ around a point other than its local origin. Pivot values are applied before
+ scaling and rotation values.
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-scene-environment.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-scene-environment.qdoc
new file mode 100644
index 0000000000..0951110886
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-scene-environment.qdoc
@@ -0,0 +1,156 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Design Studio.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page studio-3d-scene-environment.html
+ \previouspage studio-3d-camera.html
+ \nextpage creator-live-preview.html
+
+ \title Setting Scene Environment
+
+ You can use the SceneEnvironment type to specify how the scene is rendered
+ globally. You can specify settings for antialiasing, scene background,
+ ambient occlusion, and image based lighting in the \uicontrol Properties
+ view.
+
+ \section1 Antialiasing
+
+ You can apply temporal, progressive, or multisample antialiasing to
+ scenes. Temporal and progressive antialiasing jiggle the camera very
+ slightly between frames and blend the result of each new frame with
+ the previous frames, while multisample antialiasing super-samples
+ the edges of geometry.
+
+ Temporal antialiasing finds real details that would otherwise be lost
+ and has a low impact on performance, but fast-moving objects cause
+ one-frame ghosting. To enable temporal antialiasing, select the
+ \uicontrol {Temporal AA} check box.
+
+ Progressive antialiasing jiggles the camera after all the content of the
+ scene has stopped moving. The more frames you accumulate, the better the
+ result looks. This provides detailed static images with no performance cost,
+ but does not take effect if any visual changes are occurring.
+
+ To apply progressive antialiasing, set the number of frames to use for the
+ final image in the \uicontrol {Progressive AA} field. Note that at the
+ value of 8x, progressive antialiasing takes one eighth of a second to finish
+ rendering at 60 FTPS, which may be noticeable.
+
+ Multisample antialiasing results in smoother silhouettes, but has no effect
+ on the materials inside geometry. It provides good results on geometry
+ silhouettes, where aliasing is often most noticeable and works smoothly with
+ fast animation. However, it can be expensive to use and does not help with
+ texture or reflection issues.
+
+ To apply multisample antialiasing, set the number of samples to use per
+ pixel in the \uicontrol {Multisample AA} field.
+
+ \section1 Clearing the Scene Background
+
+ To clear the background of the scene to be transparent, select
+ \uicontrol Transparent in the \uicontrol {Background mode} field.
+ To clear the background using a color, select \uicontrol Color,
+ and select the color in the \uicontrol {Clear Color} field.
+
+ To leave the scene uncleared, select \uicontrol {Unspecified}.
+
+ \section1 Blending Scene Colors
+
+ To determine how colors are blended, select a blend mode in the
+ \uicontrol {Blend mode} field. For more information on the options,
+ see \uicontrol {Blending Colors}.
+
+ \section1 Performing Depth Tests
+
+ You can perform depth tests to optimize the scene environment. To skip depth
+ tests, deselect the \uicontrol {Enable depth test} checkbox. Note that
+ skipping the tests can cause rendering errors.
+
+ To have the renderer write to the depth buffer as part of the color pass,
+ deselect the \uicontrol {Enable depth prepass} checkbox. Disable depth
+ prepass on GPU's that use a tiled rendering architecture.
+
+ \section1 Ambient Occlusion
+
+ Ambient occlusion is a form of approximated global illumination that causes
+ non-directional self-shadowing where objects are close together.
+
+ You can set the strength of the shadows in the \uicontrol {AO strength}
+ field. A value of 100 causes full darkness shadows, while lower values
+ cause the shadowing to appear lighter. A value of 0 disables ambient
+ occlusion entirely, improving performance at a cost to the visual realism
+ of 3D objects rendered in the scene. All values other than 0 have the same
+ impact on performance.
+
+ To specify roughly how far ambient occlusion shadows spread away from
+ objects, select the distance in \uicontrol {AO distance} field. Greater
+ distances cause increasing impact to performance.
+
+ To prevent components from exhibiting ambient occlusion at close distances,
+ set the cutoff distance in the \uicontrol {AO bias} field. The higher the
+ value, the greater the distance that is required between objects before
+ ambient occlusion occurs.
+
+ \note If you see ambient occlusion shadowing on objects where there should
+ be no shadowing, increase the value slightly to clip away close results.
+
+ To specify how smooth the edges of the ambient occlusion shading are, set
+ the softness in the \uicontrol {AO softness} field. To improve smoothness at
+ the risk of sometimes producing obvious patterned artifacts, you can scatter
+ the edges of the ambient occlusion shadow bands by selecting the
+ \uicontrol {AO dither} check box.
+
+ To specify the ambient occlusion quality, at the expense of performance,
+ select the number of shades of gray to use in the
+ \uicontrol {AO sample rate} field.
+
+ \note Large distances between the clipping planes of your camera may cause
+ problems with ambient occlusion. If you are seeing odd banding in ambient
+ occlusion, try adjusting the value in the \uicontrol {Clip far} field in
+ the \l{Using Scene Camera}{scene camera} properties.
+
+ \section1 Using Image-based Lighting
+
+ In the material properties, you can specify an image (preferably
+ a high-dynamic range image) to use to light the scene, either
+ instead of or in addition to \l{Using Lights}{scene lights}. In the
+ \uicontrol {Probe brightness} field, you can modify the amount of
+ light emitted by the light probe.
+
+ To take shortcuts to approximate the light contributes of the light
+ probe at the expense of quality, select the \uicontrol {Fast IBL}
+ check box.
+
+ To add darkness (black) to the bottom half of the environment, force
+ the lighting to come predominantly from the top of the image, and
+ remove specific reflections from the lower half, increase the value
+ of the \uicontrol {Probe horizon} field.
+
+ To specify the image source field of view when using a camera source as
+ the light probe, set the angle in the \uicontrol {Probe FOV} field.
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc
new file mode 100644
index 0000000000..6e3ba22275
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc
@@ -0,0 +1,111 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Design Studio.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page studio-3d-texture.html
+ \previouspage studio-3d-materials.html
+ \nextpage studio-3d-lights.html
+
+ \title Attaching Textures to Materials
+
+ You can use the Texture 3D QML type to attach textures to materials.
+ You specify an image and how it is mapped to meshes in a 3D scene.
+
+ \section1 Selecting the Mapping Method
+
+ To specify the method of mapping to use when sampling a texture, select
+ \uicontrol UV, \uicontrol Environment, or \uicontrol LightProbe in the
+ \uicontrol {Texture mapping} field.
+
+ UV mapping is the process of projecting 2D images to the surface of a
+ 3D model for texture mapping. The letters \e U and \e V denote the axes
+ of the 2D texture, because x, y, and z are already used to denote the
+ axes of the 3D object in the model space. You can paint the polygons that
+ make up a 3D object with color and other surface attributes from a UV
+ texture map. Pixels in the image are assigned to surface mappings on the
+ polygon. Usually this is done by programmatically copying a triangular
+ piece of the image map and pasting it onto a triangle on the object.
+
+ UV mapping is used by default for diffuse and opacity maps. It sticks the
+ image to the mesh, so that a particular same portion of the image always
+ appears on a particular vertex, unless you animate the UV properties.
+
+ Environment mapping is used by default for specular reflection. It
+ \e projects the image onto the material as though it is being reflected
+ from the material. Using Environmental mapping for diffuse maps provides a
+ mirror effect.
+
+ Light probe mapping is used by default for HDRI sphere maps of
+ light probes. For more information about light probes, see
+ \l {Using Highlights and Reflections}.
+
+ To use image data from a file, specify the path to the file in the
+ \uicontrol Source field. To use a 2D Qt Quick QML type as the source,
+ specify the type in the \uicontrol {Source item} field. The type is
+ rendered as an offscreen layer. If you specify the source item, any
+ image you might specify as a source is ignored.
+
+ \note Currently, there is no way to forward input events to the Item
+ used as a texture source.
+
+ \section1 UV Scaling
+
+ The \uicontrol {U scale} and \uicontrol {V scale} properties define how
+ to scale the U and V texture coordinates when mapping to a mesh's UV
+ coordinates.
+
+ Scaling the U value when using horizontal tiling specifies how many times
+ the texture is repeated from left to right, while scaling the V value when
+ using vertical tiling specifies the repetition from bottom to top.
+
+ To control how the texture is mapped when the U scaling value is greater
+ than 1, set the horizontal tiling mode in the \uicontrol {U tiling} field.
+ To control how the texture is mapped when the V scaling value is greater
+ than 1, set the vertical tiling mode in the \uicontrol {V tiling} field.
+
+ To specify that the texture is not tiled, but the value on the edge is used
+ instead, select \uicontrol ClampToEdge. To repeat the texture and mirrored
+ it over the x or y axis, select \uicontrol MirroredRepeat. To repeat the
+ texture over the x or y axis, select \uicontrol Repeat.
+
+ \section1 Setting UV Transform Properties
+
+ To offset the U coordinate mapping from left to right, set the position of
+ the component in the \uicontrol {U position} field. To offset the mapping
+ from bottom to top, set it in the \uicontrol {V position} field.
+
+ Specify the U and V pivot point in the \uicontrol {U pivot} and
+ \uicontrol {V pivot} fields.
+
+ To rotate the texture around the pivot point, specify rotation as degrees
+ in the \uicontrol {UV rotation} field. A positive value indicates clockwise
+ rotation.
+
+ For more information about rotating and pivoting components in the local
+ coordinate space, see \l {Setting Transform Properties}.
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-view.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-view.qdoc
new file mode 100644
index 0000000000..4c61d12a12
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-view.qdoc
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio}
+ \previouspage studio-3d-editor.html
+ \page studio-3d-view.html
+ \nextpage studio-3d-components.html
+
+ \title Adding 3D Views
+
+ To add a 3D view to the scene, drag and drop a \uicontrol {View 3D}
+ component from \uicontrol Library > \uicontrol {QML Types} >
+ \uicontrol {Qt Quick 3D} to the 3D editor or to the \uicontrol Navigator.
+ A 3D view contains a reference node that specifies a scene light, camera,
+ and model. A default material is attached to the model. You can attach
+ textures to materials.
+
+ By default, a directional light and a perspective camera are used.
+ To use other light and camera types, change the type of the component in
+ the \uicontrol Type field in the \uicontrol Properties view. For example,
+ to use a point light, enter \e {PointLight}.
+
+ \image studio-3d-properties-type.png "Type field in Properties view"
+
+ To edit component properties, select the component in the 3D editor
+ or in the \uicontrol Navigator and modify the property values in the
+ \uicontrol Properties view.
+
+ For more information about the available components and their properties,
+ see \l{Using 3D Components}.
+*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d.qdoc
new file mode 100644
index 0000000000..0256759f85
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d.qdoc
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page studio-3d.html
+ \previouspage qmldesigner-pathview-editor.html
+ \nextpage studio-3d-design-mode.html
+
+ \title Editing 3D Scenes
+
+ You can use the 3D editor in the Design mode to edit files you created
+ using 3D graphics applications and stored in one of the supported formats.
+ You cannot create 3D models or other assets in the editor, but you can
+ \l{Importing 3D Assets}{import} the assets you need and work with them to
+ create scenes and states, as well as the transitions between them.
+
+ When you import 3D scenes from files that you exported from 3D graphics
+ tools, you also import the camera, light, model, and materials as 3D
+ components. If your scene did not contain them, you can add predefined
+ Qt Quick 3D components to it and edit their properties to fit your needs.
+
+ The following topics contain information about working with Qt Quick 3D:
+
+ \list
+ \li \l {Editing 3D Assets in Design Mode}
+
+ \QDS opens QML files that contain 3D scenes in the Design mode and
+ the scenes in the 3D editor. You can add imported 3D assets as
+ resources to projects as 3D components.
+ \li \l {Working in the 3D Editor}
+
+ You can select 3D components in the 3D editor to move, rotate, and
+ scale them in the scene projected by the camera.
+ \li \l{Adding 3D Views}
+
+ You can drag and drop 3D components from the \uicontrol Library
+ to the scene or to the \uicontrol Navigator. You must add all
+ 3D components into a 3D view.
+ \li \l {Using 3D Components}
+
+ You can speficy properties for 3D components, such as cameras,
+ lights, materials, and shaders, in the \uicontrol Properties view.
+ \endlist
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-arc.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-arc.qdoc
new file mode 100644
index 0000000000..37af1be548
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-arc.qdoc
@@ -0,0 +1,350 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \qmltype Arc
+ \inqmlmodule QtQuick.Studio.Components
+ \since QtQuick.Studio.Components 1.0
+ \inherits ShapePath
+ \ingroup qtquickstudio-components
+
+ \brief An arc that ends at the specified position and uses the specified
+ radius.
+
+ An arc is specified by setting values in degrees for the \l begin and
+ \l end properties. The arc can be just a line or a filled outline.
+ The \l strokeColor, \l strokeWidth, and \l strokeStyle properties specify
+ the appearance of the line or outline. The \l dashPattern and \l dashOffset
+ properties specify the appearance of dashed lines.
+
+ The area between the arc's start and end points or the area inside the
+ outline are painted using either a solid fill color, specified using the
+ \l fillColor property, or a gradient, defined using one of the
+ \l ShapeGradient subtypes and set using the \l gradient property.
+ If both a color and a gradient are specified, the gradient is used.
+
+ To create an arc with an outline, set the \l outlineArc property to \c true.
+ The \l arcWidth property specifies the width of the arc outline, including
+ the stroke. The \l arcWidthBegin and \l arcWidthEnd properties can be used
+ to specify the width of the start and end points of the outline separately.
+ The width of the outline between the start and end points is calculated
+ automatically. The inner and outer curves or the outline can be adjusted by
+ specifying values for the \l radiusInnerAdjust and \l radiusOuterAdjust
+ properties.
+
+ The \l round, \l roundBegin, and \l roundEnd properties specify whether the
+ end points of the arc outline have rounded caps. For an arc that does not
+ have an outline, the \l capStyle property specifies whether the line ends
+ are square or rounded.
+
+ Because an arc has curves, it may be appropriate to set the \l antialiasing
+ property to improve its appearance.
+
+ \section2 Example Usage
+
+ You can use the Arc component in \QDS to create different kinds of arcs.
+
+ \image studio-arc.png
+
+ The QML code looks as follows:
+
+ \code
+ ArcItem {
+ id: arc
+ x: 31
+ y: 31
+ capStyle: 32
+ end: 180
+ strokeWidth: 6
+ strokeColor: "#000000"
+ }
+
+ ArcItem {
+ id: arcOutline
+ strokeColor: "gray"
+ arcWidth: 13
+ end: 180
+ fillColor: "light gray"
+ antialiasing: true
+ round: true
+ outlineArc: true
+ }
+
+ ArcItem {
+ id: circle
+ end: 360
+ strokeWidth: 5
+ strokeColor: "#000000"
+ }
+
+ ArcItem {
+ id: circleOutline
+ outlineArc: true
+ round: true
+ strokeColor: "gray"
+ fillColor: "light gray"
+ strokeWidth: 1
+ end: 360
+ }
+ \endcode
+*/
+
+/*!
+ \qmlproperty enumeration Arc::capStyle
+
+ The cap style of the line if the arc does not have an outline.
+
+ \value ShapePath.FlatCap
+ A square line end that does not cover the end point of the line.
+ \value ShapePath.SquareCap
+ A square line end that covers the end point and extends beyond it
+ by half the line width. This is the default value.
+ \value ShapePath.RoundCap
+ A rounded line end.
+
+ \sa round, roundBegin, roundEnd, Qt::PenCapStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Arc::dashOffset
+
+ The starting point of the dash pattern for the arc or arc outline.
+
+ The offset is measured in terms of the units used to specify the dash
+ pattern. For example, a pattern where each stroke is four units long,
+ followed by a gap of two units, will begin with the stroke when drawn
+ as a line. However, if the dash offset is set to 4.0, any line drawn
+ will begin with the gap. Values of the offset up to 4.0 will cause part
+ of the stroke to be drawn first, and values of the offset between 4.0 and
+ 6.0 will cause the line to begin with part of the gap.
+
+ The default value is 0.
+
+ \sa QPen::setDashOffset()
+*/
+
+/*!
+ \qmlproperty ShapePath Arc::dashPattern
+
+ The dash pattern of the arc or arc outline specified as the dashes and the
+ gaps between them.
+
+ The dash pattern is specified in units of the pen's width. That is, a dash
+ with the length 5 and width 10 is 50 pixels long.
+
+ Each dash is also subject to cap styles, and therefore a dash of 1 with
+ square cap set will extend 0.5 pixels out in each direction resulting in
+ a total width of 2.
+
+ The default \l capStyle is \c {ShapePath.SquareCap}, meaning that a square
+ line end covers the end point and extends beyond it by half the line width.
+
+ The default value is (4, 2), meaning a dash of 4 * \l strokeWidth pixels
+ followed by a space of 2 * \l strokeWidth pixels.
+
+ \sa QPen::setDashPattern()
+*/
+
+/*!
+ \qmlproperty ShapePath Arc::fillColor
+
+ The arc fill color.
+
+ If the arc is just a line, the area between its \l begin and \l end
+ points is filled.
+
+ If the arc has an outline, the area within the outline is filled.
+
+ A gradient for the fill can be specified by using \l gradient. If both a
+ color and a gradient are specified, the gradient is used.
+
+ When set to \c transparent, no filling occurs.
+
+ The default value is \c white.
+*/
+
+/*!
+ \qmlproperty ShapePath Arc::gradient
+
+ The gradient of the arc fill color.
+
+ By default, no gradient is enabled and the value is null. In this case, the
+ fill uses a solid color based on the value of \l fillColor.
+
+ When set, \l fillColor is ignored and filling is done using one of the
+ \l ShapeGradient subtypes.
+
+ \note The \l Gradient type cannot be used here. Rather, prefer using one of
+ the advanced subtypes, like \l LinearGradient.
+*/
+
+/*!
+ \qmlproperty ShapePath Arc::strokeColor
+
+ The color of the arc line or outline.
+
+ When set to \c transparent, no line is drawn.
+
+ The default value is \c white.
+
+ \sa QColor
+*/
+
+/*!
+ \qmlproperty enumeration Arc::strokeStyle
+
+ The style of the arc line or outline.
+
+ \value ShapePath.SolidLine
+ A solid line. This is the default value.
+ \value ShapePath.DashLine
+ Dashes separated by a few pixels.
+ The \l dashPattern property specifies the dash pattern.
+
+ \sa Qt::PenStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Arc::strokeWidth
+
+ The width of the arc line or outline.
+
+ When set to a negative value, no line is drawn.
+
+ The default value is 1.
+
+ The total width of an arc that has an outline (that is, the outline and the
+ fill) is specified by \l arcWidth.
+*/
+
+/*!
+ \qmlproperty real Arc::begin
+
+ The position in degrees where the arc begins.
+
+ The default value is 0.
+
+ To create a circle, set the value of this property to 0 and the value of the
+ \l end property to 360.
+*/
+
+/*!
+ \qmlproperty real Arc::end
+
+ The position in degrees where the arc ends.
+
+ To create a circle, set the value of this property to 360 and the value of
+ the \l begin property to 0.
+*/
+
+/*!
+ \qmlproperty real Arc::arcWidth
+
+ The total width of an arc that has an outline, including the outline and
+ fill.
+
+ \sa arcWidthBegin, arcWidthEnd, strokeWidth
+*/
+
+/*!
+ \qmlproperty real Arc::arcWidthBegin
+
+ The width of the beginning of an arc outline.
+
+ \sa arcWidthEnd, arcWidth
+*/
+
+/*!
+ \qmlproperty real Arc::arcWidthEnd
+
+ The width of the end of an arc outline.
+
+ \sa arcWidthBegin, arcWidth
+*/
+
+/*!
+ \qmlproperty real Arc::radiusInnerAdjust
+
+ The radius of the inside edge of the arc outline.
+
+ This property can be used to adjust the inner curve of the arc outline.
+*/
+
+/*!
+ \qmlproperty real Arc::radiusOuterAdjust
+
+ The radius of the outside edge of the arc outline.
+
+ This property can be used to adjust the outer curve of the arc outline.
+*/
+
+/*!
+ \qmlproperty real Arc::alpha
+
+ The area between the \l begin and \l end points of the arc.
+*/
+
+/*!
+ \qmlproperty bool Arc::antialiasing
+
+ Whether the arc should be antialiased.
+
+ Antialiasing might require more memory and slow down drawing the type.
+*/
+
+/*!
+ \qmlproperty bool Arc::outlineArc
+
+ Whether the arc has an outline.
+
+ \sa arcWidth, arcWidthBegin, arcWidthEnd, round, roundBegin, roundEnd,
+
+*/
+
+/*!
+ \qmlproperty bool Arc::round
+
+ Whether the arc outline end points have round caps.
+
+ The \l roundBegin and \l roundEnd properties can be used to specify the
+ caps separately for the end points.
+
+*/
+
+/*!
+ \qmlproperty bool Arc::roundBegin
+
+ Whether the arc outline begins with a round cap.
+
+ \sa Qt::PenCapStyle, round, roundEnd
+*/
+
+/*!
+ \qmlproperty bool Arc::roundEnd
+
+ Whether the arc outline ends with a round cap.
+
+ \sa Qt::PenCapStyle, round, roundBegin
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-border.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-border.qdoc
new file mode 100644
index 0000000000..0f00044dd1
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-border.qdoc
@@ -0,0 +1,315 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \qmltype Border
+ \inqmlmodule QtQuick.Studio.Components
+ \since QtQuick.Studio.Components 1.0
+ \inherits ShapePath
+ \ingroup qtquickstudio-components
+
+ \brief A border drawn in four segments: left, top right, and bottom.
+
+ The Border type is used to create borders out of four segments: left,
+ top, right, and bottom. The \l drawLeft, \l drawTop, \l drawRight, and
+ \l drawBottom properties can be used to determine whether each of the
+ segments is visible.
+
+ The \l borderMode property determines whether the border is drawn along
+ the inside or outside edge of the item, or on top of the edge.
+
+ The \l radius property specifies whether the border corners are rounded.
+ The radius can also be specified separately for each corner. Because this
+ introduces curved edges to the corners, it may be appropriate to set the
+ \l antialiasing property to improve the appearance of the border.
+
+ The \l joinStyle property specifies how to connect two border line segments.
+
+ The \l strokeColor, \l strokeWidth, and \l strokeStyle, properties specify
+ the appearance of the border line. The \l dashPattern and \l dashOffset
+ properties specify the appearance of dashed lines.
+
+ The \l capStyle property specifies whether line ends are square or
+ rounded.
+
+ \section2 Example Usage
+
+ You can use the Border component in \QDS to create different kinds of
+ borders.
+
+ \image studio-border.png
+
+ The QML code looks as follows:
+
+ \code
+ BorderItem {
+ id: openLeft
+ width: 99
+ height: 99
+ antialiasing: true
+ drawLeft: false
+ strokeColor: "gray"
+ }
+
+ BorderItem {
+ id: openTop
+ width: 99
+ height: 99
+ antialiasing: true
+ strokeColor: "#808080"
+ drawTop: false
+ }
+
+ BorderItem {
+ id: asymmetricalCorners
+ width: 99
+ height: 99
+ antialiasing: true
+ bottomLeftRadius: 0
+ topRightRadius: 0
+ strokeColor: "#808080"
+ }
+
+ BorderItem {
+ id: dashedBorder
+ width: 99
+ height: 99
+ antialiasing: true
+ strokeStyle: 4
+ strokeColor: "#808080"
+ }
+ \endcode
+*/
+
+/*!
+ \qmlproperty int Border::radius
+
+ The radius used to draw rounded corners.
+
+ If radius is non-zero, the corners will be rounded, otherwise they will
+ be sharp. The radius can also be specified separately for each corner by
+ using the \l bottomLeftRadius, \l bottomRightRadius, \l topLeftRadius, and
+ \l topRightRadius properties.
+*/
+
+/*!
+ \qmlproperty int Border::bottomLeftRadius
+
+ The radius of the bottom left border corner.
+
+ \sa radius
+*/
+
+/*!
+ \qmlproperty int Border::bottomRightRadius
+
+ The radius of the bottom right border corner.
+
+ \sa radius
+*/
+
+/*!
+ \qmlproperty int Border::topLeftRadius
+
+ The radius of the top left border corner.
+
+ \sa radius
+*/
+
+/*!
+ \qmlproperty int Border::topRightRadius
+
+ The radius of the top right border corner.
+
+ \sa radius
+*/
+
+/*!
+ \qmlproperty enumeration Border::capStyle
+
+ The cap style of the line.
+
+ \value ShapePath.FlatCap
+ A square line end that does not cover the end point of the line.
+ \value ShapePath.SquareCap
+ A square line end that covers the end point and extends beyond it
+ by half the line width. This is the default value.
+ \value ShapePath.RoundCap
+ A rounded line end.
+
+ \sa Qt::PenCapStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Border::dashOffset
+
+ The starting point of the dash pattern for the border line.
+
+ The offset is measured in terms of the units used to specify the dash
+ pattern. For example, a pattern where each stroke is four units long,
+ followed by a gap of two units, will begin with the stroke when drawn
+ as a line. However, if the dash offset is set to 4.0, any line drawn
+ will begin with the gap. Values of the offset up to 4.0 will cause part
+ of the stroke to be drawn first, and values of the offset between 4.0 and
+ 6.0 will cause the line to begin with part of the gap.
+
+ The default value is 0.
+
+ \sa QPen::setDashOffset()
+*/
+
+/*!
+ \qmlproperty ShapePath Border::dashPattern
+
+ The dash pattern of the border line specified as the dashes and the gaps
+ between them.
+
+ The dash pattern is specified in units of the pen's width. That is, a dash
+ with the length 5 and width 10 is 50 pixels long.
+
+ Each dash is also subject to cap styles, and therefore a dash of 1 with
+ square cap set will extend 0.5 pixels out in each direction resulting in
+ a total width of 2.
+
+ The default \l capStyle is \c {ShapePath.SquareCap}, meaning that a square
+ line end covers the end point and extends beyond it by half the line width.
+
+ The default value is (4, 2), meaning a dash of 4 * \l strokeWidth pixels
+ followed by a space of 2 * \l strokeWidth pixels.
+
+ \sa QPen::setDashPattern()
+*/
+
+/*!
+ \qmlproperty enumeration Border::joinStyle
+
+ The join style used to connect two border line segments.
+
+ \value ShapePath.MiterJoin
+ The outer edges of the lines are extended to meet at an angle, and
+ this area is filled.
+ \value ShapePath.BevelJoin
+ The triangular notch between the two lines is filled.
+ This is the default value.
+ \value ShapePath.RoundJoin
+ A circular arc between the two lines is filled.
+
+ \sa Qt::PenJoinStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Border::strokeColor
+
+ The color of the border line.
+
+ When set to \c transparent, no line is drawn.
+
+ The default value is \c white.
+
+ \sa QColor
+*/
+
+/*!
+ \qmlproperty enumeration Border::strokeStyle
+
+ The style of the border line.
+
+ \value ShapePath.SolidLine
+ A solid line. This is the default value.
+ \value ShapePath.DashLine
+ Dashes separated by a few pixels.
+ The \l dashPattern property specifies the dash pattern.
+
+ \sa Qt::PenStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Border::strokeWidth
+
+ The width of the border line.
+
+ When set to a negative value, no line is drawn.
+
+ The default value is 1.
+*/
+
+/*!
+ \qmlproperty bool Border::drawBottom
+
+ Whether the bottom border is visible.
+
+ The border segment is drawn if this property is set to \c true.
+*/
+
+/*!
+ \qmlproperty bool Border::drawLeft
+
+ Whether the left border is visible.
+
+ The border segment is drawn if this property is set to \c true.
+*/
+
+/*!
+ \qmlproperty bool Border::drawRight
+
+ Whether the right border is visible.
+
+ The border segment is drawn if this property is set to \c true.
+*/
+
+/*!
+ \qmlproperty bool Border::drawTop
+
+ Whether the top border is visible.
+
+ The border segment is drawn if this property is set to \c true.
+*/
+
+/*!
+ \qmlproperty bool Border::antialiasing
+
+ Whether the border should be antialiased.
+
+ Antialiasing might require more memory and slow down drawing the type.
+*/
+
+/*!
+ \qmlproperty enumeration Border::borderMode
+
+ Where the border is drawn.
+
+ \value Border.Inside
+ The border is drawn along the inside edge of the item and does not
+ affect the item width.
+ This is the default value.
+ \value Border.Middle
+ The border is drawn over the edge of the item and does not
+ affect the item width.
+ \value Border.Outside
+ The border is drawn along the outside edge of the item and increases
+ the item width by the value of \l strokeWidth.
+
+ \sa strokeWidth
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-flipable.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-flipable.qdoc
new file mode 100644
index 0000000000..92fcb6ba14
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-flipable.qdoc
@@ -0,0 +1,125 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \qmltype Flipable
+ \inqmlmodule QtQuick.Studio.Components
+ \since QtQuick.Studio.Components 1.0
+ \ingroup qtquickstudio-components
+
+ \brief Provides a surface that can be flipped.
+
+ A Flipable type can be visibly \e flipped between its front and back sides,
+ like a card. The front and back sides are specified by using any two types
+ inside the Flipable type. The type with the higher z-order is the front
+ side. The \l opacityFront and \l opacityBack properties are used to hide
+ and show either the front or back side of the flipable item at a time.
+
+ The \l flipAngle property is used to animate the angle of the type to
+ produce the flipping effect. The \l xAxis or \l yAxis property is set
+ to 1 to determine which axis the type is rotated around.
+
+ \section2 Example Usage
+
+ You can use the Flipable component in \QDS to create a flipable item. In
+ this example, the two sides of the flipable show ISO 7000 icons.
+
+ \image studio-flipable.png
+
+ The QML code looks as follows:
+
+ \code
+ FlipableItem {
+ id: flipable
+ width: 90
+ height: 89
+ opacityBack: 0
+
+ IsoItem {
+ id: arrowIsoIcon
+ color: "#808080"
+ anchors.fill: parent
+ source: "./iso-icons/iso_grs_7000_4_0251.dat"
+ }
+
+ IsoItem {
+ id: questionIsoIcon
+ color: "#808080"
+ anchors.fill: parent
+ source: "./iso-icons/iso_grs_7000_4_0435.dat"
+ }
+ }
+ \endcode
+*/
+
+/*!
+ \qmlproperty Rotation Flipable::flipAngle
+
+ The flip angle in degrees.
+
+ The minimum value is -360 and the maximum value is 360 degrees.
+*/
+
+/*!
+ \qmlproperty real Flipable::opacityBack
+
+ The opacity of the back side of the flipable type.
+
+ The opacity can be set between 0 and 1 to hide or show the items on the
+ back side of the flipable type.
+*/
+
+/*!
+ \qmlproperty real Flipable::opacityFront
+
+ The opacity of the front side of the flipable type.
+
+ The opacity can be set between 0 and 1 to hide or show the items on the
+ front side of the flipable type.
+*/
+
+/*!
+ \qmlproperty int Flipable::xAxis
+
+ Whether the type is rotated around the x-axis.
+
+ This property is set to 1 to rotate the flipable type around the x-axis.
+*/
+
+/*!
+ \qmlproperty int Flipable::yAxis
+
+ Whether the type is rotated around the y-axis.
+
+ This property is set to 1 to rotate the flipable type around the y-axis.
+*/
+
+/*!
+ \qmlproperty bool Flipable::flipped
+
+ Whether the flipable type has been flipped.
+
+ This property is set to \c true when the type is flipped.
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-group.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-group.qdoc
new file mode 100644
index 0000000000..cca7a56eb8
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-group.qdoc
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \qmltype Group
+ \inqmlmodule QtQuick.Studio.Components
+ \since QtQuick.Studio.Components 1.0
+ \inherits Item
+ \ingroup qtquickstudio-components
+
+ \brief A group item that gets its size from its children.
+
+ The Group type is an \l Item type extended with the size property. The value
+ of size is automatically calculated to fit the children of the group.
+
+ \section2 Example Usage
+
+ You can use the Group type to specify the size of one or several items.
+
+ \image studio-group.png
+
+ The QML code looks as follows:
+
+ \code
+ GroupItem {
+ id: group
+
+ Rectangle {
+ id: rectangle
+ width: 200
+ height: 200
+ color: "#c2c2c2"
+ }
+
+ Rectangle {
+ id: rectangle1
+ x: 140
+ y: 140
+ width: 200
+ height: 200
+ color: "#000000"
+ }
+ }
+ \endcode
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-iso.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-iso.qdoc
new file mode 100644
index 0000000000..6fb8ed4feb
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-iso.qdoc
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \qmltype Iso
+ \inqmlmodule QtQuick.Studio.Components
+ \since QtQuick.Studio.Components 1.0
+ \inherits ShapePath
+ \ingroup qtquickstudio-components
+
+ \brief An ISO 7000 icon.
+
+ The Iso type specifies an icon from an ISO 7000 icon library as a
+ \l [QtQuickExtras] {Picture}
+ type. The icon to use for the type and its color can be specified.
+
+ \section2 Example Usage
+
+ You can use the Iso type in \QDS to add ISO 7000 icons.
+
+ \image studio-flipable.png
+
+ The QML code looks as follows:
+
+ \code
+ IsoItem {
+ id: arrowIsoIcon
+ color: "#808080"
+ anchors.fill: parent
+ source: "./iso-icons/iso_grs_7000_4_0251.dat"
+ }
+ \endcode
+
+ To select an icon in the \uicontrol {ISO Icon Browser} in \QDS, select
+ the ISO icon in the \uicontrol Navigator or on the canvas, and then
+ select \uicontrol {Choose Icon} in the context menu.
+
+ \image iso-icon-browser.png
+*/
+
+/*!
+ \qmlproperty color Iso::iconColor
+
+ The color of an ISO 7000 icon.
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-pie.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-pie.qdoc
new file mode 100644
index 0000000000..e09e6038f2
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-pie.qdoc
@@ -0,0 +1,254 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \qmltype Pie
+ \inqmlmodule QtQuick.Studio.Components
+ \since QtQuick.Studio.Components 1.0
+ \inherits ShapePath
+ \ingroup qtquickstudio-components
+
+ \brief A pie.
+
+ The Pie type is used to create a pie slice, a pie that is missing slices,
+ or just the pie rind (similar to an \l Arc), depending on the \l begin and
+ \l end property values and the \l hideLine value.
+
+ The filling of the pie is painted using either a solid fill color, specified
+ using the \l fillColor property, or a gradient, defined using one of the
+ \l ShapeGradient subtypes and set using the \l gradient property.
+ If both a color and a gradient are specified, the gradient is used.
+
+ The \l strokeColor, \l strokeWidth, and \l strokeStyle, properties specify
+ the appearance of the pie outline. The \l dashPattern and \l dashOffset
+ properties specify the appearance of dashed lines.
+
+ The \l capStyle property specifies whether line ends are square or
+ rounded.
+
+ Because a pie has curved edges, it may be appropriate to set the
+ \l antialiasing property to improve its appearance.
+
+ \section2 Example Usage
+
+ You can use the Pie component in \QDS to create different kinds of pies.
+
+ \image studio-pie.png
+
+ The QML code looks as follows:
+
+ \code
+ PieItem {
+ id: pieSlice
+ antialiasing: true
+ strokeColor: "gray"
+ fillColor: "light gray"
+ }
+
+ PieItem {
+ id: pie
+ end: 300
+ fillColor: "#d3d3d3"
+ strokeColor: "#808080"
+ antialiasing: true
+ }
+
+ PieItem {
+ id: pieRind
+ strokeWidth: 4
+ capStyle: 32
+ hideLine: true
+ end: 300
+ strokeColor: "#808080"
+ antialiasing: true
+ }
+ \endcode
+*/
+
+/*!
+ \qmlproperty ShapePath Pie::capStyle
+
+ The cap style of the line.
+
+ \value ShapePath.FlatCap
+ A square line end that does not cover the end point of the line.
+ \value ShapePath.SquareCap
+ A square line end that covers the end point and extends beyond it
+ by half the line width. This is the default value.
+ \value ShapePath.RoundCap
+ A rounded line end.
+
+ \sa Qt::PenCapStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Pie::dashOffset
+
+ The starting point of the dash pattern for the line.
+
+ The offset is measured in terms of the units used to specify the dash
+ pattern. For example, a pattern where each stroke is four units long,
+ followed by a gap of two units, will begin with the stroke when drawn
+ as a line. However, if the dash offset is set to 4.0, any line drawn
+ will begin with the gap. Values of the offset up to 4.0 will cause part
+ of the stroke to be drawn first, and values of the offset between 4.0 and
+ 6.0 will cause the line to begin with part of the gap.
+
+ The default value is 0.
+
+ \sa QPen::setDashOffset()
+*/
+
+/*!
+ \qmlproperty ShapePath Pie::dashPattern
+
+ The dash pattern of the line specified as the dashes and the gaps between
+ them.
+
+ The dash pattern is specified in units of the pen's width. That is, a dash
+ with the length 5 and width 10 is 50 pixels long.
+
+ Each dash is also subject to cap styles, and therefore a dash of 1 with
+ square cap set will extend 0.5 pixels out in each direction resulting in
+ a total width of 2.
+
+ The default \l capStyle is \c {ShapePath.SquareCap}, meaning that a square
+ line end covers the end point and extends beyond it by half the line width.
+
+ The default value is (4, 2), meaning a dash of 4 * \l strokeWidth pixels
+ followed by a space of 2 * \l strokeWidth pixels.
+
+ \sa QPen::setDashPattern()
+*/
+
+/*!
+ \qmlproperty ShapePath Pie::fillColor
+
+ The pie fill color.
+
+ If \l hideLine is \c false, a pie slice is drawn using the values of the
+ \l begin and \l end properties and filled with this color.
+
+ If \l hideLine is \c true, just the pie rind is drawn and the area between
+ the \l begin and \l end points is filled.
+
+ A gradient for the fill can be specified by using \l gradient. If both a
+ color and a gradient are specified, the gradient is used.
+
+ When set to \c transparent, no filling occurs.
+
+ The default value is \c white.
+*/
+
+/*!
+ \qmlproperty ShapePath Pie::gradient
+
+ The gradient of the pie fill color.
+
+ By default, no gradient is enabled and the value is null. In this case, the
+ fill uses a solid color based on the value of \l fillColor.
+
+ When set, \l fillColor is ignored and filling is done using one of the
+ \l ShapeGradient subtypes.
+
+ \note The \l Gradient type cannot be used here. Rather, prefer using one of
+ the advanced subtypes, like \l LinearGradient.
+*/
+
+/*!
+ \qmlproperty ShapePath Pie::strokeColor
+
+ The color of the line.
+
+ When set to \c transparent, no line is drawn.
+
+ The default value is \c white.
+
+ \sa QColor
+*/
+
+/*!
+ \qmlproperty ShapePath Pie::strokeStyle
+
+ The style of the border line.
+
+ \value ShapePath.SolidLine
+ A solid line. This is the default value.
+ \value ShapePath.DashLine
+ Dashes separated by a few pixels.
+ The \l dashPattern property specifies the dash pattern.
+
+ \sa Qt::PenStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Pie::strokeWidth
+
+ The width of the line.
+
+ When set to a negative value, no line is drawn.
+
+ The default value is 1.
+*/
+
+/*!
+ \qmlproperty real Pie::begin
+
+ The position in degrees where the pie begins.
+
+ The default value is 0.
+
+ To create a circle, set the value of this property to 0 and the value of the
+ \l end property to 360.
+*/
+
+/*!
+ \qmlproperty real Pie::end
+
+ The position in degrees where the pie ends.
+
+ To create a circle, set the value of this property to 360 and the value of
+ the \l begin property to 0.
+*/
+
+/*!
+ \qmlproperty real Pie::alpha
+
+ The area between \l begin and \l end.
+*/
+
+/*!
+ \qmlproperty bool Pie::antialiasing
+
+ Whether the pie should be antialiased.
+
+ Antialiasing might require more memory and slow down drawing the type.
+*/
+
+/*!
+ \qmlproperty bool Pie::hideLine
+
+ Whether to draw a pie slice or just the pie rind (similar to an \l Arc).
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-rectangle.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-rectangle.qdoc
new file mode 100644
index 0000000000..dc792addb4
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-rectangle.qdoc
@@ -0,0 +1,283 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \qmltype Rectangle
+ \inqmlmodule QtQuick.Studio.Components
+ \since QtQuick.Studio.Components 1.0
+ \inherits ShapePath
+ \ingroup qtquickstudio-components
+
+ \brief A filled rectangle with an optional border.
+
+ Rectangle items are used to fill areas with solid color or gradients and
+ to provide a rectangular border.
+
+ Each Rectangle item is painted using either a solid fill color, specified
+ using the \l fillColor property, or a gradient, defined using one of the
+ \l ShapeGradient subtypes and set using the \l gradient property.
+ If both a color and a gradient are specified, the gradient is used.
+
+ An optional border can be added to a rectangle with its own color and
+ thickness by setting the \l strokeColor and \l strokeWidth properties.
+ Setting the color to \c transparent creates a border without a fill color.
+
+ Rounded rectangles can be drawn using the \l radius property. The radius
+ can also be specified separately for each corner. Because this introduces
+ curved edges to the corners of a rectangle, it may be appropriate to set
+ the \l antialiasing property to improve the appearance of the rectangle.
+
+ \section2 Example Usage
+
+ You can use the Rectangle component in \QDS to create different kinds of
+ rectangles.
+
+ \image studio-rectangle.png
+
+ The QML code looks as follows:
+
+ \code
+ RectangleItem {
+ id: rectangle
+ gradient: RadialGradient {
+ focalRadius: 0
+ centerY: 38.5
+ focalY: 38.5
+ centerX: 51.5
+ centerRadius: 38.5
+ GradientStop {
+ position: 0
+ color: "#ffffff"
+ }
+
+ GradientStop {
+ position: 1
+ color: "#000000"
+ }
+ focalX: 51.5
+ }
+ bottomRightRadius: 0
+ topLeftRadius: 0
+ strokeColor: "gray"
+ }
+
+ RectangleItem {
+ id: rectangle1
+ gradient: LinearGradient {
+ y1: 0
+ y2: 77
+ x2: 103
+ x1: 0
+ GradientStop {
+ position: 0
+ color: "#ffffff"
+ }
+
+ GradientStop {
+ position: 1
+ color: "#000000"
+ }
+ }
+ topRightRadius: 0
+ bottomLeftRadius: 0
+ strokeColor: "#808080"
+ }
+
+ RectangleItem {
+ id: rectangle2
+ topLeftRadius: 0
+ bottomRightRadius: 0
+ fillColor: "#d3d3d3"
+ strokeColor: "#808080"
+ }
+
+ RectangleItem {
+ id: rectangle3
+ fillColor: "#000000"
+ gradient: LinearGradient {
+ y1: 0
+ y2: 77
+ x2: 103
+ x1: 0
+ GradientStop {
+ position: 0
+ color: "#000000"
+ }
+
+ GradientStop {
+ position: 1
+ color: "#fdf9f9"
+ }
+ }
+ topRightRadius: 0
+ bottomLeftRadius: 0
+ strokeColor: "#808080"
+ }
+ \endcode
+*/
+
+/*!
+ \qmlproperty int Rectangle::radius
+
+ The radius used to draw rounded corners.
+
+ If radius is non-zero, the corners will be rounded, otherwise they will
+ be sharp. The radius can also be specified separately for each corner by
+ using the \l bottomLeftRadius, \l bottomRightRadius, \l topLeftRadius, and
+ \l topRightRadius properties.
+*/
+
+/*!
+ \qmlproperty int Rectangle::bottomLeftRadius
+
+ The radius of the bottom left rectangle corner.
+*/
+
+/*!
+ \qmlproperty int Rectangle::bottomRightRadius
+
+ The radius of the bottom right rectangle corner.
+*/
+
+/*!
+ \qmlproperty int Rectangle::topLeftRadius
+
+ The radius of the top left rectangle corner.
+*/
+
+/*!
+ \qmlproperty int Rectangle::topRightRadius
+
+ The radius of the top right rectangle corner.
+*/
+
+/*!
+ \qmlproperty ShapePath Rectangle::dashOffset
+
+ The starting point of the dash pattern for the rectangle border.
+
+ The offset is measured in terms of the units used to specify the dash
+ pattern. For example, a pattern where each stroke is four units long,
+ followed by a gap of two units, will begin with the stroke when drawn
+ as a line. However, if the dash offset is set to 4.0, any line drawn
+ will begin with the gap. Values of the offset up to 4.0 will cause part
+ of the stroke to be drawn first, and values of the offset between 4.0 and
+ 6.0 will cause the line to begin with part of the gap.
+
+ The default value is 0.
+
+ \sa QPen::setDashOffset()
+*/
+
+/*!
+ \qmlproperty ShapePath Rectangle::dashPattern
+
+ The dash pattern of the rectangle border specified as the dashes and the
+ gaps between them.
+
+ The dash pattern is specified in units of the pen's width. That is, a dash
+ with the length 5 and width 10 is 50 pixels long.
+
+ The default value is (4, 2), meaning a dash of 4 * \l strokeWidth pixels
+ followed by a space of 2 * \l strokeWidth pixels.
+
+ \sa QPen::setDashPattern()
+*/
+
+/*!
+ \qmlproperty ShapePath Rectangle::fillColor
+
+ The rectangle fill color.
+
+ A gradient for the fill can be specified by using \l gradient. If both a
+ color and a gradient are specified, the gradient is used.
+
+ When set to \c transparent, no filling occurs.
+
+ The default value is \c white.
+*/
+
+/*!
+ \qmlproperty ShapePath Rectangle::gradient
+
+ The gradient of the rectangle fill color.
+
+ By default, no gradient is enabled and the value is null. In this case, the
+ fill uses a solid color based on the value of \l fillColor.
+
+ When set, \l fillColor is ignored and filling is done using one of the
+ \l ShapeGradient subtypes.
+
+ \note The \l Gradient type cannot be used here. Rather, prefer using one of
+ the advanced subtypes, like \l LinearGradient.
+*/
+
+/*!
+ \qmlproperty ShapePath Rectangle::strokeColor
+
+ The color used to draw the border of the rectangle.
+
+ When set to \c transparent, no line is drawn.
+
+ The default value is \c white.
+
+ \sa QColor
+*/
+
+/*!
+ \qmlproperty ShapePath Rectangle::strokeStyle
+
+ The style of the rectangle border.
+
+ \value ShapePath.SolidLine
+ A solid line. This is the default value.
+ \value ShapePath.DashLine
+ Dashes separated by a few pixels.
+ The \l dashPattern property specifies the dash pattern.
+
+ \sa Qt::PenStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Rectangle::strokeWidth
+
+ The width of the border of the rectangle.
+
+ A width of 1 creates a thin line. For no line, use a negative value or a
+ transparent color.
+
+ \note The width of the rectangle's border does not affect the geometry of
+ the rectangle itself or its position relative to other items if anchors are
+ used.
+
+ The border is rendered within the rectangle's boundaries.
+*/
+
+/*!
+ \qmlproperty bool Rectangle::antialiasing
+
+ Whether the Rectangle should be antialiased. Antialiasing might
+ require more memory and slow down drawing the type.
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-svgPath.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-svgPath.qdoc
new file mode 100644
index 0000000000..3a460382b2
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-svgPath.qdoc
@@ -0,0 +1,212 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \qmltype SvgPath
+ \inqmlmodule QtQuick.Studio.Components
+ \since QtQuick.Studio.Components 1.0
+ \inherits ShapePath
+ \ingroup qtquickstudio-components
+
+ \brief A path defined using an SVG path data string.
+
+ The SvgPath type uses an SVG path data string to draw a path as a line.
+
+ The \l strokeColor, \l strokeWidth, and \l strokeStyle, properties specify
+ the appearance of the path. The \l dashPattern and \l dashOffset properties
+ specify the appearance of dashed lines.
+
+ The \l capStyle property specifies whether line ends are square or
+ rounded.
+
+ The \l joinStyle property specifies how to connect two path segments.
+ If the path segments enclose areas, they can be painted using either
+ a solid fill color, specified using the \l fillColor property, or a
+ gradient, defined using one of the \l ShapeGradient subtypes and set
+ using the \l gradient property. If both a color and a gradient are
+ specified, the gradient is used.
+
+ If the path has curves, it may be appropriate to set the \l antialiasing
+ property to improve its appearance.
+
+ \note Mixing SvgPath with other types of elements is not always supported.
+ For example, when \l Shape is backed by \c GL_NV_path_rendering, a
+ \l ShapePath can contain one or more SvgPath elements, or one or more
+ elements of other types, but not both.
+*/
+
+/*!
+ \qmlproperty ShapePath SvgPath::capStyle
+
+ The cap style of the line.
+
+ \value ShapePath.FlatCap
+ A square line end that does not cover the end point of the line.
+ \value ShapePath.SquareCap
+ A square line end that covers the end point and extends beyond it
+ by half the line width. This is the default value.
+ \value ShapePath.RoundCap
+ A rounded line end.
+
+ \sa Qt::PenCapStyle
+*/
+
+/*!
+ \qmlproperty ShapePath SvgPath::dashOffset
+
+ The starting point of the dash pattern for the line.
+
+ The offset is measured in terms of the units used to specify the dash
+ pattern. For example, a pattern where each stroke is four units long,
+ followed by a gap of two units, will begin with the stroke when drawn
+ as a line. However, if the dash offset is set to 4.0, any line drawn
+ will begin with the gap. Values of the offset up to 4.0 will cause part
+ of the stroke to be drawn first, and values of the offset between 4.0 and
+ 6.0 will cause the line to begin with part of the gap.
+
+ The default value is 0.
+
+ \sa QPen::setDashOffset()
+*/
+
+/*!
+ \qmlproperty ShapePath SvgPath::dashPattern
+
+ The dash pattern of the line specified as the dashes and the gaps between
+ them.
+
+ The dash pattern is specified in units of the pen's width. That is, a dash
+ with the length 5 and width 10 is 50 pixels long.
+
+ Each dash is also subject to cap styles, and therefore a dash of 1 with
+ square cap set will extend 0.5 pixels out in each direction resulting in
+ a total width of 2.
+
+ The default \l capStyle is \c {ShapePath.SquareCap}, meaning that a square
+ line end covers the end point and extends beyond it by half the line width.
+
+ The default value is (4, 2), meaning a dash of 4 * \l strokeWidth pixels
+ followed by a space of 2 * \l strokeWidth pixels.
+
+ \sa QPen::setDashPattern()
+*/
+
+/*!
+ \qmlproperty ShapePath SvgPath::fillColor
+
+ The fill color of enclosed path segments.
+
+ A gradient for the fill can be specified by using \l gradient. If both a
+ color and a gradient are specified, the gradient is used.
+
+ When set to \c transparent, no filling occurs.
+
+ The default value is \c white.
+*/
+
+/*!
+ \qmlproperty ShapePath SvgPath::gradient
+
+ The gradient of the fill color.
+
+ By default, no gradient is enabled and the value is null. In this case, the
+ fill uses a solid color based on the value of \l fillColor.
+
+ When set, \l fillColor is ignored and filling is done using one of the
+ \l ShapeGradient subtypes.
+
+ \note The \l Gradient type cannot be used here. Rather, prefer using one of
+ the advanced subtypes, like \l LinearGradient.
+*/
+
+/*!
+ \qmlproperty ShapePath SvgPath::joinStyle
+
+ The join style used to connect two path segments.
+
+ \value ShapePath.MiterJoin
+ The outer edges of the lines are extended to meet at an angle, and
+ this area is filled.
+ \value ShapePath.BevelJoin
+ The triangular notch between the two lines is filled.
+ This is the default value.
+ \value ShapePath.RoundJoin
+ A circular arc between the two lines is filled.
+
+ \sa Qt::PenJoinStyle
+*/
+
+/*!
+ \qmlproperty ShapePath SvgPath::strokeColor
+
+ The color of the line.
+
+ When set to \c transparent, no line is drawn.
+
+ The default value is \c white.
+
+ \sa QColor
+*/
+
+/*!
+ \qmlproperty ShapePath SvgPath::strokeStyle
+
+ The style of the line.
+
+ \value ShapePath.SolidLine
+ A solid line. This is the default value.
+ \value ShapePath.DashLine
+ Dashes separated by a few pixels.
+ The \l dashPattern property specifies the dash pattern.
+
+ \sa Qt::PenStyle
+*/
+
+/*!
+ \qmlproperty ShapePath SvgPath::strokeWidth
+
+ The width of the line.
+
+ When set to a negative value, no line is drawn.
+
+ The default value is 1.
+*/
+
+/*!
+ \qmlproperty string SvgPath::path
+
+ The SVG path data string specifying the path.
+
+ For more information, see \l{https://www.w3.org/TR/SVG/paths.html#PathData}
+ {W3C SVG Path Data}.
+*/
+
+/*!
+ \qmlproperty bool SvgPath::antialising
+
+ Whether the path should be antialiased.
+
+ Antialiasing might require more memory and slow down drawing the type.
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-triangle.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-triangle.qdoc
new file mode 100644
index 0000000000..a8431b2f06
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/components/qqs-components-triangle.qdoc
@@ -0,0 +1,287 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \qmltype Triangle
+ \inqmlmodule QtQuick.Studio.Components
+ \since QtQuick.Studio.Components 1.0
+ \inherits ShapePath
+ \ingroup qtquickstudio-components
+
+ \brief A triangle.
+
+ The Triangle type can be used to draw triangles with different dimensions
+ and shapes. The type is enclosed in an invisible \l Rectangle type. The size
+ of the triagle is determined by the size of the bounding rectangle. The
+ dimensions of the triangle can be changed to make it elongated or squatter
+ with space around it by using the \l leftMargin, \l topMargin,
+ \l rightMargin, and \l bottomMargin properties. The margins are set between
+ the triangle and the edges of the parent rectangle.
+
+ Each Triangle item is painted using either a solid fill color, specified
+ using the \l fillColor property, or a gradient, defined using one of the
+ \l ShapeGradient subtypes and set using the \l gradient property.
+ If both a color and a gradient are specified, the gradient is used.
+
+ An optional border can be added to a triangle with its own color and
+ thickness by setting the \l strokeColor and \l strokeWidth properties.
+ Setting the color to \c transparent creates a border without a fill color.
+
+ \section2 Example Usage
+
+ You can use the Triangle component in \QDS to create triangles in different
+ shapes and colors.
+
+ \image studio-triangle.png
+
+ The QML code looks as follows:
+
+ \code
+ TriangleItem {
+ id: triangle
+ strokeColor: "gray"
+ fillColor: "light gray"
+ }
+
+ TriangleItem {
+ id: squatTriangle
+ bottomMargin: 10
+ topMargin: 30
+ fillColor: "#d3d3d3"
+ strokeColor: "#808080"
+ }
+
+ TriangleItem {
+ id: elongatedTriangle
+ leftMargin: 15
+ rightMargin: 15
+ fillColor: "#d3d3d3"
+ strokeColor: "#808080"
+ }
+
+ TriangleItem {
+ id: pear
+ radius: 20
+ fillColor: "light gray"
+ bottomMargin: 10
+ arcRadius: 20
+ strokeColor: "#808080"
+ }
+ \endcode
+*/
+
+/*!
+ \qmlproperty ShapePath Triangle::dashOffset
+
+ The starting point of the dash pattern for the triangle border.
+
+ The offset is measured in terms of the units used to specify the dash
+ pattern. For example, a pattern where each stroke is four units long,
+ followed by a gap of two units, will begin with the stroke when drawn
+ as a line. However, if the dash offset is set to 4.0, any line drawn
+ will begin with the gap. Values of the offset up to 4.0 will cause part
+ of the stroke to be drawn first, and values of the offset between 4.0 and
+ 6.0 will cause the line to begin with part of the gap.
+
+ The default value is 0.
+
+ \sa QPen::setDashOffset()
+*/
+
+/*!
+ \qmlproperty ShapePath Triangle::dashPattern
+
+ The dash pattern of the triangle border specified as the dashes and the
+ gaps between them.
+
+ The dash pattern is specified in units of the pen's width. That is, a dash
+ with the length 5 and width 10 is 50 pixels long.
+
+ The default value is (4, 2), meaning a dash of 4 * \l strokeWidth pixels
+ followed by a space of 2 * \l strokeWidth pixels.
+
+ \sa QPen::setDashPattern()
+*/
+
+/*!
+ \qmlproperty ShapePath Triangle::fillColor
+
+ The triangle fill color.
+
+ A gradient for the fill can be specified by using \l gradient. If both a
+ color and a gradient are specified, the gradient is used.
+
+ When set to \c transparent, no filling occurs.
+
+ The default value is \c white.
+*/
+
+/*!
+ \qmlproperty ShapePath Triangle::gradient
+
+ The gradient of the triangle fill color.
+
+ By default, no gradient is enabled and the value is null. In this case, the
+ fill uses a solid color based on the value of \l fillColor.
+
+ When set, \l fillColor is ignored and filling is done using one of the
+ \l ShapeGradient subtypes.
+
+ \note The \l Gradient type cannot be used here. Rather, prefer using one of
+ the advanced subtypes, like \l LinearGradient.
+*/
+
+/*!
+ \qmlproperty enumeration Triangle::joinStyle
+
+ The join style used to connect two triangle line segments.
+
+ \value ShapePath.MiterJoin
+ The outer edges of the lines are extended to meet at an angle, and
+ this area is filled.
+ \value ShapePath.BevelJoin
+ The triangular notch between the two lines is filled.
+ This is the default value.
+ \value ShapePath.RoundJoin
+ A circular arc between the two lines is filled.
+
+ \sa Qt::PenJoinStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Triangle::strokeColor
+
+ The color used to draw the border of the triangle.
+
+ When set to \c transparent, no line is drawn.
+
+ The default value is \c white.
+
+ \sa QColor
+*/
+
+/*!
+ \qmlproperty ShapePath Triangle::strokeStyle
+
+ The style of the triangle border.
+
+ \value ShapePath.SolidLine
+ A solid line. This is the default value.
+ \value ShapePath.DashLine
+ Dashes separated by a few pixels.
+ The \l dashPattern property specifies the dash pattern.
+
+ \sa Qt::PenStyle
+*/
+
+/*!
+ \qmlproperty ShapePath Triangle::strokeWidth
+
+ The width of the border of the rectangle.
+
+ A width of 1 creates a thin line. For no line, use a negative value or a
+ transparent color.
+
+ \note The width of the rectangle's border does not affect the geometry of
+ the rectangle itself or its position relative to other items if anchors are
+ used.
+
+ The border is rendered within the rectangle's boundaries.
+*/
+
+/*!
+ \qmlproperty int Triangle::radius
+
+ Defines the rotation of the triangle in degrees. The default value is 0.
+
+ This property can be used together with the \l radius property to
+ determine the shape of the triangle.
+
+ \sa arcRadius
+*/
+
+/*!
+ \qmlproperty real Triangle::arcRadius
+
+ The radius used to draw rounded corners.
+
+ If radius is non-zero, the corners will be rounded, otherwise they will
+ be sharp.
+
+ This property can be used together with the \l radius property to
+ determine the shape of the triangle.
+*/
+
+/*!
+ \qmlproperty real Triangle::leftMargin
+
+ The left margin between the triangle and the bounding rectangle.
+
+ Setting the left and right margins makes the triangle thinner and moves it
+ away from the edge.
+
+ \sa rightMargin, topMargin, bottomMargin
+*/
+
+/*!
+ \qmlproperty real Triangle::topMargin
+
+ The top margin between the triangle and the bounding rectangle.
+
+ Setting the top and bottom margins makes the triangle lower and moves it
+ away from the edge.
+
+ \sa bottomMargin, leftMargin, rightMargin
+*/
+
+/*!
+ \qmlproperty real Triangle::rightMargin
+
+ The left margin between the triangle and the bounding rectangle.
+
+ Setting the left and right margins makes the triangle thinner and moves it
+ away from the edge.
+
+ \sa leftMargin, topMargin, bottomMargin
+*/
+
+/*!
+ \qmlproperty real Triangle::bottomMargin
+
+ The top margin between the triangle and the bounding rectangle.
+
+ Setting the top and bottom margins makes the triangle shorter and moves it
+ away from the edge.
+
+ \sa topMargin, leftMargin, rightMargin
+*/
+
+/*!
+ \qmlproperty bool Triangel::antialiasing
+
+ Whether the triangle should be antialiased.
+
+ Antialiasing might require more memory and slow down drawing the type.
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/qtquickdesigner-components.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/qtquickdesigner-components.qdoc
new file mode 100644
index 0000000000..82eef3cae7
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/qtquickdesigner-components.qdoc
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 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.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Design Studio Manual}
+ \page qtquickdesigner-components-overview.html
+
+ \title Qt Quick Studio Components
+
+ The Qt Quick Studio Components module provides sets of components and
+ effects enhanced for creating animated UIs. The components inherit
+ \l {Qt Quick Shapes QML Types}. The effects inherit the types in the
+ \l {Qt Graphical Effects} module.
+
+ \section1 Using Studio Components
+
+ A set of ready-made studio components are available for creating differently
+ shaped objects, such as arcs, pies, or triangles, as well as objects with
+ particular abilities, such as being visibly \e flipped between their front
+ and back sides, like a card. The studio components are built on top of
+ \l {Qt Quick Shapes QML Types}, with some additional properties.
+
+ The following table summarizes the available studio components and contains
+ links to their documentation.
+
+ \annotatedlist qtquickstudio-components
+
+ \include qtdesignstudio-visual-effects.qdocinc qml visual effects
+
+*/
diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/qtquickstudiocomponents-qmlmodule.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/qtquickstudiocomponents-qmlmodule.qdoc
new file mode 100644
index 0000000000..7f67c3daf2
--- /dev/null
+++ b/doc/qtdesignstudio/src/qtquickdesigner-components/qtquickstudiocomponents-qmlmodule.qdoc
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \qmlmodule QtQuick.Studio.Components 1.0
+ \title Qt Quick Studio Components QML Types
+ \ingroup qmlmodules
+ \brief Provides components enhanced for creating animated UIs.
+
+ A set of ready-made studio components are available for creating differently
+ shaped objects, such as arcs, pies, or triangles, as well as objects with
+ particular abilities, such as being visibly \e flipped between their front
+ and back sides, like a card. The studio components are built on top of
+ \l {Qt Quick Shapes QML Types}, with some additional properties.
+
+ The QML types can be imported into your application using the following
+ import statements in your .qml file:
+
+ \badcode
+ import QtQuick.Studio.Components 1.0
+ \endcode
+
+ \omit
+ \\ TODO: Include the omitted text when the module becomes a Qt module.
+ Currently, the components are a part of Qt Design Studio.
+
+ To link against the module, add the following QT variable to your qmake .pro
+ file:
+
+ \badcode
+ QT += studiocomponents
+ \endcode
+ \endomit
+*/
diff --git a/doc/qtdesignstudio/studiodoc.pro b/doc/qtdesignstudio/studiodoc.pro
new file mode 100644
index 0000000000..e6c5787065
--- /dev/null
+++ b/doc/qtdesignstudio/studiodoc.pro
@@ -0,0 +1,15 @@
+TEMPLATE = aux
+
+# qtcreator.pro is a subdirs TEMPLATE which does not have debug_and_release
+# so setup the same behavoir here for the current used aux TEMPLATE
+CONFIG -= debug_and_release
+
+# include(../qt-creator-defines.pri)
+include(../../qtcreator.pri)
+
+build_online_docs: \
+ DOC_FILES = $$PWD/qtdesignstudio-online.qdocconf
+else: \
+ DOC_FILES = $$PWD/qtdesignstudio.qdocconf
+
+include(../../docs.pri)