Fix tray visibility and message reception issues
Some checks failed
build / build-pip (push) Failing after 16s
build / build-win64 (push) Has been cancelled
build / build-macos (push) Has been cancelled

- Disable sound initialization to prevent hanging
- Add missing import re in utils.py
- Fix settings loading for QSettings
- Update file paths to use PROJECT_ROOT
- Revert to working API paths and listener from commit efdc63e
This commit is contained in:
kdusek
2025-12-07 22:39:07 +01:00
parent 7b695d7b7f
commit 5138303016
4060 changed files with 579123 additions and 23 deletions

View File

@@ -0,0 +1,350 @@
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Visibility")
SectionLayout {
PropertyLabel {
text: qsTr("Visibility")
tooltip: qsTr("Sets the local visibility of the node.")
}
SecondColumnLayout {
// ### should be a slider
CheckBox {
text: qsTr("Visible")
backendValue: backendValues.visible
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Opacity")
tooltip: qsTr("Sets the local opacity value of the node.")
}
SecondColumnLayout {
// ### should be a slider
SpinBox {
minimumValue: 0
maximumValue: 1
decimals: 2
stepSize: 0.1
backendValue: backendValues.opacity
sliderIndicatorVisible: true
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
}
}
Section {
id: transformSection
width: parent.width
caption: qsTr("Transform")
ColumnLayout {
spacing: StudioTheme.Values.transform3DSectionSpacing
SectionLayout {
PropertyLabel {
text: qsTr("Translation")
tooltip: qsTr("Sets the translation of the node.")
}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.x
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "X"
color: StudioTheme.Values.theme3DAxisXColor
}
ExpandingSpacer {}
}
PropertyLabel {}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.y
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "Y"
color: StudioTheme.Values.theme3DAxisYColor
}
ExpandingSpacer {}
}
PropertyLabel {}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.z
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "Z"
color: StudioTheme.Values.theme3DAxisZColor
}
ExpandingSpacer {}
}
}
SectionLayout {
PropertyLabel {
text: qsTr("Rotation")
tooltip: qsTr("Sets the rotation of the node in degrees.")
}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.eulerRotation_x
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "X"
color: StudioTheme.Values.theme3DAxisXColor
}
ExpandingSpacer {}
}
PropertyLabel {}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.eulerRotation_y
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "Y"
color: StudioTheme.Values.theme3DAxisYColor
}
ExpandingSpacer {}
}
PropertyLabel {}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.eulerRotation_z
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "Z"
color: StudioTheme.Values.theme3DAxisZColor
}
ExpandingSpacer {}
}
}
SectionLayout {
PropertyLabel {
text: qsTr("Scale")
tooltip: qsTr("Sets the scale of the node.")
}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.scale_x
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "X"
color: StudioTheme.Values.theme3DAxisXColor
}
ExpandingSpacer {}
}
PropertyLabel {}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.scale_y
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "Y"
color: StudioTheme.Values.theme3DAxisYColor
}
ExpandingSpacer {}
}
PropertyLabel {}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.scale_z
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "Z"
color: StudioTheme.Values.theme3DAxisZColor
}
ExpandingSpacer {}
}
}
SectionLayout {
PropertyLabel {
text: qsTr("Pivot")
tooltip: qsTr("Sets the pivot of the node.")
}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.pivot_x
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "X"
color: StudioTheme.Values.theme3DAxisXColor
}
ExpandingSpacer {}
}
PropertyLabel {}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.pivot_y
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "Y"
color: StudioTheme.Values.theme3DAxisYColor
}
ExpandingSpacer {}
}
PropertyLabel {}
SecondColumnLayout {
SpinBox {
minimumValue: -9999999
maximumValue: 9999999
decimals: 2
backendValue: backendValues.pivot_z
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
ControlLabel {
text: "Z"
color: StudioTheme.Values.theme3DAxisZColor
}
ExpandingSpacer {}
}
}
}
}
}

View File

