Merge remote-tracking branch 'origin/master' into 5.0

Change-Id: I3f9049ec34c9b3be42bd0d1fd8aa1d14f8014fe2
This commit is contained in:
Eike Ziller
2021-06-24 08:40:54 +02:00
368 changed files with 14316 additions and 7304 deletions

View File

@@ -42,16 +42,17 @@ if (NOT Qt6_FOUND)
endif()
return()
else()
# since Qt 6.2 DesignerComponents is called DesignerComponentsPrivate
list(FIND Qt5_FIND_COMPONENTS DesignerComponents dcIndex)
if(dcIndex GREATER_EQUAL 0)
find_package(Qt6DesignerComponentsPrivate CONFIG QUIET)
if(TARGET Qt6::DesignerComponentsPrivate)
add_library(Qt5::DesignerComponents ALIAS Qt6::DesignerComponentsPrivate)
list(REMOVE_AT Qt5_FIND_COMPONENTS ${dcIndex})
endif()
endif()
# since Qt 6.2 some components are renamed to *Private
foreach(possible_private_libs DesignerComponents QmlDebug)
list(FIND Qt5_FIND_COMPONENTS ${possible_private_libs} dcIndex)
if(dcIndex GREATER_EQUAL 0)
find_package(Qt6${possible_private_libs}Private CONFIG QUIET)
if(TARGET Qt6::${possible_private_libs}Private)
add_library(Qt5::${possible_private_libs} ALIAS Qt6::${possible_private_libs}Private)
list(REMOVE_AT Qt5_FIND_COMPONENTS ${dcIndex})
endif()
endif()
endforeach()
find_package(Qt6 CONFIG ${__arguments} ${Qt5_FIND_COMPONENTS})
endif()

161
dist/changes-5.0.0.md vendored Normal file
View File

@@ -0,0 +1,161 @@
Qt Creator 5
===============
Qt Creator version 5 contains bug fixes and new features.
The most important changes are listed in this document. For a complete list of
changes, see the Git log for the Qt Creator sources that you can check out from
the public Git repository. For example:
git clone git://code.qt.io/qt-creator/qt-creator.git
git log --cherry-pick --pretty=oneline origin/4.15..v5.0.0
General
-------
* Fixed various possible crashes at shutdown
Editing
-------
* Added line ending and indentation to file properties information
* Added menu item and shortcut for editing bookmark comments
(QTCREATORBUG-25696)
### C++
* Added highlighting option for function parameters (QTCREATORBUG-24880)
* Added experimental support for `clangd` for global index (`Find References`,
`Rename Symbol`, `Follow Symbol`)
* Added template parameters to symbols in Locator
* Fixed that project-unrelated files were selected by default when renaming
symbols (QTCREATORBUG-8561)
* Fixed highlighting of string literals with multi-byte characters
(QTCREATORBUG-25715)
### QML
* Fixed handling of multiline template strings (QTCREATORBUG-22766)
* Fixed handling of required and readonly properties (QTCREATORBUG-24144)
* Fixed reformatting of inline components (QTCREATORBUG-24144)
* Fixed reformatting of functions with default values (QTCREATORBUG-23009)
* Fixed wrong warning for types with same name but different namespace
(QTCREATORBUG-24615)
### Language Client
* Added support for progress notifications
* Added support for snippets (QTCREATORBUG-22406)
* Fixed completion results for language servers that do not filter results
themselves
### Beautifier
* Fixed issue with `clang-format` and multi-byte characters (QTCREATORBUG-21812,
QTCREATORBUG-23131)
Projects
--------
* Fixed crash when closing project while changing current configuration
(QTCREATORBUG-25655)
* Fixed that output of custom targets was interpreted as errors
(QTCREATORBUG-25677)
### CMake
* Removed option `Auto-create build directories`, making this the default
behavior (QTCREATORBUG-25532)
* Added CMake output to right side of `Projects` mode (QTCREATORBUG-25522)
* Fixed `Jump to File` for file names with special characters
(QTCREATORBUG-25572)
Debugging
---------
* Added `Force logging to console` option (QTCREATORBUG-25421)
* Added context menu for changing variable display style to viewer window
(QTCREATORBUG-25762)
* Fixed that comments in startup commands resulted in message boxes
(QTCREATORBUG-25666)
### GDB
* Added option `Use automatic symbol cache` (QTCREATORBUG-23207)
### QML
* Implemented `Load QML Stack` for LLDB (QTCREATORBUG-25554)
FakeVim
-------
* Fixed backspace option
Platforms
---------
### Windows
* Added support for MSVC ARM64 toolchain
### macOS
* Fixed performance issue with registering file watches after loading projects
### QNX
* Fixed device configuration
* Fixed listing of device processes on Windows
* Fixed issues with CMake and QNX 7.1 and Qt 6
### MCU
* Added tracking of kit dependencies (QTCREATORBUG-25262)
* Added support for module mappings in QML (QTCREATORBUG-25356)
* Fixed update of kit after settings changes (QTCREATORBUG-25488)
Credits for these changes go to:
--------------------------------
Aleksei German
Alessandro Portale
Andre Hartmann
André Pönitz
Andy Shaw
Assam Boudjelthia
Bernhard Beschow
Björn Schäpers
Christiaan Janssen
Christian Kandeler
Christian Stenger
Cristian Adam
David Schulz
Eike Ziller
Erik Verbruggen
Fawzi Mohamed
Henning Gruendl
Jaroslaw Kobus
Jochen Becher
Johanna Vanhatapio
Kai Köhne
Knud Dollereder
Leena Miettinen
Lukas Holecek
Mahmoud Badri
Marcel Krems
Marco Bubke
Martin Kampas
Michael Weghorn
Miikka Heikkinen
Miina Puuronen
Miklós Márton
Oliver Wolff
Orgad Shaneh
Pekka Kaikkonen
Tasuku Suzuki
Thomas Hartmann
Tim Blechmann
Tim Jenssen
Tom Praschan
Vikas Pachdha
Youri Westerman

View File

@@ -56,6 +56,7 @@
# for more details or look at qttypes.py, stdtypes.py, boosttypes.py
# for more complex examples.
import dumper
from dumper import Children, SubItem, UnnamedSubItem, DumperBase
from utils import DisplayFormat, TypeCode
######################## Your code below #######################

View File

@@ -793,6 +793,11 @@ void Qt5InformationNodeInstanceServer::doRender3DEditView()
m_editView3DData.window->afterRendering();
}
#else
if (m_render2D) {
// Render 2D content, as it might be used by 3D content
grabWindow();
m_render2D = false;
}
renderImage = grabRenderControl(m_editView3DData);
#endif
@@ -1767,6 +1772,11 @@ void Qt5InformationNodeInstanceServer::changePropertyValues(const ChangeValuesCo
if (!container.isReflected()) {
hasDynamicProperties |= container.isDynamic();
setInstancePropertyVariant(container);
if (!m_render2D && isQuick3DMode() && hasInstanceForId(container.instanceId())) {
ServerNodeInstance instance = instanceForId(container.instanceId());
if (instance.isSubclassOf("QQuickItem"))
m_render2D = true;
}
}
}
@@ -1877,6 +1887,17 @@ void Qt5InformationNodeInstanceServer::changeAuxiliaryValues(const ChangeAuxilia
void Qt5InformationNodeInstanceServer::changePropertyBindings(const ChangeBindingsCommand &command)
{
Qt5NodeInstanceServer::changePropertyBindings(command);
const QVector<PropertyBindingContainer> &values = command.bindingChanges;
for (const PropertyBindingContainer &container : values) {
if (!m_render2D && isQuick3DMode() && hasInstanceForId(container.instanceId())) {
ServerNodeInstance instance = instanceForId(container.instanceId());
if (instance.isSubclassOf("QQuickItem")) {
m_render2D = true;
break;
}
}
}
render3DEditView();
}

View File

@@ -165,6 +165,7 @@ private:
QList<InputEventCommand> m_pendingInputEventCommands;
QObject *m_3dHelper = nullptr;
int m_need3DEditViewRender = 0;
bool m_render2D = true;
};
} // namespace QmlDesigner

View File

