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
|
Now the emulator runs, the qtdesignviewer APK delivered with the \QDS installation
|
||||||
is uploaded, and the project is uploaded and shown in the emulator.
|
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:
|
Note the following:
|
||||||
\list
|
\list
|
||||||
|
@@ -124,10 +124,14 @@
|
|||||||
\li Purpose
|
\li Purpose
|
||||||
\row
|
\row
|
||||||
\li \uicontrol ID
|
\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
|
You can change them in this field. Use unique and descriptive IDs
|
||||||
to avoid duplicate IDs when the layer and the respective artwork
|
to avoid duplicate IDs when the layer and the respective artwork
|
||||||
are imported into \QDS.
|
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
|
\row
|
||||||
\li \uicontrol {Export as}
|
\li \uicontrol {Export as}
|
||||||
\li Determines how to export the group or layer:
|
\li Determines how to export the group or layer:
|
||||||
@@ -146,6 +150,8 @@
|
|||||||
into one component.
|
into one component.
|
||||||
\li \uicontrol Skipped completely skips the selected layer.
|
\li \uicontrol Skipped completely skips the selected layer.
|
||||||
\endlist
|
\endlist
|
||||||
|
\note Use \inlineimage figma-binding-reset.png button next to
|
||||||
|
\uicontrol {Export as} to reset to default value.
|
||||||
\row
|
\row
|
||||||
\li \uicontrol {Custom Component Type}
|
\li \uicontrol {Custom Component Type}
|
||||||
\li Determines the \l{Component Types}{component type} to morph this
|
\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
|
\li Exports the component generated from this layer as an alias in the
|
||||||
parent component.
|
parent component.
|
||||||
\row
|
\row
|
||||||
\li \uicontrol Visible
|
\li \uicontrol {Start Screen}
|
||||||
\li Determines the visibility of the layer.
|
\li Sets the component to be the starting component in \QDS project.
|
||||||
\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.
|
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
\section2 Settings
|
\section2 Settings
|
||||||
@@ -239,6 +240,10 @@
|
|||||||
\li \uicontrol {Export as shapes}
|
\li \uicontrol {Export as shapes}
|
||||||
\li Exports vectors as components of the type \l{SVG Path Item} from the
|
\li Exports vectors as components of the type \l{SVG Path Item} from the
|
||||||
Qt Quick Studio Components module.
|
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
|
\row
|
||||||
\li \uicontrol {Reset plugin data}
|
\li \uicontrol {Reset plugin data}
|
||||||
\li Resets all settings for all layers and groups (also in the
|
\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
|
\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.
|
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
|
\section1 Exporting Library Symbols
|
||||||
|
|
||||||
\QBSK can handle symbols used from a local library. Before you use \QBSK to export a document
|
\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.
|
workspace, select it in the list.
|
||||||
\li
|
\li
|
||||||
\li \l{Managing Workspaces}
|
\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
|
\row
|
||||||
\li \uicontrol Share
|
\li \uicontrol Share
|
||||||
\li Shares the application online using Qt Design Viewer.
|
\li Shares the application online using Qt Design Viewer.
|
||||||
|
@@ -14,10 +14,11 @@
|
|||||||
To detach views:
|
To detach views:
|
||||||
|
|
||||||
\list
|
\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 Double-click the title bar of the view.
|
||||||
\li Start dragging the view to another position.
|
\li Start dragging the view to another position.
|
||||||
\li Select the \inlineimage icons/detach-group-icon.png
|
|
||||||
(\uicontrol {Detach Group}) button.
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
You can move detached views or groups of views anywhere on the screen.
|
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.
|
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
|
\section1 Saving Workspaces
|
||||||
|
|
||||||
The changes you make to a workspace are saved when you exit \QDS.
|
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',
|
parser.add_argument('--no-cdb',
|
||||||
help='Skip cdbextension and the python dependency packaging step (Windows)',
|
help='Skip cdbextension and the python dependency packaging step (Windows)',
|
||||||
action='store_true', default=(not common.is_windows_platform()))
|
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',
|
parser.add_argument('--no-docs', help='Skip documentation generation',
|
||||||
action='store_true', default=False)
|
action='store_true', default=False)
|
||||||
parser.add_argument('--no-build-date', help='Does not show build date in about dialog, for reproducible builds',
|
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)
|
action='store_true', default=False)
|
||||||
parser.add_argument('--with-cpack', help='Create packages with cpack',
|
parser.add_argument('--with-cpack', help='Create packages with cpack',
|
||||||
action='store_true', default=False)
|
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',
|
parser.add_argument('--add-path', help='Prepends a CMAKE_PREFIX_PATH to the build',
|
||||||
action='append', dest='prefix_paths', default=[])
|
action='append', dest='prefix_paths', default=[])
|
||||||
parser.add_argument('--add-module-path', help='Prepends a CMAKE_MODULE_PATH to the build',
|
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),
|
'-DWITH_DOCS=' + cmake_option(not args.no_docs),
|
||||||
'-DBUILD_QBS=' + cmake_option(build_qbs),
|
'-DBUILD_QBS=' + cmake_option(build_qbs),
|
||||||
'-DBUILD_DEVELOPER_DOCS=' + cmake_option(not args.no_docs),
|
'-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',
|
'-DQTC_FORCE_XCB=ON',
|
||||||
'-DWITH_TESTS=' + cmake_option(args.with_tests)]
|
'-DWITH_TESTS=' + cmake_option(args.with_tests)]
|
||||||
cmake_args += common_cmake_arguments(args)
|
cmake_args += common_cmake_arguments(args)
|
||||||
|
@@ -147,15 +147,15 @@ def package(args, paths):
|
|||||||
if common.is_windows_platform() and args.sign_command:
|
if common.is_windows_platform() and args.sign_command:
|
||||||
command = shlex.split(args.sign_command)
|
command = shlex.split(args.sign_command)
|
||||||
common.check_print_call(command + [paths.install])
|
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)
|
paths.install)
|
||||||
if os.path.exists(paths.dev_install): # some plugins might not provide anything in Devel
|
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'), '*'],
|
os.path.join(paths.result, args.name + '_dev.7z'), '*'],
|
||||||
paths.dev_install)
|
paths.dev_install)
|
||||||
# check for existence - the DebugInfo install target doesn't work for telemetry plugin
|
# 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):
|
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'), '*'],
|
os.path.join(paths.result, args.name + '-debug.7z'), '*'],
|
||||||
paths.debug_install)
|
paths.debug_install)
|
||||||
if common.is_mac_platform() and common.codesign_call():
|
if common.is_mac_platform() and common.codesign_call():
|
||||||
|
@@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import CollectionDetails 1.0 as CollectionDetails
|
import CollectionDetails 1.0 as CollectionDetails
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioControls 1.0 as StudioControls
|
||||||
import StudioHelpers as StudioHelpers
|
import StudioHelpers as StudioHelpers
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme 1.0 as StudioTheme
|
||||||
@@ -11,119 +10,106 @@ import QtQuick.Templates as T
|
|||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
required property var columnType
|
required property var columnType
|
||||||
|
|
||||||
property var __modifier : textEditor
|
|
||||||
property bool __changesAccepted: true
|
|
||||||
|
|
||||||
TableView.onCommit: {
|
TableView.onCommit: {
|
||||||
if (root.__changesAccepted)
|
if (editorLoader.changesAccepted && edit !== editorLoader.acceptedValue)
|
||||||
edit = __modifier.editor.editValue
|
edit = editorLoader.acceptedValue
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
__changesAccepted = true
|
|
||||||
if (edit && edit !== "")
|
|
||||||
root.__modifier.editor.editValue = edit
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onActiveFocusChanged: {
|
onActiveFocusChanged: {
|
||||||
if (root.activeFocus)
|
if (root.activeFocus && !editorLoader.triggered && editorLoader.item) {
|
||||||
root.__modifier.editor.forceActiveFocus()
|
editorLoader.triggered = true
|
||||||
}
|
editorLoader.item.open()
|
||||||
|
|
||||||
Connections {
|
|
||||||
id: modifierFocusConnection
|
|
||||||
|
|
||||||
target: root.__modifier.editor
|
|
||||||
|
|
||||||
function onActiveFocusChanged() {
|
|
||||||
if (!modifierFocusConnection.target.activeFocus)
|
|
||||||
root.TableView.commit()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
EditorPopup {
|
|
||||||
id: textEditor
|
|
||||||
|
|
||||||
editor: textField
|
|
||||||
|
|
||||||
StudioControls.TextField {
|
|
||||||
id: textField
|
|
||||||
|
|
||||||
property alias editValue: textField.text
|
|
||||||
|
|
||||||
actionIndicator.visible: false
|
|
||||||
translationIndicatorVisible: false
|
|
||||||
|
|
||||||
onRejected: root.__changesAccepted = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
EditorPopup {
|
|
||||||
id: numberEditor
|
|
||||||
|
|
||||||
editor: numberField
|
|
||||||
|
|
||||||
StudioControls.RealSpinBox {
|
|
||||||
id: numberField
|
|
||||||
|
|
||||||
property alias editValue: numberField.realValue
|
|
||||||
|
|
||||||
actionIndicator.visible: false
|
|
||||||
realFrom: -9e9
|
|
||||||
realTo: 9e9
|
|
||||||
realStepSize: 1.0
|
|
||||||
decimals: 6
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
EditorPopup {
|
|
||||||
id: boolEditor
|
|
||||||
|
|
||||||
editor: boolField
|
|
||||||
|
|
||||||
StudioControls.CheckBox {
|
|
||||||
id: boolField
|
|
||||||
|
|
||||||
property alias editValue: boolField.checked
|
|
||||||
|
|
||||||
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 {
|
// active focus should be checked again, because it might be affected by editorLoader.item
|
||||||
id: colorPicker
|
if (root.activeFocus && editorLoader.editor)
|
||||||
|
editorLoader.editor.forceActiveFocus()
|
||||||
|
}
|
||||||
|
|
||||||
property alias editValue: colorBackend.color
|
Loader {
|
||||||
color: colorBackend.color
|
id: editorLoader
|
||||||
|
|
||||||
width: 200
|
active: true
|
||||||
|
|
||||||
Keys.onEnterPressed: colorPicker.focus = false
|
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
|
||||||
|
|
||||||
onActivateColor: function(color) {
|
Connections {
|
||||||
colorBackend.activateColor(color)
|
id: modifierFocusConnection
|
||||||
|
|
||||||
|
target: editorLoader.editor
|
||||||
|
enabled: editorLoader.item !== undefined
|
||||||
|
|
||||||
|
function onActiveFocusChanged() {
|
||||||
|
if (!modifierFocusConnection.target.activeFocus) {
|
||||||
|
editorLoader.acceptedValue = editorLoader.editValue
|
||||||
|
root.TableView.commit()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
background: Rectangle {
|
Component {
|
||||||
color: StudioTheme.Values.themeControlBackgroundInteraction
|
id: textEditor
|
||||||
border.color: StudioTheme.Values.themeInteraction
|
|
||||||
border.width: StudioTheme.Values.border
|
EditorPopup {
|
||||||
|
editor: textField
|
||||||
|
|
||||||
|
StudioControls.TextField {
|
||||||
|
id: textField
|
||||||
|
|
||||||
|
property alias editValue: textField.text
|
||||||
|
|
||||||
|
actionIndicator.visible: false
|
||||||
|
translationIndicatorVisible: false
|
||||||
|
|
||||||
|
onRejected: editorLoader.changesAccepted = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: numberEditor
|
||||||
|
|
||||||
|
EditorPopup {
|
||||||
|
|
||||||
|
editor: numberField
|
||||||
|
|
||||||
|
StudioControls.RealSpinBox {
|
||||||
|
id: numberField
|
||||||
|
|
||||||
|
property alias editValue: numberField.realValue
|
||||||
|
|
||||||
|
actionIndicator.visible: false
|
||||||
|
realFrom: -9e9
|
||||||
|
realTo: 9e9
|
||||||
|
realStepSize: 1.0
|
||||||
|
decimals: 6
|
||||||
|
trailingZeroes: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: boolEditor
|
||||||
|
|
||||||
|
EditorPopup {
|
||||||
|
|
||||||
|
editor: boolField
|
||||||
|
|
||||||
|
StudioControls.CheckBox {
|
||||||
|
id: boolField
|
||||||
|
|
||||||
|
property alias editValue: boolField.checked
|
||||||
|
|
||||||
|
actionIndicatorVisible: false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +121,7 @@ Item {
|
|||||||
implicitHeight: contentHeight
|
implicitHeight: contentHeight
|
||||||
implicitWidth: contentWidth
|
implicitWidth: contentWidth
|
||||||
|
|
||||||
enabled: visible
|
focus: true
|
||||||
visible: false
|
visible: false
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
@@ -144,6 +130,8 @@ Item {
|
|||||||
function onActiveFocusChanged() {
|
function onActiveFocusChanged() {
|
||||||
if (!editorPopup.editor.activeFocus)
|
if (!editorPopup.editor.activeFocus)
|
||||||
editorPopup.close()
|
editorPopup.close()
|
||||||
|
else if (edit)
|
||||||
|
editorPopup.editor.editValue = edit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,7 +139,7 @@ Item {
|
|||||||
target: editorPopup.editor.Keys
|
target: editorPopup.editor.Keys
|
||||||
|
|
||||||
function onEscapePressed() {
|
function onEscapePressed() {
|
||||||
root.__changesAccepted = false
|
editorLoader.changesAccepted = false
|
||||||
editorPopup.close()
|
editorPopup.close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -165,14 +153,8 @@ Item {
|
|||||||
&& columnType !== CollectionDetails.DataType.Number
|
&& columnType !== CollectionDetails.DataType.Number
|
||||||
|
|
||||||
PropertyChanges {
|
PropertyChanges {
|
||||||
target: root
|
target: editorLoader
|
||||||
__modifier: textEditor
|
sourceComponent: textEditor
|
||||||
}
|
|
||||||
|
|
||||||
PropertyChanges {
|
|
||||||
target: textEditor
|
|
||||||
visible: true
|
|
||||||
focus: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
State {
|
State {
|
||||||
@@ -180,14 +162,8 @@ Item {
|
|||||||
when: columnType === CollectionDetails.DataType.Number
|
when: columnType === CollectionDetails.DataType.Number
|
||||||
|
|
||||||
PropertyChanges {
|
PropertyChanges {
|
||||||
target: root
|
target: editorLoader
|
||||||
__modifier: numberEditor
|
sourceComponent: numberEditor
|
||||||
}
|
|
||||||
|
|
||||||
PropertyChanges {
|
|
||||||
target: numberEditor
|
|
||||||
visible: true
|
|
||||||
focus: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
State {
|
State {
|
||||||
@@ -195,14 +171,8 @@ Item {
|
|||||||
when: columnType === CollectionDetails.DataType.Boolean
|
when: columnType === CollectionDetails.DataType.Boolean
|
||||||
|
|
||||||
PropertyChanges {
|
PropertyChanges {
|
||||||
target: root
|
target: editorLoader
|
||||||
__modifier: boolEditor
|
sourceComponent: boolEditor
|
||||||
}
|
|
||||||
|
|
||||||
PropertyChanges {
|
|
||||||
target: boolEditor
|
|
||||||
visible: true
|
|
||||||
focus: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
State {
|
State {
|
||||||
@@ -210,14 +180,8 @@ Item {
|
|||||||
when: columnType === CollectionDetails.DataType.Color
|
when: columnType === CollectionDetails.DataType.Color
|
||||||
|
|
||||||
PropertyChanges {
|
PropertyChanges {
|
||||||
target: root
|
target: editorLoader
|
||||||
__modifier: colorEditor
|
sourceComponent: null
|
||||||
}
|
|
||||||
|
|
||||||
PropertyChanges {
|
|
||||||
target: colorEditor
|
|
||||||
visible: true
|
|
||||||
focus: true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@@ -102,7 +102,7 @@ Item {
|
|||||||
icon: StudioTheme.Constants.save_medium
|
icon: StudioTheme.Constants.save_medium
|
||||||
tooltip: qsTr("Save changes")
|
tooltip: qsTr("Save changes")
|
||||||
enabled: root.model.collectionName !== ""
|
enabled: root.model.collectionName !== ""
|
||||||
onClicked: root.model.saveCurrentCollection()
|
onClicked: root.model.saveDataStoreCollections()
|
||||||
}
|
}
|
||||||
|
|
||||||
IconButton {
|
IconButton {
|
||||||
@@ -114,7 +114,6 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PlatformWidgets.FileDialog {
|
PlatformWidgets.FileDialog {
|
||||||
id: fileDialog
|
id: fileDialog
|
||||||
|
|
||||||
|
@@ -6,8 +6,8 @@ import QtQuick.Controls
|
|||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import CollectionDetails 1.0 as CollectionDetails
|
import CollectionDetails 1.0 as CollectionDetails
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import HelperWidgets 2.0 as HelperWidgets
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioControls 1.0 as StudioControls
|
||||||
|
import StudioTheme 1.0 as StudioTheme
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: root
|
id: root
|
||||||
@@ -18,7 +18,6 @@ Rectangle {
|
|||||||
|
|
||||||
implicitWidth: 300
|
implicitWidth: 300
|
||||||
implicitHeight: 400
|
implicitHeight: 400
|
||||||
|
|
||||||
color: StudioTheme.Values.themeControlBackground
|
color: StudioTheme.Values.themeControlBackground
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
@@ -114,14 +113,17 @@ Rectangle {
|
|||||||
color: StudioTheme.Values.themeControlBackgroundInteraction
|
color: StudioTheme.Values.themeControlBackgroundInteraction
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
|
id: topHeaderMouseArea
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
anchors.margins: 5
|
anchors.margins: 5
|
||||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||||
|
hoverEnabled: true
|
||||||
onClicked: (mouse) => {
|
onClicked: (mouse) => {
|
||||||
tableView.model.selectColumn(index)
|
tableView.model.selectColumn(index)
|
||||||
|
|
||||||
if (mouse.button === Qt.RightButton) {
|
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.clickedHeaderIndex = index
|
||||||
headerMenu.dialogPos = parent.mapToGlobal(posX, parent.height)
|
headerMenu.dialogPos = parent.mapToGlobal(posX, parent.height)
|
||||||
@@ -130,9 +132,17 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HelperWidgets.ToolTipArea {
|
ToolTip {
|
||||||
anchors.fill: parent
|
id: topHeaderToolTip
|
||||||
text: root.model.propertyType(index)
|
|
||||||
|
property bool expectedToBeShown: topHeaderMouseArea.containsMouse
|
||||||
|
visible: expectedToBeShown && text !== ""
|
||||||
|
delay: 1000
|
||||||
|
|
||||||
|
onExpectedToBeShownChanged: {
|
||||||
|
if (expectedToBeShown)
|
||||||
|
text = root.model.propertyType(index)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,8 +158,8 @@ Rectangle {
|
|||||||
|
|
||||||
StudioControls.MenuItem {
|
StudioControls.MenuItem {
|
||||||
text: qsTr("Edit")
|
text: qsTr("Edit")
|
||||||
onTriggered: editProperyDialog.openDialog(headerMenu.clickedHeaderIndex,
|
onTriggered: editPropertyDialog.openDialog(headerMenu.clickedHeaderIndex,
|
||||||
headerMenu.dialogPos)
|
headerMenu.dialogPos)
|
||||||
}
|
}
|
||||||
|
|
||||||
StudioControls.MenuItem {
|
StudioControls.MenuItem {
|
||||||
@@ -206,11 +216,22 @@ Rectangle {
|
|||||||
|
|
||||||
delegate: Rectangle {
|
delegate: Rectangle {
|
||||||
id: itemCell
|
id: itemCell
|
||||||
|
|
||||||
|
clip: true
|
||||||
implicitWidth: 100
|
implicitWidth: 100
|
||||||
implicitHeight: itemText.height
|
implicitHeight: StudioTheme.Values.baseHeight
|
||||||
border.color: dataTypeWarning !== CollectionDetails.Warning.None ?
|
color: itemSelected ? StudioTheme.Values.themeControlBackgroundInteraction
|
||||||
StudioTheme.Values.themeWarning : StudioTheme.Values.themeControlBackgroundInteraction
|
: StudioTheme.Values.themeControlBackground
|
||||||
border.width: 1
|
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 {
|
HelperWidgets.ToolTipArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
@@ -220,59 +241,125 @@ Rectangle {
|
|||||||
acceptedButtons: Qt.NoButton
|
acceptedButtons: Qt.NoButton
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
MouseArea {
|
||||||
id: itemText
|
anchors.fill: parent
|
||||||
|
acceptedButtons: Qt.RightButton
|
||||||
|
onClicked: (mouse) => {
|
||||||
|
let row = index % tableView.model.rowCount()
|
||||||
|
|
||||||
text: display
|
tableView.model.selectRow(row)
|
||||||
color: StudioTheme.Values.themePlaceholderTextColorInteraction
|
cellContextMenu.popup()
|
||||||
width: parent.width
|
}
|
||||||
leftPadding: 5
|
}
|
||||||
topPadding: 3
|
|
||||||
bottomPadding: 3
|
Loader {
|
||||||
font.pixelSize: StudioTheme.Values.baseFontSize
|
id: cellContentLoader
|
||||||
horizontalAlignment: Text.AlignLeft
|
|
||||||
verticalAlignment: Text.AlignVCenter
|
property int cellColumnType: columnType ? columnType : 0
|
||||||
elide: Text.ElideRight
|
|
||||||
|
Component {
|
||||||
|
id: cellText
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: display
|
||||||
|
color: itemSelected ? StudioTheme.Values.themeInteraction
|
||||||
|
: StudioTheme.Values.themePlaceholderTextColorInteraction
|
||||||
|
leftPadding: 5
|
||||||
|
topPadding: 3
|
||||||
|
bottomPadding: 3
|
||||||
|
font.pixelSize: StudioTheme.Values.baseFontSize
|
||||||
|
horizontalAlignment: Text.AlignLeft
|
||||||
|
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 {
|
TableView.editDelegate: CollectionDetailsEditDelegate {
|
||||||
anchors {
|
anchors {
|
||||||
top: itemText.top
|
top: itemCell.top
|
||||||
left: itemText.left
|
left: itemCell.left
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
states: [
|
StudioControls.Menu {
|
||||||
State {
|
id: cellContextMenu
|
||||||
name: "default"
|
|
||||||
when: !itemSelected
|
|
||||||
|
|
||||||
PropertyChanges {
|
width: 140
|
||||||
target: itemCell
|
|
||||||
color: StudioTheme.Values.themeControlBackground
|
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 {
|
onTriggered: root.model.insertRow(root.model.selectedRow)
|
||||||
target: itemText
|
|
||||||
color: StudioTheme.Values.themePlaceholderTextColorInteraction
|
|
||||||
}
|
|
||||||
},
|
|
||||||
State {
|
|
||||||
name: "selected"
|
|
||||||
when: itemSelected
|
|
||||||
|
|
||||||
PropertyChanges {
|
|
||||||
target: itemCell
|
|
||||||
color: StudioTheme.Values.themeControlBackgroundInteraction
|
|
||||||
border.color: StudioTheme.Values.themeControlBackground
|
|
||||||
}
|
|
||||||
|
|
||||||
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 {
|
EditPropertyDialog {
|
||||||
id: editProperyDialog
|
id: editPropertyDialog
|
||||||
model: root.model
|
model: root.model
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: root.parent
|
||||||
|
onIsHorizontalChanged: editPropertyDialog.close()
|
||||||
|
}
|
||||||
|
|
||||||
StudioControls.Dialog {
|
StudioControls.Dialog {
|
||||||
id: deleteColumnDialog
|
id: deleteColumnDialog
|
||||||
|
|
||||||
|
@@ -4,9 +4,8 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets as HelperWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
import CollectionEditorBackend
|
import CollectionEditorBackend
|
||||||
|
|
||||||
Item {
|
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()
|
root.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onWidthChanged: {
|
||||||
|
if (visible && x > parent.width)
|
||||||
|
root.close()
|
||||||
|
}
|
||||||
|
|
||||||
onAccepted: {
|
onAccepted: {
|
||||||
if (nameTextField.text !== "" && nameTextField.text !== root.__currentName)
|
if (nameTextField.text !== "" && nameTextField.text !== root.__currentName)
|
||||||
root.model.renameColumn(root.__propertyIndex, nameTextField.text)
|
root.model.renameColumn(root.__propertyIndex, nameTextField.text)
|
||||||
@@ -50,13 +55,13 @@ StudioControls.Dialog {
|
|||||||
Grid {
|
Grid {
|
||||||
columns: 2
|
columns: 2
|
||||||
rows: 2
|
rows: 2
|
||||||
spacing: 2
|
rowSpacing: 2
|
||||||
|
columnSpacing: 25
|
||||||
verticalItemAlignment: Grid.AlignVCenter
|
verticalItemAlignment: Grid.AlignVCenter
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: qsTr("Name")
|
text: qsTr("Name")
|
||||||
color: StudioTheme.Values.themeTextColor
|
color: StudioTheme.Values.themeTextColor
|
||||||
width: 50
|
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,14 +134,12 @@ StudioControls.Dialog {
|
|||||||
Row {
|
Row {
|
||||||
height: 40
|
height: 40
|
||||||
spacing: 5
|
spacing: 5
|
||||||
anchors.right: parent.right
|
|
||||||
|
|
||||||
HelperWidgets.Button {
|
HelperWidgets.Button {
|
||||||
id: editButton
|
id: editButton
|
||||||
|
|
||||||
text: qsTr("Apply")
|
text: qsTr("Apply")
|
||||||
enabled: nameTextField.text !== ""
|
enabled: nameTextField.text !== ""
|
||||||
width: 70
|
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
|
|
||||||
onClicked: root.accept()
|
onClicked: root.accept()
|
||||||
@@ -145,7 +148,6 @@ StudioControls.Dialog {
|
|||||||
HelperWidgets.Button {
|
HelperWidgets.Button {
|
||||||
text: qsTr("Cancel")
|
text: qsTr("Cancel")
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
width: 70
|
|
||||||
|
|
||||||
onClicked: root.reject()
|
onClicked: root.reject()
|
||||||
}
|
}
|
||||||
|
@@ -4,10 +4,9 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
|
||||||
import Qt.labs.platform as PlatformWidgets
|
import Qt.labs.platform as PlatformWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
|
|
||||||
StudioControls.Dialog {
|
StudioControls.Dialog {
|
||||||
|
@@ -4,12 +4,11 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
|
||||||
import Qt.labs.platform as PlatformWidgets
|
import Qt.labs.platform as PlatformWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import CollectionEditor 1.0
|
import CollectionEditor
|
||||||
|
|
||||||
StudioControls.Dialog {
|
StudioControls.Dialog {
|
||||||
id: root
|
id: root
|
||||||
|
@@ -4,10 +4,9 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
import HelperWidgets as HelperWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import StudioControls as StudioControls
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
import ContentLibraryBackend
|
import ContentLibraryBackend
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
@@ -3,10 +3,8 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
|
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import ContentLibraryBackend
|
import ContentLibraryBackend
|
||||||
|
|
||||||
|
@@ -4,10 +4,8 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
|
|
||||||
import ContentLibraryBackend
|
import ContentLibraryBackend
|
||||||
import WebFetcher
|
import WebFetcher
|
||||||
|
|
||||||
|
@@ -4,10 +4,8 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
|
|
||||||
import ContentLibraryBackend
|
import ContentLibraryBackend
|
||||||
import WebFetcher
|
import WebFetcher
|
||||||
|
|
||||||
|
@@ -4,7 +4,6 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
|
@@ -4,7 +4,6 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
|
@@ -4,7 +4,6 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
|
@@ -4,7 +4,6 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
|
@@ -12,6 +12,7 @@ Item {
|
|||||||
property alias blurSrc3: blurredItemSource3
|
property alias blurSrc3: blurredItemSource3
|
||||||
property alias blurSrc4: blurredItemSource4
|
property alias blurSrc4: blurredItemSource4
|
||||||
property alias blurSrc5: blurredItemSource5
|
property alias blurSrc5: blurredItemSource5
|
||||||
|
property Item source: null
|
||||||
|
|
||||||
component BlurItem: ShaderEffect {
|
component BlurItem: ShaderEffect {
|
||||||
property vector2d offset: Qt.vector2d((1.0 + rootItem.blurMultiplier) / width,
|
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.
|
// Size of the first blurred item is by default half of the source.
|
||||||
// Increase for quality and decrease for performance & more blur.
|
// Increase for quality and decrease for performance & more blur.
|
||||||
readonly property int blurItemSize: 8
|
readonly property int blurItemSize: 8
|
||||||
width: Math.ceil(rootItem.width / 16) * blurItemSize
|
width: Math.ceil((rootItem.source ? rootItem.source.width : 16) / 16) * blurItemSize
|
||||||
height: Math.ceil(rootItem.height / 16) * blurItemSize
|
height: Math.ceil((rootItem.source ? rootItem.source.height : 16) / 16) * blurItemSize
|
||||||
}
|
}
|
||||||
BlurItem {
|
BlurItem {
|
||||||
id: blurredItemSource2
|
id: blurredItemSource2
|
||||||
|
@@ -3,10 +3,9 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
HelperWidgets.Section {
|
HelperWidgets.Section {
|
||||||
|
@@ -4,10 +4,9 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Dialogs
|
import QtQuick.Dialogs
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
@@ -65,12 +65,12 @@ Item {
|
|||||||
|
|
||||||
EffectMakerTopBar {
|
EffectMakerTopBar {
|
||||||
onAddClicked: {
|
onAddClicked: {
|
||||||
root.onSaveChangesCallback = () => { EffectMakerBackend.effectMakerModel.clear() }
|
root.onSaveChangesCallback = () => { EffectMakerBackend.effectMakerModel.clear(true) }
|
||||||
|
|
||||||
if (EffectMakerBackend.effectMakerModel.hasUnsavedChanges)
|
if (EffectMakerBackend.effectMakerModel.hasUnsavedChanges)
|
||||||
saveChangesDialog.open()
|
saveChangesDialog.open()
|
||||||
else
|
else
|
||||||
EffectMakerBackend.effectMakerModel.clear()
|
EffectMakerBackend.effectMakerModel.clear(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
onSaveClicked: {
|
onSaveClicked: {
|
||||||
|
@@ -2,10 +2,9 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
@@ -196,7 +195,7 @@ Column {
|
|||||||
|
|
||||||
BlurHelper {
|
BlurHelper {
|
||||||
id: 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 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
|
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
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
@@ -3,10 +3,9 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
@@ -2,10 +2,9 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
StudioControls.ComboBox {
|
StudioControls.ComboBox {
|
||||||
|
@@ -2,10 +2,9 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
StudioControls.ComboBox {
|
StudioControls.ComboBox {
|
||||||
|
@@ -84,6 +84,9 @@ StudioControls.Dialog {
|
|||||||
text: qsTr("Save")
|
text: qsTr("Save")
|
||||||
enabled: nameText.text !== ""
|
enabled: nameText.text !== ""
|
||||||
onClicked: {
|
onClicked: {
|
||||||
|
if (!enabled) // needed since this event handler can be triggered from keyboard events
|
||||||
|
return
|
||||||
|
|
||||||
EffectMakerBackend.effectMakerModel.saveComposition(nameText.text)
|
EffectMakerBackend.effectMakerModel.saveComposition(nameText.text)
|
||||||
|
|
||||||
if (root.clearOnClose) {
|
if (root.clearOnClose) {
|
||||||
|
@@ -2,9 +2,8 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
StudioControls.CheckBox {
|
StudioControls.CheckBox {
|
||||||
|
@@ -2,9 +2,8 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
|
@@ -2,9 +2,8 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
|
@@ -2,9 +2,8 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
|
@@ -2,9 +2,8 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets as HelperWidgets
|
import HelperWidgets as HelperWidgets
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
|
@@ -2,9 +2,8 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
|
@@ -3,9 +3,8 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
|
@@ -3,9 +3,8 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
|
@@ -3,9 +3,8 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import EffectMakerBackend
|
import EffectMakerBackend
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
|
@@ -3,9 +3,8 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets as HelperWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import StudioControls as StudioControls
|
||||||
import StudioControls 1.0 as StudioControls
|
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
// Copyright (C) 2021 The Qt Company Ltd.
|
// Copyright (C) 2021 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
import ItemLibraryBackend
|
import ItemLibraryBackend
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
// Copyright (C) 2016 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
import ItemLibraryBackend
|
import ItemLibraryBackend
|
||||||
|
import QtQuickDesignerTheme
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: delegateRoot
|
id: delegateRoot
|
||||||
|
@@ -2,11 +2,11 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets as HelperWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import StudioControls as StudioControls
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
import ItemLibraryBackend
|
import ItemLibraryBackend
|
||||||
|
import QtQuickDesignerTheme
|
||||||
/* The view displaying the item grid.
|
/* The view displaying the item grid.
|
||||||
The following Qml context properties have to be set:
|
The following Qml context properties have to be set:
|
||||||
- ItemLibraryModel itemLibraryModel
|
- ItemLibraryModel itemLibraryModel
|
||||||
|
@@ -4,7 +4,6 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
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
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets as HelperWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import StudioControls as StudioControls
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
import MaterialBrowserBackend
|
import MaterialBrowserBackend
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
// Copyright (C) 2023 The Qt Company Ltd.
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
import MaterialBrowserBackend
|
import MaterialBrowserBackend
|
||||||
|
|
||||||
TextInput {
|
TextInput {
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
// Copyright (C) 2022 The Qt Company Ltd.
|
// Copyright (C) 2022 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
import MaterialBrowserBackend
|
import MaterialBrowserBackend
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
@@ -4,7 +4,6 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import MaterialBrowserBackend
|
import MaterialBrowserBackend
|
||||||
|
@@ -2,9 +2,8 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
PropertyEditorPane {
|
PropertyEditorPane {
|
||||||
id: root
|
id: root
|
||||||
|
@@ -2,8 +2,7 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
|
||||||
|
|
||||||
PropertyEditorPane {
|
PropertyEditorPane {
|
||||||
id: itemPane
|
id: itemPane
|
||||||
|
@@ -2,11 +2,10 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets as HelperWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import StudioControls as StudioControls
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import MaterialToolBarAction
|
||||||
import MaterialToolBarAction 1.0
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: root
|
id: root
|
||||||
|
@@ -4,10 +4,9 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets as HelperWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import StudioControls as StudioControls
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: root
|
id: root
|
||||||
|
@@ -1,13 +1,11 @@
|
|||||||
// Copyright (C) 2021 The Qt Company Ltd.
|
// Copyright (C) 2021 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import HelperWidgets 2.0
|
import HelperWidgets
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioControls as StudioControls
|
||||||
|
import StudioTheme as StudioTheme
|
||||||
import StudioControls 1.0 as StudioControls
|
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
SectionLayout {
|
SectionLayout {
|
||||||
id: anchorRow
|
id: anchorRow
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
// Copyright (C) 2022 The Qt Company Ltd.
|
// Copyright (C) 2022 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import HelperWidgets 2.0
|
import HelperWidgets
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Section {
|
Section {
|
||||||
caption: qsTr("Button Content")
|
caption: qsTr("Button Content")
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
// Copyright (C) 2022 The Qt Company Ltd.
|
// Copyright (C) 2022 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import HelperWidgets 2.0
|
import HelperWidgets
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Section {
|
Section {
|
||||||
id: section
|
id: section
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
// Copyright (C) 2022 The Qt Company Ltd.
|
// Copyright (C) 2022 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import HelperWidgets 2.0
|
import HelperWidgets
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
// Copyright (C) 2022 The Qt Company Ltd.
|
// Copyright (C) 2022 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import HelperWidgets 2.0
|
import HelperWidgets
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
|
@@ -3,9 +3,8 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
PropertyEditorPane {
|
PropertyEditorPane {
|
||||||
id: itemPane
|
id: itemPane
|
||||||
|
@@ -1,18 +1,17 @@
|
|||||||
// Copyright (C) 2021 The Qt Company Ltd.
|
// Copyright (C) 2021 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Controls 2.15 as Controls
|
import QtQuick.Controls as Controls
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import HelperWidgets 2.0
|
import HelperWidgets
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: itemPane
|
id: itemPane
|
||||||
width: 320
|
width: 320
|
||||||
height: 400
|
height: 400
|
||||||
color: Theme.qmlDesignerBackgroundColorDarkAlternate()
|
color: StudioTheme.Values.themePanelBackground
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
id: mainColumn
|
id: mainColumn
|
||||||
|
@@ -3,9 +3,8 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
PropertyEditorPane {
|
PropertyEditorPane {
|
||||||
id: itemPane
|
id: itemPane
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
// Copyright (C) 2016 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: buttonRowButton
|
id: buttonRowButton
|
||||||
|
@@ -7,7 +7,6 @@ import QtQuick.Shapes
|
|||||||
import QtQuick.Templates as T
|
import QtQuick.Templates as T
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import QtQuickDesignerColorPalette
|
import QtQuickDesignerColorPalette
|
||||||
|
|
||||||
SecondColumnLayout {
|
SecondColumnLayout {
|
||||||
@@ -36,6 +35,7 @@ SecondColumnLayout {
|
|||||||
property alias shapeGradientThumbnail: shapeGradientThumbnail
|
property alias shapeGradientThumbnail: shapeGradientThumbnail
|
||||||
|
|
||||||
property alias showExtendedFunctionButton: hexTextField.showExtendedFunctionButton
|
property alias showExtendedFunctionButton: hexTextField.showExtendedFunctionButton
|
||||||
|
property alias showHexTextField: hexTextField.visible
|
||||||
|
|
||||||
property bool shapeGradients: false
|
property bool shapeGradients: false
|
||||||
property color originalColor
|
property color originalColor
|
||||||
|
@@ -5,7 +5,6 @@ import QtQuick
|
|||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuick.Shapes
|
import QtQuick.Shapes
|
||||||
import QtQuick.Templates as T
|
import QtQuick.Templates as T
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import QtQuickDesignerColorPalette
|
import QtQuickDesignerColorPalette
|
||||||
@@ -393,10 +392,7 @@ Column {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: modelNodeBackend
|
|
||||||
function onSelectionChanged() {
|
function onSelectionChanged() {
|
||||||
root.initEditor()
|
root.initEditor()
|
||||||
}
|
}
|
||||||
|
@@ -1,13 +1,12 @@
|
|||||||
// Copyright (C) 2021 The Qt Company Ltd.
|
// Copyright (C) 2021 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import QtQuick.Templates as T
|
||||||
import QtQuick.Templates 2.15 as T
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Section {
|
Section {
|
||||||
id: root
|
id: root
|
||||||
|
@@ -1,12 +1,11 @@
|
|||||||
// Copyright (C) 2021 The Qt Company Ltd.
|
// Copyright (C) 2021 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Window 2.15
|
import QtQuick.Window
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioControls as StudioControls
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
StudioControls.TextField {
|
StudioControls.TextField {
|
||||||
id: textField
|
id: textField
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
// Copyright (C) 2021 The Qt Company Ltd.
|
// Copyright (C) 2021 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: extendedFunctionButton
|
id: extendedFunctionButton
|
||||||
|
@@ -4,7 +4,6 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import Qt.labs.platform
|
import Qt.labs.platform
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
|
@@ -1,13 +1,12 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
// Copyright (C) 2016 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioControls as StudioControls
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: tabBackground
|
id: tabBackground
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
// Copyright (C) 2022 The Qt Company Ltd.
|
// Copyright (C) 2022 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: root
|
id: root
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
// Copyright (C) 2016 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import QtQuickDesignerTheme 1.0
|
|
||||||
|
|
||||||
StudioControls.TextField {
|
StudioControls.TextField {
|
||||||
id: lineEdit
|
id: lineEdit
|
||||||
|
@@ -4,16 +4,15 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets as HelperWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: itemPane
|
id: itemPane
|
||||||
|
|
||||||
width: 320
|
width: 320
|
||||||
height: 400
|
height: 400
|
||||||
color: Theme.qmlDesignerBackgroundColorDarkAlternate()
|
color: StudioTheme.Values.themePanelBackground
|
||||||
|
|
||||||
Component.onCompleted: Controller.mainScrollView = mainScrollView
|
Component.onCompleted: Controller.mainScrollView = mainScrollView
|
||||||
|
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
// Copyright (C) 2021 The Qt Company Ltd.
|
// Copyright (C) 2021 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: panel
|
id: panel
|
||||||
|
@@ -28,6 +28,8 @@ Flickable {
|
|||||||
// and set the ads focus on it.
|
// and set the ads focus on it.
|
||||||
objectName: "__mainSrollView"
|
objectName: "__mainSrollView"
|
||||||
|
|
||||||
|
flickDeceleration: 10000
|
||||||
|
|
||||||
HoverHandler { id: hoverHandler }
|
HoverHandler { id: hoverHandler }
|
||||||
|
|
||||||
ScrollBar.horizontal: StudioControls.TransientScrollBar {
|
ScrollBar.horizontal: StudioControls.TransientScrollBar {
|
||||||
|
@@ -1,12 +1,11 @@
|
|||||||
// Copyright (C) 2021 The Qt Company Ltd.
|
// Copyright (C) 2021 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Controls 2.15 as Controls
|
import QtQuick.Controls as Controls
|
||||||
import QtQuick.Layouts 1.15
|
import QtQuick.Layouts
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioControls as StudioControls
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: section
|
id: section
|
||||||
|
@@ -7,7 +7,6 @@ import QtQuick.Controls
|
|||||||
import HelperWidgets
|
import HelperWidgets
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import QtQuickDesignerTheme
|
|
||||||
|
|
||||||
Row {
|
Row {
|
||||||
id: root
|
id: root
|
||||||
|
@@ -10,6 +10,7 @@ ButtonRowButton 2.0 ButtonRowButton.qml
|
|||||||
CharacterSection 2.0 CharacterSection.qml
|
CharacterSection 2.0 CharacterSection.qml
|
||||||
CheckBox 2.0 CheckBox.qml
|
CheckBox 2.0 CheckBox.qml
|
||||||
ColorEditor 2.0 ColorEditor.qml
|
ColorEditor 2.0 ColorEditor.qml
|
||||||
|
ColorEditorPopup 2.0 ColorEditorPopup.qml
|
||||||
ColorLogic 2.0 ColorLogic.qml
|
ColorLogic 2.0 ColorLogic.qml
|
||||||
ComboBox 2.0 ComboBox.qml
|
ComboBox 2.0 ComboBox.qml
|
||||||
ComponentButton 2.0 ComponentButton.qml
|
ComponentButton 2.0 ComponentButton.qml
|
||||||
|
@@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import QtQuickDesignerColorPalette
|
import QtQuickDesignerColorPalette
|
||||||
import StudioHelpers
|
import StudioHelpers
|
||||||
|
|
||||||
|
@@ -104,7 +104,7 @@ QtObject {
|
|||||||
return root.maximumHeight + (2 * window.margin)
|
return root.maximumHeight + (2 * window.margin)
|
||||||
}
|
}
|
||||||
visible: false
|
visible: false
|
||||||
flags: Qt.FramelessWindowHint | Qt.Dialog
|
flags: Qt.FramelessWindowHint | Qt.Dialog | Qt.WindowStaysOnTopHint
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
||||||
onClosing: function (close) {
|
onClosing: function (close) {
|
||||||
|
@@ -37,6 +37,8 @@ T.SpinBox {
|
|||||||
property bool drag: false
|
property bool drag: false
|
||||||
property bool sliderDrag: sliderPopup.drag
|
property bool sliderDrag: sliderPopup.drag
|
||||||
|
|
||||||
|
property bool trailingZeroes: true
|
||||||
|
|
||||||
property bool dirty: false // user modification flag
|
property bool dirty: false // user modification flag
|
||||||
|
|
||||||
// TODO Not used anymore. Will be removed when all dependencies were removed.
|
// TODO Not used anymore. Will be removed when all dependencies were removed.
|
||||||
@@ -204,11 +206,14 @@ T.SpinBox {
|
|||||||
|
|
||||||
textFromValue: function (value, locale) {
|
textFromValue: function (value, locale) {
|
||||||
locale.numberOptions = Locale.OmitGroupSeparator
|
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) {
|
valueFromText: function (text, locale) {
|
||||||
control.setRealValue(Number.fromLocaleString(locale, spinBoxInput.text))
|
control.setRealValue(Number.fromLocaleString(locale, spinBoxInput.text))
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -400,4 +405,14 @@ T.SpinBox {
|
|||||||
if (control.realValue !== currValue)
|
if (control.realValue !== currValue)
|
||||||
control.realValueModified()
|
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
|
||||||
import QtQuick.Templates as T
|
import QtQuick.Templates as T
|
||||||
import QtQuickDesignerTheme 1.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
T.TextField {
|
T.TextField {
|
||||||
id: control
|
id: control
|
||||||
|
@@ -4,7 +4,6 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Templates as T
|
import QtQuick.Templates as T
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioWindowManager
|
import StudioWindowManager
|
||||||
|
|
||||||
T.ComboBox {
|
T.ComboBox {
|
||||||
|
@@ -5,7 +5,6 @@ import QtQuick
|
|||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import QtQuick.Templates as T
|
import QtQuick.Templates as T
|
||||||
import QtQuickDesignerTheme
|
|
||||||
import StudioControls as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import QtQuickDesignerColorPalette
|
import QtQuickDesignerColorPalette
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
pragma Singleton
|
pragma Singleton
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme 1.0
|
import QtQuickDesignerTheme
|
||||||
|
|
||||||
QtObject {
|
QtObject {
|
||||||
id: values
|
id: values
|
||||||
|
@@ -2,9 +2,8 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
|
||||||
|
|
||||||
PropertyEditorPane {
|
PropertyEditorPane {
|
||||||
id: root
|
id: root
|
||||||
|
@@ -2,8 +2,7 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets
|
||||||
import HelperWidgets 2.0
|
|
||||||
|
|
||||||
PropertyEditorPane {
|
PropertyEditorPane {
|
||||||
id: itemPane
|
id: itemPane
|
||||||
|
@@ -2,10 +2,9 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuickDesignerTheme 1.0
|
import HelperWidgets as HelperWidgets
|
||||||
import HelperWidgets 2.0 as HelperWidgets
|
import StudioTheme as StudioTheme
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import TextureToolBarAction
|
||||||
import TextureToolBarAction 1.0
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: root
|
id: root
|
||||||
|
@@ -3,11 +3,9 @@
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import StudioControls 1.0 as StudioControls
|
import StudioControls as StudioControls
|
||||||
import StudioTheme 1.0 as StudioTheme
|
import StudioTheme as StudioTheme
|
||||||
import QtQuickDesignerTheme 1.0
|
import ToolBar
|
||||||
|
|
||||||
import ToolBar 1.0
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: root
|
id: root
|
||||||
|