diff --git a/dist/changes-4.15.0.md b/dist/changes-4.15.0.md index 8c99cdc87fb..3e40a773f6a 100644 --- a/dist/changes-4.15.0.md +++ b/dist/changes-4.15.0.md @@ -30,6 +30,7 @@ Editing ------- * Added action for pasting without auto-formatting (QTCREATORBUG-20887) +* Fixed that completion could block Qt Creator (QTCREATORBUG-25419) ### C++ @@ -64,7 +65,7 @@ Editing (QTCREATORBUG-25154) * Fixed highlighting of comments with continuation lines (QTCREATORBUG-23297) * Fixed issues with `Add definition` (QTCREATORBUG-14661, QTCREATORBUG-14524, - QTCREATORBUG-14524) + QTCREATORBUG-14524, QTCREATORBUG-25560) * Fixed real-time updating of `Class View` * Fixed that function parameter hint showed inapplicable overloads (QTCREATORBUG-650) @@ -94,6 +95,7 @@ Projects * Added `Open Terminal Here` for project nodes (QTCREATORBUG-25107) * Added option for running application as root user (QTCREATORBUG-2831, QTCREATORBUG-25330) +* Fixed detection of `rcc` and `uic` for Qt 6 (QTBUG-88791) * Fixed detection of Designer, Linguist, `qmlscene` and `qmlplugindump` for Qt 6 cross-builds @@ -124,6 +126,10 @@ Projects (QTCREATORBUG-25166) * Fixed `Save all files before build` for `Build for Run Configuration` (QTCREATORBUG-25276) +* Fixed that only source file name was copied to clipboard when adding class + (QTCREATORBUG-24301, QTCREATORBUG-25212) +* Fixed reparsing of project with `Auto-run CMake` +* Fixed that removed targets stayed selected for building (QTCREATORBUG-25477) ### Qbs @@ -178,6 +184,10 @@ Test Integration * Added basic support for `ctest` (QTCREATORBUG-23332) +### Google Test + +* Fixed detection of tests that start with a number (QTCREATORBUG-25498) + FakeVim ------- @@ -217,6 +227,7 @@ Platforms QTCREATORBUG-24814, QTCREATORBUG-24822) * Added support for Qt 6 applications with CMake (QTCREATORBUG-25519) * Fixed ABI detection for Qt 5.15 (QTCREATORBUG-24891) +* Fixed running of `em++.bat` in some environments on Windows Credits for these changes go to: -------------------------------- @@ -224,6 +235,7 @@ Aleksei German Alessandro Portale Alexandru Croitor Alexis Jeandet +Allan Sandfeld Jensen Andre Hartmann André Pönitz Bernhard Beschow @@ -253,16 +265,19 @@ Leander Schulten Leena Miettinen Mahmoud Badri Marco Bubke +Matti Paaso Mattias Johansson Maximilian Goldstein Michael Weghorn Michael Winkelmann Miikka Heikkinen +Miina Puuronen Mitch Curtis Nikolai Kosjar Orgad Shaneh Oswald Buddenhagen Raphaël Cotty +Robert Löhning Sergey Levin Thomas Hartmann Tim Jenssen diff --git a/doc/qtcreator/images/qtcreator-filesystem-view-design.png b/doc/qtcreator/images/qtcreator-filesystem-view-design.png new file mode 100644 index 00000000000..da8766a9c2f Binary files /dev/null and b/doc/qtcreator/images/qtcreator-filesystem-view-design.png differ diff --git a/doc/qtcreator/images/qtcreator-filesystem-view.png b/doc/qtcreator/images/qtcreator-filesystem-view.png index c94cf6020ee..d5feec00537 100644 Binary files a/doc/qtcreator/images/qtcreator-filesystem-view.png and b/doc/qtcreator/images/qtcreator-filesystem-view.png differ diff --git a/doc/qtcreator/images/qtcreator-open-documents-view.png b/doc/qtcreator/images/qtcreator-open-documents-view.png new file mode 100644 index 00000000000..ca8d619da62 Binary files /dev/null and b/doc/qtcreator/images/qtcreator-open-documents-view.png differ diff --git a/doc/qtcreator/images/qtcreator-projects-view-design.png b/doc/qtcreator/images/qtcreator-projects-view-design.png new file mode 100644 index 00000000000..dc4567a6aed Binary files /dev/null and b/doc/qtcreator/images/qtcreator-projects-view-design.png differ diff --git a/doc/qtcreator/images/qtcreator-projects-view-edit.png b/doc/qtcreator/images/qtcreator-projects-view-edit.png new file mode 100644 index 00000000000..3b761ad6a16 Binary files /dev/null and b/doc/qtcreator/images/qtcreator-projects-view-edit.png differ diff --git a/doc/qtcreator/images/qtquick-text-editor.png b/doc/qtcreator/images/qtquick-text-editor.png new file mode 100644 index 00000000000..ad1cb7a9ae6 Binary files /dev/null and b/doc/qtcreator/images/qtquick-text-editor.png differ diff --git a/doc/qtcreator/src/howto/creator-views.qdoc b/doc/qtcreator/src/howto/creator-views.qdoc deleted file mode 100644 index 7e659e20295..00000000000 --- a/doc/qtcreator/src/howto/creator-views.qdoc +++ /dev/null @@ -1,357 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2021 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Creator documentation. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** -****************************************************************************/ - -/*! - \page creator-views.html - \previouspage creator-sidebars.html - \if defined(qtdesignstudio) - \nextpage creator-output-panes.html - \else - \nextpage creator-project-managing-workspaces.html - \endif - - \title Browsing Project Contents - - You can organize \QC views in \l {Working with Sidebars}{sidebars} or as - \l {Managing Workspaces}{workspaces}, depending on the \l{Selecting Modes} - {mode} you are working in. Only views that are relevant to a mode are - available in it. - - The following views are related to managing projects and files: - - \list - \li \uicontrol Projects shows a list of projects open in the current - session and the project files needed by the build system. - \li \uicontrol{Open Documents} shows currently open files. - \if defined(qtcreator) - \li \uicontrol Bookmarks shows all bookmarks for the current session. - \endif - \li \uicontrol{File System} shows all files in the currently selected - directory. - \li \uicontrol {Git Branches} shows the local and remote brances for the - project in the Git version control system. For more information, see - \l{Working with Branches}. - \li \uicontrol Outline shows an overview of defined types and other - symbols, as well as their properties and hierarchy in a source file. - \endlist - - \if defined(qtcreator) - The following views display additional information about C++ code: - - \list - \li \uicontrol {Class View} shows the class hierarchy of the currently - open projects. - \li \uicontrol Tests lists autotests and Qt Quick tests in the project. - For more information, see \l {Running Autotests}. - \li \uicontrol {Type Hierarchy} shows the base classes of a class. - \li \uicontrol {Include Hierarchy} shows which files are included in - the current file and which files include the current file. - \endlist - \endif - - For more information about views that are only available when editing QML - files in the Design mode, see \l{Design Views}. - - The additional options in each view are described in the following - sections. - - In some views, right-clicking opens a context menu that contains functions - for managing the objects listed in the view. - - \section1 Viewing Project Files - - The \uicontrol Projects view displays projects in a project tree. The - project tree contains - a list of all projects open in the current session. For each project, the - tree visualizes the build system structure of the project and lists all - files that are part of the project. - - \if defined(qtcreator) - Some build systems support adding and removing files to a project in \QC - (currently qmake and Qbs). The faithful display of the project structure - allows to specify exactly where a new file should be placed in the build - system. - \endif - - \if defined(qtcreator) - If the project is under version control, information from the version - control system might be displayed in brackets after the project name. - This is currently implemented for Git (the branch name or a tag is - displayed) and ClearCase (the view name is displayed). - \else - If the project is under Git version control, the currently checked out - branch or tag is displayed in brackets after the project name. - \endif - - You can use the project tree in the following ways: - - \list - - \li To open files that belong to a project, double-click them in the - project tree. Files open in the appropriate editor, according to the - file type. For example, code source files open in the code editor. - - \li To bring up a context menu containing the actions most commonly - needed, right-click an item in the project tree. For example, - through the menu of the project root directory you can, among - other actions, run and close the project. - - \li To hide the categories and sort project files alphabetically, click - \inlineimage filtericon.png - (\uicontrol {Filter Tree}) and select \uicontrol{Simplify Tree}. - - \li To hide source files which are automatically generated by the build - system, select \uicontrol {Filter Tree} > - \uicontrol {Hide Generated Files}. - - \li To hide source files which are not enabled for the current target, - select \uicontrol {Filter Tree} > \uicontrol {Hide Disabled Files}. - - \li To hide directories that do not contain any files, select - \uicontrol {Filter Tree} > \uicontrol {Hide Empty Directories}. - - \li To stop synchronizing the position in the project tree with the file - currently opened in the editor, deselect \inlineimage linkicon.png - (\uicontrol {Synchronize with Editor}). You can specify a keyboard - shortcut to use when synchronization is needed. Select - \uicontrol Tools > \uicontrol Options > \uicontrol Environment > - \uicontrol Keyboard, and then search for - \uicontrol {Show in Explorer}. - - \li To see the absolute path of a file, move the mouse pointer over the - file name. - - \li To move files from one project to another, drag-and-drop them - in the project tree. \QC makes the necessary changes to project - configuration files. - - \endlist - - \if defined(qtcreator) - Files that are not sources or data can be still included into a project's - distribution tarball by adding their paths to the \c DISTFILES variable in - the .pro file. This way they also become known to \QC, so that they are - visible in the \uicontrol Projects view and are known to the locator and - search. - \endif - - The \uicontrol Projects view contains context menus for managing projects, - subprojects, folders, and files. The following functions are available for - managing projects and subprojects: - - \list - \li Set a project as the active project. - \li Execute the \uicontrol Build menu commands. - \li Create new files. For more information, see - \l{Adding Files to Projects}. - \li Rename or remove existing files. If you change the base name of a - file, \QC displays a list of other files with the same base name - and offers to rename them as well. - \if defined(qtcreator) - \li Remove existing directories from \l{Setting Up a Generic Project} - {generic projects}. - \li Add existing files and directories. - \li Add libraries. For more information, see - \l{Adding Libraries to Projects}. - \li Add and remove subprojects. - \endif - \li Search from the selected directory. - \li Open a terminal window in the project directory. To specify the - terminal to use on Linux and \macos, select \uicontrol Tools > - \uicontrol Options > \uicontrol Environment > \uicontrol System. - \li Open a terminal window in the project directory that is configured - for building or running the project. - \li Expand or collapse the tree view to show or hide all files and - folders. - \li Close all files in a project. - \li Close projects. By default, all files in the project are also - closed. To keep them open, deselect the \uicontrol Tools > - \uicontrol Options > \uicontrol {Build & Run} > \uicontrol General - > \uicontrol {Close source files along with project} check box. - \endlist - - For managing files and directories, the same functions are available as in - the \uicontrol {File System} view. - - \section1 Viewing the File System - - If you cannot see a file in the \uicontrol Projects view, switch to the - \uicontrol {File System} view, which shows all the files in the file system. - - \image qtcreator-filesystem-view.png - - By default, the contents of the directory that contains the file currently - active in the editor are displayed. To stop the synchronization, delesect - the \uicontrol {Synchronize Root Directory with Editor} button. - - The path to the active file is displayed - as bread crumbs. You can move to any directory along the path by clicking - it. To hide the bread crumbs, select \inlineimage filtericon.png - (\uicontrol Options) and then deselect the \uicontrol {Show Bread Crumbs} - check box. - - To move to the root directory of the - file system, select \uicontrol Computer in the menu (1). Select - \uicontrol Home to move to the user's home directory. Further, you can - select a project to move to an open project or \uicontrol Projects to open - the \uicontrol Projects view. - - By default, folders are separated from files and listed first in the view. - To list all items in alphabetic order, select \uicontrol Options and then - deselect the \uicontrol {Show Folders on Top} check box. - - To also show hidden files, select \uicontrol Options > - \uicontrol {Show Hidden Files}. - - To stop the synchronization with the file currently opened in the editor, - deselect \uicontrol {Synchronize with Editor}. - - Use the context menu functions to: - - \list - - \li Open files with the default editor or some other editor. - - \li Open a project located in the selected directory. - - \li Show the file or directory in the file explorer. - - \li Open a terminal window in the selected directory or in the directory - that contains the file. To specify the terminal to use on Linux and - \macos, select \uicontrol Tools > \uicontrol Options > - \uicontrol Environment > \uicontrol System. - - \li Search from the selected directory. - - \li View file properties, such as MIME type, default editor, and size. - - \li Create new files. For more information, see - \l{Adding Files to Projects}. - - \li Rename or remove existing files. - - \li Create new folders. - - \li Compare the selected file with the currently open file in the diff - editor. For more information, see \l{Comparing Files}. - - \li Display the contents of a particular directory in the view. - - \li Collapse all open folders. - - \endlist - - \section1 Viewing Open Documents - - To see a list of open documents, switch to the \uicontrol {Open Documents} - view. You can use the context-menu to perform some of the functions also - available in the \uicontrol File menu and in the context menu in the - \uicontrol {File System} view. - - In addition, you can: - - \list - \li Copy the full path of the file or just the filename to the - clipboard. - \li Pin files to ensure they stay at the top of the list and are not - closed when \uicontrol {Close All} is used. - \endlist - - To specify settings for opening files and handling open files, select - \uicontrol Tools > \uicontrol Options > \uicontrol Environment > - \uicontrol System: - - \image qtcreator-options-environment-system.png "Environment options System tab" - - \list - \li In the \uicontrol {When files are externally modified} field, - select whether you want to be prompted to reload open files - that were modified externally. For example, when you pull - changes from a version control system. - \li Select the \uicontrol {Auto-save modified files} check box to - automatically save changed files at the intervals specified in - the \uicontrol Interval field. - \li Select the \uicontrol {Auto-suspend unmodified files} check - box to automatically free the resources of open files after - prolonged inactivity. The files are still listed in the - \uicontrol {Open Documents} view. Set the minimum number of files - that should be kept in memory in the \uicontrol {Files to keep open} - field. - \li Select the \uicontrol {Warn before opening text files greater than} - check box to receive warnings about opening big text files. - \li In the \uicontrol {Maximum number of entries in "Recent Files"} - field, set the number of recently opened files listed in - \uicontrol File > \uicontrol {Recent Files}. - \endlist - - \section1 Viewing Defined Types and Symbols - - The \uicontrol Outline view shows an overview of defined types and other - symbols, as well as their properties and hierarchy in a source file. - You can move the code for types and symbols around in the source file - by dragging and dropping them in the outline. - - \list - \li To see a complete list of all bindings, select - \uicontrol {Filter Tree} > \uicontrol {Show All Bindings}. - \li To stop the synchronization with the type or symbol selected in the - editor, deselect \uicontrol {Synchronize with Editor}. - \endlist - - \section1 Viewing the Class Hierarchy - - The \uicontrol {Class View} shows the class hierarchy of the currently - open projects. To organize the view by subprojects, click - \inlineimage qtcreator-show-subprojects.png - (\uicontrol {Show Subprojects}). - - To visit all parts of a namespace, double-click on the namespace item - multiple times. - - \section1 Viewing Type Hierarchy - - To view the base classes and derived classes of a class, right-click the - class in the code editor and select \uicontrol {Open Type Hierarchy} or - press \key {Ctrl+Shift+T}. - - \image qtcreator-type-hierarchy-view.png "Type Hierarchy view" - - To navigate in the type hierarchy, double-click a class or select it, - and then select \uicontrol {Open Type Hierarchy} in the context menu. - The previous class is highlighted in the view. - - The definition of the selected class is opened in the code editor. You - can also select \uicontrol {Open in Editor} in the context menu to open - it. - - \section1 Viewing Include Hierarchy - - To view which files are included in the current file and which files include - the current file, right-click in the editor and select - \uicontrol {Open Include Hierarchy} or press \key {Ctrl+Shift+I}. - - To keep the view synchronized with the file currently opened in the editor, - select \uicontrol {Synchronize with Editor}. -*/ diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index 2c709e61477..b0be2343dcf 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -38,6 +38,11 @@ \li \l{Selecting Modes} \li \l{Working with Sidebars} \li \l{Browsing Project Contents} + \list + \li \l{Projects} + \li \l{File System} + \li \l{Open Documents} + \endlist \li \l{Managing Workspaces} \li \l{Viewing Output} \endlist @@ -110,6 +115,7 @@ \li \l{Transition Editor} \li \l{Timeline} \li \l{Curve Editor} + \li \l{Text Editor} \endlist \li \l {Creating UIs} \list diff --git a/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc b/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc index 7b2fd1e9d75..5c5eed5b9e2 100644 --- a/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc +++ b/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc @@ -190,8 +190,8 @@ \endlist We now want to add code to move the bubble based on Accelerometer sensor - values. This is not supported by \uicontrol {Form Editor}, so we will do - it in \uicontrol {Text Editor}: + values. This is not supported by \l {Form Editor}, so we will do + it in \l {Text Editor}: \list 1 \li Add the following import statement to \e main.qml: diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc index c1a76565a6a..988c1517754 100644 --- a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc +++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc @@ -48,7 +48,7 @@ \include qtquick-tutorial-create-empty-project.qdocinc qtquick empty application \QC generates a component file, \e main.qml, and opens it in - \uicontrol {Text Editor}. The wizard template uses the \l Window component, + \l {Text Editor}. The wizard template uses the \l Window component, which does not support adding states. Because we want to use states in this example, we first replace the Window component with a \l {basic-rectangle} {Rectangle} component. We must also remove the line that sets the \c title diff --git a/doc/qtcreator/src/qtquick/library/qtquick-data-models.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-data-models.qdoc index 025320416ec..056c06ec612 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-data-models.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-data-models.qdoc @@ -172,7 +172,7 @@ \endlist You can replace the default model and delegate with other, - more complex models and delegates in \uicontrol {Text Editor}. + more complex models and delegates in \l {Text Editor}. \l{ItemDelegate}{Item Delegate} and \l{SwipeDelegate}{Swipe Delegate} components are also available in \uicontrol Library. diff --git a/doc/qtcreator/src/qtquick/qtdesignstudio-optimized-3d-scenes.qdoc b/doc/qtcreator/src/qtquick/qtdesignstudio-optimized-3d-scenes.qdoc index 01a8883189b..b2b55c8188f 100644 --- a/doc/qtcreator/src/qtquick/qtdesignstudio-optimized-3d-scenes.qdoc +++ b/doc/qtcreator/src/qtquick/qtdesignstudio-optimized-3d-scenes.qdoc @@ -50,8 +50,8 @@ objects compared to the other versions of the scene. The Low, Combined and Vertex scenes include less objects since they have been optimized by, for example, combining geometry and baking materials into textures. The - following image displays the components in each scene in \uicontrol - Navigator to illustrate the structural differences between the scenes. + following image displays the components in each scene in \l Navigator to + illustrate the structural differences between the scenes. \image studio-kitchen-navigators.png "Navigators for the four scenes in the Optimal 3D Scene." @@ -107,7 +107,7 @@ In \QC, the scene graph is represented by the tree-like view in \uicontrol Navigator. You can also view the hierarchy of nodes in the - \uicontrol {Text Editor} view. By minimizing the size of the scene graph, + \l {Text Editor} view. By minimizing the size of the scene graph, you can minimize the effort needed when running the scene. In terms of optimization, you should avoid unnecessary groups and complex hierarchy when possible. Deep hierarchies with complex parenting increase the performance diff --git a/doc/qtcreator/src/qtquick/qtquick-curve-editor.qdoc b/doc/qtcreator/src/qtquick/qtquick-curve-editor.qdoc index c56cea247cc..7b34c33436f 100644 --- a/doc/qtcreator/src/qtquick/qtquick-curve-editor.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-curve-editor.qdoc @@ -26,7 +26,7 @@ /*! \page qtquick-curve-editor.html \previouspage qtquick-timeline-view.html - \nextpage creator-project-managing-workspaces.html + \nextpage qtquick-text-editor.html \title Curve Editor diff --git a/doc/qtcreator/src/qtquick/qtquick-designer.qdoc b/doc/qtcreator/src/qtquick/qtquick-designer.qdoc index 10696ecb252..6fb9b8ad63f 100644 --- a/doc/qtcreator/src/qtquick/qtquick-designer.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-designer.qdoc @@ -118,22 +118,22 @@ handlers to modify the curve. \li \l {Editing Animation Curves} \row - \li \l{Working in Edit Mode}{Text Editor} + \li \l{Text Editor} \li Provides a code editor for viewing and modifying the code generated by the visual editors. \li \l {Working in Edit Mode} \row - \li \l{Viewing Project Files}{Projects} + \li \l Projects \li Shows a list of open projects and the files they contain. - \li \l{Viewing Project Files} + \li \l Projects \row - \li \l{Viewing the File System}{File System} + \li \l{File System} \li Shows all files in the currently selected directory. - \li \l{Viewing the File System} + \li \l{File System} \row - \li \l{Viewing Open Documents}{Open Documents} + \li \l{Open Documents} \li Shows currently open files. - \li \l{Viewing Open Documents} + \li \l{Open Documents} \endtable \section1 Summary of Main Toolbar Actions @@ -163,20 +163,20 @@ \li \inlineimage unlocked.png \li File is writable: the currently open file can be modified and saved. \li - \li \l{Viewing Open Documents} + \li \l{Open Documents} \row \li File type icon \li Indicates the type of the currently open file. Design views cannot be split, so the icon cannot be dragged, contrary to the tooltip. \li - \li \l{Viewing Open Documents} + \li \l{Open Documents} \row \li Currently open file \li Displays the location and filename of the currently open file. You can select another file in the list of open files to view it in \uicontrol {Form Editor} and \uicontrol Navigator. \li - \li \l{Viewing Open Documents} + \li \l{Open Documents} \row \li \inlineimage close.png \li \uicontrol {Close Document}: closes the current file. diff --git a/doc/qtcreator/src/qtquick/qtquick-library.qdoc b/doc/qtcreator/src/qtquick/qtquick-library.qdoc index a45bc18cf61..b83e3b3e816 100644 --- a/doc/qtcreator/src/qtquick/qtquick-library.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-library.qdoc @@ -90,7 +90,7 @@ \image qtquick-components-tab-add.png "Select Modules to Add" This adds an \e {import statement} to the component code that you - can see in \uicontrol {Text Editor}. For example, if you add the + can see in \l {Text Editor}. For example, if you add the \uicontrol QtQuick.Controls module, the following import statement is added to the code: \c {import QtQuick.Controls}. diff --git a/doc/qtcreator/src/qtquick/qtquick-navigator.qdoc b/doc/qtcreator/src/qtquick/qtquick-navigator.qdoc index 6bd59ce6834..bec50374570 100644 --- a/doc/qtcreator/src/qtquick/qtquick-navigator.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-navigator.qdoc @@ -158,7 +158,7 @@ \section1 Arranging Components You can view the order of components in a component file in \uicontrol Navigator - and \uicontrol {Text Editor}. The order of components in the file also + and \l {Text Editor}. The order of components in the file also determines the order in which they are drawn in \uicontrol {Form Editor}. By default, components that are located at the top of the file are listed at the bottom of the \uicontrol Navigator tree and behind overlapping diff --git a/doc/qtcreator/src/qtquick/qtquick-positioning.qdoc b/doc/qtcreator/src/qtquick/qtquick-positioning.qdoc index 3a65526fef2..46a8756827c 100644 --- a/doc/qtcreator/src/qtquick/qtquick-positioning.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-positioning.qdoc @@ -116,7 +116,7 @@ (\uicontrol {Reset Anchors}) button to reset the anchors to their saved state. - You can specify the baseline anchor in \uicontrol {Text Editor}. + You can specify the baseline anchor in \l{Text Editor}. For performance reasons, you can only anchor a component to its siblings and direct parent. By default, a component is anchored to its parent when diff --git a/doc/qtcreator/src/qtquick/qtquick-states.qdoc b/doc/qtcreator/src/qtquick/qtquick-states.qdoc index a79cda9becc..6431092cf7c 100644 --- a/doc/qtcreator/src/qtquick/qtquick-states.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-states.qdoc @@ -79,7 +79,7 @@ and then add animation to the change between the states. The properties that you change in a state are highlighted with blue color. - In \uicontrol {Text Editor}, you can see the changes recorded as changes + In \l{Text Editor}, you can see the changes recorded as changes to the base state. \image qmldesigner-states.png "States and Properties views" diff --git a/doc/qtcreator/src/qtquick/qtquick-text-editor.qdoc b/doc/qtcreator/src/qtquick/qtquick-text-editor.qdoc new file mode 100644 index 00000000000..f60821ca9aa --- /dev/null +++ b/doc/qtcreator/src/qtquick/qtquick-text-editor.qdoc @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \page qtquick-text-editor.html + \previouspage qtquick-curve-editor.html + \if defined(qtdesignstudio) + \nextpage creator-projects-view.html + \else + \nextpage quick-uis.html + \endif + + \title Text Editor + + In the \uicontrol {Text Editor} view, you can view and modify the code in a + \l{UI Files}{UI file} (.ui.qml) or component file (.qml) that is generated + when you create components in \l{Form Editor} or \l{3D Editor} and specify + their properties in \l Properties. + + \image qtquick-text-editor.png "Text Editor" + + You can also view and modify other types of text files. + + You can use a subset of the functions available in the + \l{Writing Code}{Edit mode}: + + \list + \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} + \endlist +*/ diff --git a/doc/qtcreator/src/qtquick/qtquick-ui-forms.qdoc b/doc/qtcreator/src/qtquick/qtquick-ui-forms.qdoc index db6f67fe9d0..6481f6bb022 100644 --- a/doc/qtcreator/src/qtquick/qtquick-ui-forms.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-ui-forms.qdoc @@ -42,7 +42,7 @@ You can use \QC wizards to create UI files that have the filename extension \e .ui.qml. The UI files can be edited in \l {Form Editor}. - If you use \uicontrol {Text Editor} to add code that is not supported + If you use \l {Text Editor} to add code that is not supported by \uicontrol {Form Editor}, \QC displays error messages. The following features are not supported: diff --git a/doc/qtcreator/src/qtquick/qtquick-uis.qdoc b/doc/qtcreator/src/qtquick/qtquick-uis.qdoc index 71e581511fe..c29bf21b539 100644 --- a/doc/qtcreator/src/qtquick/qtquick-uis.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-uis.qdoc @@ -29,7 +29,7 @@ \previouspage creator-exporting-qml.html \nextpage studio-app-flows.html \else - \previouspage creator-using-qt-quick-designer.html + \previouspage qtquick-text-editor.html \nextpage quick-components.html \endif diff --git a/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc b/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc new file mode 100644 index 00000000000..bd2473dcbeb --- /dev/null +++ b/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc @@ -0,0 +1,112 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \page creator-file-system-view.html + \previouspage creator-projects-view.html + \nextpage creator-open-documents-view.html + + \title File System + + If you cannot see a file in the \l Projects view, switch to the + \uicontrol {File System} view, which shows all the files in the file system. + + The following image displays the \uicontrol {File System} view in the + \uicontrol Design mode: + + \image qtcreator-filesystem-view-design.png "File System view in the Design mode" + + To move to the root directory of the file system, select \uicontrol Computer + in the menu (1). Select \uicontrol Home to move to the user's home + directory. Further, you can select a project to move to an open project + or \uicontrol Projects to move to the directory specified in the + \uicontrol {Projects directory} field in \uicontrol Tools > + \uicontrol Options > \uicontrol {Build & Run} > \uicontrol General. + + The file that is currently active in the editor determines which folder + is displayed in the \uicontrol {File System} view: + + \list + \li \uicontrol Projects if the file is located in a subdirectory of the + \uicontrol {Projects directory} + \li \uicontrol Home if the file is located in the user's home directory + \li \uicontrol Computer in all other cases + \endlist + + To stop the synchronization between the editor and the + \uicontrol {File System} view, delesect the \inlineimage linkicon.png + (\uicontrol {Synchronize Root Directory with Editor}) button. + + The path to the active file is displayed as bread crumbs. You can move to + any directory along the path by clicking it. + + \section1 File System Context Menu + + Use the context menu functions to: + + \list + \li Open files with the default editor or some other editor. + \li Open a project located in the selected directory. + \li Show the file or directory in the file explorer. + \li Open a terminal window in the selected directory or in the directory + that contains the file. To specify the terminal to use on Linux and + \macos, select \uicontrol Tools > \uicontrol Options > + \uicontrol Environment > \uicontrol System. + \li Search from the selected directory. + \li View file properties, such as MIME type, default editor, and size. + \li Create new files. For more information, see + \l{Adding Files to Projects}. + \li Rename or remove existing files. + \li Create new folders. + \li Compare the selected file with the currently open file in the diff + editor. For more information, see \l{Comparing Files}. + \li Display the contents of a particular directory in the view. + \li Collapse all open folders. + \endlist + + \section1 File System View in Sidebar + + In the \uicontrol Edit and \uicontrol Debug mode, the + \uicontrol {File System} view is displayed in the \l{Working with Sidebars} + {sidebar}. It has a toolbar with additional options: + + \image qtcreator-filesystem-view.png "File System view in the sidebar" + + To manage view contents, select \inlineimage filtericon.png + (\uicontrol Options): + + \list + \li To hide the bread crumbs, deselect the + \uicontrol {Show Bread Crumbs} check box. + \li By default, folders are separated from files and listed first in + the view. To list all items in alphabetic order, deselect the + \uicontrol {Show Folders on Top} check box. + \li To also show hidden files, select \uicontrol {Show Hidden Files}. + \endlist + + To stop the synchronization with the file currently opened in the + editor, deselect \inlineimage linkicon.png + (\uicontrol {Synchronize with Editor}). +*/ diff --git a/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc b/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc new file mode 100644 index 00000000000..64358b87aac --- /dev/null +++ b/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc @@ -0,0 +1,78 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \page creator-open-documents-view.html + \previouspage creator-file-system-view.html + \nextpage creator-project-managing-workspaces.html + + \title Open Documents + + The \uicontrol {Open Documents} view displays a list of open documents. + + \image qtcreator-open-documents-view.png "Open Documents view" + + You can use the context menu to apply some of the functions also available + in the \uicontrol File menu and in the \l {File System Context Menu} + {File System} view to the file that is selected in the view. + + In addition, you can: + + \list + \li Copy the full path of the file or just the filename to the + clipboard. + \li Pin files to ensure they stay at the top of the list and are not + closed when \uicontrol {Close All} is used. + \endlist + + \section1 Specifying Settings for Opening Files + + To specify settings for opening files and handling open files, select + \uicontrol Tools > \uicontrol Options > \uicontrol Environment > + \uicontrol System: + + \image qtcreator-options-environment-system.png "Environment options System tab" + + \list + \li In the \uicontrol {When files are externally modified} field, + select whether you want to be prompted to reload open files + that were modified externally. For example, when you pull + changes from a version control system. + \li Select the \uicontrol {Auto-save modified files} check box to + automatically save changed files at the intervals specified in + the \uicontrol Interval field. + \li Select the \uicontrol {Auto-suspend unmodified files} check + box to automatically free the resources of open files after + prolonged inactivity. The files are still listed in the + \uicontrol {Open Documents} view. Set the minimum number of files + that should be kept in memory in the \uicontrol {Files to keep open} + field. + \li Select the \uicontrol {Warn before opening text files greater than} + check box to receive warnings about opening big text files. + \li In the \uicontrol {Maximum number of entries in "Recent Files"} + field, set the number of recently opened files listed in + \uicontrol File > \uicontrol {Recent Files}. + \endlist +*/ diff --git a/doc/qtcreator/src/user-interface/creator-projects-view.qdoc b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc new file mode 100644 index 00000000000..9824e038df9 --- /dev/null +++ b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc @@ -0,0 +1,161 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \page creator-projects-view.html + \if defined(qtdesignstudio) + \previouspage qtquick-curve-editor.html + \else + \previouspage creator-views.html + \endif + \nextpage creator-file-system-view.html + + \title Projects + + The \uicontrol Projects view displays projects in a project tree. + The project tree contains a list of all projects open in the current + \l{Managing Sessions}{session}. For each project, the tree visualizes + the build system structure of the project and lists all files that + are part of the project. + + The following image displays the \uicontrol Projects view in the + \uicontrol Design mode: + + \image qtcreator-projects-view-design.png "Projects view in the Design mode" + + You can use the project tree in the following ways: + + \list + \li To open files that belong to a \l{Creating Projects}{project}, + double-click them in the project tree. Files open in the + appropriate editor, according to the file type. For example, code + source files open in the code editor. Use the \l{Selecting Modes} + {mode selector} to open the current file in another editor. + \li To bring up a \l{Projects View Context Menu}{context menu} + containing the actions most commonly needed, right-click an + item in the project tree. For example, through the menu of + the project root directory you can, among other actions, run + and close the project. + \li To see the absolute path of a file, move the mouse pointer over the + file name. + \li To move files from one project to another, drag-and-drop them + in the project tree. \QC makes the necessary changes to project + configuration files. + \endlist + + \if defined(qtcreator) + Files that are not sources or data can be still included into a project's + distribution tarball by adding their paths to the \c DISTFILES variable in + the .pro file. This way they also become known to \QC, so that they are + visible in the \uicontrol Projects view and are known to the locator and + search. + \endif + + \section1 Projects View Context Menu + + The \uicontrol Projects view contains context menus for managing projects, + subprojects, folders, and files. The following functions are available for + managing projects and subprojects: + + \list + \li Set a project as the active project. + \li Execute the \uicontrol Build menu commands. + \li Create new files. For more information, see + \l{Adding Files to Projects}. + \li Rename or remove existing files. If you change the base name of a + file, \QC displays a list of other files with the same base name + and offers to rename them as well. + \if defined(qtcreator) + \li Remove existing directories from \l{Setting Up a Generic Project} + {generic projects}. + \li Add existing files and directories. + \li Add libraries. For more information, see + \l{Adding Libraries to Projects}. + \li Add and remove subprojects. + \endif + \li Search from the selected directory. + \li Open a terminal window in the project directory. To specify the + terminal to use on Linux and \macos, select \uicontrol Tools > + \uicontrol Options > \uicontrol Environment > \uicontrol System. + \li Open a terminal window in the project directory that is configured + for building or running the project. + \li Expand or collapse the tree view to show or hide all files and + folders. + \li Close all files in a project. + \li Close projects. By default, all files in the project are also + closed. To keep them open, deselect the \uicontrol Tools > + \uicontrol Options > \uicontrol {Build & Run} > \uicontrol General + > \uicontrol {Close source files along with project} check box. + \endlist + + For managing files and directories, the same functions are available as in + the \l {File System} view. + + \section1 Projects View in Sidebar + + In the \uicontrol Edit and \uicontrol Debug mode, the \uicontrol Projects + view is displayed in the \l{Working with Sidebars}{sidebar}. It has a + toolbar with additional options: + + \image qtcreator-projects-view-edit.png "Projects view in the sidebar" + + To filter view contents, select \inlineimage filtericon.png + (\uicontrol {Filter Tree}): + + \list + \li \uicontrol {Simplify Tree} hides the categories and sorts project + files alphabetically. + \li \uicontrol {Hide Generated Files} hides the source files that are + automatically generated by the build system. + \li \uicontrol {Hide Disabled Files} hides the source files that are + not enabled for the current target, + \li \uicontrol {Hide Empty Directories} hides directories that do not + contain any files. + \endlist + + To stop synchronizing the position in the project tree with the file + currently opened in the editor, deselect \inlineimage linkicon.png + (\uicontrol {Synchronize with Editor}). You can specify a keyboard + shortcut to use when synchronization is needed. Select \uicontrol Tools + > \uicontrol Options > \uicontrol Environment > \uicontrol Keyboard, + and then search for \uicontrol {Show in Explorer}. + + \if defined(qtcreator) + Some build systems support adding and removing files to a project in \QC + (currently qmake and Qbs). The faithful display of the project structure + allows to specify exactly where a new file should be placed in the build + system. + \endif + + \if defined(qtcreator) + If the project is under version control, information from the version + control system might be displayed in brackets after the project name. + This is currently implemented for Git (the branch name or a tag is + displayed) and ClearCase (the view name is displayed). + \else + If the project is under Git version control, the currently checked out + branch or tag is displayed in brackets after the project name. + \endif +*/ diff --git a/doc/qtcreator/src/howto/creator-sidebars.qdoc b/doc/qtcreator/src/user-interface/creator-sidebars.qdoc similarity index 100% rename from doc/qtcreator/src/howto/creator-sidebars.qdoc rename to doc/qtcreator/src/user-interface/creator-sidebars.qdoc diff --git a/doc/qtcreator/src/howto/creator-ui.qdoc b/doc/qtcreator/src/user-interface/creator-ui.qdoc similarity index 100% rename from doc/qtcreator/src/howto/creator-ui.qdoc rename to doc/qtcreator/src/user-interface/creator-ui.qdoc diff --git a/doc/qtcreator/src/user-interface/creator-views.qdoc b/doc/qtcreator/src/user-interface/creator-views.qdoc new file mode 100644 index 00000000000..7c27ab85664 --- /dev/null +++ b/doc/qtcreator/src/user-interface/creator-views.qdoc @@ -0,0 +1,129 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \page creator-views.html + \previouspage creator-sidebars.html + \if defined(qtdesignstudio) + \nextpage creator-output-panes.html + \else + \nextpage creator-projects-view.html + \endif + + \title Browsing Project Contents + + You can organize \QC views in \l {Working with Sidebars}{sidebars} or as + \l {Managing Workspaces}{workspaces}, depending on the \l{Selecting Modes} + {mode} you are working in. Only views that are relevant to a mode are + available in it. + + The following views are related to managing projects and files: + + \list + \li \l Projects shows a list of projects open in the current + session and the project files needed by the build system. + \li \l{File System} shows all files in the currently selected + directory. + \li \l{Open Documents} shows currently open files. + \li \uicontrol Bookmarks shows all bookmarks for the current session. + \li \uicontrol {Git Branches} shows the local and remote brances for the + project in the Git version control system. For more information, see + \l{Working with Branches}. + \li \uicontrol Outline shows an overview of defined types and other + symbols, as well as their properties and hierarchy in a source file. + \endlist + + \if defined(qtcreator) + The following views display additional information about C++ code: + + \list + \li \uicontrol {Class View} shows the class hierarchy of the currently + open projects. + \li \uicontrol Tests lists autotests and Qt Quick tests in the project. + For more information, see \l {Running Autotests}. + \li \uicontrol {Type Hierarchy} shows the base classes of a class. + \li \uicontrol {Include Hierarchy} shows which files are included in + the current file and which files include the current file. + \endlist + \endif + + For more information about views that are only available when editing QML + files in the Design mode, see \l{Design Views}. + + The additional options in a particular view are described in the following + sections. + + In some views, right-clicking opens a context menu that contains functions + for managing the objects listed in the view. + + \section1 Viewing Defined Types and Symbols + + The \uicontrol Outline view shows an overview of defined types and other + symbols, as well as their properties and hierarchy in a source file. + You can move the code for types and symbols around in the source file + by dragging and dropping them in the outline. + + \list + \li To see a complete list of all bindings, select + \uicontrol {Filter Tree} > \uicontrol {Show All Bindings}. + \li To stop the synchronization with the type or symbol selected in the + editor, deselect \uicontrol {Synchronize with Editor}. + \endlist + + \section1 Viewing the Class Hierarchy + + The \uicontrol {Class View} shows the class hierarchy of the currently + open projects. To organize the view by subprojects, click + \inlineimage qtcreator-show-subprojects.png + (\uicontrol {Show Subprojects}). + + To visit all parts of a namespace, double-click on the namespace item + multiple times. + + \section1 Viewing Type Hierarchy + + To view the base classes and derived classes of a class, right-click the + class in the code editor and select \uicontrol {Open Type Hierarchy} or + press \key {Ctrl+Shift+T}. + + \image qtcreator-type-hierarchy-view.png "Type Hierarchy view" + + To navigate in the type hierarchy, double-click a class or select it, + and then select \uicontrol {Open Type Hierarchy} in the context menu. + The previous class is highlighted in the view. + + The definition of the selected class is opened in the code editor. You + can also select \uicontrol {Open in Editor} in the context menu to open + it. + + \section1 Viewing Include Hierarchy + + To view which files are included in the current file and which files include + the current file, right-click in the editor and select + \uicontrol {Open Include Hierarchy} or press \key {Ctrl+Shift+I}. + + To keep the view synchronized with the file currently opened in the editor, + select \uicontrol {Synchronize with Editor}. +*/ diff --git a/doc/qtcreator/src/howto/creator-workspaces.qdoc b/doc/qtcreator/src/user-interface/creator-workspaces.qdoc similarity index 94% rename from doc/qtcreator/src/howto/creator-workspaces.qdoc rename to doc/qtcreator/src/user-interface/creator-workspaces.qdoc index 20eacc48047..b3cc899ef64 100644 --- a/doc/qtcreator/src/howto/creator-workspaces.qdoc +++ b/doc/qtcreator/src/user-interface/creator-workspaces.qdoc @@ -25,13 +25,8 @@ /*! \page creator-project-managing-workspaces.html - \if defined(qtdesignstudio) - \previouspage qtquick-curve-editor.html - \nextpage creator-project-managing-sessions.html - \else - \previouspage creator-sidebars.html + \previouspage creator-open-documents-view.html \nextpage creator-output-panes.html - \endif \title Managing Workspaces diff --git a/doc/qtdesignstudio/examples/doc/loginui1.qdoc b/doc/qtdesignstudio/examples/doc/loginui1.qdoc index 210d8fe8f09..610179d91b6 100644 --- a/doc/qtdesignstudio/examples/doc/loginui1.qdoc +++ b/doc/qtdesignstudio/examples/doc/loginui1.qdoc @@ -90,8 +90,7 @@ \section2 Learn More - Projects and Files \QDS creates a set of boilerplate files and folders that you need to create - a UI. The files are listed in the \uicontrol Projects view. For more - information, see \l {Viewing Project Files}. + a UI. The files are listed in the \l Projects view. \image loginui1-project-files.png @@ -120,7 +119,7 @@ layout. Every UI file consists of two parts: an imports section and an component declaration section. The components and functionality most common to UIs are provided in the QtQuick import. You can view the code of an - .ui.qml file in the \uicontrol {Text Editor} view. + .ui.qml file in the \l{Text Editor} view. For more information about creating a component file from scratch, see \l{First Steps with QML}. diff --git a/doc/qtdesignstudio/examples/doc/sidemenu.qdoc b/doc/qtdesignstudio/examples/doc/sidemenu.qdoc index ac50e5cfde6..ad8d1347a6b 100644 --- a/doc/qtdesignstudio/examples/doc/sidemenu.qdoc +++ b/doc/qtdesignstudio/examples/doc/sidemenu.qdoc @@ -73,7 +73,7 @@ for the states to bind the properties to the states using \c when conditions. First, we specify that a button instance enters the \e checked state when the \l {AbstractButton::}{checked} property is set to \c true. - This is how the code will look in the \uicontrol {Text Editor}: + This is how the code will look in \l{Text Editor}: \quotefromfile SideMenu/CustomButton.qml \skipto states: [ diff --git a/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc b/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc index 2d665624427..630567f8ef5 100644 --- a/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc +++ b/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc @@ -204,7 +204,7 @@ Some signals are predefined for the \l {Mouse Area} component, some we have to add ourselves. For example, let's look at the start button that we use - in \e StartScreen.ui.qml. First, we use the \uicontrol {Text Editor} view + in \e StartScreen.ui.qml. First, we use the \l{Text Editor} view to create the \c startClicked signal: \quotefromfile washingMachineUI/StartScreen.ui.qml diff --git a/doc/qtdesignstudio/examples/doc/webinardemo.qdoc b/doc/qtdesignstudio/examples/doc/webinardemo.qdoc index ae71dbcfc01..fde42c82402 100644 --- a/doc/qtdesignstudio/examples/doc/webinardemo.qdoc +++ b/doc/qtdesignstudio/examples/doc/webinardemo.qdoc @@ -173,7 +173,7 @@ context menu. Any changes we make to a component are immediately visible in all the other components where it appears. - We can view the QML code for each component in the \uicontrol {Text Editor}. + We can view the QML code for each component in \l{Text Editor}. We can now use states and the timeline to animate the components in the UI. diff --git a/doc/qtdesignstudio/images/studio-examples-download.png b/doc/qtdesignstudio/images/studio-examples-download.png new file mode 100644 index 00000000000..7902b4ce7c0 Binary files /dev/null and b/doc/qtdesignstudio/images/studio-examples-download.png differ diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-tutorial-links.qdocinc b/doc/qtdesignstudio/src/qtbridge/qtbridge-tutorial-links.qdocinc index 4508b9acc4a..ffdce3d378e 100644 --- a/doc/qtdesignstudio/src/qtbridge/qtbridge-tutorial-links.qdocinc +++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-tutorial-links.qdocinc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Bridge documentation. @@ -25,7 +25,7 @@ //! [qtpsbridge videos] - \section1 \QBPS Videos + \section2 \QBPS Videos For more information, watch a video tutorial and webinar about using \QBPS that are also accessible from the \uicontrol Tutorials tab of the Welcome @@ -49,7 +49,7 @@ //! [qtsketchbridge tutorials] - \section1 \QBSK Tutorials + \section2 \QBSK Tutorials For more information, read the tutorials about using \QBSK that are also accessible from the \uicontrol Tutorials tab of the Welcome mode: diff --git a/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc index 403a69229c4..f48f28568a6 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-advanced.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -31,14 +31,13 @@ \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 + 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. + However, you might want to use the \l{Text Editor} view sometimes to edit + your component files (.qml) 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. @@ -55,12 +54,11 @@ 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. + You can use the code editor in the \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 Data Input} \QDS enables you to connect UIs to different forms of data from various diff --git a/doc/qtdesignstudio/src/qtdesignstudio-examples.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-examples.qdoc index 6494ac4d1fd..44464fd8721 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-examples.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-examples.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -30,18 +30,42 @@ \title Examples and Tutorials - In the Welcome mode, you can open examples and tutorials that illustrate - how to use \QDS. + In the \uicontrol Welcome mode, you can open examples and tutorials that + illustrate how to use \QDS. Some examples are delivered together with + \QDS and have been documented, while you can download and install others + for previewing them on the desktop. \section1 Video Tutorials The \uicontrol Tutorials tab contains links to video tutorials that provide - more information about \QDS. + more information about \QDS. To watch a tutorial on YouTube, select it in + the tab. \include qtbridge-tutorial-links.qdocinc qtpsbridge videos \include qtbridge-tutorial-links.qdocinc qtsketchbridge tutorials - \section1 Examples + \section1 Examples for Downloading - The \uicontrol Examples tab lists examples about using \QDS. + The \uicontrol Examples tab lists complex example applications for + downloading that demonstrate what you can accomplish with \QDS. + + \image studio-examples-download.png "Examples for download in Welcome mode" + + To download the examples and open them in \QDS: + + \list 1 + \li Select an example. + \li Select \uicontrol {Start Download} to download the example source + files. + \li Select the folder where the source files will be installed. + \li Select \uicontrol Continue to install the files. + \li Select \uicontrol Open to open the example in \QDS. + \li Select the \inlineimage live_preview.png + (\uicontrol {Show Live Preview}) button to preview the example. + \endlist + + \section1 Documented Examples + + The \uicontrol Examples tab lists documented examples of using \QDS. To + open an example in \QDS, select it in the tab. */ diff --git a/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc index 878d5cc9f81..fd3700c832a 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc @@ -94,7 +94,7 @@ \note The layer that was the bottom layer in the design tool becames the top layer in \uicontrol Navigator to reflect the QML code model. You - can view the QML code in \uicontrol {Text Editor}. + can view the QML code in \l{Text Editor}. After importing the metadata files, wait a few moments to allow all imported assets to appear in your project files before selecting your diff --git a/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc index 918b852a1e9..98a92dacd23 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc @@ -94,7 +94,7 @@ \code singleton Values 1.0 Values.qml \endcode - \li Open \e Values.qml in the \uicontrol {Text Editor} for editing. + \li Open \e Values.qml in \l{Text Editor} 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: diff --git a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc index f0a42db9f2e..20f600e79e6 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc @@ -68,7 +68,11 @@ \li \l{Transition Editor} \li \l{Timeline} \li \l{Curve Editor} - \endlist + \li \l{Text Editor} + \li \l{Projects} + \li \l{File System} + \li \l{Open Documents} + \endlist \li \l{Managing Workspaces} \li \l{Managing Sessions} \endlist diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-qt3ds.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-qt3ds.qdoc index b58052e603f..02dc475c5b2 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-qt3ds.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-from-qt3ds.qdoc @@ -143,7 +143,7 @@ \li Adjust the canvas size of your project in \QDS according to the screen size in \Q3DS presentation by editing the \c Constants.qml file in - \uicontrol {Text Editor}. If you cannot see the \uicontrol {Text Editor} + \l{Text Editor}. If you cannot see the \uicontrol {Text Editor} view, select \uicontrol Window > \uicontrol {Views}, and then select the \uicontrol {Text Editor} checkbox. In the \uicontrol Projects view, open the imports subfolder, then the subfolder named after your project, and diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-scene-environment.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-scene-environment.qdoc index 8a54021a193..086c9915164 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-scene-environment.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-scene-environment.qdoc @@ -83,7 +83,7 @@ To render a Skybox or Skydome instead of clearing the scene, select \uicontrol SkyBox. You can specify the image to use as a value of the \l{SceneEnvironment::lightProbe}{lightProbe} - property in \uicontrol {Text Editor}. + property in \l{Text Editor}. To leave the scene uncleared, select \uicontrol {Unspecified}. diff --git a/src/plugins/coreplugin/outputwindow.cpp b/src/plugins/coreplugin/outputwindow.cpp index 2aeb9399bfc..7568ec3f368 100644 --- a/src/plugins/coreplugin/outputwindow.cpp +++ b/src/plugins/coreplugin/outputwindow.cpp @@ -153,9 +153,7 @@ OutputWindow::OutputWindow(Context context, const QString &settingsKey, QWidget EditorManager::openEditorAt(fp.toString(), line, column); }); - connect(verticalScrollBar(), &QAbstractSlider::sliderMoved, - this, &OutputWindow::updateAutoScroll); - connect(verticalScrollBar(), &QAbstractSlider::sliderReleased, + connect(verticalScrollBar(), &QAbstractSlider::actionTriggered, this, &OutputWindow::updateAutoScroll); undoAction->setEnabled(false); @@ -451,7 +449,7 @@ void OutputWindow::handleOutputChunk(const QString &output, OutputFormat format) void OutputWindow::updateAutoScroll() { - d->scrollToBottom = verticalScrollBar()->value() >= verticalScrollBar()->maximum() - 1; + d->scrollToBottom = verticalScrollBar()->sliderPosition() >= verticalScrollBar()->maximum() - 1; } void OutputWindow::setMaxCharCount(int count) diff --git a/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp b/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp index 4cb3473158c..c59e3d7e93b 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.cpp @@ -37,10 +37,12 @@ #include #include #include +#include #include #include +#include GradientModel::GradientModel(QObject *parent) : QAbstractListModel(parent) @@ -109,9 +111,9 @@ int GradientModel::addStop(qreal position, const QColor &color) if (m_itemNode.modelNode().hasNodeProperty(gradientPropertyName().toUtf8())) { int properPos = 0; - try { - QmlDesigner::ModelNode gradientNode = m_itemNode.modelNode().nodeProperty(gradientPropertyName().toUtf8()).modelNode(); + try { + QmlDesigner::ModelNode gradientNode = m_itemNode.modelNode().nodeProperty(gradientPropertyName().toUtf8()).modelNode(); QmlDesigner::ModelNode gradientStopNode = createGradientStopNode(); @@ -128,6 +130,9 @@ int GradientModel::addStop(qreal position, const QColor &color) gradientNode.nodeListProperty("stops").slide(stopNodes.count() - 1, properPos); setupModel(); + resetPuppet(); + + emit gradientCountChanged(); } catch (const QmlDesigner::Exception &e) { e.showException(); } @@ -176,6 +181,7 @@ void GradientModel::addGradient() if (m_gradientTypeName != "Gradient") resetPuppet(); /*Unfortunately required */ + emit hasGradientChanged(); emit gradientTypeChanged(); } @@ -247,9 +253,15 @@ void GradientModel::removeStop(int index) if (stop.isValid()) { stop.destroy(); setupModel(); + resetPuppet(); + + emit gradientCountChanged(); } }); + + return; } + qWarning() << Q_FUNC_INFO << "invalid index"; } @@ -301,10 +313,10 @@ qreal GradientModel::readGradientProperty(const QString &propertyName) const void GradientModel::setupModel() { m_locked = true; - beginResetModel(); + auto guard = qScopeGuard([&] { m_locked = false; }); + beginResetModel(); endResetModel(); - m_locked = false; } void GradientModel::setAnchorBackend(const QVariant &anchorBackend) @@ -324,12 +336,11 @@ void GradientModel::setAnchorBackend(const QVariant &anchorBackend) setupModel(); m_locked = true; + auto guard = qScopeGuard([&] { m_locked = false; }); emit anchorBackendChanged(); emit hasGradientChanged(); emit gradientTypeChanged(); - - m_locked = false; } QString GradientModel::gradientPropertyName() const @@ -482,9 +493,10 @@ void GradientModel::deleteGradientNode(bool saveTransaction) if (m_itemNode.isInBaseState()) { if (modelNode.hasProperty(gradientPropertyName().toUtf8())) { + QmlDesigner::RewriterTransaction transaction; if (saveTransaction) - QmlDesigner::RewriterTransaction transaction = view()->beginRewriterTransaction( - QByteArrayLiteral("GradientModel::deleteGradient")); + transaction = view()->beginRewriterTransaction(QByteArrayLiteral("GradientModel::deleteGradient")); + QmlDesigner::ModelNode gradientNode = modelNode.nodeProperty(gradientPropertyName().toUtf8()).modelNode(); if (QmlDesigner::QmlObjectNode(gradientNode).isValid()) @@ -529,7 +541,8 @@ void GradientModel::setPresetByID(int presetID) void GradientModel::setPresetByStops(const QList &stopsPositions, const QList &stopsColors, - int stopsCount) + int stopsCount, + bool saveTransaction) { if (m_locked) return; @@ -537,8 +550,9 @@ void GradientModel::setPresetByStops(const QList &stopsPositions, if (!m_itemNode.isValid() || gradientPropertyName().isEmpty()) return; - QmlDesigner::RewriterTransaction transaction = view()->beginRewriterTransaction( - QByteArrayLiteral("GradientModel::setCustomPreset")); + QmlDesigner::RewriterTransaction transaction; + if (saveTransaction) + transaction = view()->beginRewriterTransaction(QByteArrayLiteral("GradientModel::setCustomPreset")); deleteGradientNode(false); @@ -599,6 +613,8 @@ void GradientModel::savePreset() void GradientModel::updateGradient() { + beginResetModel(); + QList stops; QList colors; int stopsCount = rowCount(); @@ -607,5 +623,7 @@ void GradientModel::updateGradient() colors.append(getColor(i).name(QColor::HexArgb)); } - setPresetByStops(stops, colors, stopsCount); + setPresetByStops(stops, colors, stopsCount, false); + + endResetModel(); } diff --git a/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.h b/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.h index c54526838e8..d2ce8bb7157 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.h +++ b/src/plugins/qmldesigner/components/propertyeditor/gradientmodel.h @@ -38,7 +38,7 @@ class GradientModel : public QAbstractListModel Q_PROPERTY(QVariant anchorBackendProperty READ anchorBackend WRITE setAnchorBackend NOTIFY anchorBackendChanged) Q_PROPERTY(QString gradientPropertyName READ gradientPropertyName WRITE setGradientPropertyName) Q_PROPERTY(QString gradientTypeName READ gradientTypeName WRITE setGradientTypeName NOTIFY gradientTypeChanged) - Q_PROPERTY(int count READ rowCount) + Q_PROPERTY(int count READ rowCount NOTIFY gradientCountChanged) Q_PROPERTY(bool hasGradient READ hasGradient NOTIFY hasGradientChanged) public: @@ -73,7 +73,8 @@ public: Q_INVOKABLE void setPresetByID(int presetID); Q_INVOKABLE void setPresetByStops(const QList &stopsPositions, const QList &stopsColors, - int stopsCount); + int stopsCount, + bool saveTransaction = true); Q_INVOKABLE void savePreset(); @@ -83,6 +84,7 @@ signals: void anchorBackendChanged(); void hasGradientChanged(); void gradientTypeChanged(); + void gradientCountChanged(); private: void setupModel();