Merge remote-tracking branch 'origin/qds/dev'
Change-Id: I5d593fc74785958886453dc0b452c25356a8c65f
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 50 KiB |
BIN
doc/qtdesignstudio/images/figma-binding-reset.png
Normal file
After Width: | Height: | Size: 368 B |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 224 KiB |
BIN
doc/qtdesignstudio/images/qtds-running-emulator.webp
Normal file
After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 91 KiB |
@@ -162,7 +162,7 @@
|
||||
|
||||
Now the emulator runs, the qtdesignviewer APK delivered with the \QDS installation
|
||||
is uploaded, and the project is uploaded and shown in the emulator.
|
||||
\image qtds-running-emulator.png
|
||||
\image qtds-running-emulator.webp
|
||||
|
||||
Note the following:
|
||||
\list
|
||||
|
@@ -124,10 +124,14 @@
|
||||
\li Purpose
|
||||
\row
|
||||
\li \uicontrol ID
|
||||
\li \QBF automatically proposes identifiers for all groups and layers.
|
||||
\li \QBF automatically derives identifiers for all groups and layers
|
||||
from layer name.
|
||||
You can change them in this field. Use unique and descriptive IDs
|
||||
to avoid duplicate IDs when the layer and the respective artwork
|
||||
are imported into \QDS.
|
||||
\note Once the ID is edited, the automatic assignment of ID from
|
||||
layer name stops for this layer. Use \inlineimage figma-binding-reset.png
|
||||
button next to \uicontrol ID to reset the ID back to automatic assignment.
|
||||
\row
|
||||
\li \uicontrol {Export as}
|
||||
\li Determines how to export the group or layer:
|
||||
@@ -146,6 +150,8 @@
|
||||
into one component.
|
||||
\li \uicontrol Skipped completely skips the selected layer.
|
||||
\endlist
|
||||
\note Use \inlineimage figma-binding-reset.png button next to
|
||||
\uicontrol {Export as} to reset to default value.
|
||||
\row
|
||||
\li \uicontrol {Custom Component Type}
|
||||
\li Determines the \l{Component Types}{component type} to morph this
|
||||
@@ -205,13 +211,8 @@
|
||||
\li Exports the component generated from this layer as an alias in the
|
||||
parent component.
|
||||
\row
|
||||
\li \uicontrol Visible
|
||||
\li Determines the visibility of the layer.
|
||||
\row
|
||||
\li \uicontrol Clip
|
||||
\li Enables clipping in the component generated from the layer. The
|
||||
generated component will clip its own painting, as well as the
|
||||
painting of its children, to its bounding rectangle.
|
||||
\li \uicontrol {Start Screen}
|
||||
\li Sets the component to be the starting component in \QDS project.
|
||||
\endtable
|
||||
|
||||
\section2 Settings
|
||||
@@ -239,6 +240,10 @@
|
||||
\li \uicontrol {Export as shapes}
|
||||
\li Exports vectors as components of the type \l{SVG Path Item} from the
|
||||
Qt Quick Studio Components module.
|
||||
\row
|
||||
\li \uicontrol {Create page hierarchy}
|
||||
\li Organize the generated UI in \QDS under the directory named after the
|
||||
parent page of the respective component.
|
||||
\row
|
||||
\li \uicontrol {Reset plugin data}
|
||||
\li Resets all settings for all layers and groups (also in the
|
||||
|
@@ -278,6 +278,14 @@
|
||||
\note The factor is independent of the asset scale settings, that is, 2x assets shall
|
||||
have a size of 5x when a scale factor of 2.5 is selected.
|
||||
|
||||
\section1 Organizing
|
||||
|
||||
Select the \uicontrol {Organize output in pages} to organize the generated UI inside
|
||||
the directory named after the parent page of the respective component. The default behavior
|
||||
is to generate UI inside the directory selected during import in \QDS.
|
||||
\note Using invalid characters or reservered file names for the page name will result into
|
||||
imports errors as page name is used for the directory name to organize the UI files in \QDS .
|
||||
|
||||
\section1 Exporting Library Symbols
|
||||
|
||||
\QBSK can handle symbols used from a local library. Before you use \QBSK to export a document
|
||||
|
@@ -224,6 +224,12 @@
|
||||
workspace, select it in the list.
|
||||
\li
|
||||
\li \l{Managing Workspaces}
|
||||
\row
|
||||
\li \inlineimage icons/lockoff.png
|
||||
/ \inlineimage icons/lockon.png
|
||||
\li Toggles the views to locked or movable in \QDS.
|
||||
\li
|
||||
\li \l{Managing Workspaces}
|
||||
\row
|
||||
\li \uicontrol Share
|
||||
\li Shares the application online using Qt Design Viewer.
|
||||
|
@@ -14,10 +14,11 @@
|
||||
To detach views:
|
||||
|
||||
\list
|
||||
\li Toggle \inlineimage icons/lockon.png
|
||||
to \inlineimage icons/lockoff.png
|
||||
at the top toolbar.
|
||||
\li Double-click the title bar of the view.
|
||||
\li Start dragging the view to another position.
|
||||
\li Select the \inlineimage icons/detach-group-icon.png
|
||||
(\uicontrol {Detach Group}) button.
|
||||
\endlist
|
||||
|
||||
You can move detached views or groups of views anywhere on the screen.
|
||||
@@ -32,6 +33,11 @@
|
||||
|
||||
To open closed views, select \uicontrol View > \uicontrol Views.
|
||||
|
||||
\note To lock all views, toggle
|
||||
\inlineimage icons/lockoff.png
|
||||
to \inlineimage icons/lockon.png
|
||||
at the top toolbar.
|
||||
|
||||
\section1 Saving Workspaces
|
||||
|
||||
The changes you make to a workspace are saved when you exit \QDS.
|
||||
|
@@ -60,7 +60,8 @@ def get_arguments():
|
||||
parser.add_argument('--no-cdb',
|
||||
help='Skip cdbextension and the python dependency packaging step (Windows)',
|
||||
action='store_true', default=(not common.is_windows_platform()))
|
||||
parser.add_argument('--no-qbs', help='Skip building Qbs as part of Qt Creator', action='store_true', default=False);
|
||||
parser.add_argument('--no-qbs', help='Skip building Qbs as part of Qt Creator',
|
||||
action='store_true', default=False);
|
||||
parser.add_argument('--no-docs', help='Skip documentation generation',
|
||||
action='store_true', default=False)
|
||||
parser.add_argument('--no-build-date', help='Does not show build date in about dialog, for reproducible builds',
|
||||
@@ -75,6 +76,8 @@ def get_arguments():
|
||||
action='store_true', default=False)
|
||||
parser.add_argument('--with-cpack', help='Create packages with cpack',
|
||||
action='store_true', default=False)
|
||||
parser.add_argument('--with-sdk-tool', help='Builds a internal sdk-tool (not standalone) which is used in Qt Design Studio builds',
|
||||
action='store_true', default=False)
|
||||
parser.add_argument('--add-path', help='Prepends a CMAKE_PREFIX_PATH to the build',
|
||||
action='append', dest='prefix_paths', default=[])
|
||||
parser.add_argument('--add-module-path', help='Prepends a CMAKE_MODULE_PATH to the build',
|
||||
@@ -171,7 +174,7 @@ def build_qtcreator(args, paths):
|
||||
'-DWITH_DOCS=' + cmake_option(not args.no_docs),
|
||||
'-DBUILD_QBS=' + cmake_option(build_qbs),
|
||||
'-DBUILD_DEVELOPER_DOCS=' + cmake_option(not args.no_docs),
|
||||
'-DBUILD_EXECUTABLE_SDKTOOL=OFF',
|
||||
'-DBUILD_EXECUTABLE_SDKTOOL=' + cmake_option(args.with_sdk_tool),
|
||||
'-DQTC_FORCE_XCB=ON',
|
||||
'-DWITH_TESTS=' + cmake_option(args.with_tests)]
|
||||
cmake_args += common_cmake_arguments(args)
|
||||
|
@@ -147,15 +147,15 @@ def package(args, paths):
|
||||
if common.is_windows_platform() and args.sign_command:
|
||||
command = shlex.split(args.sign_command)
|
||||
common.check_print_call(command + [paths.install])
|
||||
common.check_print_call(['7z', 'a', '-mmt2', os.path.join(paths.result, args.name + '.7z'), '*'],
|
||||
common.check_print_call(['7z', 'a', '-mmt' + args.zip_threads, os.path.join(paths.result, args.name + '.7z'), '*'],
|
||||
paths.install)
|
||||
if os.path.exists(paths.dev_install): # some plugins might not provide anything in Devel
|
||||
common.check_print_call(['7z', 'a', '-mmt2',
|
||||
common.check_print_call(['7z', 'a', '-mmt' + args.zip_threads,
|
||||
os.path.join(paths.result, args.name + '_dev.7z'), '*'],
|
||||
paths.dev_install)
|
||||
# check for existence - the DebugInfo install target doesn't work for telemetry plugin
|
||||
if args.with_debug_info and os.path.exists(paths.debug_install):
|
||||
common.check_print_call(['7z', 'a', '-mmt2',
|
||||
common.check_print_call(['7z', 'a', '-mmt' + args.zip_threads,
|
||||
os.path.join(paths.result, args.name + '-debug.7z'), '*'],
|
||||
paths.debug_install)
|
||||
if common.is_mac_platform() and common.codesign_call():
|
||||
|
@@ -3,7 +3,6 @@
|
||||
|
||||
import QtQuick
|
||||
import CollectionDetails 1.0 as CollectionDetails
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioHelpers as StudioHelpers
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
@@ -11,41 +10,54 @@ import QtQuick.Templates as T
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
required property var columnType
|
||||
|
||||
property var __modifier : textEditor
|
||||
property bool __changesAccepted: true
|
||||
|
||||
TableView.onCommit: {
|
||||
if (root.__changesAccepted)
|
||||
edit = __modifier.editor.editValue
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
__changesAccepted = true
|
||||
if (edit && edit !== "")
|
||||
root.__modifier.editor.editValue = edit
|
||||
if (editorLoader.changesAccepted && edit !== editorLoader.acceptedValue)
|
||||
edit = editorLoader.acceptedValue
|
||||
}
|
||||
|
||||
onActiveFocusChanged: {
|
||||
if (root.activeFocus)
|
||||
root.__modifier.editor.forceActiveFocus()
|
||||
if (root.activeFocus && !editorLoader.triggered && editorLoader.item) {
|
||||
editorLoader.triggered = true
|
||||
editorLoader.item.open()
|
||||
}
|
||||
|
||||
// active focus should be checked again, because it might be affected by editorLoader.item
|
||||
if (root.activeFocus && editorLoader.editor)
|
||||
editorLoader.editor.forceActiveFocus()
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: editorLoader
|
||||
|
||||
active: true
|
||||
|
||||
property var editor: editorLoader.item ? editorLoader.item.editor : null
|
||||
property var editValue: editorLoader.editor ? editorLoader.editor.editValue : null
|
||||
property var acceptedValue: null
|
||||
property bool changesAccepted: true
|
||||
property bool triggered: false
|
||||
|
||||
Connections {
|
||||
id: modifierFocusConnection
|
||||
|
||||
target: root.__modifier.editor
|
||||
target: editorLoader.editor
|
||||
enabled: editorLoader.item !== undefined
|
||||
|
||||
function onActiveFocusChanged() {
|
||||
if (!modifierFocusConnection.target.activeFocus)
|
||||
if (!modifierFocusConnection.target.activeFocus) {
|
||||
editorLoader.acceptedValue = editorLoader.editValue
|
||||
root.TableView.commit()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EditorPopup {
|
||||
Component {
|
||||
id: textEditor
|
||||
|
||||
EditorPopup {
|
||||
editor: textField
|
||||
|
||||
StudioControls.TextField {
|
||||
@@ -56,13 +68,16 @@ Item {
|
||||
actionIndicator.visible: false
|
||||
translationIndicatorVisible: false
|
||||
|
||||
onRejected: root.__changesAccepted = false
|
||||
onRejected: editorLoader.changesAccepted = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EditorPopup {
|
||||
Component {
|
||||
id: numberEditor
|
||||
|
||||
EditorPopup {
|
||||
|
||||
editor: numberField
|
||||
|
||||
StudioControls.RealSpinBox {
|
||||
@@ -75,12 +90,16 @@ Item {
|
||||
realTo: 9e9
|
||||
realStepSize: 1.0
|
||||
decimals: 6
|
||||
trailingZeroes: false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EditorPopup {
|
||||
Component {
|
||||
id: boolEditor
|
||||
|
||||
EditorPopup {
|
||||
|
||||
editor: boolField
|
||||
|
||||
StudioControls.CheckBox {
|
||||
@@ -91,39 +110,6 @@ Item {
|
||||
actionIndicatorVisible: false
|
||||
}
|
||||
}
|
||||
|
||||
EditorPopup {
|
||||
id: colorEditor
|
||||
|
||||
editor: colorPicker
|
||||
|
||||
implicitHeight: colorPicker.height + topPadding + bottomPadding
|
||||
implicitWidth: colorPicker.width + leftPadding + rightPadding
|
||||
padding: 8
|
||||
|
||||
StudioHelpers.ColorBackend {
|
||||
id: colorBackend
|
||||
}
|
||||
|
||||
StudioControls.ColorEditorPopup {
|
||||
id: colorPicker
|
||||
|
||||
property alias editValue: colorBackend.color
|
||||
color: colorBackend.color
|
||||
|
||||
width: 200
|
||||
|
||||
Keys.onEnterPressed: colorPicker.focus = false
|
||||
|
||||
onActivateColor: function(color) {
|
||||
colorBackend.activateColor(color)
|
||||
}
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
color: StudioTheme.Values.themeControlBackgroundInteraction
|
||||
border.color: StudioTheme.Values.themeInteraction
|
||||
border.width: StudioTheme.Values.border
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +121,7 @@ Item {
|
||||
implicitHeight: contentHeight
|
||||
implicitWidth: contentWidth
|
||||
|
||||
enabled: visible
|
||||
focus: true
|
||||
visible: false
|
||||
|
||||
Connections {
|
||||
@@ -144,6 +130,8 @@ Item {
|
||||
function onActiveFocusChanged() {
|
||||
if (!editorPopup.editor.activeFocus)
|
||||
editorPopup.close()
|
||||
else if (edit)
|
||||
editorPopup.editor.editValue = edit
|
||||
}
|
||||
}
|
||||
|
||||
@@ -151,7 +139,7 @@ Item {
|
||||
target: editorPopup.editor.Keys
|
||||
|
||||
function onEscapePressed() {
|
||||
root.__changesAccepted = false
|
||||
editorLoader.changesAccepted = false
|
||||
editorPopup.close()
|
||||
}
|
||||
}
|
||||
@@ -165,14 +153,8 @@ Item {
|
||||
&& columnType !== CollectionDetails.DataType.Number
|
||||
|
||||
PropertyChanges {
|
||||
target: root
|
||||
__modifier: textEditor
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: textEditor
|
||||
visible: true
|
||||
focus: true
|
||||
target: editorLoader
|
||||
sourceComponent: textEditor
|
||||
}
|
||||
},
|
||||
State {
|
||||
@@ -180,14 +162,8 @@ Item {
|
||||
when: columnType === CollectionDetails.DataType.Number
|
||||
|
||||
PropertyChanges {
|
||||
target: root
|
||||
__modifier: numberEditor
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: numberEditor
|
||||
visible: true
|
||||
focus: true
|
||||
target: editorLoader
|
||||
sourceComponent: numberEditor
|
||||
}
|
||||
},
|
||||
State {
|
||||
@@ -195,14 +171,8 @@ Item {
|
||||
when: columnType === CollectionDetails.DataType.Boolean
|
||||
|
||||
PropertyChanges {
|
||||
target: root
|
||||
__modifier: boolEditor
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: boolEditor
|
||||
visible: true
|
||||
focus: true
|
||||
target: editorLoader
|
||||
sourceComponent: boolEditor
|
||||
}
|
||||
},
|
||||
State {
|
||||
@@ -210,14 +180,8 @@ Item {
|
||||
when: columnType === CollectionDetails.DataType.Color
|
||||
|
||||
PropertyChanges {
|
||||
target: root
|
||||
__modifier: colorEditor
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: colorEditor
|
||||
visible: true
|
||||
focus: true
|
||||
target: editorLoader
|
||||
sourceComponent: null
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@@ -102,7 +102,7 @@ Item {
|
||||
icon: StudioTheme.Constants.save_medium
|
||||
tooltip: qsTr("Save changes")
|
||||
enabled: root.model.collectionName !== ""
|
||||
onClicked: root.model.saveCurrentCollection()
|
||||
onClicked: root.model.saveDataStoreCollections()
|
||||
}
|
||||
|
||||
IconButton {
|
||||
@@ -114,7 +114,6 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PlatformWidgets.FileDialog {
|
||||
id: fileDialog
|
||||
|
||||
|
@@ -6,8 +6,8 @@ import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import CollectionDetails 1.0 as CollectionDetails
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
@@ -18,7 +18,6 @@ Rectangle {
|
||||
|
||||
implicitWidth: 300
|
||||
implicitHeight: 400
|
||||
|
||||
color: StudioTheme.Values.themeControlBackground
|
||||
|
||||
ColumnLayout {
|
||||
@@ -114,14 +113,17 @@ Rectangle {
|
||||
color: StudioTheme.Values.themeControlBackgroundInteraction
|
||||
|
||||
MouseArea {
|
||||
id: topHeaderMouseArea
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: 5
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
hoverEnabled: true
|
||||
onClicked: (mouse) => {
|
||||
tableView.model.selectColumn(index)
|
||||
|
||||
if (mouse.button === Qt.RightButton) {
|
||||
let posX = index === root.model.columnCount() - 1 ? parent.width - editProperyDialog.width : 0
|
||||
let posX = index === root.model.columnCount() - 1 ? parent.width - editPropertyDialog.width : 0
|
||||
|
||||
headerMenu.clickedHeaderIndex = index
|
||||
headerMenu.dialogPos = parent.mapToGlobal(posX, parent.height)
|
||||
@@ -130,9 +132,17 @@ Rectangle {
|
||||
}
|
||||
}
|
||||
|
||||
HelperWidgets.ToolTipArea {
|
||||
anchors.fill: parent
|
||||
text: root.model.propertyType(index)
|
||||
ToolTip {
|
||||
id: topHeaderToolTip
|
||||
|
||||
property bool expectedToBeShown: topHeaderMouseArea.containsMouse
|
||||
visible: expectedToBeShown && text !== ""
|
||||
delay: 1000
|
||||
|
||||
onExpectedToBeShownChanged: {
|
||||
if (expectedToBeShown)
|
||||
text = root.model.propertyType(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,7 +158,7 @@ Rectangle {
|
||||
|
||||
StudioControls.MenuItem {
|
||||
text: qsTr("Edit")
|
||||
onTriggered: editProperyDialog.openDialog(headerMenu.clickedHeaderIndex,
|
||||
onTriggered: editPropertyDialog.openDialog(headerMenu.clickedHeaderIndex,
|
||||
headerMenu.dialogPos)
|
||||
}
|
||||
|
||||
@@ -206,11 +216,22 @@ Rectangle {
|
||||
|
||||
delegate: Rectangle {
|
||||
id: itemCell
|
||||
|
||||
clip: true
|
||||
implicitWidth: 100
|
||||
implicitHeight: itemText.height
|
||||
border.color: dataTypeWarning !== CollectionDetails.Warning.None ?
|
||||
StudioTheme.Values.themeWarning : StudioTheme.Values.themeControlBackgroundInteraction
|
||||
implicitHeight: StudioTheme.Values.baseHeight
|
||||
color: itemSelected ? StudioTheme.Values.themeControlBackgroundInteraction
|
||||
: StudioTheme.Values.themeControlBackground
|
||||
border.width: 1
|
||||
border.color: {
|
||||
if (dataTypeWarning !== CollectionDetails.Warning.None)
|
||||
return StudioTheme.Values.themeWarning
|
||||
|
||||
if (itemSelected)
|
||||
return StudioTheme.Values.themeControlOutlineInteraction
|
||||
|
||||
return StudioTheme.Values.themeControlBackgroundInteraction
|
||||
}
|
||||
|
||||
HelperWidgets.ToolTipArea {
|
||||
anchors.fill: parent
|
||||
@@ -220,12 +241,29 @@ Rectangle {
|
||||
acceptedButtons: Qt.NoButton
|
||||
}
|
||||
|
||||
Text {
|
||||
id: itemText
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.RightButton
|
||||
onClicked: (mouse) => {
|
||||
let row = index % tableView.model.rowCount()
|
||||
|
||||
tableView.model.selectRow(row)
|
||||
cellContextMenu.popup()
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: cellContentLoader
|
||||
|
||||
property int cellColumnType: columnType ? columnType : 0
|
||||
|
||||
Component {
|
||||
id: cellText
|
||||
|
||||
Text {
|
||||
text: display
|
||||
color: StudioTheme.Values.themePlaceholderTextColorInteraction
|
||||
width: parent.width
|
||||
color: itemSelected ? StudioTheme.Values.themeInteraction
|
||||
: StudioTheme.Values.themePlaceholderTextColorInteraction
|
||||
leftPadding: 5
|
||||
topPadding: 3
|
||||
bottomPadding: 3
|
||||
@@ -234,45 +272,94 @@ Rectangle {
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: colorEditorComponent
|
||||
|
||||
ColorViewDelegate {}
|
||||
}
|
||||
|
||||
function resetSource() {
|
||||
if (columnType === CollectionDetails.DataType.Color)
|
||||
cellContentLoader.sourceComponent = colorEditorComponent
|
||||
else
|
||||
cellContentLoader.sourceComponent = cellText
|
||||
}
|
||||
|
||||
Component.onCompleted: resetSource()
|
||||
onCellColumnTypeChanged: resetSource()
|
||||
}
|
||||
|
||||
TableView.editDelegate: CollectionDetailsEditDelegate {
|
||||
anchors {
|
||||
top: itemText.top
|
||||
left: itemText.left
|
||||
top: itemCell.top
|
||||
left: itemCell.left
|
||||
}
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "default"
|
||||
when: !itemSelected
|
||||
StudioControls.Menu {
|
||||
id: cellContextMenu
|
||||
|
||||
PropertyChanges {
|
||||
target: itemCell
|
||||
color: StudioTheme.Values.themeControlBackground
|
||||
width: 140
|
||||
|
||||
StudioControls.MenuItem {
|
||||
HelperWidgets.IconLabel {
|
||||
icon: StudioTheme.Constants.addrowabove_medium
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
Text {
|
||||
text: qsTr("Add row above")
|
||||
color: StudioTheme.Values.themeTextColor
|
||||
anchors.left: parent.right
|
||||
anchors.leftMargin: 10
|
||||
}
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: itemText
|
||||
color: StudioTheme.Values.themePlaceholderTextColorInteraction
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "selected"
|
||||
when: itemSelected
|
||||
|
||||
PropertyChanges {
|
||||
target: itemCell
|
||||
color: StudioTheme.Values.themeControlBackgroundInteraction
|
||||
border.color: StudioTheme.Values.themeControlBackground
|
||||
onTriggered: root.model.insertRow(root.model.selectedRow)
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: itemText
|
||||
color: StudioTheme.Values.themeInteraction
|
||||
StudioControls.MenuItem {
|
||||
HelperWidgets.IconLabel {
|
||||
icon: StudioTheme.Constants.addrowabove_medium
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
Text {
|
||||
text: qsTr("Add row below")
|
||||
color: StudioTheme.Values.themeTextColor
|
||||
anchors.left: parent.right
|
||||
anchors.leftMargin: 10
|
||||
}
|
||||
}
|
||||
|
||||
onTriggered: root.model.insertRow(root.model.selectedRow + 1)
|
||||
}
|
||||
|
||||
StudioControls.MenuItem {
|
||||
HelperWidgets.IconLabel {
|
||||
icon: StudioTheme.Constants.addrowabove_medium
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 10
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
Text {
|
||||
text: qsTr("Delete this row")
|
||||
color: StudioTheme.Values.themeTextColor
|
||||
anchors.left: parent.right
|
||||
anchors.leftMargin: 10
|
||||
}
|
||||
}
|
||||
|
||||
onTriggered: root.model.removeRows(root.model.selectedRow, 1)
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -388,10 +475,15 @@ Rectangle {
|
||||
}
|
||||
|
||||
EditPropertyDialog {
|
||||
id: editProperyDialog
|
||||
id: editPropertyDialog
|
||||
model: root.model
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: root.parent
|
||||
onIsHorizontalChanged: editPropertyDialog.close()
|
||||
}
|
||||
|
||||
StudioControls.Dialog {
|
||||
id: deleteColumnDialog
|
||||
|
||||
|
@@ -4,9 +4,8 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
import CollectionEditorBackend
|
||||
|
||||
Item {
|
||||
|
@@ -0,0 +1,282 @@
|
||||
// Copyright (C) 2024 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Shapes
|
||||
import QtQuick.Templates as T
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
import StudioControls as StudioControls
|
||||
import QtQuickDesignerTheme
|
||||
import QtQuickDesignerColorPalette
|
||||
|
||||
Row {
|
||||
id: colorEditor
|
||||
|
||||
property color color
|
||||
property bool supportGradient: false
|
||||
readonly property color __editColor: edit
|
||||
|
||||
property variant value: {
|
||||
if (!edit)
|
||||
return "white" // default color for Rectangle
|
||||
|
||||
if (colorEditor.isVector3D) {
|
||||
return Qt.rgba(__editColor.x,
|
||||
__editColor.y,
|
||||
__editColor.z, 1)
|
||||
}
|
||||
|
||||
return __editColor
|
||||
}
|
||||
|
||||
property alias gradientPropertyName: popupDialog.gradientPropertyName
|
||||
|
||||
property alias gradientThumbnail: gradientThumbnail
|
||||
property alias shapeGradientThumbnail: shapeGradientThumbnail
|
||||
|
||||
property bool shapeGradients: false
|
||||
property bool isVector3D: false
|
||||
property color originalColor
|
||||
|
||||
property bool __block: false
|
||||
|
||||
function resetShapeColor() {
|
||||
if (edit)
|
||||
edit = ""
|
||||
}
|
||||
|
||||
function writeColor() {
|
||||
if (colorEditor.isVector3D) {
|
||||
edit = Qt.vector3d(colorEditor.color.r,
|
||||
colorEditor.color.g,
|
||||
colorEditor.color.b)
|
||||
} else {
|
||||
edit = colorEditor.color
|
||||
}
|
||||
}
|
||||
|
||||
function initEditor() {
|
||||
colorEditor.syncColor()
|
||||
}
|
||||
|
||||
// Syncing color from backend to frontend and block reflection
|
||||
function syncColor() {
|
||||
colorEditor.__block = true
|
||||
colorEditor.color = colorEditor.value
|
||||
hexTextField.syncColor()
|
||||
colorEditor.__block = false
|
||||
}
|
||||
|
||||
Connections {
|
||||
id: backendConnection
|
||||
|
||||
target: colorEditor
|
||||
|
||||
function onValueChanged() {
|
||||
if (popupDialog.isSolid())
|
||||
colorEditor.syncColor()
|
||||
}
|
||||
|
||||
function on__EditColorChanged() {
|
||||
if (popupDialog.isSolid())
|
||||
colorEditor.syncColor()
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: colorEditorTimer
|
||||
|
||||
repeat: false
|
||||
interval: 100
|
||||
running: false
|
||||
onTriggered: {
|
||||
backendConnection.enabled = false
|
||||
colorEditor.writeColor()
|
||||
hexTextField.syncColor()
|
||||
backendConnection.enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
onColorChanged: {
|
||||
if (colorEditor.__block)
|
||||
return
|
||||
|
||||
if (!popupDialog.isInValidState)
|
||||
return
|
||||
|
||||
popupDialog.commitToGradient()
|
||||
|
||||
// Delay setting the color to keep ui responsive
|
||||
if (popupDialog.isSolid())
|
||||
colorEditorTimer.restart()
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: preview
|
||||
|
||||
implicitWidth: StudioTheme.Values.twoControlColumnWidth
|
||||
implicitHeight: StudioTheme.Values.height
|
||||
color: colorEditor.color
|
||||
border.color: StudioTheme.Values.themeControlOutline
|
||||
border.width: StudioTheme.Values.border
|
||||
|
||||
Rectangle {
|
||||
id: gradientThumbnail
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: StudioTheme.Values.border
|
||||
visible: !popupDialog.isSolid()
|
||||
&& !colorEditor.shapeGradients
|
||||
&& popupDialog.isLinearGradient()
|
||||
}
|
||||
|
||||
Shape {
|
||||
id: shape
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: StudioTheme.Values.border
|
||||
visible: !popupDialog.isSolid() && colorEditor.shapeGradients
|
||||
|
||||
ShapePath {
|
||||
id: shapeGradientThumbnail
|
||||
|
||||
startX: shape.x - 1
|
||||
startY: shape.y - 1
|
||||
strokeWidth: -1
|
||||
strokeColor: "green"
|
||||
|
||||
PathLine {
|
||||
x: shape.x - 1
|
||||
y: shape.height
|
||||
}
|
||||
PathLine {
|
||||
x: shape.width
|
||||
y: shape.height
|
||||
}
|
||||
PathLine {
|
||||
x: shape.width
|
||||
y: shape.y - 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
source: "qrc:/navigator/icon/checkers.png"
|
||||
fillMode: Image.Tile
|
||||
z: -1
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
popupDialog.visibility ? popupDialog.close() : popupDialog.open()
|
||||
forceActiveFocus()
|
||||
}
|
||||
}
|
||||
|
||||
StudioControls.PopupDialog {
|
||||
id: popupDialog
|
||||
|
||||
property bool isInValidState: loader.active ? popupDialog.loaderItem.isInValidState : true
|
||||
property QtObject loaderItem: loader.item
|
||||
property string gradientPropertyName
|
||||
|
||||
keepOpen: loader.item?.eyeDropperActive ?? false
|
||||
|
||||
width: 260
|
||||
|
||||
function commitToGradient() {
|
||||
if (!loader.active)
|
||||
return
|
||||
|
||||
if (colorEditor.supportGradient && popupDialog.loaderItem.gradientModel.hasGradient) {
|
||||
var hexColor = convertColorToString(colorEditor.color)
|
||||
hexTextField.text = hexColor
|
||||
edit = hexColor
|
||||
popupDialog.loaderItem.commitGradientColor()
|
||||
}
|
||||
}
|
||||
|
||||
function isSolid() {
|
||||
if (!loader.active)
|
||||
return true
|
||||
|
||||
return popupDialog.loaderItem.isSolid()
|
||||
}
|
||||
|
||||
function isLinearGradient(){
|
||||
if (!loader.active)
|
||||
return false
|
||||
|
||||
return popupDialog.loaderItem.isLinearGradient()
|
||||
}
|
||||
|
||||
function ensureLoader() {
|
||||
if (!loader.active)
|
||||
loader.active = true
|
||||
}
|
||||
|
||||
function open() {
|
||||
popupDialog.ensureLoader()
|
||||
popupDialog.show(preview)
|
||||
}
|
||||
|
||||
function determineActiveColorMode() {
|
||||
if (loader.active && popupDialog.loaderItem)
|
||||
popupDialog.loaderItem.determineActiveColorMode()
|
||||
else
|
||||
colorEditor.syncColor()
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: loader
|
||||
|
||||
active: colorEditor.supportGradient
|
||||
|
||||
sourceComponent: HelperWidgets.ColorEditorPopup {
|
||||
shapeGradients: colorEditor.shapeGradients
|
||||
supportGradient: colorEditor.supportGradient
|
||||
width: popupDialog.contentWidth
|
||||
}
|
||||
|
||||
onLoaded: {
|
||||
popupDialog.loaderItem.initEditor()
|
||||
popupDialog.titleBar = loader.item.titleBarContent
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HelperWidgets.LineEdit {
|
||||
id: hexTextField
|
||||
implicitWidth: StudioTheme.Values.twoControlColumnWidth
|
||||
+ StudioTheme.Values.actionIndicatorWidth
|
||||
width: hexTextField.implicitWidth
|
||||
enabled: popupDialog.isSolid()
|
||||
writeValueManually: true
|
||||
validator: RegularExpressionValidator {
|
||||
regularExpression: /#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?/g
|
||||
}
|
||||
showTranslateCheckBox: false
|
||||
showExtendedFunctionButton: false
|
||||
indicatorVisible: false
|
||||
|
||||
onAccepted: colorEditor.color = hexTextField.text
|
||||
onCommitData: {
|
||||
colorEditor.color = hexTextField.text
|
||||
if (popupDialog.isSolid())
|
||||
colorEditor.writeColor()
|
||||
}
|
||||
|
||||
function syncColor() {
|
||||
hexTextField.text = colorEditor.color
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: popupDialog.determineActiveColorMode()
|
||||
|
||||
on__EditColorChanged: popupDialog.determineActiveColorMode()
|
||||
}
|
@@ -36,6 +36,11 @@ StudioControls.Dialog {
|
||||
root.open()
|
||||
}
|
||||
|
||||
onWidthChanged: {
|
||||
if (visible && x > parent.width)
|
||||
root.close()
|
||||
}
|
||||
|
||||
onAccepted: {
|
||||
if (nameTextField.text !== "" && nameTextField.text !== root.__currentName)
|
||||
root.model.renameColumn(root.__propertyIndex, nameTextField.text)
|
||||
@@ -50,13 +55,13 @@ StudioControls.Dialog {
|
||||
Grid {
|
||||
columns: 2
|
||||
rows: 2
|
||||
spacing: 2
|
||||
rowSpacing: 2
|
||||
columnSpacing: 25
|
||||
verticalItemAlignment: Grid.AlignVCenter
|
||||
|
||||
Text {
|
||||
text: qsTr("Name")
|
||||
color: StudioTheme.Values.themeTextColor
|
||||
width: 50
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
@@ -129,14 +134,12 @@ StudioControls.Dialog {
|
||||
Row {
|
||||
height: 40
|
||||
spacing: 5
|
||||
anchors.right: parent.right
|
||||
|
||||
HelperWidgets.Button {
|
||||
id: editButton
|
||||
|
||||
text: qsTr("Apply")
|
||||
enabled: nameTextField.text !== ""
|
||||
width: 70
|
||||
anchors.bottom: parent.bottom
|
||||
|
||||
onClicked: root.accept()
|
||||
@@ -145,7 +148,6 @@ StudioControls.Dialog {
|
||||
HelperWidgets.Button {
|
||||
text: qsTr("Cancel")
|
||||
anchors.bottom: parent.bottom
|
||||
width: 70
|
||||
|
||||
onClicked: root.reject()
|
||||
}
|
||||
|
@@ -4,10 +4,9 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import Qt.labs.platform as PlatformWidgets
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
StudioControls.Dialog {
|
||||
|
@@ -4,12 +4,11 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import Qt.labs.platform as PlatformWidgets
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
import CollectionEditor 1.0
|
||||
import CollectionEditor
|
||||
|
||||
StudioControls.Dialog {
|
||||
id: root
|
||||
|
@@ -4,10 +4,9 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
import ContentLibraryBackend
|
||||
|
||||
Item {
|
||||
|
@@ -3,10 +3,8 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import QtQuick.Controls
|
||||
|
||||
import StudioTheme as StudioTheme
|
||||
import ContentLibraryBackend
|
||||
|
||||
|
@@ -4,10 +4,8 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
import ContentLibraryBackend
|
||||
import WebFetcher
|
||||
|
||||
|
@@ -4,10 +4,8 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
import ContentLibraryBackend
|
||||
import WebFetcher
|
||||
|
||||
|
@@ -4,7 +4,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
@@ -4,7 +4,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
@@ -4,7 +4,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
@@ -4,7 +4,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
@@ -12,6 +12,7 @@ Item {
|
||||
property alias blurSrc3: blurredItemSource3
|
||||
property alias blurSrc4: blurredItemSource4
|
||||
property alias blurSrc5: blurredItemSource5
|
||||
property Item source: null
|
||||
|
||||
component BlurItem: ShaderEffect {
|
||||
property vector2d offset: Qt.vector2d((1.0 + rootItem.blurMultiplier) / width,
|
||||
@@ -37,8 +38,8 @@ Item {
|
||||
// Size of the first blurred item is by default half of the source.
|
||||
// Increase for quality and decrease for performance & more blur.
|
||||
readonly property int blurItemSize: 8
|
||||
width: Math.ceil(rootItem.width / 16) * blurItemSize
|
||||
height: Math.ceil(rootItem.height / 16) * blurItemSize
|
||||
width: Math.ceil((rootItem.source ? rootItem.source.width : 16) / 16) * blurItemSize
|
||||
height: Math.ceil((rootItem.source ? rootItem.source.height : 16) / 16) * blurItemSize
|
||||
}
|
||||
BlurItem {
|
||||
id: blurredItemSource2
|
||||
|
@@ -3,10 +3,9 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
HelperWidgets.Section {
|
||||
|
@@ -4,10 +4,9 @@
|
||||
import QtQuick
|
||||
import QtQuick.Dialogs
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
Item {
|
||||
|
@@ -65,12 +65,12 @@ Item {
|
||||
|
||||
EffectMakerTopBar {
|
||||
onAddClicked: {
|
||||
root.onSaveChangesCallback = () => { EffectMakerBackend.effectMakerModel.clear() }
|
||||
root.onSaveChangesCallback = () => { EffectMakerBackend.effectMakerModel.clear(true) }
|
||||
|
||||
if (EffectMakerBackend.effectMakerModel.hasUnsavedChanges)
|
||||
saveChangesDialog.open()
|
||||
else
|
||||
EffectMakerBackend.effectMakerModel.clear()
|
||||
EffectMakerBackend.effectMakerModel.clear(true)
|
||||
}
|
||||
|
||||
onSaveClicked: {
|
||||
|
@@ -2,10 +2,9 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
Column {
|
||||
@@ -196,7 +195,7 @@ Column {
|
||||
|
||||
BlurHelper {
|
||||
id: blurHelper
|
||||
anchors.fill: parent
|
||||
source: source
|
||||
property int blurMax: g_propertyData.blur_helper_max_level ? g_propertyData.blur_helper_max_level : 64
|
||||
property real blurMultiplier: g_propertyData.blurMultiplier ? g_propertyData.blurMultiplier : 0
|
||||
}
|
||||
|
@@ -2,10 +2,9 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
Rectangle {
|
||||
|
@@ -3,10 +3,9 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
Rectangle {
|
||||
|
@@ -2,10 +2,9 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
StudioControls.ComboBox {
|
||||
|
@@ -2,10 +2,9 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
StudioControls.ComboBox {
|
||||
|
@@ -84,6 +84,9 @@ StudioControls.Dialog {
|
||||
text: qsTr("Save")
|
||||
enabled: nameText.text !== ""
|
||||
onClicked: {
|
||||
if (!enabled) // needed since this event handler can be triggered from keyboard events
|
||||
return
|
||||
|
||||
EffectMakerBackend.effectMakerModel.saveComposition(nameText.text)
|
||||
|
||||
if (root.clearOnClose) {
|
||||
|
@@ -2,9 +2,8 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
StudioControls.CheckBox {
|
||||
|
@@ -2,9 +2,8 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
Row {
|
||||
|
@@ -2,9 +2,8 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
Row {
|
||||
|
@@ -2,9 +2,8 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
Row {
|
||||
|
@@ -2,9 +2,8 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
Row {
|
||||
|
@@ -2,9 +2,8 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
Row {
|
||||
|
@@ -3,9 +3,8 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
RowLayout {
|
||||
|
@@ -3,9 +3,8 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
RowLayout {
|
||||
|
@@ -3,9 +3,8 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import EffectMakerBackend
|
||||
|
||||
RowLayout {
|
||||
|
@@ -3,9 +3,8 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Rectangle {
|
||||
|
@@ -1,11 +1,10 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
import ItemLibraryBackend
|
||||
|
||||
Column {
|
||||
|
@@ -1,12 +1,12 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
import ItemLibraryBackend
|
||||
import QtQuickDesignerTheme
|
||||
|
||||
Item {
|
||||
id: delegateRoot
|
||||
|
@@ -2,11 +2,11 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
import ItemLibraryBackend
|
||||
import QtQuickDesignerTheme
|
||||
/* The view displaying the item grid.
|
||||
The following Qml context properties have to be set:
|
||||
- ItemLibraryModel itemLibraryModel
|
||||
|
@@ -4,7 +4,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
@@ -2,10 +2,9 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
import MaterialBrowserBackend
|
||||
|
||||
Item {
|
||||
|
@@ -1,11 +1,10 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
import MaterialBrowserBackend
|
||||
|
||||
TextInput {
|
||||
|
@@ -1,11 +1,10 @@
|
||||
// Copyright (C) 2022 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
import MaterialBrowserBackend
|
||||
|
||||
Item {
|
||||
|
@@ -4,7 +4,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
import MaterialBrowserBackend
|
||||
|
@@ -2,9 +2,8 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
PropertyEditorPane {
|
||||
id: root
|
||||
|
@@ -2,8 +2,7 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import HelperWidgets
|
||||
|
||||
PropertyEditorPane {
|
||||
id: itemPane
|
||||
|
@@ -2,11 +2,10 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import MaterialToolBarAction 1.0
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
import MaterialToolBarAction
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
|
@@ -4,10 +4,9 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Column {
|
||||
id: root
|
||||
|
@@ -1,13 +1,11 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
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
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
SectionLayout {
|
||||
id: anchorRow
|
||||
|
@@ -1,11 +1,10 @@
|
||||
// Copyright (C) 2022 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import HelperWidgets 2.0
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Section {
|
||||
caption: qsTr("Button Content")
|
||||
|
@@ -1,11 +1,10 @@
|
||||
// Copyright (C) 2022 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import HelperWidgets 2.0
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Section {
|
||||
id: section
|
||||
|
@@ -1,11 +1,10 @@
|
||||
// Copyright (C) 2022 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import HelperWidgets 2.0
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Column {
|
||||
anchors.left: parent.left
|
||||
|
@@ -1,11 +1,10 @@
|
||||
// Copyright (C) 2022 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import HelperWidgets 2.0
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Column {
|
||||
anchors.left: parent.left
|
||||
|
@@ -3,9 +3,8 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
PropertyEditorPane {
|
||||
id: itemPane
|
||||
|
@@ -1,18 +1,17 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import HelperWidgets 2.0
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Controls as Controls
|
||||
import QtQuick.Layouts
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Rectangle {
|
||||
id: itemPane
|
||||
width: 320
|
||||
height: 400
|
||||
color: Theme.qmlDesignerBackgroundColorDarkAlternate()
|
||||
color: StudioTheme.Values.themePanelBackground
|
||||
|
||||
ColumnLayout {
|
||||
id: mainColumn
|
||||
|
@@ -3,9 +3,8 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
PropertyEditorPane {
|
||||
id: itemPane
|
||||
|
@@ -1,10 +1,9 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Item {
|
||||
id: buttonRowButton
|
||||
|
@@ -7,7 +7,6 @@ import QtQuick.Shapes
|
||||
import QtQuick.Templates as T
|
||||
import StudioTheme as StudioTheme
|
||||
import StudioControls as StudioControls
|
||||
import QtQuickDesignerTheme
|
||||
import QtQuickDesignerColorPalette
|
||||
|
||||
SecondColumnLayout {
|
||||
@@ -36,6 +35,7 @@ SecondColumnLayout {
|
||||
property alias shapeGradientThumbnail: shapeGradientThumbnail
|
||||
|
||||
property alias showExtendedFunctionButton: hexTextField.showExtendedFunctionButton
|
||||
property alias showHexTextField: hexTextField.visible
|
||||
|
||||
property bool shapeGradients: false
|
||||
property color originalColor
|
||||
|
@@ -5,7 +5,6 @@ import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Shapes
|
||||
import QtQuick.Templates as T
|
||||
import QtQuickDesignerTheme
|
||||
import StudioTheme as StudioTheme
|
||||
import StudioControls as StudioControls
|
||||
import QtQuickDesignerColorPalette
|
||||
@@ -393,10 +392,7 @@ Column {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: modelNodeBackend
|
||||
function onSelectionChanged() {
|
||||
root.initEditor()
|
||||
}
|
||||
|
@@ -1,13 +1,12 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
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 StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Templates as T
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Section {
|
||||
id: root
|
||||
|
@@ -1,12 +1,11 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Window 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Window
|
||||
import QtQuick.Controls
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
StudioControls.TextField {
|
||||
id: textField
|
||||
|
@@ -1,11 +1,10 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import QtQuick
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
import HelperWidgets
|
||||
|
||||
Item {
|
||||
id: extendedFunctionButton
|
||||
|
@@ -4,7 +4,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Qt.labs.platform
|
||||
import QtQuickDesignerTheme
|
||||
import HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
@@ -1,13 +1,12 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Rectangle {
|
||||
id: tabBackground
|
||||
|
@@ -1,10 +1,9 @@
|
||||
// Copyright (C) 2022 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
|
@@ -1,10 +1,9 @@
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import QtQuick
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
StudioControls.TextField {
|
||||
id: lineEdit
|
||||
|
@@ -4,16 +4,15 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Rectangle {
|
||||
id: itemPane
|
||||
|
||||
width: 320
|
||||
height: 400
|
||||
color: Theme.qmlDesignerBackgroundColorDarkAlternate()
|
||||
color: StudioTheme.Values.themePanelBackground
|
||||
|
||||
Component.onCompleted: Controller.mainScrollView = mainScrollView
|
||||
|
||||
|
@@ -1,10 +1,9 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Rectangle {
|
||||
id: panel
|
||||
|
@@ -28,6 +28,8 @@ Flickable {
|
||||
// and set the ads focus on it.
|
||||
objectName: "__mainSrollView"
|
||||
|
||||
flickDeceleration: 10000
|
||||
|
||||
HoverHandler { id: hoverHandler }
|
||||
|
||||
ScrollBar.horizontal: StudioControls.TransientScrollBar {
|
||||
|
@@ -1,12 +1,11 @@
|
||||
// Copyright (C) 2021 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15 as Controls
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuick
|
||||
import QtQuick.Controls as Controls
|
||||
import QtQuick.Layouts
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
Item {
|
||||
id: section
|
||||
|
@@ -7,7 +7,6 @@ import QtQuick.Controls
|
||||
import HelperWidgets
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
import QtQuickDesignerTheme
|
||||
|
||||
Row {
|
||||
id: root
|
||||
|
@@ -10,6 +10,7 @@ ButtonRowButton 2.0 ButtonRowButton.qml
|
||||
CharacterSection 2.0 CharacterSection.qml
|
||||
CheckBox 2.0 CheckBox.qml
|
||||
ColorEditor 2.0 ColorEditor.qml
|
||||
ColorEditorPopup 2.0 ColorEditorPopup.qml
|
||||
ColorLogic 2.0 ColorLogic.qml
|
||||
ComboBox 2.0 ComboBox.qml
|
||||
ComponentButton 2.0 ComponentButton.qml
|
||||
|
@@ -3,7 +3,6 @@
|
||||
|
||||
import QtQuick
|
||||
import StudioTheme as StudioTheme
|
||||
import QtQuickDesignerTheme
|
||||
import QtQuickDesignerColorPalette
|
||||
import StudioHelpers
|
||||
|
||||
|
@@ -104,7 +104,7 @@ QtObject {
|
||||
return root.maximumHeight + (2 * window.margin)
|
||||
}
|
||||
visible: false
|
||||
flags: Qt.FramelessWindowHint | Qt.Dialog
|
||||
flags: Qt.FramelessWindowHint | Qt.Dialog | Qt.WindowStaysOnTopHint
|
||||
color: "transparent"
|
||||
|
||||
onClosing: function (close) {
|
||||
|
@@ -37,6 +37,8 @@ T.SpinBox {
|
||||
property bool drag: false
|
||||
property bool sliderDrag: sliderPopup.drag
|
||||
|
||||
property bool trailingZeroes: true
|
||||
|
||||
property bool dirty: false // user modification flag
|
||||
|
||||
// TODO Not used anymore. Will be removed when all dependencies were removed.
|
||||
@@ -204,11 +206,14 @@ T.SpinBox {
|
||||
|
||||
textFromValue: function (value, locale) {
|
||||
locale.numberOptions = Locale.OmitGroupSeparator
|
||||
return Number(control.realValue).toLocaleString(locale, 'f', control.decimals)
|
||||
var decimals = trailingZeroes ? control.decimals : decimalCounter(value)
|
||||
|
||||
return Number(control.realValue).toLocaleString(locale, 'f', decimals)
|
||||
}
|
||||
|
||||
valueFromText: function (text, locale) {
|
||||
control.setRealValue(Number.fromLocaleString(locale, spinBoxInput.text))
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -400,4 +405,14 @@ T.SpinBox {
|
||||
if (control.realValue !== currValue)
|
||||
control.realValueModified()
|
||||
}
|
||||
|
||||
function decimalCounter(number) {
|
||||
var strNumber = Math.abs(number).toString()
|
||||
var decimalIndex = strNumber.indexOf('.')
|
||||
|
||||
// Set 'index' to a minimum of 1 if there are no fractions
|
||||
var index = decimalIndex == -1 ? 1 : strNumber.length - decimalIndex - 1
|
||||
|
||||
return Math.min(index, control.decimals);
|
||||
}
|
||||
}
|
||||
|
@@ -3,8 +3,7 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
T.TextField {
|
||||
id: control
|
||||
|
@@ -4,7 +4,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Templates as T
|
||||
import StudioTheme as StudioTheme
|
||||
import QtQuickDesignerTheme
|
||||
import StudioWindowManager
|
||||
|
||||
T.ComboBox {
|
||||
|
@@ -5,7 +5,6 @@ import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Templates as T
|
||||
import QtQuickDesignerTheme
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
import QtQuickDesignerColorPalette
|
||||
|
@@ -3,7 +3,7 @@
|
||||
|
||||
pragma Singleton
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import QtQuickDesignerTheme
|
||||
|
||||
QtObject {
|
||||
id: values
|
||||
|
@@ -2,9 +2,8 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
|
||||
PropertyEditorPane {
|
||||
id: root
|
||||
|
@@ -2,8 +2,7 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0
|
||||
import HelperWidgets
|
||||
|
||||
PropertyEditorPane {
|
||||
id: itemPane
|
||||
|
@@ -2,10 +2,9 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
import QtQuick
|
||||
import QtQuickDesignerTheme 1.0
|
||||
import HelperWidgets 2.0 as HelperWidgets
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import TextureToolBarAction 1.0
|
||||
import HelperWidgets as HelperWidgets
|
||||
import StudioTheme as StudioTheme
|
||||
import TextureToolBarAction
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
|
@@ -3,11 +3,9 @@
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import StudioControls 1.0 as StudioControls
|
||||
import StudioTheme 1.0 as StudioTheme
|
||||
import QtQuickDesignerTheme 1.0
|
||||
|
||||
import ToolBar 1.0
|
||||
import StudioControls as StudioControls
|
||||
import StudioTheme as StudioTheme
|
||||
import ToolBar
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
|