From 7692c154f22458ac6728c3a913ea9e7c2d1c753a Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Thu, 4 Apr 2024 09:45:07 +0200 Subject: [PATCH 1/3] ProjectLoader: Load projects if file name didn't change --- src/projectloader.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/projectloader.cpp b/src/projectloader.cpp index cfe95be..6db2872 100644 --- a/src/projectloader.cpp +++ b/src/projectloader.cpp @@ -59,9 +59,6 @@ void ProjectLoader::setFileName(const QString &newFileName) if (m_loadThread.isRunning()) m_loadThread.waitForFinished(); - if (m_fileName == newFileName) - return; - m_fileName = newFileName; // Stop the project From 07bccf938d62139a3c6c2fc1947d2ead1181add6 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Thu, 4 Apr 2024 09:50:06 +0200 Subject: [PATCH 2/3] Add load() function to ProjectPlayer --- src/ProjectPlayer.qml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ProjectPlayer.qml b/src/ProjectPlayer.qml index 79bf270..19a18fc 100644 --- a/src/ProjectPlayer.qml +++ b/src/ProjectPlayer.qml @@ -8,7 +8,7 @@ import ScratchCPP.Render import "internal" ProjectScene { - property string fileName + readonly property string fileName: loader.fileName property int stageWidth: 480 property int stageHeight: 360 property alias fps: loader.fps @@ -28,6 +28,10 @@ ProjectScene { stageScale: (stageWidth == 0 || stageHeight == 0) ? 1 : Math.min(width / stageWidth, height / stageHeight) onFileNameChanged: priv.loading = true; + function load(fileName) { + loader.fileName = fileName; + } + QtObject { id: priv property bool loading: false From 81f19c796b784f973b8f202e7687f49a29d70035 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:01:39 +0200 Subject: [PATCH 3/3] ProjectLoader: Ignore empty file names --- src/projectloader.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/projectloader.cpp b/src/projectloader.cpp index 6db2872..c7a4984 100644 --- a/src/projectloader.cpp +++ b/src/projectloader.cpp @@ -59,6 +59,9 @@ void ProjectLoader::setFileName(const QString &newFileName) if (m_loadThread.isRunning()) m_loadThread.waitForFinished(); + if (newFileName.isEmpty()) + return; + m_fileName = newFileName; // Stop the project