@@ -105,7 +105,6 @@ Item {
caption: dirName
sectionHeight: 30
sectionFontSize: 15
contentLevel: dirDepth
levelShift: 20
leftPadding: 0
hideHeader: dirDepth === 0

View File

@@ -1,14 +1,15 @@
Label {
PropertyLabel {
text: "%1"
tooltip: "%1"
}
SecondColumnLayout {
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
text: backendValues.%2.valueToString
backendValue: backendValues.%2
}
ExpandingSpacer {
}
ExpandingSpacer {}
}

View File

@@ -1,14 +1,9 @@
// Dummy comment to consume the first argument and suppress warnings %1
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Color")
expanded: false
level: 2
ColorEditor {
backendValue: backendValues.%2
supportGradient: false
}
PropertyLabel {
text: "%1"
tooltip: "%1"
}
ColorEditor {
backendValue: backendValues.%2
supportGradient: false
}

View File

@@ -1,10 +1,10 @@
// Dummy comment to consume the first argument and suppress warnings %1
FontSection {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Font")
leftPadding: 8
rightPadding: 0
caption: "%1" + " - " + qsTr("Font")
fontName: "%2"
expanded: false
level: 2
level: 1
}

View File

@@ -1,57 +1,48 @@
// Dummy comment to consume the first argument and suppress warnings %1
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Image")
leftPadding: 8
rightPadding: 0
caption: "%1" + " - " + qsTr("Image")
expanded: false
level: 2
level: 1
SectionLayout {
Label {
text: qsTr("Source")
}
PropertyLabel { text: qsTr("Source") }
SecondColumnLayout {
UrlChooser {
Layout.fillWidth: true
backendValue: backendValues.%2_source
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Fill mode")
}
PropertyLabel { text: qsTr("Fill mode") }
SecondColumnLayout {
ComboBox {
scope: "Image"
model: ["Stretch", "PreserveAspectFit", "PreserveAspectCrop", "Tile", "TileVertically", "TileHorizontally", "Pad"]
backendValue: backendValues.%2_fillMode
implicitWidth: 180
Layout.fillWidth: true
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Source size")
disabledState: !backendValues.%2_sourceSize.isAvailable
disabledState: !backendValues.%2_sourceSize_height.isAvailable
&& !backendValues.%2_sourceSize_width.isAvailable
}
SecondColumnLayout {
Label {
text: "W"
width: 12
disabledStateSoft: !backendValues.%2_sourceSize_width.isAvailable
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.%2_sourceSize_width
minimumValue: 0
maximumValue: 8192
@@ -59,18 +50,18 @@ Section {
enabled: backendValue.isAvailable
}
Item {
width: 4
height: 4
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("W")
//disabledStateSoft: !backendValues.%2_sourceSize_width.isAvailable
}
Label {
text: "H"
width: 12
disabledStateSoft: !backendValues.%2_sourceSize_height.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.%2_sourceSize_height
minimumValue: 0
maximumValue: 8192
@@ -78,45 +69,47 @@ Section {
enabled: backendValue.isAvailable
}
ExpandingSpacer {
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("H")
//disabledStateSoft: !backendValues.%2_sourceSize_height.isAvailable
}
ExpandingSpacer {}
}
Label {
text: qsTr("Horizontal alignment")
}
PropertyLabel { text: qsTr("Alignment H") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
scope: "Image"
model: ["AlignLeft", "AlignRight", "AlignHCenter"]
backendValue: backendValues.%2_horizontalAlignment
implicitWidth: 180
Layout.fillWidth: true
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Vertical alignment")
}
PropertyLabel { text: qsTr("Alignment V") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
scope: "Image"
model: ["AlignTop", "AlignBottom", "AlignVCenter"]
backendValue: backendValues.%2_verticalAlignment
implicitWidth: 180
Layout.fillWidth: true
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Asynchronous")
tooltip: qsTr("Loads images on the local filesystem asynchronously in a separate thread.")
disabledState: !backendValues.%2_asynchronous.isAvailable
@@ -127,12 +120,14 @@ Section {
enabled: backendValues.%2_asynchronous.isAvailable
text: backendValues.%2_asynchronous.valueToString
backendValue: backendValues.%2_asynchronous
implicitWidth: 180
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Auto transform")
tooltip: qsTr("Automatically applies image transformation metadata such as EXIF orientation.")
disabledState: !backendValues.%2_autoTransform.isAvailable
@@ -143,12 +138,14 @@ Section {
enabled: backendValues.%2_autoTransform.isAvailable
text: backendValues.%2_autoTransform.valueToString
backendValue: backendValues.%2_autoTransform
implicitWidth: 180
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Cache")
tooltip: qsTr("Caches the image.")
disabledState: !backendValues.%2_cache.isAvailable
@@ -159,12 +156,14 @@ Section {
enabled: backendValues.%2_cache.isAvailable
text: backendValues.%2_cache.valueToString
backendValue: backendValues.%2_cache
implicitWidth: 180
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Mipmap")
tooltip: qsTr("Uses mipmap filtering when the image is scaled or transformed.")
disabledState: !backendValues.%2_mipmap.isAvailable
@@ -175,12 +174,14 @@ Section {
enabled: backendValues.%2_mipmap.isAvailable
text: backendValues.%2_mipmap.valueToString
backendValue: backendValues.%2_mipmap
implicitWidth: 180
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Mirror")
tooltip: qsTr("Inverts the image horizontally.")
disabledState: !backendValues.%2_mirror.isAvailable
@@ -191,12 +192,14 @@ Section {
enabled: backendValues.%2_mirror.isAvailable
text: backendValues.%2_mirror.valueToString
backendValue: backendValues.%2_mirror
implicitWidth: 180
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Smooth")
tooltip: qsTr("Smoothly filters the image when it is scaled or transformed.")
disabledState: !backendValues.%2_smooth.isAvailable
@@ -207,8 +210,10 @@ Section {
enabled: backendValues.%2_smooth.isAvailable
text: backendValues.%2_smooth.valueToString
backendValue: backendValues.%2_smooth
implicitWidth: 180
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
}

View File

@@ -1,4 +1,4 @@
Label {
PropertyLabel {
text: "%1"
tooltip: "%1"
}
@@ -8,10 +8,9 @@ SecondColumnLayout {
maximumValue: 9999999
minimumValue: -9999999
backendValue: backendValues.%2
Layout.fillWidth: true
Layout.maximumWidth: 100
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {
}
ExpandingSpacer {}
}

View File

@@ -1,18 +1,18 @@
Label {
PropertyLabel {
text: "%1"
tooltip: "%1"
}
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.%2
Layout.fillWidth: true
Layout.maximumWidth: 100
}
ExpandingSpacer {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}

View File

@@ -1,69 +1,55 @@
// Dummy comment to consume the first argument and suppress warnings %1
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Color")
leftPadding: 8
rightPadding: 0
caption: "%1" + " - " + qsTr("Rectangle")
expanded: false
level: 2
ColorEditor {
caption: qsTr("Color")
backendValue: backendValues.%2_color
supportGradient: true
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Border Color")
expanded: false
level: 2
ColorEditor {
caption: qsTr("Border Color")
backendValue: backendValues.%2_border_color
supportGradient: false
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Rectangle")
expanded: false
level: 2
level: 1
SectionLayout {
rows: 2
Label {
text: qsTr("Border")
PropertyLabel { text: qsTr("Color") }
ColorEditor {
backendValue: backendValues.%2_color
supportGradient: true
}
PropertyLabel { text: qsTr("Border Color") }
ColorEditor {
backendValue: backendValues.%2_border_color
supportGradient: false
}
PropertyLabel { text: qsTr("Border") }
SecondColumnLayout {
SpinBox {
backendValue: backendValues.%2_border_width
hasSlider: true
Layout.preferredWidth: 120
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Radius")
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Radius") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.%2_radius
hasSlider: true
Layout.preferredWidth: 120
minimumValue: 0
maximumValue: Math.min(backendValues.height.value, backendValues.width.value) / 2
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
}
}

View File

@@ -1,4 +1,4 @@
Label {
PropertyLabel {
text: "%1"
tooltip: "%1"
}
@@ -6,9 +6,10 @@ Label {
SecondColumnLayout {
LineEdit {
backendValue: backendValues.%2
Layout.fillWidth: true
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
}
ExpandingSpacer {
}
ExpandingSpacer {}
}

View File

@@ -24,7 +24,10 @@
****************************************************************************/
AutoTypes {
imports: [ "import HelperWidgets 2.0", "import QtQuick 2.15", "import QtQuick.Layouts 1.15" ]
imports: [ "import HelperWidgets 2.0",
"import QtQuick 2.15",
"import QtQuick.Layouts 1.15",
"import StudioTheme 1.0 as StudioTheme" ]
Type {
typeNames: ["int"]
@@ -50,7 +53,6 @@ AutoTypes {
Type {
typeNames: ["color", "QColor"]
sourceFile: "ColorEditorTemplate.template"
separateSection: true
}
Type {

View File

@@ -1,107 +1,153 @@
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Text")
leftPadding: 8
rightPadding: 0
caption: "%1" + " - " + qsTr("Text")
expanded: false
level: 2
level: 1
SectionLayout {
columns: 2
rows: 3
Label {
text: qsTr("Text")
}
LineEdit {
backendValue: backendValues.%2_text
Layout.fillWidth: true
PropertyLabel { text: qsTr("Text") }
SecondColumnLayout {
LineEdit {
backendValue: backendValues.%2_text
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
}
ExpandingSpacer {}
}
Label {
text: qsTr("Wrap mode")
PropertyLabel { text: qsTr("Text color") }
ColorEditor {
backendValue: backendValues.%2_color
supportGradient: false
}
ComboBox {
Layout.fillWidth: true
backendValue: backendValues.%2_wrapMode
scope: "Text"
model: ["NoWrap", "WordWrap", "WrapAnywhere", "WrapAtWordBoundaryOrAnywhere"]
PropertyLabel { text: qsTr("Wrap mode") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.%2_wrapMode
scope: "Text"
model: ["NoWrap", "WordWrap", "WrapAnywhere", "WrapAtWordBoundaryOrAnywhere"]
}
ExpandingSpacer {}
}
Label {
text: qsTr("Elide")
PropertyLabel { text: qsTr("Elide") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.%2_elide
scope: "Text"
model: ["ElideNone", "ElideLeft", "ElideMiddle", "ElideRight"]
}
ExpandingSpacer {}
}
ComboBox {
Layout.fillWidth: true
backendValue: backendValues.%2_elide
scope: "Text"
model: ["ElideNone", "ElideLeft", "ElideMiddle", "ElideRight"]
PropertyLabel { text: qsTr("Alignment") }
SecondColumnLayout {
AligmentHorizontalButtons {
id: horizontalAlignmentButtons
backendValue: backendValues.%2_horizontalAlignment;
}
Spacer {
implicitWidth: StudioTheme.Values.controlGap
+ StudioTheme.Values.controlLabelWidth
+ StudioTheme.Values.controlGap
+ StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
- horizontalAlignmentButtons.implicitWidth
}
AligmentVerticalButtons {
backendValue: backendValues.%2_verticalAlignment;
}
}
Label {
text: qsTr("Alignment")
PropertyLabel { text: qsTr("Format") }
SecondColumnLayout {
ComboBox {
scope: "Text"
model: ["PlainText", "RichText", "AutoText"]
backendValue: backendValues.%2_textFormat
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
}
ExpandingSpacer {}
}
AligmentHorizontalButtons {
backendValue: backendValues.%2_horizontalAlignment;
}
Label {
text: ("")
}
AligmentVerticalButtons {
backendValue: backendValues.%2_verticalAlignment;
}
Label {
text: qsTr("Format")
}
ComboBox {
scope: "Text"
model: ["PlainText", "RichText", "AutoText"]
backendValue: backendValues.%2_textFormat
Layout.fillWidth: true
}
Label {
PropertyLabel {
text: qsTr("Render type")
toolTip: qsTr("Override the default rendering type for this item.")
}
ComboBox {
scope: "Text"
model: ["QtRendering", "NativeRendering"]
backendValue: backendValues.%2_renderType
Layout.fillWidth: true
tooltip: qsTr("Overrides the default rendering type for this component.")
}
Label {
text: qsTr("Font size mode")
toolTip: qsTr("Specifies how the font size of the displayed text is determined.")
}
ComboBox {
scope: "Text"
model: ["FixedSize", "HorizontalFit", "VerticalFit", "Fit"]
backendValue: backendValues.%2_fontSizeMode
Layout.fillWidth: true
SecondColumnLayout {
ComboBox {
scope: "Text"
model: ["QtRendering", "NativeRendering"]
backendValue: backendValues.%2_renderType
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Size mode")
tooltip: qsTr("Specifies how the font size of the displayed text is determined.")
}
Label {
SecondColumnLayout {
ComboBox {
scope: "Text"
model: ["FixedSize", "HorizontalFit", "VerticalFit", "Fit"]
backendValue: backendValues.%2_fontSizeMode
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Line height")
tooltip: qsTr("Sets the line height for the text.")
}
SpinBox {
Layout.fillWidth: true
backendValue: (backendValues.%2_lineHeight === undefined) ? dummyBackendValue : backendValues.lineHeight
maximumValue: 500
minimumValue: 0
decimals: 2
stepSize: 0.1
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: (backendValues.%2_lineHeight === undefined) ? dummyBackendValue : backendValues.lineHeight
maximumValue: 500
minimumValue: 0
decimals: 2
stepSize: 0.1
}
ExpandingSpacer {}
}
}
}

View File

@@ -1,14 +1,12 @@
Label {
PropertyLabel {
text: "%1"
tooltip: "%1"
}
SecondColumnLayout {
UrlChooser {
Layout.fillWidth: true
backendValue: backendValues.%2
backendValue: backendValues.%2
}
ExpandingSpacer {
}
ExpandingSpacer {}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,9 +23,10 @@
**
****************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioTheme 1.0 as StudioTheme
Section {
anchors.left: parent.left
@@ -33,182 +34,120 @@ Section {
caption: qsTr("Advanced")
SectionLayout {
columns: 2
Label {
text: qsTr("Origin")
disabledState: !backendValues.transformOrigin.isAvailable
}
OriginControl {
backendValue: backendValues.transformOrigin
enabled: backendValues.transformOrigin.isAvailable
}
Label {
text: qsTr("Scale")
disabledState: !backendValues.scale.isAvailable
}
SecondColumnLayout {
SpinBox {
sliderIndicatorVisible: true
backendValue: backendValues.scale
hasSlider: true
decimals: 2
stepSize: 0.1
minimumValue: -10
maximumValue: 10
Layout.preferredWidth: 140
enabled: backendValues.scale.isAvailable
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Rotation")
disabledState: !backendValues.rotation.isAvailable
}
SecondColumnLayout {
SpinBox {
sliderIndicatorVisible: true
backendValue: backendValues.rotation
hasSlider: true
decimals: 2
minimumValue: -360
maximumValue: 360
Layout.preferredWidth: 140
enabled: backendValues.rotation.isAvailable
}
ExpandingSpacer {
}
}
Label {
text: "Z"
}
SecondColumnLayout {
SpinBox {
sliderIndicatorVisible: true
backendValue: backendValues.z
hasSlider: true
minimumValue: -100
maximumValue: 100
Layout.preferredWidth: 140
}
ExpandingSpacer {
}
}
Label {
text: qsTr("State")
}
SecondColumnLayout {
ComboBox {
Layout.fillWidth: true
backendValue: backendValues.state
model: allStateNames
valueType: ComboBox.String
}
ExpandingSpacer {
}
}
Label {
PropertyLabel {
visible: majorQtQuickVersion > 1
text: qsTr("Enabled")
}
SecondColumnLayout {
visible: majorQtQuickVersion > 1
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.enabled
text: qsTr("Accept mouse and keyboard events")
}
ExpandingSpacer {
text: backendValues.enabled.valueToString
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
visible: majorQtQuickVersion > 1
text: qsTr("Smooth")
disabledState: !backendValues.smooth.isAvailable
}
SecondColumnLayout {
visible: majorQtQuickVersion > 1
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.smooth
text: qsTr("Smooth sampling active")
text: backendValues.smooth.valueToString
enabled: backendValues.smooth.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
visible: majorQtQuickVersion > 1
text: qsTr("Antialiasing")
disabledState: !backendValues.antialiasing.isAvailable
}
SecondColumnLayout {
visible: majorQtQuickVersion > 1
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.antialiasing
text: qsTr("Anti-aliasing active")
text: backendValues.antialiasing.valueToString
enabled: backendValues.antialiasing.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Focus")
tooltip: qsTr("Sets focus on the component within the enclosing focus scope.")
disabledState: !backendValues.focus.isAvailable
}
SecondColumnLayout {
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.focus
text: backendValues.focus.valueToString
enabled: backendValues.focus.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Active focus on tab")
PropertyLabel {
text: qsTr("Focus on Tab")
tooltip: qsTr("Adds the component to the tab focus chain.")
disabledState: !backendValues.activeFocusOnTab.isAvailable
}
SecondColumnLayout {
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.activeFocusOnTab
text: backendValues.activeFocusOnTab.valueToString
enabled: backendValues.activeFocusOnTab.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Baseline offset")
PropertyLabel {
text: qsTr("Baseline Offset")
tooltip: qsTr("Position of the component's baseline in local coordinates.")
disabledState: !backendValues.baselineOffset.isAvailable
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
sliderIndicatorVisible: true
backendValue: backendValues.baselineOffset
hasSlider: true
decimals: 0
minimumValue: -1000
maximumValue: 1000
Layout.preferredWidth: 140
enabled: backendValues.baselineOffset.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
}
}

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 Qt Creator.
@@ -23,17 +23,23 @@
**
****************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Section {
id: root
readonly property bool warningVisible: alignDistribute.multiSelection &&
(alignDistribute.selectionHasAnchors ||
!alignDistribute.selectionExclusivlyItems ||
alignDistribute.selectionContainsRootItem)
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Align")
caption: qsTr("Alignment")
SectionLayout {
enabled: alignDistribute.multiSelection &&
@@ -46,16 +52,15 @@ Section {
modelNodeBackendProperty: modelNodeBackend
}
Label {
text: qsTr("Align objects")
width: 120
Layout.columnSpan: 2
}
PropertyLabel { text: qsTr("Alignment") }
SecondColumnLayout {
Spacer { implicitWidth: StudioTheme.Values.actionIndicatorWidth }
RowLayout {
Layout.columnSpan: 2
Row {
id: horizontalAlignmentButtons
spacing: -StudioTheme.Values.border
AbstractButton {
buttonIcon: StudioTheme.Constants.alignLeft
tooltip: qsTr("Align left edges.")
@@ -63,6 +68,7 @@ Section {
alignToComboBox.currentEnum,
keyObjectComboBox.currentText)
}
AbstractButton {
buttonIcon: StudioTheme.Constants.alignCenterHorizontal
tooltip: qsTr("Align horizontal centers.")
@@ -70,6 +76,7 @@ Section {
alignToComboBox.currentEnum,
keyObjectComboBox.currentText)
}
AbstractButton {
buttonIcon: StudioTheme.Constants.alignRight
tooltip: qsTr("Align right edges.")
@@ -79,8 +86,18 @@ Section {
}
}
Spacer {
implicitWidth: StudioTheme.Values.controlGap
+ StudioTheme.Values.controlLabelWidth
+ StudioTheme.Values.controlGap
+ StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
- horizontalAlignmentButtons.implicitWidth
}
Row {
spacing: -StudioTheme.Values.border
AbstractButton {
buttonIcon: StudioTheme.Constants.alignTop
tooltip: qsTr("Align top edges.")
@@ -88,6 +105,7 @@ Section {
alignToComboBox.currentEnum,
keyObjectComboBox.currentText)
}
AbstractButton {
buttonIcon: StudioTheme.Constants.alignCenterVertical
tooltip: qsTr("Align vertical centers.")
@@ -95,6 +113,7 @@ Section {
alignToComboBox.currentEnum,
keyObjectComboBox.currentText)
}
AbstractButton {
buttonIcon: StudioTheme.Constants.alignBottom
tooltip: qsTr("Align bottom edges.")
@@ -105,16 +124,15 @@ Section {
}
}
Label {
text: qsTr("Distribute objects")
width: 120
Layout.columnSpan: 2
}
PropertyLabel { text: qsTr("Distribute Objects") }
SecondColumnLayout {
Spacer { implicitWidth: StudioTheme.Values.actionIndicatorWidth }
RowLayout {
Layout.columnSpan: 2
Row {
id: horizontalDistributionButtons
spacing: -StudioTheme.Values.border
AbstractButton {
buttonIcon: StudioTheme.Constants.distributeLeft
tooltip: qsTr("Distribute left edges.")
@@ -122,6 +140,7 @@ Section {
alignToComboBox.currentEnum,
keyObjectComboBox.currentText)
}
AbstractButton {
buttonIcon: StudioTheme.Constants.distributeCenterHorizontal
tooltip: qsTr("Distribute horizontal centers.")
@@ -129,6 +148,7 @@ Section {
alignToComboBox.currentEnum,
keyObjectComboBox.currentText)
}
AbstractButton {
buttonIcon: StudioTheme.Constants.distributeRight
tooltip: qsTr("Distribute right edges.")
@@ -138,8 +158,18 @@ Section {
}
}
Spacer {
implicitWidth: StudioTheme.Values.controlGap
+ StudioTheme.Values.controlLabelWidth
+ StudioTheme.Values.controlGap
+ StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
- horizontalDistributionButtons.implicitWidth
}
Row {
spacing: -StudioTheme.Values.border
AbstractButton {
buttonIcon: StudioTheme.Constants.distributeTop
tooltip: qsTr("Distribute top edges.")
@@ -147,6 +177,7 @@ Section {
alignToComboBox.currentEnum,
keyObjectComboBox.currentText)
}
AbstractButton {
buttonIcon: StudioTheme.Constants.distributeCenterVertical
tooltip: qsTr("Distribute vertical centers.")
@@ -154,6 +185,7 @@ Section {
alignToComboBox.currentEnum,
keyObjectComboBox.currentText)
}
AbstractButton {
buttonIcon: StudioTheme.Constants.distributeBottom
tooltip: qsTr("Distribute bottom edges.")
@@ -164,16 +196,14 @@ Section {
}
}
Label {
text: qsTr("Distribute spacing")
width: 120
Layout.columnSpan: 2
}
PropertyLabel { text: qsTr("Distribute Spacing") }
SecondColumnLayout {
Spacer { implicitWidth: StudioTheme.Values.actionIndicatorWidth }
RowLayout {
Layout.columnSpan: 2
Row {
spacing: -StudioTheme.Values.border
AbstractButton {
buttonIcon: StudioTheme.Constants.distributeSpacingHorizontal
tooltip: qsTr("Distribute spacing horizontally.")
@@ -183,6 +213,7 @@ Section {
distanceSpinBox.realValue,
buttonRow.getDistributeDirection())
}
AbstractButton {
buttonIcon: StudioTheme.Constants.distributeSpacingVertical
tooltip: qsTr("Distribute spacing vertically.")
@@ -202,8 +233,7 @@ Section {
id: group
}
function getDistributeDirection()
{
function getDistributeDirection() {
if (buttonLeftToRight.checked)
return AlignDistribute.TopLeft
else if (buttonCenter.checked)
@@ -221,33 +251,42 @@ Section {
checkable: true
StudioControls.ButtonGroup.group: group
}
AbstractButton {
id: buttonLeftToRight
buttonIcon: StudioTheme.Constants.distributeOriginTopLeft
checkable: true
StudioControls.ButtonGroup.group: group
}
AbstractButton {
id: buttonCenter
buttonIcon: StudioTheme.Constants.distributeOriginCenter
checkable: true
StudioControls.ButtonGroup.group: group
}
AbstractButton {
id: buttonRightToLeft
buttonIcon: StudioTheme.Constants.distributeOriginBottomRight
checkable: true
StudioControls.ButtonGroup.group: group
}
}
}
StudioControls.RealSpinBox {
id: distanceSpinBox
width: 64
actionIndicatorVisible: false
realFrom: -1000
realTo: 1000
enabled: !buttonNone.checked
}
PropertyLabel { text: qsTr("Pixel Spacing") }
SecondColumnLayout {
Spacer { implicitWidth: StudioTheme.Values.actionIndicatorWidth }
StudioControls.RealSpinBox {
id: distanceSpinBox
implicitWidth: StudioTheme.Values.twoControlColumnWidth
actionIndicatorVisible: false
realFrom: -1000
realTo: 1000
enabled: !buttonNone.checked
}
}
@@ -257,14 +296,16 @@ Section {
selectionOnly: true
}
Label {
text: qsTr("Align to")
}
PropertyLabel { text: qsTr("Align to") }
SecondColumnLayout {
ComboBox {
id: alignToComboBox
Layout.fillWidth: true
property int currentEnum: alignTargets.get(alignToComboBox.currentIndex).value
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
textRole: "text"
model: ListModel {
id: alignTargets
@@ -274,21 +315,24 @@ Section {
}
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Key object")
}
PropertyLabel { text: qsTr("Key Object") }
SecondColumnLayout {
ComboBox {
id: keyObjectComboBox
property string lastSelectedItem: ""
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
enabled: alignToComboBox.currentIndex === 2
model: itemFilterModel.itemModel
Layout.fillWidth: true
property string lastSelectedItem: ""
onCompressedActivated: lastSelectedItem = keyObjectComboBox.currentText
onModelChanged: {
var idx = model.indexOf(keyObjectComboBox.lastSelectedItem)
if (idx !== -1)
@@ -298,56 +342,55 @@ Section {
}
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
SectionLayout {
columns: 1
Layout.topMargin: 30
Layout.columnSpan: 2
visible: alignDistribute.multiSelection &&
(alignDistribute.selectionHasAnchors ||
!alignDistribute.selectionExclusivlyItems ||
alignDistribute.selectionContainsRootItem)
PropertyLabel {
text: qsTr("Warning")
visible: root.warningVisible
font.weight: Font.Bold
}
Text {
id: warningTitle
font.family: StudioTheme.Constants.font.family
font.pixelSize: StudioTheme.Values.myFontSize
font.weight: Font.Bold
color: StudioTheme.Values.themeTextColor
text: qsTr("Warning")
SecondColumnLayout {
visible: root.warningVisible
Spacer {
implicitWidth: StudioTheme.Values.actionIndicatorWidth
}
Text {
id: warningRoot
visible: alignDistribute.selectionContainsRootItem
Layout.fillWidth: true
font.family: StudioTheme.Constants.font.family
font.pixelSize: StudioTheme.Values.myFontSize
color: StudioTheme.Values.themeTextColor
wrapMode: Text.WordWrap
text: qsTr("- The selection contains the root component.")
}
Text {
id: warningNonVisual
visible: !alignDistribute.selectionExclusivlyItems
Layout.fillWidth: true
font.family: StudioTheme.Constants.font.family
font.pixelSize: StudioTheme.Values.myFontSize
color: StudioTheme.Values.themeTextColor
wrapMode: Text.WordWrap
text: qsTr("- The selection contains a non-visual component.")
}
Text {
id: warningAnchors
visible: alignDistribute.selectionHasAnchors
Layout.fillWidth: true
font.family: StudioTheme.Constants.font.family
font.pixelSize: StudioTheme.Values.myFontSize
color: StudioTheme.Values.themeTextColor
wrapMode: Text.WordWrap
text: qsTr("- A component in the selection uses anchors.")
Column {
Text {
id: warningRoot
visible: alignDistribute.selectionContainsRootItem
Layout.fillWidth: true
font.family: StudioTheme.Constants.font.family
font.pixelSize: StudioTheme.Values.myFontSize
color: StudioTheme.Values.themeTextColor
wrapMode: Text.WordWrap
text: qsTr("- The selection contains the root component.")
}
Text {
id: warningNonVisual
visible: !alignDistribute.selectionExclusivlyItems
Layout.fillWidth: true
font.family: StudioTheme.Constants.font.family
font.pixelSize: StudioTheme.Values.myFontSize
color: StudioTheme.Values.themeTextColor
wrapMode: Text.WordWrap
text: qsTr("- The selection contains a non-visual component.")
}
Text {
id: warningAnchors
visible: alignDistribute.selectionHasAnchors
Layout.fillWidth: true
font.family: StudioTheme.Constants.font.family
font.pixelSize: StudioTheme.Values.myFontSize
color: StudioTheme.Values.themeTextColor
wrapMode: Text.WordWrap
text: qsTr("- A component in the selection uses anchors.")
}
}
}
}

View File

@@ -24,217 +24,151 @@
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuickDesignerTheme 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
RowLayout {
SectionLayout {
id: anchorRow
opacity: enabled ? 1 : 0.5
property alias iconSource: iconLabel.icon
property variant anchorMargin
property alias iconSource: iconLabel.icon
property alias targetName: targetComboBox.targetName
property alias currentText: targetComboBox.currentText
property alias relativeTarget: buttonRow.relativeTarget
signal targetChanged
property alias buttonRow: buttonRow
property bool verticalAnchor
property bool invertRelativeTargets: false
property bool showAlternativeTargets: true
signal targetChanged
signal sameEdgeButtonClicked
signal centerButtonClicked
signal oppositeEdgeButtonClicked
property alias buttonRow: buttonRow
readonly property color __defaultTextColor: StudioTheme.Values.themeTextColor
PropertyLabel { text: qsTr("Target") }
IconLabel {
id: iconLabel
Layout.alignment: Qt.AlignTop
Layout.topMargin: 4
Layout.leftMargin: 4
}
GridLayout {
Layout.fillWidth: true
rows: 2
columns: 2
Label {
text: qsTr("Target")
color: __defaultTextColor
elide: Text.ElideRight
Layout.minimumWidth: Math.min(60, Layout.preferredWidth + 10)
SecondColumnLayout {
IconLabel {
id: iconLabel
implicitWidth: StudioTheme.Values.actionIndicatorWidth
horizontalAlignment: Text.AlignLeft
}
TargetComboBox {
id: targetComboBox
onCurrentTextChanged: {
anchorRow.targetChanged();
implicitWidth: StudioTheme.Values.singleControlColumnWidth
onCurrentTextChanged: anchorRow.targetChanged()
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Margin") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
minimumValue: -0xffff
maximumValue: 0xffff
backendValue: anchorMargin
realDragRange: 5000
}
Spacer {
implicitWidth: StudioTheme.Values.twoControlColumnGap
+ StudioTheme.Values.actionIndicatorWidth
+ (StudioTheme.Values.twoControlColumnWidth - buttonRow.width)
}
StudioControls.ButtonRow {
id: buttonRow
property variant relativeTarget: anchorBackend.relativeAnchorTargetTop
actionIndicatorVisible: false
onRelativeTargetChanged: {
buttonSameEdge.checked = false
buttonCenter.checked = false
buttonOppositeEdge.checked = false
if (relativeTarget === AnchorBindingProxy.SameEdge) {
if (!invertRelativeTargets) {
buttonSameEdge.checked = true
} else {
buttonOppositeEdge.checked = true
}
} else if (relativeTarget === AnchorBindingProxy.OppositeEdge) {
if (!invertRelativeTargets) {
buttonOppositeEdge.checked = true
} else {
buttonSameEdge.checked = true
}
} else if (relativeTarget === AnchorBindingProxy.Center) {
buttonCenter.checked = true
}
}
StudioControls.ButtonGroup { id: group }
AbstractButton {
id: buttonSameEdge
buttonIcon: verticalAnchor ? StudioTheme.Constants.anchorTop
: StudioTheme.Constants.anchorLeft
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: group
tooltip: verticalAnchor ? qsTr("Anchor to the top of the target.")
: qsTr("Anchor to the left of the target.")
onClicked: {
if (!invertRelativeTargets)
sameEdgeButtonClicked()
else
oppositeEdgeButtonClicked()
}
}
AbstractButton {
id: buttonCenter
buttonIcon: verticalAnchor ? StudioTheme.Constants.centerVertical
: StudioTheme.Constants.centerHorizontal
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: group
tooltip: verticalAnchor ? qsTr("Anchor to the vertical center of the target.")
: qsTr("Anchor to the horizontal center of the target.")
onClicked: centerButtonClicked()
}
AbstractButton {
id: buttonOppositeEdge
buttonIcon: verticalAnchor ? StudioTheme.Constants.anchorBottom
: StudioTheme.Constants.anchorRight
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: group
tooltip: verticalAnchor ? qsTr("Anchor to the bottom of the target.")
: qsTr("Anchor to the right of the target.")
onClicked: {
if (!invertRelativeTargets)
oppositeEdgeButtonClicked()
else
sameEdgeButtonClicked()
}
}
}
Label {
text: qsTr("Margin")
color: __defaultTextColor
elide: Text.ElideRight
Layout.minimumWidth: Math.min(60, Layout.preferredWidth + 10)
}
RowLayout {
SpinBox {
maximumValue: 0xffff
minimumValue: -0xffff
backendValue: anchorMargin
realDragRange: 5000
}
StudioControls.ButtonRow {
id: buttonRow
actionIndicatorVisible: false
property variant relativeTarget: anchorBackend.relativeAnchorTargetTop
onRelativeTargetChanged: {
buttonSameEdge.checked = false
buttonCenter.checked = false
buttonOppositeEdge.checked = false
if (relativeTarget == AnchorBindingProxy.SameEdge) {
if (!invertRelativeTargets) {
buttonSameEdge.checked = true
} else {
buttonOppositeEdge.checked = true
}
} else if (relativeTarget == AnchorBindingProxy.OppositeEdge) {
if (!invertRelativeTargets) {
buttonOppositeEdge.checked = true
} else {
buttonSameEdge.checked = true
}
} else if (relativeTarget == AnchorBindingProxy.Center) {
buttonCenter.checked = true
}
}
StudioControls.ButtonGroup {
id: group
}
AbstractButton {
id: buttonSameEdge
buttonIcon: verticalAnchor ? StudioTheme.Constants.anchorTop : StudioTheme.Constants.anchorLeft
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: group
tooltip: verticalAnchor ? qsTr("Anchor to the top of the target.") : qsTr("Anchor to the left of the target.")
onClicked: {
if (!invertRelativeTargets)
sameEdgeButtonClicked();
else
oppositeEdgeButtonClicked();
}
}
AbstractButton {
id: buttonCenter
buttonIcon: verticalAnchor ? StudioTheme.Constants.centerVertical : StudioTheme.Constants.centerHorizontal
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: group
tooltip: verticalAnchor ? qsTr("Anchor to the vertical center of the target.") : qsTr("Anchor to the horizontal center of the target.")
onClicked: centerButtonClicked();
}
AbstractButton {
id: buttonOppositeEdge
buttonIcon: verticalAnchor ? StudioTheme.Constants.anchorBottom : StudioTheme.Constants.anchorRight
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: group
tooltip: verticalAnchor ? qsTr("Anchor to the bottom of the target.") : qsTr("Anchor to the right of the target.")
onClicked: {
if (!invertRelativeTargets)
oppositeEdgeButtonClicked();
else
sameEdgeButtonClicked();
}
}
}
/*
ButtonRow {
id: buttonRow
property variant relativeTarget: anchorBackend.relativeAnchorTargetTop
onRelativeTargetChanged: {
if (relativeTarget == AnchorBindingProxy.SameEdge) {
if (!invertRelativeTargets) {
buttonRow.initalChecked = 0
buttonRow.checkedIndex = 0
} else {
buttonRow.initalChecked = 2
buttonRow.checkedIndex = 2
}
} else if (relativeTarget == AnchorBindingProxy.OppositeEdge) {
if (!invertRelativeTargets) {
buttonRow.initalChecked = 2
buttonRow.checkedIndex = 2
} else {
buttonRow.initalChecked = 0
buttonRow.checkedIndex = 0
}
} else if (relativeTarget == AnchorBindingProxy.Center) {
buttonRow.initalChecked = 1
buttonRow.checkedIndex = 1
}
}
exclusive: true
ButtonRowButton {
iconSource: "image://icons/anchor-" + (verticalAnchor ? "top" : "left")
tooltip: verticalAnchor ? qsTr("Anchor to the top of the target.") : qsTr("Anchor to the left of the target.")
onClicked: {
if (!invertRelativeTargets)
sameEdgeButtonClicked();
else
oppositeEdgeButtonClicked();
}
}
ButtonRowButton {
iconSource: "image://icons/anchor-" + (verticalAnchor ? "vertical" : "horizontal")
tooltip: verticalAnchor ? qsTr("Anchor to the vertical center of the target.") : qsTr("Anchor to the horizontal center of the target.")
onClicked: centerButtonClicked();
}
ButtonRowButton {
iconSource: "image://icons/anchor-" + (verticalAnchor ? "bottom" : "right")
tooltip: verticalAnchor ? qsTr("Anchor to the bottom of the target.") : qsTr("Anchor to the right of the target.")
onClicked: {
if (!invertRelativeTargets)
oppositeEdgeButtonClicked();
else
sameEdgeButtonClicked();
}
}
}
*/
}
ExpandingSpacer {}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,43 +23,49 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
ImageSpecifics {
ImageSection {
caption: qsTr("Animated Image")
}
Section {
caption: qsTr("Animation Settings")
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Animated Image")
SectionLayout {
Label {
PropertyLabel {
text: qsTr("Speed")
disabledState: !backendValues.speed.isAvailable
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
sliderIndicatorVisible: true
backendValue: backendValues.speed
hasSlider: true
decimals: 2
minimumValue: 0
maximumValue: 100
Layout.preferredWidth: 140
enabled: backendValues.speed.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Paused")
tooltip: qsTr("Whether the animated image is paused.")
disabledState: !backendValues.paused.isAvailable
@@ -67,15 +73,17 @@ Column {
SecondColumnLayout {
CheckBox {
enabled: backendValues.paused.isAvailable
text: backendValues.paused.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.paused
implicitWidth: 180
enabled: backendValues.paused.isAvailable
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Playing")
tooltip: qsTr("Whether the animated image is playing.")
disabledState: !backendValues.playing.isAvailable
@@ -83,11 +91,13 @@ Column {
SecondColumnLayout {
CheckBox {
enabled: backendValues.playing.isAvailable
text: backendValues.playing.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.playing
implicitWidth: 180
enabled: backendValues.playing.isAvailable
}
ExpandingSpacer {}
}
}

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 Qt Creator.
@@ -23,14 +23,16 @@
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Section {
id: section
caption: qsTr("Animation")
anchors.left: parent.left
anchors.right: parent.right
@@ -38,89 +40,122 @@ Section {
property bool showEasingCurve: false
SectionLayout {
Label {
PropertyLabel {
text: qsTr("Running")
tooltip: qsTr("Whether the animation is running.")
tooltip: qsTr("Whether the animation is running and paused.")
}
CheckBox {
text: backendValues.running.valueToString
backendValue: backendValues.running
SecondColumnLayout {
CheckBox {
text: StudioTheme.Constants.play
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.running
enabled: backendValue.isAvailable
fontFamily: StudioTheme.Constants.iconFont.family
fontPixelSize: StudioTheme.Values.myIconFontSize
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
CheckBox {
text: StudioTheme.Constants.pause
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.paused
enabled: backendValue.isAvailable
fontFamily: StudioTheme.Constants.iconFont.family
fontPixelSize: StudioTheme.Values.myIconFontSize
}
ExpandingSpacer {}
}
Label {
text: qsTr("Paused")
tooltip: qsTr("Whether the animation is paused.")
disabledState: !backendValues.paused.isAvailable
}
CheckBox {
text: backendValues.paused.valueToString
backendValue: backendValues.paused
enabled: backendValue.isAvailable
}
Label {
PropertyLabel {
text: qsTr("Loops")
tooltip: qsTr("Number of times the animation should play.")
}
SecondColumnLayout {
SpinBox {
id: loopSpinBox
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.loops
maximumValue: 9999999
minimumValue: -1
backendValue: backendValues.loops
Layout.fillWidth: true
Layout.maximumWidth: 100
}
ExpandingSpacer {
Spacer { implicitWidth: StudioTheme.Values.controlGap }
StudioControls.InfinityLoopIndicator {
id: infinityLoopIndicator
infinite: backendValues.loops.value === -1 ? true : false
onInfiniteChanged: {
if (infinityLoopIndicator.infinite === true)
backendValues.loops.value = -1
else
backendValues.loops.value = ((backendValues.loops.value < 0) ? 1 : backendValues.loops.value)
}
}
ExpandingSpacer {}
}
Label {
visible: section.showDuration
PropertyLabel {
text: qsTr("Duration")
tooltip: qsTr("Duration of the animation in milliseconds.")
visible: section.showDuration
}
SecondColumnLayout {
visible: section.showDuration
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
backendValue: backendValues.duration
Layout.fillWidth: true
Layout.maximumWidth: 100
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Always run to end")
PropertyLabel {
text: qsTr("Run to end")
tooltip: qsTr("Runs the animation to completion when it is stopped.")
}
CheckBox {
text: backendValues.alwaysRunToEnd.valueToString
backendValue: backendValues.alwaysRunToEnd
SecondColumnLayout {
CheckBox {
text: backendValues.alwaysRunToEnd.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.alwaysRunToEnd
}
ExpandingSpacer {}
}
Label {
visible: section.showEasingCurve
PropertyLabel {
text: qsTr("Easing curve")
tooltip: qsTr("Defines a custom easing curve.")
visible: section.showEasingCurve
}
BoolButtonRowButton {
visible: section.showEasingCurve
buttonIcon: StudioTheme.Constants.curveDesigner
EasingCurveEditor {
id: easingCurveEditor
modelNodeBackendProperty: modelNodeBackend
}
onClicked: easingCurveEditor.runDialog()
onClicked: easingCurveEditor.runDialog()
}
}
}

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 Qt Creator.
@@ -23,50 +23,67 @@
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Section {
id: section
caption: qsTr("Animation Targets")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
PropertyLabel {
text: qsTr("Target")
tooltip: qsTr("Target to animate the properties of.")
}
SecondColumnLayout {
ItemFilterComboBox {
typeFilter: "QtQuick.QtObject"
validator: RegExpValidator { regExp: /(^$|^[a-z_]\w*)/ }
backendValue: backendValues.target
Layout.fillWidth: true
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Property")
tooltip: qsTr("Property to animate.")
}
LineEdit {
backendValue: backendValues.property
Layout.fillWidth: true
showTranslateCheckBox: false
SecondColumnLayout {
LineEdit {
backendValue: backendValues.property
showTranslateCheckBox: false
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Properties")
tooltip: qsTr("Properties to animate.")
}
LineEdit {
backendValue: backendValues.properties
Layout.fillWidth: true
showTranslateCheckBox: false
}
SecondColumnLayout {
LineEdit {
backendValue: backendValues.properties
showTranslateCheckBox: false
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,195 +23,193 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Border Image")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Source")
}
PropertyLabel { text: qsTr("Source") }
SecondColumnLayout {
UrlChooser {
backendValue: backendValues.source
implicitWidth: 180
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Border left")
PropertyLabel {
text: qsTr("Source size")
disabledState: !backendValues.sourceSize.isAvailable
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.sourceSize_width
minimumValue: -2000
maximumValue: 2000
decimals: 0
enabled: backendValue.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("W") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.sourceSize_height
minimumValue: -2000
maximumValue: 2000
decimals: 0
enabled: backendValue.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("H") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
LinkIndicator2D {}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Tile mode H")
disabledState: !backendValues.horizontalTileMode.isAvailable
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.horizontalTileMode
model: ["Stretch", "Repeat", "Round"]
scope: "BorderImage"
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Tile mode V")
disabledState: !backendValues.verticalTileMode.isAvailable
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
model: ["Stretch", "Repeat", "Round"]
backendValue: backendValues.verticalTileMode
scope: "BorderImage"
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Border left") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.border_left
minimumValue: -2000
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Border right")
}
PropertyLabel { text: qsTr("Border right") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.border_right
minimumValue: -2000
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Border top")
}
PropertyLabel { text: qsTr("Border top") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.border_top
minimumValue: -2000
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Border bottom")
}
PropertyLabel { text: qsTr("Border bottom") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.border_bottom
minimumValue: -2000
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Horizontal tile mode")
disabledState: !backendValues.horizontalTileMode.isAvailable
}
SecondColumnLayout {
ComboBox {
model: ["Stretch", "Repeat", "Round"]
backendValue: backendValues.horizontalTileMode
implicitWidth: 180
Layout.fillWidth: true
scope: "BorderImage"
enabled: backendValue.isAvailable
}
}
Label {
text: qsTr("Vertical tile mode")
disabledState: !backendValues.verticalTileMode.isAvailable
}
SecondColumnLayout {
ComboBox {
model: ["Stretch", "Repeat", "Round"]
backendValue: backendValues.verticalTileMode
implicitWidth: 180
Layout.fillWidth: true
scope: "BorderImage"
enabled: backendValue.isAvailable
}
}
Label {
text: qsTr("Source size")
disabledState: !backendValues.sourceSize.isAvailable
}
SecondColumnLayout {
Label {
text: "W"
width: 12
disabledStateSoft: !backendValues.sourceSize_width.isAvailable
}
SpinBox {
backendValue: backendValues.sourceSize_width
minimumValue: -2000
maximumValue: 2000
enabled: backendValue.isAvailable
decimals: 0
}
Label {
text: "H"
width: 12
disabledStateSoft: !backendValues.sourceSize_height.isAvailable
}
SpinBox {
backendValue: backendValues.sourceSize_height
minimumValue: -2000
maximumValue: 2000
enabled: backendValue.isAvailable
decimals: 0
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Mirror")
tooltip: qsTr("Specifies whether the image should be horizontally inverted.")
disabledState: !backendValues.mirror.isAvailable
}
SecondColumnLayout {
CheckBox {
enabled: backendValues.mirror.isAvailable
text: backendValues.mirror.valueToString
backendValue: backendValues.mirror
implicitWidth: 180
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Mirror") // TODO remove Mirror checkbox when flipping is added to a global setion
tooltip: qsTr("Specifies whether the image should be horizontally inverted.")
disabledState: !backendValues.mirror.isAvailable
}
SecondColumnLayout {
CheckBox {
text: backendValues.mirror.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.mirror
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Smooth")
tooltip: qsTr("Specifies whether the image is smoothly filtered when scaled or transformed.")
disabledState: !backendValues.smooth.isAvailable
@@ -219,15 +217,17 @@ Column {
SecondColumnLayout {
CheckBox {
enabled: backendValues.smooth.isAvailable
text: backendValues.smooth.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.smooth
implicitWidth: 180
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Cache")
tooltip: qsTr("Specifies whether the image should be cached.")
disabledState: !backendValues.cache.isAvailable
@@ -235,15 +235,17 @@ Column {
SecondColumnLayout {
CheckBox {
enabled: backendValues.cache.isAvailable
text: backendValues.cache.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.cache
implicitWidth: 180
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Asynchronous")
tooltip: qsTr("Specifies that images on the local filesystem should be loaded asynchronously in a separate thread.")
disabledState: !backendValues.asynchronous.isAvailable
@@ -251,11 +253,13 @@ Column {
SecondColumnLayout {
CheckBox {
enabled: backendValues.asynchronous.isAvailable
text: backendValues.asynchronous.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.asynchronous
implicitWidth: 180
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
}

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 Qt Creator.
@@ -23,41 +23,41 @@
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
caption: qsTr("Color Animation")
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("To Color")
ColorEditor {
backendValue: backendValues.to
supportGradient: false
SectionLayout {
PropertyLabel { text: qsTr("From color") }
ColorEditor {
backendValue: backendValues.from
supportGradient: false
}
PropertyLabel { text: qsTr("To color") }
ColorEditor {
backendValue: backendValues.to
supportGradient: false
}
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("From Color")
AnimationTargetSection {}
ColorEditor {
backendValue: backendValues.from
supportGradient: false
}
}
AnimationTargetSection {
}
AnimationSection {
showEasingCurve: true
}
AnimationSection { showEasingCurve: true }
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,37 +23,40 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Column")
Label {
text: qsTr("Spacing")
}
anchors.left: parent.left
anchors.right: parent.right
SecondColumnLayout {
SpinBox {
backendValue: backendValues.spacing
minimumValue: -4000
maximumValue: 4000
decimals: 0
}
SectionLayout {
PropertyLabel { text: qsTr("Spacing") }
ExpandingSpacer {
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.spacing
minimumValue: -4000
maximumValue: 4000
decimals: 0
}
ExpandingSpacer {}
}
}
}
PaddingSection {
}
PaddingSection {}
}

View File

@@ -0,0 +1,265 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** 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 General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import QtQuickDesignerTheme 1.0
import QtQuick.Templates 2.15 as T
import HelperWidgets 2.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Component")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
PropertyLabel { text: qsTr("Type") }
SecondColumnLayout {
z: 2
Spacer { implicitWidth: StudioTheme.Values.actionIndicatorWidth }
RoundedPanel {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
height: StudioTheme.Values.height
Label {
anchors.fill: parent
anchors.leftMargin: StudioTheme.Values.inputHorizontalPadding
anchors.topMargin: StudioTheme.Values.typeLabelVerticalShift
text: backendValues.className.value
}
ToolTipArea {
anchors.fill: parent
onDoubleClicked: {
typeLineEdit.text = backendValues.className.value
typeLineEdit.visible = !typeLineEdit.visible
typeLineEdit.forceActiveFocus()
}
tooltip: qsTr("Changes the type of this component.")
enabled: !modelNodeBackend.multiSelection
}
ExpressionTextField {
id: typeLineEdit
z: 2
completeOnlyTypes: true
replaceCurrentTextByCompletion: true
anchors.fill: parent
visible: false
fixedSize: true
property bool blockEditingFinished: false
onEditingFinished: {
if (typeLineEdit.blockEditingFinished)
return
typeLineEdit.blockEditingFinished = true
if (typeLineEdit.visible)
changeTypeName(typeLineEdit.text.trim())
typeLineEdit.visible = false
typeLineEdit.blockEditingFinished = false
typeLineEdit.completionList.model = null
}
onRejected: {
typeLineEdit.visible = false
typeLineEdit.completionList.model = null
}
}
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("id") }
SecondColumnLayout {
Spacer { implicitWidth: StudioTheme.Values.actionIndicatorWidth }
LineEdit {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
width: StudioTheme.Values.singleControlColumnWidth
backendValue: backendValues.id
placeholderText: qsTr("id")
text: backendValues.id.value
showTranslateCheckBox: false
showExtendedFunctionButton: false
enabled: !modelNodeBackend.multiSelection
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
Rectangle {
id: aliasIndicator
color: "transparent"
border.color: "transparent"
implicitWidth: StudioTheme.Values.iconAreaWidth // TODO dedicated value
implicitHeight: StudioTheme.Values.height // TODO dedicated value
z: 10
T.Label {
id: aliasIndicatorIcon
enabled: !modelNodeBackend.multiSelection && anchorBackend.hasParent
anchors.fill: parent
text: StudioTheme.Constants.alias
color: StudioTheme.Values.themeTextColor
font.family: StudioTheme.Constants.iconFont.family
font.pixelSize: StudioTheme.Values.myIconFontSize + 4 // TODO
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
states: [
State {
name: "default"
when: !toolTipArea.containsMouse && !hasAliasExport
PropertyChanges {
target: aliasIndicatorIcon
color: StudioTheme.Values.themeLinkIndicatorColor
}
},
State {
name: "hover"
when: toolTipArea.containsMouse && !hasAliasExport
PropertyChanges {
target: aliasIndicatorIcon
color: StudioTheme.Values.themeLinkIndicatorColorHover
}
},
State {
name: "active"
when: hasAliasExport
PropertyChanges {
target: aliasIndicatorIcon
color: StudioTheme.Values.themeLinkIndicatorColorInteraction
}
},
State {
name: "disable"
when: !aliasIndicator.enabled
PropertyChanges {
target: aliasIndicatorIcon
color: StudioTheme.Values.themeLinkIndicatorColorDisabled
}
}
]
}
ToolTipArea {
id: toolTipArea
enabled: !modelNodeBackend.multiSelection && anchorBackend.hasParent
anchors.fill: parent
onClicked: toogleExportAlias()
tooltip: qsTr("Exports this component as an alias property of the root component.")
}
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("id Annotation") }
SecondColumnLayout {
enabled: !modelNodeBackend.multiSelection
Spacer { implicitWidth: StudioTheme.Values.actionIndicatorWidth }
Row {
spacing: -StudioTheme.Values.border
visible: annotationEditor.hasAuxData
LineEdit {
id: annotationEdit
width: StudioTheme.Values.singleControlColumnWidth
- editAnnotationButton.width
- removeAnnotationButton.width
+ 2 * StudioTheme.Values.border
backendValue: backendValues.customId__AUX
placeholderText: qsTr("customId")
text: backendValue.value
showTranslateCheckBox: false
showExtendedFunctionButton: false
onHoveredChanged: annotationEditor.checkAux()
onActiveFocusChanged: annotationEdit.z = activeFocus ? 10 : 0
}
StudioControls.AbstractButton {
id: editAnnotationButton
buttonIcon: StudioTheme.Constants.edit
onClicked: annotationEditor.showWidget()
onHoveredChanged: annotationEditor.checkAux()
}
StudioControls.AbstractButton {
id: removeAnnotationButton
buttonIcon: StudioTheme.Constants.closeCross
onClicked: annotationEditor.removeFullAnnotation()
onHoveredChanged: annotationEditor.checkAux()
}
}
StudioControls.AbstractButton {
id: addAnnotationButton
implicitWidth: StudioTheme.Values.singleControlColumnWidth
width: StudioTheme.Values.singleControlColumnWidth
visible: !annotationEditor.hasAuxData
buttonIcon: qsTr("add")
iconFont: StudioTheme.Constants.font
onClicked: annotationEditor.showWidget()
onHoveredChanged: annotationEditor.checkAux()
}
ExpandingSpacer {}
AnnotationEditor {
id: annotationEditor
modelNodeBackendProperty: modelNodeBackend
property bool hasAuxData: (annotationEditor.hasAnnotation || annotationEditor.hasCustomId)
onModelNodeBackendChanged: checkAux()
onCustomIdChanged: checkAux()
onAnnotationChanged: checkAux()
function checkAux() {
hasAuxData = (annotationEditor.hasAnnotation || annotationEditor.hasCustomId)
annotationEdit.update()
}
onAccepted: hideWidget()
onCanceled: hideWidget()
}
}
}
}

View File

@@ -0,0 +1,152 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuickDesignerTheme 1.0
import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Button content")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
PropertyLabel {
text: qsTr("Text")
tooltip: qsTr("The text displayed on the button.")
}
SecondColumnLayout {
LineEdit {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.text
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Display")
tooltip: qsTr("Determines how the icon and text are displayed within the button.")
disabledState: !backendValues.display.isAvailable
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.display
model: [ "IconOnly", "TextOnly", "TextBesideIcon" ]
scope: "AbstractButton"
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Checkable")
tooltip: qsTr("Whether the button is checkable.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.checkable.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.checkable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Checked")
tooltip: qsTr("Whether the button is checked.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.checked.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.checked
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Exclusive")
tooltip: qsTr("Whether the button is exclusive.")
disabledState: !backendValues.autoExclusive.isAvailable
}
SecondColumnLayout {
CheckBox {
text: backendValues.autoExclusive.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.autoExclusive
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Auto-repeat")
tooltip: qsTr("Whether the button repeats pressed(), released() and clicked() signals while the button is pressed and held down.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.autoRepeat.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.autoRepeat
}
ExpandingSpacer {}
}
}
}

View File

@@ -0,0 +1,73 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
caption: qsTr("Busy indicator")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Running")
tooltip: qsTr("Whether the busy indicator is currently indicating activity.")
}
SecondColumnLayout {
CheckBox {
text: qsTr("live")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.running
}
ExpandingSpacer {}
}
}
}
ControlSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,79 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuickDesignerTheme 1.0
import StudioTheme 1.0 as StudioTheme
Section {
id: section
caption: qsTr("Button")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
PropertyLabel {
text: qsTr("Appearance")
tooltip: qsTr("Whether the button is flat and/or highlighted.")
disabledState: !backendValues.flat.isAvailable
}
SecondColumnLayout {
CheckBox {
text: qsTr("Flat")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.flat
enabled: backendValue.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
CheckBox {
text: qsTr("Highlight")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlighted
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
}
}

View File

@@ -0,0 +1,56 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuickDesignerTheme 1.0
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
ButtonSection {}
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,55 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
CheckSection {}
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,57 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
CheckSection {}
ItemDelegateSection {}
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,84 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Check box")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
PropertyLabel {
text: qsTr("Check state")
tooltip: qsTr("The current check state.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.checkState
model: [ "Unchecked", "PartiallyChecked", "Checked" ]
scope: "Qt"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Tri-state")
tooltip: qsTr("Whether the checkbox has three states.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.tristate.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.tristate
}
ExpandingSpacer {}
}
}
}

View File

@@ -0,0 +1,141 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
caption: qsTr("Combo Box")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Text role")
tooltip: qsTr("The model role used for displaying text.")
}
SecondColumnLayout {
LineEdit {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.textRole
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Display text")
tooltip: qsTr("Holds the text that is displayed on the combo box button.")
}
SecondColumnLayout {
LineEdit {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.displayText
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Current")
tooltip: qsTr("The index of the current item.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.currentIndex
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Flat")
tooltip: qsTr("Whether the combo box button is flat.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.flat.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.flat
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Editable")
tooltip: qsTr("Whether the combo box is editable.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.editable.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.editable
}
ExpandingSpacer {}
}
}
}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,66 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Container")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Current index")
tooltip: qsTr("The index of the current item.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.currentIndex
}
ExpandingSpacer {}
}
}
}

View File

@@ -0,0 +1,128 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Control")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
PropertyLabel {
text: qsTr("Enable")
tooltip: qsTr("Whether the control is enabled and hover events are received.")
}
SecondColumnLayout {
CheckBox {
text: qsTr("Control")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.enabled
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
CheckBox {
text: qsTr("Hover")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.hoverEnabled
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Focus policy")
tooltip: qsTr("Focus policy of the control.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.focusPolicy
model: [ "TabFocus", "ClickFocus", "StrongFocus", "WheelFocus", "NoFocus" ]
scope: "Qt"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Spacing")
tooltip: qsTr("Spacing between internal elements of the control.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.spacing
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Wheel")
tooltip: qsTr("Whether control accepts wheel events.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.wheelEnabled.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.wheelEnabled
}
ExpandingSpacer {}
}
}
}

View File

@@ -0,0 +1,84 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
caption: qsTr("Delay button")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Delay")
tooltip: qsTr("The delay in milliseconds.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
minimumValue: 0
maximumValue: 9999999
decimals: 0
stepSize: 1
backendValue: backendValues.delay
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: "ms" }
ExpandingSpacer {}
}
}
}
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,197 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
caption: qsTr("Dial")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Value")
tooltip: qsTr("The current value of the dial and whether it provides live value updates.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
decimals: 2
stepSize: 0.1
backendValue: backendValues.value
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
CheckBox {
text: qsTr("live")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.live
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("From")
tooltip: qsTr("The starting value of the dial range.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.from
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("To")
tooltip: qsTr("The ending value of the dial range.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.to
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Step size")
tooltip: qsTr("The step size of the dial.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.stepSize
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Snap mode")
tooltip: qsTr("The snap mode of the dial.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.snapMode
model: [ "NoSnap", "SnapOnRelease", "SnapAlways" ]
scope: "Dial"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Input mode")
tooltip: qsTr("How the dial tracks movement.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.inputMode
model: [ "Circular", "Horizontal", "Vertical" ]
scope: "Dial"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Wrap")
tooltip: qsTr("Whether the dial wraps when dragged.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.wrap.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.wrap
}
ExpandingSpacer {}
}
}
}
ControlSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,57 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
PaneSection {
caption: qsTr("Frame")
}
ControlSection {}
PaddingSection {}
FontSection {
caption: qsTr("Font inheritance")
expanded: false
}
}

View File

@@ -0,0 +1,76 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
caption: qsTr("Group box")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Title")
tooltip: qsTr("The title of the group box.")
}
SecondColumnLayout {
LineEdit {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.title
}
ExpandingSpacer {}
}
}
}
PaneSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,145 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Inset")
width: parent.width
SectionLayout {
PropertyLabel { text: qsTr("Vertical") }
SecondColumnLayout {
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 10000
minimumValue: -10000
realDragRange: 5000
decimals: 0
backendValue: backendValues.topInset
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
MultiIconLabel {
icon0: StudioTheme.Constants.paddingFrame
icon1: StudioTheme.Constants.paddingEdge
tooltip: qsTr("Top inset for the background.")
//disabledStateSoft: !backendValues.topPadding.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 10000
minimumValue: -10000
realDragRange: 5000
decimals: 0
backendValue: backendValues.bottomInset
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
MultiIconLabel {
icon0: StudioTheme.Constants.paddingFrame
icon1: StudioTheme.Constants.paddingEdge
rotation: 180
tooltip: qsTr("Bottom inset for the background.")
//disabledStateSoft: !backendValues.bottomPadding.isAvailable
}
ExpandingSpacer {}
}
}
PropertyLabel { text: qsTr("Horizontal") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 10000
minimumValue: -10000
realDragRange: 5000
decimals: 0
backendValue: backendValues.leftInset
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
MultiIconLabel {
icon0: StudioTheme.Constants.paddingFrame
icon1: StudioTheme.Constants.paddingEdge
rotation: 270
tooltip: qsTr("Left inset for the background.")
//disabledStateSoft: !backendValues.leftPadding.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 10000
minimumValue: -10000
realDragRange: 5000
decimals: 0
backendValue: backendValues.rightInset
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
MultiIconLabel {
icon0: StudioTheme.Constants.paddingFrame
icon1: StudioTheme.Constants.paddingEdge
rotation: 90
tooltip: qsTr("Right inset for the background.")
//disabledStateSoft: !backendValues.rightPadding.isAvailable
}
ExpandingSpacer {}
}
}
}

View File

@@ -0,0 +1,67 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Section {
id: section
caption: qsTr("Item delegate")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
PropertyLabel {
text: qsTr("Highlighted")
tooltip: qsTr("Whether the delegate is highlighted.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.highlighted.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlighted
}
ExpandingSpacer {}
}
}
}

View File

@@ -0,0 +1,54 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
ItemDelegateSection {}
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,60 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
CharacterSection {
showVerticalAlignment: true
}
TextExtrasSection {
width: parent.width
showWrapMode: true
showFormatProperty: true
}
FontExtrasSection {}
PaddingSection {}
InsetSection {}
}

View File

@@ -0,0 +1,119 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
caption: qsTr("Page")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Title")
tooltip: qsTr("Title of the page.")
}
SecondColumnLayout {
LineEdit {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.title
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Content size")
tooltip: qsTr("Content width and height used for calculating the total implicit size.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.contentWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("W")
tooltip: qsTr("Content width used for calculating the total implicit width.")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.contentHeight
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("H")
tooltip: qsTr("Content height used for calculating the total implicit height.")
}
ExpandingSpacer {}
}
}
}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,93 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Pane")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Content size")
tooltip: qsTr("Content width and height used for calculating the total implicit size.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.contentWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("W")
tooltip: qsTr("Content width used for calculating the total implicit width.")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.contentHeight
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("H")
tooltip: qsTr("Content height used for calculating the total implicit height.")
}
ExpandingSpacer {}
}
}
}

View File

@@ -0,0 +1,55 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
PaneSection {}
ControlSection {}
PaddingSection {}
FontSection {
caption: qsTr("Font inheritance")
expanded: false
}
}

View File

@@ -0,0 +1,132 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
caption: qsTr("Progress bar")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Value")
tooltip: qsTr("The current value of the progress.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
decimals: 2
stepSize: 0.1
backendValue: backendValues.value
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("From")
tooltip: qsTr("The starting value for the progress.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.from
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("To")
tooltip: qsTr("The ending value for the progress.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.to
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Indeterminate")
tooltip: qsTr("Whether the progress is indeterminate.")
disabledState: !backendValues.indeterminate.isAvailable
}
SecondColumnLayout {
CheckBox {
text: backendValues.indeterminate.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidt
backendValue: backendValues.indeterminate
enabled: backendValue.isAvailable
}
}
}
}
ControlSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,52 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,56 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
ItemDelegateSection {
caption: qsTr("Radio delegate")
}
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,216 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
caption: qsTr("Range slider")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Value 1")
tooltip: qsTr("The value of the first range slider handle.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
decimals: 2
stepSize: 0.1
backendValue: backendValues.first_value
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
CheckBox {
text: qsTr("live")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.live
tooltip: qsTr("Whether the range slider provides live value updates.")
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Value 2")
tooltip: qsTr("The value of the second range slider handle.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
decimals: 2
stepSize: 0.1
backendValue: backendValues.second_value
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("From")
tooltip: qsTr("The starting value of the range slider range.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.from
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("To")
tooltip: qsTr("The ending value of the range slider range.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.to
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Step size")
tooltip: qsTr("The step size of the range slider.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.stepSize
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Drag threshold")
tooltip: qsTr("The threshold (in logical pixels) at which a Drag event will be initiated.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
minimumValue: 0
maximumValue: 10000
decimals: 0
backendValue: backendValues.touchDragThreshold
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Snap mode")
tooltip: qsTr("The snap mode of the range slider.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.snapMode
model: [ "NoSnap", "SnapOnRelease", "SnapAlways" ]
scope: "RangeSlider"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Orientation")
tooltip: qsTr("The orientation of the range slider.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.orientation
model: [ "Horizontal", "Vertical" ]
scope: "Qt"
}
ExpandingSpacer {}
}
}
}
ControlSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,105 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Round button")
SectionLayout {
PropertyLabel {
text: qsTr("Appearance")
tooltip: qsTr("Whether the button is flat and/or highlighted.")
disabledState: !backendValues.flat.isAvailable
}
SecondColumnLayout {
CheckBox {
text: qsTr("Flat")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.flat
enabled: backendValue.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
CheckBox {
text: qsTr("Highlight")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlighted
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Radius")
tooltip: qsTr("Radius of the button.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
minimumValue: 0
maximumValue: 10000
decimals: 0
backendValue: backendValues.radius
}
ExpandingSpacer {}
}
}
}
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,102 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Scroll view")
SectionLayout {
PropertyLabel { text: qsTr("Content size") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.contentWidth
minimumValue: 0
maximumValue: 10000
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("W")
tooltip: qsTr("Content width used for calculating the total implicit width.")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.contentHeight
minimumValue: 0
maximumValue: 10000
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("H")
tooltip: qsTr("Content height used for calculating the total implicit height.")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
LinkIndicator2D {}
ExpandingSpacer {}
}
}
}
ControlSection {}
PaddingSection {}
FontSection {
caption: qsTr("Font inheritance")
expanded: false
}
}

View File

@@ -0,0 +1,195 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Slider")
SectionLayout {
PropertyLabel {
text: qsTr("Value")
tooltip: qsTr("The current value of the slider.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
decimals: 2
stepSize: 0.1
backendValue: backendValues.value
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
CheckBox {
text: qsTr("live")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.live
tooltip: qsTr("Whether the slider provides live value updates.")
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("From")
tooltip: qsTr("The starting value of the slider range.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.from
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("To")
tooltip: qsTr("The ending value of the slider range.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.to
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Step size")
tooltip: qsTr("The step size of the slider.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
stepSize: 0.1
backendValue: backendValues.stepSize
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Drag threshold")
tooltip: qsTr("The threshold (in logical pixels) at which a Drag event will be initiated.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
minimumValue: 0
maximumValue: 10000
decimals: 0
backendValue: backendValues.touchDragThreshold
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Snap mode")
tooltip: qsTr("The snap mode of the slider.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.snapMode
model: [ "NoSnap", "SnapOnRelease", "SnapAlways" ]
scope: "RangeSlider"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Orientation")
tooltip: qsTr("The orientation of the slider.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.orientation
model: [ "Horizontal", "Vertical" ]
scope: "Qt"
}
ExpandingSpacer {}
}
}
}
ControlSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,161 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Spin box")
SectionLayout {
PropertyLabel {
text: qsTr("Value")
tooltip: qsTr("The current value of the spinbox.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
minimumValue: Math.min(backendValues.from.value, backendValues.to.value)
maximumValue: Math.max(backendValues.from.value, backendValues.to.value)
decimals: 2
backendValue: backendValues.value
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("From")
tooltip: qsTr("The starting value of the spinbox range.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
backendValue: backendValues.from
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("To")
tooltip: qsTr("The ending value of the spinbox range.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
backendValue: backendValues.to
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Step size")
tooltip: qsTr("The step size of the spinbox.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 2
backendValue: backendValues.stepSize
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Editable")
tooltip: qsTr("Whether the spinbox is editable.")
}
SecondColumnLayout {
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
text: backendValues.editable.valueToString
backendValue: backendValues.editable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Wrap")
tooltip: qsTr("Whether the spinbox wraps.")
}
SecondColumnLayout {
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
text: backendValues.wrap.valueToString
backendValue: backendValues.wrap
}
ExpandingSpacer {}
}
}
}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,53 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
ControlSection {}
PaddingSection {}
FontSection {
caption: qsTr("Font inheritance")
expanded: false
}
}

View File

@@ -0,0 +1,54 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
ItemDelegateSection {}
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,96 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Swipe view")
SectionLayout {
PropertyLabel {
text: qsTr("Interactive")
tooltip: qsTr("Whether the view is interactive.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.interactive.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.interactive
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Orientation")
tooltip: qsTr("Orientation of the view.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.orientation
model: [ "Horizontal", "Vertical" ]
scope: "Qt"
}
ExpandingSpacer {}
}
}
}
ContainerSection {}
ControlSection {}
PaddingSection {}
FontSection {
caption: qsTr("Font inheritance")
expanded: false
}
}

View File

@@ -0,0 +1,52 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
ItemDelegateSection {}
AbstractButtonSection {}
ControlSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,52 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,123 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Tab bar")
SectionLayout {
PropertyLabel {
text: qsTr("Position")
tooltip: qsTr("Position of the tabbar.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.position
model: [ "Header", "Footer" ]
scope: "TabBar"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Content size")
tooltip: qsTr("Content width and height used for calculating the total implicit size.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.contentWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("W")
tooltip: qsTr("Content width used for calculating the total implicit width.")
}
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.contentHeight
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: qsTr("H")
tooltip: qsTr("Content height used for calculating the total implicit height.")
}
ExpandingSpacer {}
}
}
}
ContainerSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,52 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
AbstractButtonSection {}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,62 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
TextSection {}
CharacterSection {
showVerticalAlignment: true
}
TextExtrasSection {
showWrapMode: true
showFormatProperty: true
}
FontExtrasSection {}
PaddingSection {}
InsetSection {}
}

View File

@@ -0,0 +1,59 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
TextSection {
caption: qsTr("Text field")
}
CharacterSection {}
TextExtrasSection {}
FontExtrasSection {}
PaddingSection {}
InsetSection {}
}

View File

@@ -0,0 +1,89 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Section {
width: parent.width
caption: qsTr("Text area")
SectionLayout {
PropertyLabel {
text: qsTr("Placeholder text")
tooltip: qsTr("Placeholder text displayed when the editor is empty.")
}
SecondColumnLayout {
LineEdit {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.placeholderText
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Placeholder color")
tooltip: qsTr("Placeholder text color")
}
ColorEditor {
backendValue: backendValues.placeholderTextColor
supportGradient: false
}
PropertyLabel {
text: qsTr("Hover")
tooltip: qsTr("Whether text area accepts hover events.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.hoverEnabled.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.hoverEnabled
}
ExpandingSpacer {}
}
}
}

View File

@@ -0,0 +1,80 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Tool bar")
SectionLayout {
PropertyLabel {
text: qsTr("Position")
tooltip: qsTr("Position of the toolbar.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.position
model: [ "Header", "Footer" ]
scope: "ToolBar"
}
ExpandingSpacer {}
}
}
}
PaneSection {}
ControlSection {}
PaddingSection {}
FontSection {
caption: qsTr("Font inheritance")
expanded: false
}
}

View File

@@ -0,0 +1,54 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
ButtonSection {}
AbstractButtonSection {}
ControlSection { }
FontSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,73 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Tool separator")
SectionLayout {
PropertyLabel {
text: qsTr("Orientation")
tooltip: qsTr("The orientation of the separator.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.orientation
model: [ "Horizontal", "Vertical" ]
scope: "Qt"
}
ExpandingSpacer {}
}
}
}
ControlSection {}
PaddingSection {}
}

View File

@@ -0,0 +1,109 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL3$
** 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 http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or later as published by the Free
** Software Foundation and appearing in the file LICENSE.GPL included in
** the packaging of this file. Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Tumbler")
SectionLayout {
PropertyLabel {
text: qsTr("Visible count")
tooltip: qsTr("The count of visible items.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.visibleItemCount
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Current index")
tooltip: qsTr("The index of the current item.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -9999999
decimals: 0
backendValue: backendValues.currentIndex
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Wrap")
tooltip: qsTr("Whether the tumbler wrap.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.wrap.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.wrap
}
ExpandingSpacer {}
}
}
}
ControlSection {}
FontSection {}
PaddingSection {}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,16 +23,15 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import QtQuick.Layouts 1.15
Column {
anchors.left: parent.left
anchors.right: parent.right
FlickableSection {
anchors.left: parent.left
anchors.right: parent.right
}
FlickableSection {}
FlickableGeometrySection {}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,67 +23,69 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Flow")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Flow")
}
SecondColumnLayout {
ComboBox {
scope: "Flow"
model: ["LeftToRight", "TopToBottom"]
backendValue: backendValues.flow
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Layout direction")
}
SecondColumnLayout {
ComboBox {
scope: "Qt"
model: ["LeftToRight", "RightToLeft"]
backendValue: backendValues.layoutDirection
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Spacing")
}
PropertyLabel { text: qsTr("Spacing") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.spacing
minimumValue: -4000
maximumValue: 4000
decimals: 0
}
ExpandingSpacer {
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Flow") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.flow
model: ["LeftToRight", "TopToBottom"]
scope: "Flow"
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Layout direction") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.layoutDirection
model: ["LeftToRight", "RightToLeft"]
scope: "Qt"
}
ExpandingSpacer {}
}
}
}
PaddingSection {
}
PaddingSection {}
}

View File

@@ -23,100 +23,186 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Section {
caption: qsTr("Geometry")
caption: qsTr("Geometry - 2d")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
rowSpacing: 4
rows: 2
Label {
text: qsTr("Position")
}
PropertyLabel { text: qsTr("Position") }
SecondColumnLayout {
Label {
text: "X"
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.x
maximumValue: 0xffff
minimumValue: -0xffff
decimals: 0
realDragRange: 5000
}
Item {
width: 4
height: 4
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
Label {
text: "Y"
width: 12
}
ControlLabel { text: "X" }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.y
maximumValue: 0xffff
minimumValue: -0xffff
decimals: 0
realDragRange: 5000
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Size")
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: "Y" }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
LinkIndicator2D {}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Size") }
SecondColumnLayout {
Layout.fillWidth: true
Label {
text: "W"
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.width
maximumValue: 0xffff
minimumValue: 0
decimals: 0
realDragRange: 5000
}
Item {
width: 4
height: 4
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
Label {
text: "H"
width: 12
}
ControlLabel { text: qsTr("W") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.height
maximumValue: 0xffff
minimumValue: 0
decimals: 0
realDragRange: 5000
}
ExpandingSpacer {
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("H") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
LinkIndicator2D {}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Rotation") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.rotation
decimals: 2
minimumValue: -360
maximumValue: 360
enabled: backendValues.rotation.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: "°" }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
StudioControls.ButtonRow {
actionIndicatorVisible: true
StudioControls.ButtonGroup { id: mirrorGroup }
StudioControls.AbstractButton {
id: mirrorVertical
buttonIcon: StudioTheme.Constants.mirror
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: mirrorGroup
checked: true
}
StudioControls.AbstractButton {
id: mirrorHorizontal
buttonIcon: StudioTheme.Constants.mirror
checkable: true
autoExclusive: true
StudioControls.ButtonGroup.group: mirrorGroup
iconRotation: 90
}
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Scale") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
sliderIndicatorVisible: true
backendValue: backendValues.scale
decimals: 2
stepSize: 0.1
minimumValue: -10
maximumValue: 10
enabled: backendValues.scale.isAvailable
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: "%" }
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Z Stack") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.z
minimumValue: -100
maximumValue: 100
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Origin") }
SecondColumnLayout {
OriginControl {
backendValue: backendValues.transformOrigin
enabled: backendValues.transformOrigin.isAvailable
}
ExpandingSpacer {}
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,120 +23,126 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Grid")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Columns")
}
PropertyLabel { text: qsTr("Columns") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.columns
minimumValue: 0
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Rows")
}
PropertyLabel { text: qsTr("Rows") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.rows
minimumValue: 0
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Flow")
}
SecondColumnLayout {
ComboBox {
model: ["LeftToRight", "TopToBottom"]
backendValue: backendValues.flow
Layout.fillWidth: true
scope: "Grid"
}
}
Label {
text: qsTr("Layout direction")
}
SecondColumnLayout {
ComboBox {
model: ["LeftToRight", "RightToLeft"]
backendValue: backendValues.layoutDirection
Layout.fillWidth: true
scope: "Qt"
}
}
Label {
text: qsTr("Horizontal component alignment")
}
SecondColumnLayout {
ComboBox {
model: ["AlignLeft", "AlignRight" ,"AlignHCenter"]
backendValue: backendValues.horizontalItemAlignment
Layout.fillWidth: true
scope: "Grid"
}
}
Label {
text: qsTr("Vertical component alignment")
}
SecondColumnLayout {
ComboBox {
model: ["AlignTop", "AlignBottom" ,"AlignVCenter"]
backendValue: backendValues.verticalItemAlignment
Layout.fillWidth: true
scope: "Grid"
}
}
Label {
text: qsTr("Spacing")
}
PropertyLabel { text: qsTr("Spacing") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.spacing
minimumValue: -4000
maximumValue: 4000
decimals: 0
}
ExpandingSpacer {
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Flow") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.flow
model: ["LeftToRight", "TopToBottom"]
scope: "Grid"
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Layout direction") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.layoutDirection
model: ["LeftToRight", "RightToLeft"]
scope: "Qt"
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Alignment H") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.horizontalItemAlignment
model: ["AlignLeft", "AlignRight" ,"AlignHCenter"]
scope: "Grid"
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Alignment V") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.verticalItemAlignment
model: ["AlignTop", "AlignBottom" ,"AlignVCenter"]
scope: "Grid"
}
ExpandingSpacer {}
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,9 +23,11 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
@@ -37,213 +39,230 @@ Column {
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Grid View")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Cache")
tooltip: qsTr("Cache buffer")
}
SectionLayout {
SpinBox {
backendValue: backendValues.cacheBuffer
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Cell size")
}
PropertyLabel { text: qsTr("Cell size") }
SecondColumnLayout {
Label {
text: "W"
width: 12
}
SpinBox {
backendValue: backendValues.cellWidth
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.contentWidth
minimumValue: 0
maximumValue: 1000
decimals: 0
maximumValue: 10000
}
Item {
width: 4
height: 4
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("W") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.contentHeight
minimumValue: 0
maximumValue: 10000
}
Label {
text: "H"
width: 12
}
SpinBox {
backendValue: backendValues.cellHeight
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("H") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
LinkIndicator2D {}
ExpandingSpacer {}
}
Label {
text: qsTr("Flow")
}
PropertyLabel { text: qsTr("Flow") }
SecondColumnLayout {
ComboBox {
scope: "GridView"
model: ["FlowLeftToRight", "FlowTopToBottom"]
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.flow
Layout.fillWidth: true
}
ExpandingSpacer {
model: ["FlowLeftToRight", "FlowTopToBottom"]
scope: "GridView"
}
ExpandingSpacer {}
}
Label {
text: qsTr("Navigation wraps")
tooltip: qsTr("Whether the grid wraps key navigation.")
}
SectionLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.keyNavigationWraps
text: backendValues.keyNavigationWraps.valueToString
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Layout direction")
}
PropertyLabel { text: qsTr("Layout direction") }
SecondColumnLayout {
ComboBox {
scope: "Qt"
model: ["LeftToRight", "RightToLeft"]
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.layoutDirection
Layout.fillWidth: true
}
ExpandingSpacer {
model: ["LeftToRight", "RightToLeft"]
scope: "Qt"
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Snap mode")
tooltip: qsTr("Determines how the view scrolling will settle following a drag or flick.")
}
SecondColumnLayout {
ComboBox {
scope: "GridView"
model: ["NoSnap", "SnapToRow", "SnapOneRow"]
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.snapMode
Layout.fillWidth: true
}
ExpandingSpacer {
model: ["NoSnap", "SnapToRow", "SnapOneRow"]
scope: "GridView"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Cache")
tooltip: qsTr("Cache buffer")
disabledState: !backendValues.cacheBuffer.isAvailable
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.cacheBuffer
minimumValue: 0
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Navigation wraps")
tooltip: qsTr("Whether the grid wraps key navigation.")
disabledState: !backendValues.keyNavigationWraps.isAvailable
}
SecondColumnLayout {
CheckBox {
text: backendValues.keyNavigationWraps.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.keyNavigationWraps
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Grid View Highlight")
SectionLayout {
anchors.left: parent.left
anchors.right: parent.right
Label {
SectionLayout {
PropertyLabel {
text: qsTr("Range")
tooltip: qsTr("Highlight range")
}
SecondColumnLayout {
ComboBox {
scope: "GridView"
model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"]
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.highlightRangeMode
Layout.fillWidth: true
}
ExpandingSpacer {
model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"]
scope: "GridView"
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Move duration")
tooltip: qsTr("Move animation duration of the highlight delegate.")
}
SectionLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlightMoveDuration
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Preferred begin")
tooltip: qsTr("Preferred highlight begin - must be smaller than Preferred end.")
}
SectionLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preferredHighlightBegin
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Preferred end")
tooltip: qsTr("Preferred highlight end - must be larger than Preferred begin.")
}
SectionLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preferredHighlightEnd
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Follows current")
tooltip: qsTr("Whether the highlight is managed by the view.")
}
SectionLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.highlightFollowsCurrentItem
text: backendValues.highlightFollowsCurrentItem.valueToString
backendValue: backendValues.highlightFollowsCurrentItem
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {
}
}
ExpandingSpacer {}
}
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,223 +23,15 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Image")
SectionLayout {
Label {
text: qsTr("Source")
}
SecondColumnLayout {
UrlChooser {
Layout.fillWidth: true
backendValue: backendValues.source
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Fill mode")
}
SecondColumnLayout {
ComboBox {
scope: "Image"
model: ["Stretch", "PreserveAspectFit", "PreserveAspectCrop", "Tile", "TileVertically", "TileHorizontally", "Pad"]
backendValue: backendValues.fillMode
implicitWidth: 180
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Source size")
disabledState: !backendValues.sourceSize.isAvailable
}
SecondColumnLayout {
Label {
text: "W"
width: 12
disabledStateSoft: !backendValues.sourceSize_width.isAvailable
}
SpinBox {
backendValue: backendValues.sourceSize_width
minimumValue: 0
maximumValue: 8192
decimals: 0
enabled: backendValue.isAvailable
}
Item {
width: 4
height: 4
}
Label {
text: "H"
width: 12
disabledStateSoft: !backendValues.sourceSize_height.isAvailable
}
SpinBox {
backendValue: backendValues.sourceSize_height
minimumValue: 0
maximumValue: 8192
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Horizontal alignment")
}
SecondColumnLayout {
ComboBox {
scope: "Image"
model: ["AlignLeft", "AlignRight", "AlignHCenter"]
backendValue: backendValues.horizontalAlignment
implicitWidth: 180
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Vertical alignment")
}
SecondColumnLayout {
ComboBox {
scope: "Image"
model: ["AlignTop", "AlignBottom", "AlignVCenter"]
backendValue: backendValues.verticalAlignment
implicitWidth: 180
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Asynchronous")
tooltip: qsTr("Loads images on the local filesystem asynchronously in a separate thread.")
disabledState: !backendValues.asynchronous.isAvailable
}
SecondColumnLayout {
CheckBox {
enabled: backendValues.asynchronous.isAvailable
text: backendValues.asynchronous.valueToString
backendValue: backendValues.asynchronous
implicitWidth: 180
}
ExpandingSpacer {}
}
Label {
text: qsTr("Auto transform")
tooltip: qsTr("Automatically applies image transformation metadata such as EXIF orientation.")
disabledState: !backendValues.autoTransform.isAvailable
}
SecondColumnLayout {
CheckBox {
enabled: backendValues.autoTransform.isAvailable
text: backendValues.autoTransform.valueToString
backendValue: backendValues.autoTransform
implicitWidth: 180
}
ExpandingSpacer {}
}
Label {
text: qsTr("Cache")
tooltip: qsTr("Caches the image.")
disabledState: !backendValues.cache.isAvailable
}
SecondColumnLayout {
CheckBox {
enabled: backendValues.cache.isAvailable
text: backendValues.cache.valueToString
backendValue: backendValues.cache
implicitWidth: 180
}
ExpandingSpacer {}
}
Label {
text: qsTr("Mipmap")
tooltip: qsTr("Uses mipmap filtering when the image is scaled or transformed.")
disabledState: !backendValues.mipmap.isAvailable
}
SecondColumnLayout {
CheckBox {
enabled: backendValues.mipmap.isAvailable
text: backendValues.mipmap.valueToString
backendValue: backendValues.mipmap
implicitWidth: 180
}
ExpandingSpacer {}
}
Label {
text: qsTr("Mirror")
tooltip: qsTr("Inverts the image horizontally.")
disabledState: !backendValues.mirror.isAvailable
}
SecondColumnLayout {
CheckBox {
enabled: backendValues.mirror.isAvailable
text: backendValues.mirror.valueToString
backendValue: backendValues.mirror
implicitWidth: 180
}
ExpandingSpacer {}
}
Label {
text: qsTr("Smooth")
tooltip: qsTr("Smoothly filters the image when it is scaled or transformed.")
disabledState: !backendValues.smooth.isAvailable
}
SecondColumnLayout {
CheckBox {
enabled: backendValues.smooth.isAvailable
text: backendValues.smooth.valueToString
backendValue: backendValues.smooth
implicitWidth: 180
}
ExpandingSpacer {}
}
}
}
ImageSection {}
}

View File

@@ -27,6 +27,7 @@ import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import QtQuickDesignerTheme 1.0
import QtQuick.Templates 2.15 as T
import HelperWidgets 2.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
@@ -37,321 +38,90 @@ Rectangle {
height: 400
color: Theme.qmlDesignerBackgroundColorDarkAlternate()
Component.onCompleted: Controller.mainScrollView = mainScrollView
MouseArea {
anchors.fill: parent
onClicked: forceActiveFocus()
}
ScrollView {
id: mainScrollView
clip: true
anchors.fill: parent
Column {
id: mainColumn
y: -1
width: itemPane.width
Section {
z: 2
caption: qsTr("Component")
anchors.left: parent.left
anchors.right: parent.right
onWidthChanged: StudioTheme.Values.responsiveResize(itemPane.width)
Component.onCompleted: StudioTheme.Values.responsiveResize(itemPane.width)
SectionLayout {
Label {
text: qsTr("Type")
}
ComponentSection {}
SecondColumnLayout {
z: 2
RoundedPanel {
Layout.fillWidth: true
height: StudioTheme.Values.height
Label {
anchors.fill: parent
anchors.leftMargin: StudioTheme.Values.inputHorizontalPadding
anchors.topMargin: StudioTheme.Values.typeLabelVerticalShift
text: backendValues.className.value
}
ToolTipArea {
anchors.fill: parent
onDoubleClicked: {
typeLineEdit.text = backendValues.className.value
typeLineEdit.visible = ! typeLineEdit.visible
typeLineEdit.forceActiveFocus()
}
tooltip: qsTr("Changes the type of this component.")
enabled: !modelNodeBackend.multiSelection
}
ExpressionTextField {
id: typeLineEdit
z: 2
completeOnlyTypes: true
replaceCurrentTextByCompletion: true
anchors.fill: parent
visible: false
showButtons: false
fixedSize: true
property bool blockEditingFinished: false
onEditingFinished: {
if (typeLineEdit.blockEditingFinished)
return
typeLineEdit.blockEditingFinished = true
if (typeLineEdit.visible)
changeTypeName(typeLineEdit.text.trim())
typeLineEdit.visible = false
typeLineEdit.blockEditingFinished = false
typeLineEdit.completionList.model = null
}
onRejected: {
typeLineEdit.visible = false
typeLineEdit.completionList.model = null
}
}
}
Item {
Layout.preferredWidth: 20
Layout.preferredHeight: 20
}
}
Label {
text: qsTr("ID")
}
SecondColumnLayout {
spacing: 2
LineEdit {
id: lineEdit
backendValue: backendValues.id
placeholderText: qsTr("ID")
text: backendValues.id.value
Layout.fillWidth: true
width: 240
showTranslateCheckBox: false
showExtendedFunctionButton: false
enabled: !modelNodeBackend.multiSelection
}
Rectangle {
id: aliasIndicator
color: "transparent"
border.color: "transparent"
implicitWidth: StudioTheme.Values.height
implicitHeight: StudioTheme.Values.height
z: 10
Label {
id: aliasIndicatorIcon
enabled: !modelNodeBackend.multiSelection
anchors.fill: parent
text: {
if (!aliasIndicatorIcon.enabled)
return StudioTheme.Constants.idAliasOff
return hasAliasExport ? StudioTheme.Constants.idAliasOn : StudioTheme.Constants.idAliasOff
}
color: {
if (!aliasIndicatorIcon.enabled)
return StudioTheme.Values.themeTextColorDisabled
return hasAliasExport ? StudioTheme.Values.themeInteraction : StudioTheme.Values.themeTextColor
}
font.family: StudioTheme.Constants.iconFont.family
font.pixelSize: Math.round(16 * StudioTheme.Values.scaleFactor)
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
states: [
State {
name: "hovered"
when: toolTipArea.containsMouse && aliasIndicatorIcon.enabled
PropertyChanges {
target: aliasIndicatorIcon
scale: 1.2
}
}
]
}
ToolTipArea {
id: toolTipArea
enabled: !modelNodeBackend.multiSelection
anchors.fill: parent
onClicked: toogleExportAlias()
tooltip: qsTr("Exports this component as an alias property of the root component.")
}
}
}
Label {
text: qsTr("Custom ID")
}
SecondColumnLayout {
enabled: !modelNodeBackend.multiSelection
spacing: 2
LineEdit {
id: annotationEdit
visible: annotationEditor.hasAuxData
backendValue: backendValues.customId__AUX
placeholderText: qsTr("customId")
text: backendValue.value
Layout.fillWidth: true
Layout.preferredWidth: 240
width: 240
showTranslateCheckBox: false
showExtendedFunctionButton: false
onHoveredChanged: annotationEditor.checkAux()
}
StudioControls.AbstractButton {
id: editAnnotationButton
visible: annotationEditor.hasAuxData
Layout.preferredWidth: 22
Layout.preferredHeight: 22
width: 22
buttonIcon: StudioTheme.Constants.edit
onClicked: annotationEditor.showWidget()
onHoveredChanged: annotationEditor.checkAux()
}
StudioControls.AbstractButton {
id: removeAnnotationButton
visible: annotationEditor.hasAuxData
Layout.preferredWidth: 22
Layout.preferredHeight: 22
width: 22
buttonIcon: StudioTheme.Constants.closeCross
onClicked: annotationEditor.removeFullAnnotation()
onHoveredChanged: annotationEditor.checkAux()
}
StudioControls.AbstractButton {
id: addAnnotationButton
visible: !annotationEditor.hasAuxData
buttonIcon: qsTr("Add Annotation")
iconFont: StudioTheme.Constants.font
Layout.fillWidth: true
Layout.preferredWidth: 240
width: 240
onClicked: annotationEditor.showWidget()
onHoveredChanged: annotationEditor.checkAux()
}
Item {
Layout.preferredWidth: 22
Layout.preferredHeight: 22
visible: !annotationEditor.hasAuxData
}
AnnotationEditor {
id: annotationEditor
modelNodeBackendProperty: modelNodeBackend
property bool hasAuxData: (annotationEditor.hasAnnotation || annotationEditor.hasCustomId)
onModelNodeBackendChanged: checkAux()
onCustomIdChanged: checkAux()
onAnnotationChanged: checkAux()
function checkAux() {
hasAuxData = (annotationEditor.hasAnnotation || annotationEditor.hasCustomId)
annotationEdit.update()
}
onAccepted: {
hideWidget()
}
onCanceled: {
hideWidget()
}
}
}
}
}
GeometrySection {
}
GeometrySection {}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Visibility")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
rows: 2
Label {
text: qsTr("Visibility")
}
PropertyLabel { text: qsTr("Visibility") }
SecondColumnLayout {
CheckBox {
text: qsTr("Is visible")
text: qsTr("Visible")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.visible
}
Item {
width: 10
height: 10
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
CheckBox {
text: qsTr("Clip")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.clip
}
Item {
Layout.fillWidth: true
}
ExpandingSpacer {}
}
Label {
text: qsTr("Opacity")
}
PropertyLabel { text: qsTr("Opacity") }
SecondColumnLayout {
SpinBox {
width: StudioTheme.Values.squareComponentWidth * 4
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
sliderIndicatorVisible: true
backendValue: backendValues.opacity
decimals: 2
minimumValue: 0
maximumValue: 1
hasSlider: true
stepSize: 0.1
}
Item {
Layout.fillWidth: true
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("State") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
editable: true
backendValue: backendValues.state
model: allStateNames
valueType: ComboBox.String
}
ExpandingSpacer {}
}
}
}
@@ -373,35 +143,31 @@ Rectangle {
StudioControls.TabButton {
text: qsTr("Layout")
}
StudioControls.TabButton {
text: qsTr("Advanced")
}
}
StackLayout {
id: tabView
property int currentHeight: children[tabView.currentIndex].implicitHeight
property int extraHeight: 40
anchors.left: parent.left
anchors.right: parent.right
currentIndex: tabBar.currentIndex
property int currentHeight: children[currentIndex].implicitHeight
property int extraHeight: 40
height: currentHeight + extraHeight
Column {
anchors.left: parent.left
anchors.right: parent.right
width: parent.width
Loader {
id: specificsTwo
property string theSource: specificQmlData
anchors.left: parent.left
anchors.right: parent.right
visible: theSource !== ""
id: specificsTwo;
sourceComponent: specificQmlComponent
property string theSource: specificQmlData
onTheSourceChanged: {
active = false
active = true
@@ -409,22 +175,22 @@ Rectangle {
}
Loader {
id: specificsOne
anchors.left: parent.left
anchors.right: parent.right
id: specificsOne;
source: specificsUrl;
property int loaderHeight: specificsOne.item.height + tabView.extraHeight
source: specificsUrl
visible: specificsOne.source.toString() !== ""
}
AdvancedSection {}
LayerSection {}
}
Column {
anchors.left: parent.left
anchors.right: parent.right
width: parent.width
LayoutSection {
}
LayoutSection {}
MarginSection {
visible: anchorBackend.isInLayout
@@ -439,16 +205,6 @@ Rectangle {
visible: !anchorBackend.isInLayout
}
}
Column {
anchors.left: parent.left
anchors.right: parent.right
AdvancedSection {
}
LayerSection {
}
}
}
}
}

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 Qt Creator.
@@ -23,9 +23,10 @@
**
****************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioTheme 1.0 as StudioTheme
Section {
anchors.left: parent.left
@@ -34,97 +35,54 @@ Section {
visible: backendValues.layer_effect.isAvailable
SectionLayout {
columns: 2
Label {
text: qsTr("Effect")
tooltip: qsTr("Applies the effect to this layer.")
}
SecondColumnLayout {
ItemFilterComboBox {
typeFilter: "QtQuick.Item"
validator: RegExpValidator { regExp: /(^$|^[a-z_]\w*)/ }
backendValue: backendValues.layer_effect
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
PropertyLabel {
text: qsTr("Enabled")
tooltip: qsTr("Whether the component is layered or not.")
}
SecondColumnLayout {
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
text: backendValues.layer_enabled.valueToString
backendValue: backendValues.layer_enabled
Layout.fillWidth: true
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Format")
tooltip: qsTr("Internal OpenGL format of the texture.")
}
SecondColumnLayout {
ComboBox {
scope: "ShaderEffectSource"
model: ["Alpha", "RGB", "RGBA"]
backendValue: backendValues.layer_format
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Mipmap")
tooltip: qsTr("Generates mipmaps for the texture.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.layer_mipmap.valueToString
backendValue: backendValues.layer_mipmap
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Sampler name")
PropertyLabel {
text: qsTr("Sampler Name")
tooltip: qsTr("Name of the effect's source texture property.")
}
SecondColumnLayout {
LineEdit {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.layer_samplerName
text: backendValues.layer_samplerName.valueToString
Layout.fillWidth: true
showTranslateCheckBox: false
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Samples")
tooltip: qsTr("Allows requesting multisampled rendering in the layer.")
}
SecondColumnLayout {
ComboBox {
id: samplesComboBox
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
model: [2, 4, 8, 16]
backendValue: backendValues.layer_samples
manualMapping: true
Layout.fillWidth: true
onValueFromBackendChanged: {
if (!samplesComboBox.__isCompleted)
@@ -150,93 +108,208 @@ Section {
}
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Effect")
tooltip: qsTr("Applies the effect to this layer.")
}
SecondColumnLayout {
ItemFilterComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
typeFilter: "QtQuick.Item"
validator: RegExpValidator { regExp: /(^$|^[a-z_]\w*)/ }
backendValue: backendValues.layer_effect
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Format")
tooltip: qsTr("Internal OpenGL format of the texture.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
scope: "ShaderEffectSource"
model: ["Alpha", "RGB", "RGBA"]
backendValue: backendValues.layer_format
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Texture size")
tooltip: qsTr("Requested pixel size of the layer's texture.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.layer_textureSize_width
minimumValue: 0
maximumValue: 2000
decimals: 0
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("W") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.layer_textureSize_height
minimumValue: 0
maximumValue: 2000
decimals: 0
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("H") }
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Texture Mirroring")
tooltip: qsTr("Sets how the generated OpenGL texture should be mirrored.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
scope: "ShaderEffectSource"
model: ["NoMirroring", "MirrorHorizontally", "MirrorVertically"]
backendValue: backendValues.layer_textureMirroring
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Wrap mode")
tooltip: qsTr("OpenGL wrap modes associated with the texture.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
scope: "ShaderEffectSource"
model: ["ClampToEdge", "RepeatHorizontally", "RepeatVertically", "Repeat"]
backendValue: backendValues.layer_wrapMode
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Mipmap")
tooltip: qsTr("Generates mipmaps for the texture.")
}
SecondColumnLayout {
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
text: backendValues.layer_mipmap.valueToString
backendValue: backendValues.layer_mipmap
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Smooth")
tooltip: qsTr("Transforms the layer smoothly.")
}
SecondColumnLayout {
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
text: backendValues.layer_smooth.valueToString
backendValue: backendValues.layer_smooth
Layout.fillWidth: true
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
/*
Label {
text: qsTr("Source rectangle")
PropertyLabel {
text: qsTr("Source Rectangle")
tooltip: qsTr("TODO.")
}
SecondColumnLayout {
Label {
text: "X"
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.layer_sourceRect_x
maximumValue: 0xffff
minimumValue: -0xffff
decimals: 0
realDragRange: 5000
}
Item {
width: 4
height: 4
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: "X" }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
Label {
text: "Y"
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.layer_sourceRect_y
maximumValue: 0xffff
minimumValue: -0xffff
decimals: 0
realDragRange: 5000
}
ExpandingSpacer {
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: "Y" }
ExpandingSpacer {}
}
Item {
width: 4
height: 4
}
PropertyLabel {}
SecondColumnLayout {
Layout.fillWidth: true
Label {
text: "W"
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.layer_sourceRect_width
maximumValue: 0xffff
minimumValue: 0
decimals: 0
realDragRange: 5000
}
Item {
width: 4
height: 4
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("W") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
Label {
text: "H"
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.layer_sourceRect_height
maximumValue: 0xffff
minimumValue: 0
@@ -244,77 +317,12 @@ Section {
realDragRange: 5000
}
ExpandingSpacer {
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("H") }
ExpandingSpacer {}
}
*/
Label {
text: qsTr("Texture mirroring")
tooltip: qsTr("Sets how the generated OpenGL texture should be mirrored.")
}
SecondColumnLayout {
ComboBox {
scope: "ShaderEffectSource"
model: ["NoMirroring", "MirrorHorizontally", "MirrorVertically"]
backendValue: backendValues.layer_textureMirroring
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Texture size")
tooltip: qsTr("Requested pixel size of the layer's texture.")
}
SecondColumnLayout {
Label {
text: "W"
width: 12
}
SpinBox {
backendValue: backendValues.layer_textureSize_width
minimumValue: 0
maximumValue: 2000
decimals: 0
}
Item {
width: 4
height: 4
}
Label {
text: "H"
width: 12
}
SpinBox {
backendValue: backendValues.layer_textureSize_height
minimumValue: 0
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Wrap mode")
tooltip: qsTr("OpenGL wrap modes associated with the texture.")
}
SecondColumnLayout {
ComboBox {
scope: "ShaderEffectSource"
model: ["ClampToEdge", "RepeatHorizontally", "RepeatVertically", "Repeat"]
backendValue: backendValues.layer_wrapMode
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,16 +23,19 @@
**
****************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
SectionLayout {
property bool isInModel: backendValue.isInModel;
property bool isInSubState: backendValue.isInSubState;
property variant valueFromBackend: backendValue.value
id: root
property variant backendValue: backendValues.Layout_alignment
property variant valueFromBackend: backendValue === undefined ? 0 : backendValue.value
property bool isInModel: backendValue === undefined ? false : backendValue.isInModel
property bool isInSubState: backendValue === undefined ? false : backendValue.isInSubState
property bool blockAlignment: false
onIsInModelChanged: evaluateAlignment()
@@ -40,66 +43,68 @@ SectionLayout {
onBackendValueChanged: evaluateAlignment()
onValueFromBackendChanged: evaluateAlignment()
property int spinBoxWidth: 82
Connections {
target: modelNodeBackend
onSelectionChanged: {
function onSelectionChanged() {
evaluateAlignment()
}
}
id: root
Component.onCompleted: evaluateAlignment()
function indexOfVerticalAlignment() {
if (backendValue === undefined)
return 0
if (backendValue.expression === undefined)
return 0;
return 0
if (backendValue.expression.indexOf("AlignVCenter") !== -1)
return 0;
return 0
if (backendValue.expression.indexOf("AlignTop") !== -1)
return 1;
return 1
if (backendValue.expression.indexOf("AlignBottom") !== -1)
return 2;
return 2
if (backendValue.expression.indexOf("AlignBaseline") !== -1)
return 3;
return 3
return 0;
return 0
}
function indexOfHorizontalAlignment() {
if (backendValue === undefined)
return 0
if (backendValue.expression === undefined)
return 0;
return 0
if (backendValue.expression.indexOf("AlignLeft") !== -1)
return 0;
return 0
if (backendValue.expression.indexOf("AlignHCenter") !== -1)
return 1;
return 1
if (backendValue.expression.indexOf("AlignRight") !== -1)
return 2;
return 2
return 0;
return 0
}
function evaluateAlignment() {
blockAlignment = true
verticalAlignmentComboBox.currentIndex = indexOfVerticalAlignment();
horizontalAlignmentComboBox.currentIndex = indexOfHorizontalAlignment();
verticalAlignmentComboBox.currentIndex = indexOfVerticalAlignment()
horizontalAlignmentComboBox.currentIndex = indexOfHorizontalAlignment()
blockAlignment = false
}
function composeExpressionString() {
if (blockAlignment)
return;
return
var expressionStr = "";
if (horizontalAlignmentComboBox.currentIndex !== 0
@@ -112,21 +117,44 @@ SectionLayout {
} else {
expressionStr = "Qt.AlignLeft | Qt.AlignVCenter";
backendValue.expression = expressionStr
backendValue.resetValue();
backendValue.resetValue()
}
}
Label {
PropertyLabel {
text: qsTr("Alignment")
tooltip: qsTr("Alignment of a component within the cells it occupies.")
}
SecondColumnLayout {
StudioControls.ComboBox {
ColorLogic {
id: colorLogic
id: horizontalAlignmentComboBox
property bool __isCompleted: false
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
labelColor: horizontalAlignmentComboBox.currentIndex === 0 ? colorLogic.__defaultTextColor
: colorLogic.__changedTextColor
model: ["AlignLeft", "AlignHCenter", "AlignRight"]
actionIndicator.icon.color: extFuncLogic.color
actionIndicator.icon.text: extFuncLogic.glyph
actionIndicator.onClicked: extFuncLogic.show()
actionIndicator.forceVisible: extFuncLogic.menuVisible
actionIndicator.visible: true
onActivated: {
if (!horizontalAlignmentComboBox.__isCompleted)
return
horizontalAlignmentComboBox.currentIndex = index
composeExpressionString()
}
Layout.fillWidth: true
Component.onCompleted: horizontalAlignmentComboBox.__isCompleted = true
ColorLogic { id: colorLogic }
ExtendedFunctionLogic {
id: extFuncLogic
@@ -136,42 +164,22 @@ SectionLayout {
verticalAlignmentComboBox.currentIndex = 0
}
}
actionIndicator.icon.color: extFuncLogic.color
actionIndicator.icon.text: extFuncLogic.glyph
actionIndicator.onClicked: extFuncLogic.show()
actionIndicator.forceVisible: extFuncLogic.menuVisible
actionIndicator.visible: true
labelColor: horizontalAlignmentComboBox.currentIndex === 0 ? colorLogic.__defaultTextColor : colorLogic.__changedTextColor
id: horizontalAlignmentComboBox
property bool __isCompleted: false
model: ["AlignLeft", "AlignHCenter", "AlignRight"]
onActivated: {
if (!horizontalAlignmentComboBox.__isCompleted)
return;
horizontalAlignmentComboBox.currentIndex = index
composeExpressionString();
}
Component.onCompleted: {
horizontalAlignmentComboBox.__isCompleted = true;
}
}
}
Label {
}
PropertyLabel { text: "" }
SecondColumnLayout {
StudioControls.ComboBox {
id: verticalAlignmentComboBox
Layout.fillWidth: true
property bool __isCompleted: false
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
labelColor: verticalAlignmentComboBox.currentIndex === 0 ? colorLogic.__defaultTextColor
: colorLogic.__changedTextColor
model: ["AlignVCenter", "AlignTop", "AlignBottom", "AlignBaseline"]
actionIndicator.icon.color: extFuncLogic.color
actionIndicator.icon.text: extFuncLogic.glyph
@@ -179,206 +187,187 @@ SectionLayout {
actionIndicator.forceVisible: extFuncLogic.menuVisible
actionIndicator.visible: true
labelColor: verticalAlignmentComboBox.currentIndex === 0 ? colorLogic.__defaultTextColor : colorLogic.__changedTextColor
property bool __isCompleted: false
model: ["AlignVCenter", "AlignTop", "AlignBottom", "AlignBaseline"]
onActivated: {
if (!verticalAlignmentComboBox.__isCompleted)
return;
return
verticalAlignmentComboBox.currentIndex = index
composeExpressionString();
composeExpressionString()
}
Component.onCompleted: {
verticalAlignmentComboBox.__isCompleted = true;
}
Component.onCompleted: verticalAlignmentComboBox.__isCompleted = true
}
}
Label {
PropertyLabel {
text: qsTr("Fill layout")
tooltip: qsTr("Expands the component as much as possible within the given constraints.")
}
SecondColumnLayout {
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_fillWidth
text: qsTr("Fill width")
Layout.fillWidth: true
text: qsTr("Width")
}
Spacer {
implicitWidth: StudioTheme.Values.twoControlColumnGap
}
CheckBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_fillHeight
text: qsTr("Fill height")
Layout.fillWidth: true
text: qsTr("Height")
}
}
Label {
PropertyLabel {
text: qsTr("Preferred size")
tooltip: qsTr("Preferred size of a component in a layout. If the preferred height or width is -1, it is ignored.")
}
SecondColumnLayout {
Layout.fillWidth: true
Label {
text: "W"
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_preferredWidth
minimumValue: -1
maximumValue: 0xffff
realDragRange: 5000
decimals: 0
}
Item {
width: 4
height: 4
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
Label {
text: "H"
width: 12
}
ControlLabel { text: qsTr("W") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_preferredHeight
minimumValue: -1
maximumValue: 0xffff
realDragRange: 5000
decimals: 0
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("H") }
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Minimum size")
tooltip: qsTr("Minimum size of a component in a layout.")
}
SecondColumnLayout {
Layout.fillWidth: true
Label {
text: "W"
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_minimumWidth
minimumValue: 0
maximumValue: 0xffff
realDragRange: 5000
decimals: 0
}
Item {
width: 4
height: 4
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
Label {
text: "H"
width: 12
}
ControlLabel { text: qsTr("W") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_minimumHeight
minimumValue: 0
maximumValue: 0xffff
realDragRange: 5000
decimals: 0
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("H") }
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Maximum size")
tooltip: qsTr("Maximum size of a component in a layout.")
}
SecondColumnLayout {
Layout.fillWidth: true
Label {
text: "W"
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_maximumWidth
minimumValue: 0
maximumValue: 0xffff
realDragRange: 5000
decimals: 0
}
Item {
width: 4
height: 4
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
Label {
text: "H"
width: 12
}
ControlLabel { text: qsTr("W") }
Spacer { implicitWidth: StudioTheme.Values.controlGap }
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_maximumHeight
minimumValue: 0
maximumValue: 0xffff
realDragRange: 5000
decimals: 0
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: qsTr("H") }
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Row span")
tooltip: qsTr("Row span of a component in a Grid Layout.")
}
SecondColumnLayout {
Layout.fillWidth: true
Item {
height: 4
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_rowSpan
minimumValue: 0
maximumValue: 0xffff
realDragRange: 5000
decimals: 0
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Column span")
tooltip: qsTr("Column span of a component in a Grid Layout.")
}
SecondColumnLayout {
Layout.fillWidth: true
Item {
height: 4
width: 12
}
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.Layout_columnSpan
minimumValue: 0
maximumValue: 0xffff
realDragRange: 5000
decimals: 0
}
ExpandingSpacer {}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,9 +23,9 @@
**
****************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
@@ -33,140 +33,144 @@ Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Layout")
spacing: StudioTheme.Values.sectionRowSpacing + 6
LayoutPoperties {
LayoutProperties {
id: layoutPoperties
visible: anchorBackend.isInLayout
}
ColumnLayout {
SectionLayout {
visible: !anchorBackend.isInLayout
width: parent.width
Label {
text: qsTr("Anchors")
PropertyLabel { text: qsTr("Anchors") }
SecondColumnLayout {
Spacer {
implicitWidth: StudioTheme.Values.actionIndicatorWidth
}
AnchorButtons {}
ExpandingSpacer {}
}
}
AnchorButtons {
AnchorRow {
visible: anchorBackend.topAnchored
iconSource: StudioTheme.Constants.anchorTop
anchorMargin: backendValues.anchors_topMargin
targetName: anchorBackend.topTarget
relativeTarget: anchorBackend.relativeAnchorTargetTop
verticalAnchor: true
onTargetChanged: {
anchorBackend.topTarget = currentText
}
AnchorRow {
visible: anchorBackend.topAnchored
iconSource: StudioTheme.Constants.anchorTop
anchorMargin: backendValues.anchors_topMargin
targetName: anchorBackend.topTarget
onTargetChanged: {
anchorBackend.topTarget = currentText
}
relativeTarget: anchorBackend.relativeAnchorTargetTop
verticalAnchor: true
onSameEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetTop = AnchorBindingProxy.SameEdge
}
onOppositeEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetTop = AnchorBindingProxy.OppositeEdge
}
onCenterButtonClicked: {
anchorBackend.relativeAnchorTargetTop = AnchorBindingProxy.Center
}
onSameEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetTop = AnchorBindingProxy.SameEdge
}
AnchorRow {
visible: anchorBackend.bottomAnchored
iconSource: StudioTheme.Constants.anchorBottom
anchorMargin: backendValues.anchors_bottomMargin
targetName: anchorBackend.bottomTarget
onTargetChanged: {
anchorBackend.bottomTarget = currentText
}
relativeTarget: anchorBackend.relativeAnchorTargetBottom
verticalAnchor: true
invertRelativeTargets: true
onSameEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetBottom = AnchorBindingProxy.SameEdge
}
onOppositeEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetBottom = AnchorBindingProxy.OppositeEdge
}
onCenterButtonClicked: {
anchorBackend.relativeAnchorTargetBottom = AnchorBindingProxy.Center
}
onOppositeEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetTop = AnchorBindingProxy.OppositeEdge
}
AnchorRow {
visible: anchorBackend.leftAnchored
iconSource: StudioTheme.Constants.anchorLeft
anchorMargin: backendValues.anchors_leftMargin
targetName: anchorBackend.leftTarget
onTargetChanged: {
anchorBackend.leftTarget = currentText
}
relativeTarget: anchorBackend.relativeAnchorTargetLeft
verticalAnchor: false
onSameEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetLeft = AnchorBindingProxy.SameEdge
}
onOppositeEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetLeft = AnchorBindingProxy.OppositeEdge
}
onCenterButtonClicked: {
anchorBackend.relativeAnchorTargetLeft = AnchorBindingProxy.Center
}
onCenterButtonClicked: {
anchorBackend.relativeAnchorTargetTop = AnchorBindingProxy.Center
}
}
AnchorRow {
visible: anchorBackend.rightAnchored
iconSource: StudioTheme.Constants.anchorRight
anchorMargin: backendValues.anchors_rightMargin
targetName: anchorBackend.rightTarget
onTargetChanged: {
anchorBackend.rightTarget = currentText
}
relativeTarget: anchorBackend.relativeAnchorTargetRight
verticalAnchor: false
invertRelativeTargets: true
AnchorRow {
visible: anchorBackend.bottomAnchored
iconSource: StudioTheme.Constants.anchorBottom
anchorMargin: backendValues.anchors_bottomMargin
targetName: anchorBackend.bottomTarget
relativeTarget: anchorBackend.relativeAnchorTargetBottom
verticalAnchor: true
invertRelativeTargets: true
onSameEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetRight = AnchorBindingProxy.SameEdge
}
onOppositeEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetRight = AnchorBindingProxy.OppositeEdge
}
onCenterButtonClicked: {
anchorBackend.relativeAnchorTargetRight = AnchorBindingProxy.Center
}
onTargetChanged: {
anchorBackend.bottomTarget = currentText
}
AnchorRow {
showAlternativeTargets: false
visible: anchorBackend.horizontalCentered
iconSource: StudioTheme.Constants.centerHorizontal
anchorMargin: backendValues.anchors_horizontalCenterOffset
targetName: anchorBackend.horizontalTarget
onTargetChanged: {
anchorBackend.horizontalTarget = currentText
}
verticalAnchor: false
buttonRow.visible: false
onSameEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetBottom = AnchorBindingProxy.SameEdge
}
onOppositeEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetBottom = AnchorBindingProxy.OppositeEdge
}
onCenterButtonClicked: {
anchorBackend.relativeAnchorTargetBottom = AnchorBindingProxy.Center
}
}
AnchorRow {
showAlternativeTargets: false
visible: anchorBackend.verticalCentered
iconSource: StudioTheme.Constants.centerVertical
anchorMargin: backendValues.anchors_verticalCenterOffset
targetName: anchorBackend.verticalTarget
onTargetChanged: {
anchorBackend.verticalTarget = currentText
}
verticalAnchor: true
buttonRow.visible: false
AnchorRow {
visible: anchorBackend.leftAnchored
iconSource: StudioTheme.Constants.anchorLeft
anchorMargin: backendValues.anchors_leftMargin
targetName: anchorBackend.leftTarget
relativeTarget: anchorBackend.relativeAnchorTargetLeft
verticalAnchor: false
onTargetChanged: {
anchorBackend.leftTarget = currentText
}
onSameEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetLeft = AnchorBindingProxy.SameEdge
}
onOppositeEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetLeft = AnchorBindingProxy.OppositeEdge
}
onCenterButtonClicked: {
anchorBackend.relativeAnchorTargetLeft = AnchorBindingProxy.Center
}
}
AnchorRow {
visible: anchorBackend.rightAnchored
iconSource: StudioTheme.Constants.anchorRight
anchorMargin: backendValues.anchors_rightMargin
targetName: anchorBackend.rightTarget
relativeTarget: anchorBackend.relativeAnchorTargetRight
verticalAnchor: false
invertRelativeTargets: true
onTargetChanged: {
anchorBackend.rightTarget = currentText
}
onSameEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetRight = AnchorBindingProxy.SameEdge
}
onOppositeEdgeButtonClicked: {
anchorBackend.relativeAnchorTargetRight = AnchorBindingProxy.OppositeEdge
}
onCenterButtonClicked: {
anchorBackend.relativeAnchorTargetRight = AnchorBindingProxy.Center
}
}
AnchorRow {
showAlternativeTargets: false
visible: anchorBackend.horizontalCentered
iconSource: StudioTheme.Constants.centerHorizontal
anchorMargin: backendValues.anchors_horizontalCenterOffset
targetName: anchorBackend.horizontalTarget
verticalAnchor: false
buttonRow.visible: false
onTargetChanged: {
anchorBackend.horizontalTarget = currentText
}
}
AnchorRow {
showAlternativeTargets: false
visible: anchorBackend.verticalCentered
iconSource: StudioTheme.Constants.centerVertical
anchorMargin: backendValues.anchors_verticalCenterOffset
targetName: anchorBackend.verticalTarget
verticalAnchor: true
buttonRow.visible: false
onTargetChanged: {
anchorBackend.verticalTarget = currentText
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,18 +23,17 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
FlickableSection {
anchors.left: parent.left
anchors.right: parent.right
}
FlickableSection {}
Section {
anchors.left: parent.left
@@ -42,77 +41,44 @@ Column {
caption: qsTr("List View")
SectionLayout {
Label {
text: qsTr("Cache")
tooltip: qsTr("Cache buffer")
disabledState: !backendValues.cacheBuffer.isAvailable
}
SectionLayout {
SpinBox {
backendValue: backendValues.cacheBuffer
minimumValue: 0
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Navigation wraps")
tooltip: qsTr("Whether the grid wraps key navigation.")
disabledState: !backendValues.keyNavigationWraps.isAvailable
}
SectionLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.keyNavigationWraps
text: backendValues.keyNavigationWraps.valueToString
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
}
Label {
PropertyLabel {
text: qsTr("Orientation")
tooltip: qsTr("Orientation of the list.")
tooltip: qsTr("Orientation of the list")
}
SecondColumnLayout {
ComboBox {
scope: "ListView"
model: ["Horizontal", "Vertical"]
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.orientation
Layout.fillWidth: true
}
ExpandingSpacer {
model: ["Horizontal", "Vertical"]
scope: "ListView"
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Layout direction")
disabledState: !backendValues.layoutDirection.isAvailable
}
SecondColumnLayout {
ComboBox {
scope: "Qt"
model: ["LeftToRight", "RightToLeft"]
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.layoutDirection
Layout.fillWidth: true
model: ["LeftToRight", "RightToLeft"]
scope: "Qt"
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Snap mode")
tooltip: qsTr("Determines how the view scrolling will settle following a drag or flick.")
disabledState: !backendValues.snapMode.isAvailable
@@ -120,43 +86,84 @@ Column {
SecondColumnLayout {
ComboBox {
scope: "ListView"
model: ["NoSnap", "SnapToItem", "SnapOneItem"]
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.snapMode
Layout.fillWidth: true
model: ["NoSnap", "SnapToItem", "SnapOneItem"]
scope: "ListView"
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Spacing")
tooltip: qsTr("Spacing between components.")
}
SectionLayout {
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.spacing
minimumValue: -4000
maximumValue: 4000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Cache")
tooltip: qsTr("Cache buffer")
disabledState: !backendValues.cacheBuffer.isAvailable
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.cacheBuffer
minimumValue: 0
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Navigation wraps")
tooltip: qsTr("Whether the grid wraps key navigation.")
disabledState: !backendValues.keyNavigationWraps.isAvailable
}
SecondColumnLayout {
CheckBox {
text: backendValues.keyNavigationWraps.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.keyNavigationWraps
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("List View Highlight")
SectionLayout {
anchors.left: parent.left
anchors.right: parent.right
Label {
SectionLayout {
PropertyLabel {
text: qsTr("Range")
tooltip: qsTr("Highlight range")
disabledState: !backendValues.highlightRangeMode.isAvailable
@@ -164,142 +171,155 @@ Column {
SecondColumnLayout {
ComboBox {
scope: "ListView"
model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"]
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.highlightRangeMode
Layout.fillWidth: true
model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"]
scope: "ListView"
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Move duration")
tooltip: qsTr("Move animation duration of the highlight delegate.")
disabledState: !backendValues.highlightMoveDuration.isAvailable
}
SectionLayout {
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlightMoveDuration
minimumValue: -1
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Move velocity")
tooltip: qsTr("Move animation velocity of the highlight delegate.")
disabledState: !backendValues.highlightMoveVelocity.isAvailable
}
SectionLayout {
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlightMoveVelocity
minimumValue: -1
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Resize duration")
tooltip: qsTr("Resize animation duration of the highlight delegate.")
disabledState: !backendValues.highlightResizeDuration.isAvailable
}
SectionLayout {
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlightResizeDuration
minimumValue: -1
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Resize velocity")
tooltip: qsTr("Resize animation velocity of the highlight delegate.")
disabledState: !backendValues.highlightResizeVelocity.isAvailable
}
SectionLayout {
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlightResizeVelocity
minimumValue: -1
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Preferred begin")
tooltip: qsTr("Preferred highlight begin - must be smaller than Preferred end.")
disabledState: !backendValues.preferredHighlightBegin.isAvailable
}
SectionLayout {
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preferredHighlightBegin
minimumValue: 0
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Preferred end")
tooltip: qsTr("Preferred highlight end - must be larger than Preferred begin.")
disabledState: !backendValues.preferredHighlightEnd.isAvailable
}
SectionLayout {
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preferredHighlightEnd
minimumValue: 0
maximumValue: 1000
decimals: 0
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Follows current")
tooltip: qsTr("Whether the highlight is managed by the view.")
disabledState: !backendValues.highlightFollowsCurrentItem.isAvailable
}
SectionLayout {
SecondColumnLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.highlightFollowsCurrentItem
text: backendValues.highlightFollowsCurrentItem.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlightFollowsCurrentItem
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
}
ExpandingSpacer {}
}
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,57 +23,52 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
caption: qsTr("Mouse area")
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Mouse Area")
SectionLayout {
Label {
text: qsTr("Enabled")
PropertyLabel {
text: qsTr("Enable")
tooltip: qsTr("Accepts mouse events.")
disabledState: !backendValues.enabled.isAvailable
}
SecondColumnLayout {
CheckBox {
Layout.fillWidth: true
text: qsTr("Area")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.enabled
text: backendValues.enabled.valueToString
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
}
Spacer { implicitWidth: StudioTheme.Values.twoControlColumnGap }
Label {
text: qsTr("Hover enabled")
tooltip: qsTr("Handles hover events.")
disabledState: !backendValues.hoverEnabled.isAvailable
}
SecondColumnLayout {
CheckBox {
Layout.fillWidth: true
text: qsTr("Hover")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.hoverEnabled
text: backendValues.hoverEnabled.valueToString
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Accepted buttons")
tooltip: qsTr("Mouse buttons that the mouse area reacts to.")
disabledState: !backendValues.acceptedButtons.isAvailable
@@ -81,51 +76,19 @@ Column {
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.acceptedButtons
model: ["LeftButton", "RightButton", "MiddleButton", "BackButton", "ForwardButton", "AllButtons"]
Layout.fillWidth: true
scope: "Qt"
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Press and hold interval")
tooltip: qsTr("Overrides the elapsed time in milliseconds before pressAndHold signal is emitted.")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.pressAndHoldInterval
minimumValue: 0
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Scroll gesture enabled")
tooltip: qsTr("Responds to scroll gestures from non-mouse devices.")
disabledState: !backendValues.scrollGestureEnabled.isAvailable
}
SecondColumnLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.scrollGestureEnabled
text: backendValues.scrollGestureEnabled.valueToString
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
}
Label {
PropertyLabel {
text: qsTr("Cursor shape")
tooltip: qsTr("Cursor shape for this mouse area.")
disabledState: !backendValues.cursorShape.isAvailable
@@ -133,6 +96,9 @@ Column {
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.cursorShape
model: ["ArrowCursor", "UpArrowCursor", "CrossCursor", "WaitCursor",
"IBeamCursor", "SizeVerCursor", "SizeHorCursor", "SizeBDiagCursor",
@@ -140,15 +106,50 @@ Column {
"SplitHCursor", "PointingHandCursor", "ForbiddenCursor", "WhatsThisCursor",
"BusyCursor", "OpenHandCursor", "ClosedHandCursor", "DragCopyCursor",
"DragMoveCursor", "DragLinkCursor"]
Layout.fillWidth: true
scope: "Qt"
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Hold interval")
tooltip: qsTr("Overrides the elapsed time in milliseconds before pressAndHold signal is emitted.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.pressAndHoldInterval
minimumValue: 0
maximumValue: 2000
decimals: 0
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Scroll gesture")
tooltip: qsTr("Responds to scroll gestures from non-mouse devices.")
disabledState: !backendValues.scrollGestureEnabled.isAvailable
}
SecondColumnLayout {
CheckBox {
text: qsTr("Enabled")
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.scrollGestureEnabled
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Prevent stealing")
tooltip: qsTr("Stops mouse events from being stolen from this mouse area.")
disabledState: !backendValues.preventStealing.isAvailable
@@ -156,109 +157,114 @@ Column {
SecondColumnLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.preventStealing
text: backendValues.preventStealing.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preventStealing
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Propagate composed events")
PropertyLabel {
text: qsTr("Propagate events")
tooltip: qsTr("Automatically propagates composed mouse events to other mouse areas.")
disabledState: !backendValues.propagateComposedEvents.isAvailable
}
SecondColumnLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.propagateComposedEvents
text: backendValues.propagateComposedEvents.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.propagateComposedEvents
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
}
}
Section {
caption: qsTr("Drag")
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Drag")
visible: backendValues.drag_target.isAvailable
SectionLayout {
Label {
PropertyLabel {
text: qsTr("Target")
tooltip: qsTr("ID of the component to drag.")
}
SecondColumnLayout {
ItemFilterComboBox {
typeFilter: "QtQuick.QtObject"
validator: RegExpValidator { regExp: /(^$|^[a-z_]\w*)/ }
backendValue: backendValues.drag_target
Layout.fillWidth: true
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Axis")
tooltip: qsTr("Whether dragging can be done horizontally, vertically, or both.")
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
scope: "Drag"
model: ["XAxis", "YAxis", "XAndYAxis"]
backendValue: backendValues.drag_axis
Layout.fillWidth: true
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
text: qsTr("Filter children")
tooltip: qsTr("Whether dragging overrides descendant mouse areas.")
}
SecondColumnLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.drag_filterChildren
text: backendValues.drag_filterChildren.valueToString
}
ExpandingSpacer {
}
}
Label {
PropertyLabel {
text: qsTr("Threshold")
tooltip: qsTr("Threshold in pixels of when the drag operation should start.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.drag_threshold
minimumValue: 0
maximumValue: 5000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Filter children")
tooltip: qsTr("Whether dragging overrides descendant mouse areas.")
}
SecondColumnLayout {
CheckBox {
text: backendValues.drag_filterChildren.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.drag_filterChildren
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Smoothed")
tooltip: qsTr("Moves targets only after the drag operation has started.\n"
+ "When disabled, moves targets straight to the current mouse position.")
@@ -266,13 +272,13 @@ Column {
SecondColumnLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.drag_smoothed
text: backendValues.drag_smoothed.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.drag_smoothed
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
}
}

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 Qt Creator.
@@ -24,62 +24,59 @@
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
caption: qsTr("Number Animation")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
PropertyLabel {
text: qsTr("From")
tooltip: qsTr("Start value for the animation.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -1
backendValue: backendValues.from
Layout.fillWidth: true
Layout.maximumWidth: 100
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("To")
tooltip: qsTr("End value for the animation.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
maximumValue: 9999999
minimumValue: -1
backendValue: backendValues.to
Layout.fillWidth: true
Layout.maximumWidth: 100
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
}
}
AnimationTargetSection {
AnimationTargetSection {}
}
AnimationSection {
showEasingCurve: true
}
AnimationSection { showEasingCurve: true }
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -24,14 +24,13 @@
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
Column {
anchors.left: parent.left
anchors.right: parent.right
AnimationSection {
showDuration: false
}
AnimationSection { showDuration: false }
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,171 +23,186 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import QtQuick.Layouts 1.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Path View")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Drag margin")
tooltip: qsTr("Drag margin")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.dragMargin
minimumValue: 0
maximumValue: 100
decimals: 0
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Flick deceleration")
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.flickDeceleration
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {
}
}
Label {
PropertyLabel {
text: qsTr("Interactive")
tooltip: qsTr("Allows users to drag or flick a path view.")
}
SecondColumnLayout {
CheckBox {
Layout.fillWidth: true
backendValue: backendValues.interactive
text: backendValues.interactive.valueToString
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.interactive
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel { text: qsTr("Drag margin") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.dragMargin
minimumValue: 0
maximumValue: 100
decimals: 0
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Flick deceleration") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.flickDeceleration
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Offset")
tooltip: qsTr("Specifies how far along the path the items are from their initial positions. This is a real number that ranges from 0.0 to the count of items in the model.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.offset
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Item count")
tooltip: qsTr("Number of items visible on the path at any one time.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.pathItemCount
minimumValue: -1
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Path View Highlight")
SectionLayout {
anchors.left: parent.left
anchors.right: parent.right
Label {
SectionLayout {
PropertyLabel {
text: qsTr("Range")
tooltip: qsTr("Highlight range")
}
SecondColumnLayout {
ComboBox {
scope: "PathView"
model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"]
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.highlightRangeMode
Layout.fillWidth: true
}
ExpandingSpacer {
model: ["NoHighlightRange", "ApplyRange", "StrictlyEnforceRange"]
scope: "PathView"
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Move duration")
tooltip: qsTr("Move animation duration of the highlight delegate.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.highlightMoveDuration
minimumValue: 0
maximumValue: 1000
decimals: 0
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Preferred begin")
tooltip: qsTr("Preferred highlight begin - must be smaller than Preferred end. Note that the user has to add a highlight component.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preferredHighlightBegin
minimumValue: 0
maximumValue: 1
stepSize: 0.1
decimals: 2
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
text: qsTr("Preferred end")
tooltip: qsTr("Preferred highlight end - must be larger than Preferred begin. Note that the user has to add a highlight component.")
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.preferredHighlightEnd
minimumValue: 0
maximumValue: 1
stepSize: 0.1
decimals: 2
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
}
}

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 Qt Creator.
@@ -24,13 +24,13 @@
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
Column {
anchors.left: parent.left
anchors.right: parent.right
AnimationSection {
}
AnimationSection {}
}

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 Qt Creator.
@@ -24,8 +24,10 @@
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
@@ -33,28 +35,31 @@ Column {
Section {
id: section
caption: qsTr("Property Action")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
PropertyLabel {
text: qsTr("Value")
tooltip: qsTr("Value of the property.")
}
LineEdit {
backendValue: backendValues.value
Layout.fillWidth: true
SecondColumnLayout {
LineEdit {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.value
}
ExpandingSpacer {}
}
}
}
AnimationTargetSection {}
AnimationTargetSection {
}
AnimationSection {
showDuration: false
}
AnimationSection { showDuration: false }
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -24,18 +24,14 @@
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
Column {
anchors.left: parent.left
anchors.right: parent.right
AnimationTargetSection {
AnimationTargetSection {}
}
AnimationSection {
showEasingCurve: true
}
AnimationSection { showEasingCurve: true }
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -24,7 +24,7 @@
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.0
import QtQuick.Layouts 1.15
import QtQuickDesignerTheme 1.0
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
@@ -41,164 +41,19 @@ Rectangle {
}
ScrollView {
id: mainScrollView
clip: true
anchors.fill: parent
onWidthChanged: StudioTheme.Values.responsiveResize(itemPane.width)
Component.onCompleted: StudioTheme.Values.responsiveResize(itemPane.width)
Column {
id: rootColumn
y: -1
width: itemPane.width
Section {
caption: qsTr("Component")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Type")
}
SecondColumnLayout {
z: 2
RoundedPanel {
Layout.fillWidth: true
height: StudioTheme.Values.height
Label {
anchors.fill: parent
anchors.leftMargin: StudioTheme.Values.inputHorizontalPadding
anchors.topMargin: StudioTheme.Values.typeLabelVerticalShift
text: backendValues.className.value
}
ToolTipArea {
anchors.fill: parent
onDoubleClicked: {
typeLineEdit.text = backendValues.className.value
typeLineEdit.visible = ! typeLineEdit.visible
typeLineEdit.forceActiveFocus()
}
tooltip: qsTr("Changes the type of this component.")
enabled: !modelNodeBackend.multiSelection
}
ExpressionTextField {
z: 2
id: typeLineEdit
completeOnlyTypes: true
replaceCurrentTextByCompletion: true
anchors.fill: parent
visible: false
showButtons: false
fixedSize: true
property bool blockEditingFinished: false
onEditingFinished: {
if (typeLineEdit.blockEditingFinished)
return
typeLineEdit.blockEditingFinished = true
if (typeLineEdit.visible)
changeTypeName(typeLineEdit.text.trim())
typeLineEdit.visible = false
typeLineEdit.blockEditingFinished = false
typeLineEdit.completionList.model = null
}
onRejected: {
typeLineEdit.visible = false
typeLineEdit.completionList.model = null
}
}
}
Item {
Layout.preferredWidth: 20
Layout.preferredHeight: 20
}
}
Label {
text: qsTr("ID")
}
SecondColumnLayout {
spacing: 2
LineEdit {
id: lineEdit
backendValue: backendValues.id
placeholderText: qsTr("ID")
text: backendValues.id.value
Layout.fillWidth: true
width: 240
showTranslateCheckBox: false
showExtendedFunctionButton: false
enabled: !modelNodeBackend.multiSelection
}
Rectangle {
id: aliasIndicator
color: "transparent"
border.color: "transparent"
implicitWidth: StudioTheme.Values.height
implicitHeight: StudioTheme.Values.height
z: 10
Label {
id: aliasIndicatorIcon
enabled: !modelNodeBackend.multiSelection
anchors.fill: parent
text: {
if (!aliasIndicatorIcon.enabled)
return StudioTheme.Constants.idAliasOff
return hasAliasExport ? StudioTheme.Constants.idAliasOn : StudioTheme.Constants.idAliasOff
}
color: {
if (!aliasIndicatorIcon.enabled)
return StudioTheme.Values.themeTextColorDisabled
return hasAliasExport ? StudioTheme.Values.themeInteraction : StudioTheme.Values.themeTextColor
}
font.family: StudioTheme.Constants.iconFont.family
font.pixelSize: Math.round(16 * StudioTheme.Values.scaleFactor)
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
states: [
State {
name: "hovered"
when: toolTipArea.containsMouse && aliasIndicatorIcon.enabled
PropertyChanges {
target: aliasIndicatorIcon
scale: 1.2
}
}
]
}
ToolTipArea {
id: toolTipArea
enabled: !modelNodeBackend.multiSelection
anchors.fill: parent
onClicked: toogleExportAlias()
tooltip: qsTr("Exports this component as an alias property of the root component.")
}
}
}
}
}
Item {
height: 4
width: 4
}
ComponentSection {}
Column {
anchors.left: parent.left

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,79 +23,69 @@
**
****************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Color")
ColorEditor {
caption: qsTr("Color")
backendValue: backendValues.color
supportGradient: backendValues.gradient.isAvailable
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Border Color")
visible: backendValues.border_color.isAvailable
ColorEditor {
caption: qsTr("Border Color")
backendValue: backendValues.border_color
supportGradient: false
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Rectangle")
SectionLayout {
rows: 2
Label {
PropertyLabel { text: qsTr("Color") }
ColorEditor {
backendValue: backendValues.color
supportGradient: backendValues.gradient.isAvailable
}
PropertyLabel {
text: qsTr("Border color")
visible: backendValues.border_color.isAvailable
}
ColorEditor {
visible: backendValues.border_color.isAvailable
backendValue: backendValues.border_color
supportGradient: false
}
PropertyLabel {
text: qsTr("Border")
disabledState: !backendValues.border_width.isAvailable
}
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.border_width
hasSlider: true
Layout.preferredWidth: 120
enabled: backendValue.isAvailable
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Radius")
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Radius") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.radius
hasSlider: true
Layout.preferredWidth: 120
minimumValue: 0
maximumValue: Math.min(backendValues.height.value, backendValues.width.value) / 2
}
ExpandingSpacer {
}
ExpandingSpacer {}
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,53 +23,58 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Row")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Layout direction")
disabledState: !backendValues.layoutDirection.isAvailable
}
SecondColumnLayout {
ComboBox {
model: ["LeftToRight", "RightToLeft"]
backendValue: backendValues.layoutDirection
Layout.fillWidth: true
scope: "Qt"
enabled: backendValue.isAvailable
}
}
Label {
text: qsTr("Spacing")
}
PropertyLabel { text: qsTr("Spacing") }
SecondColumnLayout {
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.spacing
minimumValue: -4000
maximumValue: 4000
decimals: 0
}
ExpandingSpacer {
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Layout direction")
disabledState: !backendValues.layoutDirection.isAvailable
}
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.layoutDirection
model: ["LeftToRight", "RightToLeft"]
scope: "Qt"
enabled: backendValue.isAvailable
}
ExpandingSpacer {}
}
}
}
PaddingSection {
}
PaddingSection {}
}

View File

@@ -23,33 +23,30 @@
**
****************************************************************************/
import QtQuick 2.0
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioControls 1.0 as StudioControls
import QtQuickDesignerTheme 1.0
import StudioTheme 1.0 as StudioTheme
StudioControls.ComboBox {
property string targetName: anchorBackend.topTarget
property color textColor: Theme.color(Theme.PanelTextColorLight)
actionIndicatorVisible: false
id: targetComboBox
Connections {
target: anchorBackend
onInvalidated: {
targetComboBox.currentIndex =
anchorBackend.indexOfPossibleTargetItem(targetComboBox.targetName)
}
}
property string targetName: anchorBackend.topTarget
actionIndicatorVisible: false
model: anchorBackend.possibleTargetItems
onTargetNameChanged: {
targetComboBox.currentIndex =
anchorBackend.indexOfPossibleTargetItem(targetComboBox.targetName)
}
model: anchorBackend.possibleTargetItems
Connections {
target: anchorBackend
function onInvalidated() {
targetComboBox.currentIndex =
anchorBackend.indexOfPossibleTargetItem(targetComboBox.targetName)
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,64 +23,30 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
Column {
anchors.left: parent.left
anchors.right: parent.right
StandardTextSection {
showVerticalAlignment: true
showFormatProperty: true
CharacterSection {
richTextEditorAvailable: true
showVerticalAlignment: true
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Text Color")
ColorEditor {
caption: qsTr("Text Color")
backendValue: backendValues.color
supportGradient: false
}
TextInputSection {}
TextExtrasSection {
showWrapMode: true
showFormatProperty: true
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Selection Color")
ColorEditor {
caption: qsTr("Selection Color")
backendValue: backendValues.selectionColor
supportGradient: false
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Selected Text Color")
ColorEditor {
caption: qsTr("Selected Text Color")
backendValue: backendValues.selectedTextColor
supportGradient: false
}
}
FontSection {
FontExtrasSection {
showStyle: false
}
TextInputSection {
}
PaddingSection {
visible: minorQtQuickVersion > 5
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,166 +23,230 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
import StudioTheme 1.0 as StudioTheme
Section {
id: textInputSection
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Text Input")
property bool isTextInput: false
id: textInputSection
SectionLayout {
rows: 4
columns: 2
PropertyLabel { text: qsTr("Selection color") }
Label {
text: qsTr("Mouse selection mode")
}
ComboBox {
Layout.fillWidth: true
backendValue: backendValues.mouseSelectionMode
scope: "TextInput"
model: ["SelectCharacters", "SelectWords"]
ColorEditor {
backendValue: backendValues.selectionColor
supportGradient: false
}
Label {
PropertyLabel { text: qsTr("Selected text color") }
ColorEditor {
backendValue: backendValues.selectedTextColor
supportGradient: false
}
PropertyLabel { text: qsTr("Selection mode") }
SecondColumnLayout {
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.mouseSelectionMode
scope: "TextInput"
model: ["SelectCharacters", "SelectWords"]
}
ExpandingSpacer {}
}
PropertyLabel {
visible: textInputSection.isTextInput
text: qsTr("Input mask")
}
LineEdit {
SecondColumnLayout {
visible: textInputSection.isTextInput
backendValue: backendValues.inputMask
Layout.fillWidth: true
showTranslateCheckBox: false
LineEdit {
backendValue: backendValues.inputMask
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
showTranslateCheckBox: false
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
visible: textInputSection.isTextInput
text: qsTr("Echo mode")
}
ComboBox {
SecondColumnLayout {
visible: textInputSection.isTextInput
Layout.fillWidth: true
backendValue: backendValues.echoMode
scope: "TextInput"
model: ["Normal", "Password", "PasswordEchoOnEdit", "NoEcho"]
ComboBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
backendValue: backendValues.echoMode
scope: "TextInput"
model: ["Normal", "Password", "PasswordEchoOnEdit", "NoEcho"]
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
visible: textInputSection.isTextInput
text: qsTr("Password character")
tooltip: qsTr("Character displayed when users enter passwords.")
}
LineEdit {
SecondColumnLayout {
visible: textInputSection.isTextInput
backendValue: backendValues.passwordCharacter
Layout.fillWidth: true
showTranslateCheckBox: false
LineEdit {
backendValue: backendValues.passwordCharacter
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
width: implicitWidth
showTranslateCheckBox: false
}
ExpandingSpacer {}
}
Label {
PropertyLabel {
visible: !textInputSection.isTextInput
text: qsTr("Tab stop distance")
tooltip: qsTr("Default distance between tab stops in device units.")
}
SpinBox {
SecondColumnLayout {
visible: !textInputSection.isTextInput
Layout.fillWidth: true
backendValue: backendValues.tabStopDistance
maximumValue: 200
minimumValue: 0
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.tabStopDistance
maximumValue: 200
minimumValue: 0
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: "px" }
ExpandingSpacer {}
}
Label {
PropertyLabel {
visible: !textInputSection.isTextInput
text: qsTr("Text margin")
tooltip: qsTr("Margin around the text in the Text Edit in pixels.")
}
SpinBox {
SecondColumnLayout {
visible: !textInputSection.isTextInput
Layout.fillWidth: true
backendValue: backendValues.textMargin
maximumValue: 200
minimumValue: -200
SpinBox {
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.textMargin
maximumValue: 200
minimumValue: -200
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel { text: "px" }
ExpandingSpacer {}
}
Label {
PropertyLabel {
visible: textInputSection.isTextInput
text: qsTr("Maximum length")
tooltip: qsTr("Maximum permitted length of the text in the Text Input.")
}
SpinBox {
visible: textInputSection.isTextInput
Layout.fillWidth: true
backendValue: backendValues.maximumLength
minimumValue: 0
maximumValue: 32767
}
Label {
text: qsTr("Flags")
Layout.alignment: Qt.AlignTop
}
SecondColumnLayout {
ColumnLayout {
CheckBox {
Layout.fillWidth: true
text: qsTr("Read only")
backendValue: backendValues.readOnly
}
visible: textInputSection.isTextInput
CheckBox {
Layout.fillWidth: true
text: qsTr("Cursor visible")
backendValue: backendValues.cursorVisible
}
CheckBox {
Layout.fillWidth: true
text: qsTr("Active focus on press")
backendValue: backendValues.activeFocusOnPress
}
CheckBox {
visible: textInputSection.isTextInput
Layout.fillWidth: true
text: qsTr("Auto scroll")
backendValue: backendValues.autoScroll
}
CheckBox {
Layout.fillWidth: true
text: qsTr("Overwrite mode")
backendValue: backendValues.overwriteMode
}
CheckBox {
Layout.fillWidth: true
text: qsTr("Persistent selection")
backendValue: backendValues.persistentSelection
}
CheckBox {
Layout.fillWidth: true
text: qsTr("Select by mouse")
backendValue: backendValues.selectByMouse
}
CheckBox {
visible: !textInputSection.isTextInput
Layout.fillWidth: true
text: qsTr("Select by keyboard")
backendValue: backendValues.selectByKeyboard
}
SpinBox {
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
backendValue: backendValues.maximumLength
minimumValue: 0
maximumValue: 32767
}
ExpandingSpacer {}
}
component FlagItem : SecondColumnLayout {
property alias backendValue: checkBox.backendValue
CheckBox {
id: checkBox
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
text: backendValue.valueToString
}
ExpandingSpacer {}
}
PropertyLabel { text: qsTr("Read only") }
FlagItem { backendValue: backendValues.readOnly }
PropertyLabel { text: qsTr("Cursor visible") }
FlagItem { backendValue: backendValues.cursorVisible }
PropertyLabel { text: qsTr("Focus on press") }
FlagItem { backendValue: backendValues.activeFocusOnPress }
PropertyLabel {
visible: textInputSection.isTextInput
text: qsTr("Auto scroll")
}
FlagItem {
visible: textInputSection.isTextInput
backendValue: backendValues.autoScroll
}
PropertyLabel { text: qsTr("Overwrite mode") }
FlagItem { backendValue: backendValues.overwriteMode }
PropertyLabel { text: qsTr("Persistent selection") }
FlagItem { backendValue: backendValues.persistentSelection }
PropertyLabel { text: qsTr("Select by mouse") }
FlagItem { backendValue: backendValues.selectByMouse }
PropertyLabel {
visible: !textInputSection.isTextInput
text: qsTr("Select by keyboard")
}
FlagItem {
visible: !textInputSection.isTextInput
backendValue: backendValues.selectByKeyboard
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,65 +23,32 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
Column {
anchors.left: parent.left
anchors.right: parent.right
StandardTextSection {
CharacterSection {
showVerticalAlignment: true
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Text Color")
ColorEditor {
caption: qsTr("Text Color")
backendValue: backendValues.color
supportGradient: false
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Selection Color")
ColorEditor {
caption: qsTr("Selection Color")
backendValue: backendValues.selectionColor
supportGradient: false
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Selected Text Color")
ColorEditor {
caption: qsTr("Selected Text Color")
backendValue: backendValues.selectedTextColor
supportGradient: false
}
}
FontSection {
showStyle: false
}
TextInputSection {
isTextInput: true
}
TextExtrasSection {
showWrapMode: true
showFormatProperty: true
}
FontExtrasSection {
showStyle: false
}
PaddingSection {
visible: minorQtQuickVersion > 5
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,54 +23,33 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import QtQuick.Layouts 1.0
Column {
anchors.left: parent.left
anchors.right: parent.right
StandardTextSection {
CharacterSection {
richTextEditorAvailable: true
showLineHeight: true
showVerticalAlignment: true
showFormatProperty: true
}
TextExtrasSection {
showElide: true
showWrapMode: true
showFormatProperty: true
showFontSizeMode: true
showLineHeight: true
richTextEditorAvailable: true
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Text Color")
ColorEditor {
caption: qsTr("Text Color")
backendValue: backendValues.color
supportGradient: false
}
FontExtrasSection {
showStyle: true
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Style Color")
visible: backendValues.styleColor.isAvailable
ColorEditor {
caption: qsTr("Style Color")
backendValue: backendValues.styleColor
supportGradient: false
}
PaddingSection {
visible: minorQtQuickVersion > 5
}
FontSection {
showStyle: true
}
PaddingSection {
visible: minorQtQuickVersion > 5
}
}

View File

@@ -23,7 +23,7 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import HelperWidgets 2.0
import QtQuickDesignerTheme 1.0
@@ -42,8 +42,8 @@ Rectangle {
Label {
id: test
text: qsTr("None or multiple components selected.");
anchors.fill: parent
text: qsTr("None or multiple components selected.")
anchors.fill: parent // TODO
}
}
}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -24,10 +24,11 @@
****************************************************************************/
import QtQuick 2.15
import QtQuick.Layouts 1.0
import QtQuick.Layouts 1.15
import QtQuickDesignerTheme 1.0
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
import "../QtQuick" as Q
Rectangle {
id: itemPane
@@ -47,162 +48,13 @@ Rectangle {
id: rootColumn
y: -1
width: itemPane.width
Section {
caption: qsTr("Component")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Type")
}
SecondColumnLayout {
z: 2
RoundedPanel {
Layout.fillWidth: true
height: StudioTheme.Values.height
Label {
anchors.fill: parent
anchors.leftMargin: StudioTheme.Values.inputHorizontalPadding
anchors.topMargin: StudioTheme.Values.typeLabelVerticalShift
text: backendValues.className.value
}
ToolTipArea {
anchors.fill: parent
onDoubleClicked: {
typeLineEdit.text = backendValues.className.value
typeLineEdit.visible = ! typeLineEdit.visible
typeLineEdit.forceActiveFocus()
}
tooltip: qsTr("Change the type of this component.")
enabled: !modelNodeBackend.multiSelection
}
ExpressionTextField {
z: 2
id: typeLineEdit
completeOnlyTypes: true
replaceCurrentTextByCompletion: true
anchors.fill: parent
visible: false
showButtons: false
fixedSize: true
property bool blockEditingFinished: false
onEditingFinished: {
if (typeLineEdit.blockEditingFinished)
return
typeLineEdit.blockEditingFinished = true
if (typeLineEdit.visible)
changeTypeName(typeLineEdit.text.trim())
typeLineEdit.visible = false
typeLineEdit.blockEditingFinished = false
typeLineEdit.completionList.model = null
}
onRejected: {
typeLineEdit.visible = false
typeLineEdit.completionList.model = null
}
}
}
Item {
Layout.preferredWidth: 20
Layout.preferredHeight: 20
}
}
Label {
text: qsTr("ID")
}
SecondColumnLayout {
spacing: 2
LineEdit {
id: lineEdit
backendValue: backendValues.id
placeholderText: qsTr("ID")
text: backendValues.id.value
Layout.fillWidth: true
width: 240
showTranslateCheckBox: false
showExtendedFunctionButton: false
enabled: !modelNodeBackend.multiSelection
}
Rectangle {
id: aliasIndicator
color: "transparent"
border.color: "transparent"
implicitWidth: StudioTheme.Values.height
implicitHeight: StudioTheme.Values.height
z: 10
Label {
id: aliasIndicatorIcon
enabled: !modelNodeBackend.multiSelection
anchors.fill: parent
text: {
if (!aliasIndicatorIcon.enabled)
return StudioTheme.Constants.idAliasOff
return hasAliasExport ? StudioTheme.Constants.idAliasOn : StudioTheme.Constants.idAliasOff
}
color: {
if (!aliasIndicatorIcon.enabled)
return StudioTheme.Values.themeTextColorDisabled
return hasAliasExport ? StudioTheme.Values.themeInteraction : StudioTheme.Values.themeTextColor
}
font.family: StudioTheme.Constants.iconFont.family
font.pixelSize: Math.round(16 * StudioTheme.Values.scaleFactor)
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
states: [
State {
name: "hovered"
when: toolTipArea.containsMouse && aliasIndicatorIcon.enabled
PropertyChanges {
target: aliasIndicatorIcon
scale: 1.2
}
}
]
}
ToolTipArea {
id: toolTipArea
enabled: !modelNodeBackend.multiSelection
anchors.fill: parent
onClicked: toogleExportAlias()
tooltip: qsTr("Toggles whether this component is exported as an alias property of the root component.")
}
}
}
}
}
Item {
height: 4
width: 4
}
Q.ComponentSection {}
Column {
anchors.left: parent.left
anchors.right: parent.right
Loader {
id: specificsTwo
anchors.left: parent.left

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,7 +23,7 @@
**
****************************************************************************/
import QtQuick 2.1
import QtQuick 2.15
import StudioControls 1.0 as StudioControls
import StudioTheme 1.0 as StudioTheme

View File

@@ -32,13 +32,9 @@ Row {
id: alignmentHorizontalButtons
property bool blueHighlight: false
property variant backendValue: backendValues.horizontalAlignment;
property variant value: backendValue.enumeration
property bool baseStateFlag: isBaseState;
property color __currentColor: blueHighlight ? StudioTheme.Values.themeIconColorInteraction
: StudioTheme.Values.themeIconColor
@@ -48,37 +44,32 @@ Row {
buttonAlignRight.checked = false
if (value !== undefined) {
if (value === "AlignLeft") {
if (value === "AlignLeft")
buttonAlignLeft.checked = true
} else if (value === "AlignHCenter") {
else if (value === "AlignHCenter")
buttonAlignHCenter.checked = true
} else if (value === "AlignRight") {
else if (value === "AlignRight")
buttonAlignRight.checked = true
}
}
evaluate()
}
property bool isInModel: backendValue.isInModel;
onIsInModelChanged: {
evaluate();
}
property bool isInSubState: backendValue.isInSubState;
onIsInSubStateChanged: {
evaluate();
}
property bool isInModel: backendValue.isInModel
onIsInModelChanged: evaluate()
property bool isInSubState: backendValue.isInSubState
onIsInSubStateChanged: evaluate()
function evaluate() {
if (baseStateFlag) {
if (backendValue !== null && backendValue.isInModel)
blueHighlight = true;
blueHighlight = true
else
blueHighlight = false;
blueHighlight = false
} else {
if (backendValue !== null && backendValue.isInSubState)
blueHighlight = true;
blueHighlight = true
else
blueHighlight = false;
blueHighlight = false
}
}
@@ -96,9 +87,7 @@ Row {
actionIndicator.onClicked: extFuncLogic.show()
actionIndicator.forceVisible: extFuncLogic.menuVisible
StudioControls.ButtonGroup {
id: group
}
StudioControls.ButtonGroup { id: group }
StudioControls.AbstractButton {
id: buttonAlignLeft
@@ -112,6 +101,7 @@ Row {
backendValue.setEnumeration("Text", "AlignLeft")
}
}
StudioControls.AbstractButton {
id: buttonAlignHCenter
buttonIcon: StudioTheme.Constants.textAlignCenter
@@ -124,6 +114,7 @@ Row {
backendValue.setEnumeration("Text", "AlignHCenter")
}
}
StudioControls.AbstractButton {
id: buttonAlignRight
buttonIcon: StudioTheme.Constants.textAlignRight

Some files were not shown because too many files have changed in this diff Show More