forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/master' into 5.0
Change-Id: I3f9049ec34c9b3be42bd0d1fd8aa1d14f8014fe2
This commit is contained in:
@@ -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
161
dist/changes-5.0.0.md
vendored
Normal 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
|
@@ -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 #######################
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -165,6 +165,7 @@ private:
|
||||
QList<InputEventCommand> m_pendingInputEventCommands;
|
||||
QObject *m_3dHelper = nullptr;
|
||||
int m_need3DEditViewRender = 0;
|
||||
bool m_render2D = true;
|
||||
};
|
||||
|
||||
} // namespace QmlDesigner
|
||||
|
@@ -105,7 +105,6 @@ Item {
|
||||
caption: dirName
|
||||
sectionHeight: 30
|
||||
sectionFontSize: 15
|
||||
contentLevel: dirDepth
|
||||
levelShift: 20
|
||||
leftPadding: 0
|
||||
hideHeader: dirDepth === 0
|
||||
|
@@ -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 {}
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
|
@@ -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 {
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,14 +1,12 @@
|
||||
Label {
|
||||
PropertyLabel {
|
||||
text: "%1"
|
||||
tooltip: "%1"
|
||||
}
|
||||
|
||||
SecondColumnLayout {
|
||||
UrlChooser {
|
||||
Layout.fillWidth: true
|
||||
backendValue: backendValues.%2
|
||||
backendValue: backendValues.%2
|
||||
}
|
||||
|
||||
ExpandingSpacer {
|
||||
}
|
||||
ExpandingSpacer {}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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.")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
|
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
|
@@ -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 }
|
||||
}
|
||||
|
||||
|
@@ -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 {}
|
||||
}
|
||||
|
||||
|
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
@@ -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 {}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
|
@@ -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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 }
|
||||
}
|
||||
|
||||
|
@@ -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 }
|
||||
}
|
||||
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
|
||||
|
@@ -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 }
|
||||
}
|
||||
|
||||
|
@@ -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 }
|
||||
}
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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 {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 {}
|
||||
}
|
||||
|
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
Reference in New Issue
Block a user