aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/compat/Extras/CMakeLists.txt5
-rw-r--r--src/imports/compat/Layers/+DesignMode/Screen.qml8
-rw-r--r--src/imports/compat/Layers/CMakeLists.txt1
-rw-r--r--src/imports/compat/Layers/Screen.qml40
4 files changed, 47 insertions, 7 deletions
diff --git a/src/imports/compat/Extras/CMakeLists.txt b/src/imports/compat/Extras/CMakeLists.txt
index 2e45bf0..295dd15 100644
--- a/src/imports/compat/Extras/CMakeLists.txt
+++ b/src/imports/compat/Extras/CMakeLists.txt
@@ -1,3 +1,8 @@
+set_source_files_properties(QulPerf.qml
+ PROPERTIES
+ QT_QML_SINGLETON_TYPE true
+)
+
qt_internal_add_qml_module(QuickUltraLiteStudioExtras
URI "QtQuickUltralite.Extras"
VERSION "${PROJECT_VERSION}"
diff --git a/src/imports/compat/Layers/+DesignMode/Screen.qml b/src/imports/compat/Layers/+DesignMode/Screen.qml
index f86c272..d926072 100644
--- a/src/imports/compat/Layers/+DesignMode/Screen.qml
+++ b/src/imports/compat/Layers/+DesignMode/Screen.qml
@@ -32,11 +32,11 @@ import QtQuick 2.15
//! [Screen compatibility]
Rectangle {
id: wnd
- property var outputDevice: "device"
- property alias backgroundColor: color
+ property string outputDevice: "device"
+ property alias backgroundColor: wnd.color
- property int defaultApplicationWidth: width
- property int defaultApplicationHeight: height
+ property real defaultApplicationWidth: 0
+ property real defaultApplicationHeight: 0
visible: true
}
diff --git a/src/imports/compat/Layers/CMakeLists.txt b/src/imports/compat/Layers/CMakeLists.txt
index 183636d..11ac13e 100644
--- a/src/imports/compat/Layers/CMakeLists.txt
+++ b/src/imports/compat/Layers/CMakeLists.txt
@@ -12,6 +12,7 @@ qt_internal_add_qml_module(QuickUltraLiteStudioLayers
ItemLayer.qml
Screen.qml
SpriteLayer.qml
+ +DesignMode/Screen.qml
)
if(QT_FEATURE_quick_designer AND QT_BUILD_SHARED_LIBS)
diff --git a/src/imports/compat/Layers/Screen.qml b/src/imports/compat/Layers/Screen.qml
index ad50a8d..3cbc021 100644
--- a/src/imports/compat/Layers/Screen.qml
+++ b/src/imports/compat/Layers/Screen.qml
@@ -34,15 +34,49 @@ import QtQuick.Window 2.2
Item {
id: root
- property var outputDevice: "device"
+ property string outputDevice: "device"
property alias backgroundColor: wnd.color
- property alias defaultApplicationWidth: wnd.width
- property alias defaultApplicationHeight: wnd.height
+ property real defaultApplicationWidth: 0
+ property real defaultApplicationHeight: 0
+
+ onChildrenChanged: {
+ if (wnd.isAvailable)
+ wnd.reparenting()
+ }
Window {
id: wnd
visible: true
+
+ width: root.width
+ height: root.height
+
+ property bool reparentingBlock: false
+ property bool isAvailable: false
+
+ Component.onCompleted: {
+ reparenting()
+ isAvailable = true
+ }
+
+ function reparenting() {
+ if (reparentingBlock)
+ return;
+
+ reparentingBlock = true;
+
+ var result = [];
+ var rootChildren = root.children;
+ for (var i = 0; i < rootChildren.length; i++) {
+ if (rootChildren[i] !== wnd) {
+ result.push(rootChildren[i]);
+ }
+ }
+ wnd.data = result;
+
+ reparentingBlock = false;
+ }
}
}
//! [Screen compatibility]