Merge remote-tracking branch 'origin/4.15'

Change-Id: I23d25ad32c396811acad88873ac556ee13372ee3
This commit is contained in:
Eike Ziller
2021-04-12 09:18:06 +02:00
45 changed files with 678 additions and 440 deletions

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -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}.
*/

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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}.

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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
*/

View File

@@ -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:

View File

@@ -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

View File

@@ -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}).
*/

View File

@@ -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
*/

View File

@@ -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
*/

View File

@@ -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}.
*/

View File

@@ -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

View File

@@ -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}.

View File

@@ -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: [

View File

@@ -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

View File

@@ -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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

View File

@@ -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:

View File

@@ -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

View File

@@ -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.
*/

View File

@@ -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

View File

@@ -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:

View File

@@ -68,6 +68,10 @@
\li \l{Transition Editor}
\li \l{Timeline}
\li \l{Curve Editor}
\li \l{Text Editor}
\li \l{Projects}
\li \l{File System}
\li \l{Open Documents}
\endlist
\li \l{Managing Workspaces}
\li \l{Managing Sessions}

View File

@@ -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

View File

@@ -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}.

View File

@@ -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)

View File

@@ -37,10 +37,12 @@
#include <abstractview.h>
#include <nodemetainfo.h>
#include <exception.h>
#include <rewritertransaction.h>
#include <utils/qtcassert.h>
#include <QTimer>
#include <QScopeGuard>
GradientModel::GradientModel(QObject *parent) :
QAbstractListModel(parent)
@@ -109,8 +111,8 @@ int GradientModel::addStop(qreal position, const QColor &color)
if (m_itemNode.modelNode().hasNodeProperty(gradientPropertyName().toUtf8())) {
int properPos = 0;
try {
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<qreal> &stopsPositions,
const QList<QString> &stopsColors,
int stopsCount)
int stopsCount,
bool saveTransaction)
{
if (m_locked)
return;
@@ -537,8 +550,9 @@ void GradientModel::setPresetByStops(const QList<qreal> &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<qreal> stops;
QList<QString> 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();
}

View File

@@ -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<qreal> &stopsPositions,
const QList<QString> &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();