@@ -0,0 +1,48 @@
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme
Column {
width: parent.width
Section {
width: parent.width
caption: qsTr("Runtime Loader")
SectionLayout {
PropertyLabel {
text: qsTr("Source")
tooltip: qsTr("Sets the URL of the 3D asset to import at runtime.")
}
SecondColumnLayout {
UrlChooser {
backendValue: backendValues.source
filter: "*.*"
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Instancing")
tooltip: qsTr("If this property is set, the imported model will not be rendered normally. Instead, a number of instances of the model will be rendered, as defined by the instance table.")
}
SecondColumnLayout {
ItemFilterComboBox {
typeFilter: "QtQuick3D.Instancing"
backendValue: backendValues.instancing
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
}
}
}

View File

@@ -0,0 +1,18 @@
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
Column {
width: parent.width
RuntimeLoaderSection {
width: parent.width
}
NodeSection {
width: parent.width
}
}

View File

@@ -0,0 +1,21 @@
MetaInfo {
Type {
name: "QtQuick3D.AssetUtils.RuntimeLoader"
icon: "images/runtimeloader16.png"
Hints {
visibleInNavigator: true
canBeDroppedInNavigator: true
canBeDroppedInFormEditor: false
canBeDroppedInView3D: true
}
ItemLibraryEntry {
name: "Runtime Loader"
category: "AssetUtils"
libraryIcon: "images/runtimeloader.png"
version: "6.2"
requiredImport: "QtQuick3D.AssetUtils"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,99 @@
import QtQuick.tooling 1.2
// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by qmltyperegistrar.
Module {
Component {
file: "private/qquick3druntimeloader_p.h"
lineNumber: 31
name: "QQuick3DRuntimeLoader"
accessSemantics: "reference"
prototype: "QQuick3DNode"
exports: [
"QtQuick3D.AssetUtils/RuntimeLoader 6.2",
"QtQuick3D.AssetUtils/RuntimeLoader 6.7"
]
exportMetaObjectRevisions: [1538, 1543]
Enum {
name: "Status"
isScoped: true
lineNumber: 59
values: ["Empty", "Success", "Error"]
}
Property {
name: "source"
type: "QUrl"
read: "source"
write: "setSource"
notify: "sourceChanged"
index: 0
lineNumber: 38
}
Property {
name: "status"
type: "Status"
read: "status"
notify: "statusChanged"
index: 1
lineNumber: 39
isReadonly: true
}
Property {
name: "errorString"
type: "QString"
read: "errorString"
notify: "errorStringChanged"
index: 2
lineNumber: 40
isReadonly: true
}
Property {
name: "bounds"
type: "QQuick3DBounds3"
read: "bounds"
notify: "boundsChanged"
index: 3
lineNumber: 41
isReadonly: true
}
Property {
name: "instancing"
type: "QQuick3DInstancing"
isPointer: true
read: "instancing"
write: "setInstancing"
notify: "instancingChanged"
index: 4
lineNumber: 42
}
Property {
name: "supportedExtensions"
revision: 1543
type: "QStringList"
read: "supportedExtensions"
index: 5
lineNumber: 43
isReadonly: true
isPropertyConstant: true
}
Property {
name: "supportedMimeTypes"
revision: 1543
type: "QMimeType"
isList: true
read: "supportedMimeTypes"
index: 6
lineNumber: 45
isReadonly: true
isPropertyConstant: true
}
Signal { name: "sourceChanged"; lineNumber: 69 }
Signal { name: "statusChanged"; lineNumber: 70 }
Signal { name: "errorStringChanged"; lineNumber: 71 }
Signal { name: "boundsChanged"; lineNumber: 72 }
Signal { name: "instancingChanged"; lineNumber: 73 }
}
}

View File

@@ -0,0 +1,10 @@
module QtQuick3D.AssetUtils
linktarget Qt6::qtquick3dassetutilsplugin
optional plugin qtquick3dassetutilsplugin
classname QtQuick3DAssetUtilsPlugin
designersupported
typeinfo plugins.qmltypes
depends QtQuick3D auto
prefer :/qt-project.org/imports/QtQuick3D/AssetUtils/
depends QtQuick