diff --git a/src/backend/backend.cpp b/src/backend/backend.cpp index ccf97823c0497081683f577e7b767e26ada0311f..8952a78b0ea31fae997c80e9186562dc1fac70d9 100644 --- a/src/backend/backend.cpp +++ b/src/backend/backend.cpp @@ -64,7 +64,8 @@ Backend::Backend(QObject *parent) connect(&Logger::instance(), &Logger::logMessage, this, [this](QtMsgType type, QString &msg) { // if we have any active project running, then reroute // all the logs to the dsmanager with the last project sender id - if (m_projectManager && m_lastSessionId == m_projectManager->sessionId()) { + if (m_projectManager && !m_lastSessionId.isEmpty() + && m_lastSessionId == m_projectManager->sessionId()) { QMetaObject::invokeMethod(m_dsManager.get(), "sendProjectLogs", Qt::QueuedConnection, diff --git a/src/backend/importdummy.qml b/src/backend/importdummy.qml index 334e5ae6b8b9973c1a17d7bb6d808374aa55170b..f6836ef26b46f663c209318b670c7f5157e52c1d 100644 --- a/src/backend/importdummy.qml +++ b/src/backend/importdummy.qml @@ -31,6 +31,8 @@ import QtQuick.Timeline.BlendTrees import QtQuickUltralite.Extras import QtQuickUltralite.Layers +import QtCharts + import FlowView import Qt.labs.folderlistmodel diff --git a/src/backend/logger.h b/src/backend/logger.h index 6635e8f7a97dc3c7fb72e24c9c99689329f49529..844f2dc084299cd535abc27c073f0ec76ec5d5ae 100644 --- a/src/backend/logger.h +++ b/src/backend/logger.h @@ -56,12 +56,12 @@ public: fprintf(stderr, "%s", qPrintable(newLog)); #endif + emit logMessage(type, newLog); + if (type == QtCriticalMsg || type == QtFatalMsg) { QMessageBox msgBox{QMessageBox::Critical, "Critical:", msg, QMessageBox::Ok}; msgBox.exec(); } - - emit logMessage(type, newLog); } private: diff --git a/src/backend/projectmanager.cpp b/src/backend/projectmanager.cpp index e1c01e798e650056c0613fabeee45997b52bb524..e28f7aaa16ab856a984c54e2c24da6d63893e863 100644 --- a/src/backend/projectmanager.cpp +++ b/src/backend/projectmanager.cpp @@ -198,13 +198,8 @@ bool ProjectManager::isQt6Project(const QString &qmlProjectFileContent) return qt6ProjectMatch.hasMatch(); } -bool ProjectManager::runProject(const QByteArray &project, - const bool autoScaleProject, - const QString &sessionId) +bool ProjectManager::runProjectInternal(const QByteArray &project) { - m_autoScaleProject = autoScaleProject; - m_sessionId = sessionId; - const QString projectPath = unpackProject(project); qDebug() << "Project location: " << projectPath; @@ -312,6 +307,21 @@ bool ProjectManager::runProject(const QByteArray &project, return true; } +bool ProjectManager::runProject(const QByteArray &project, + const bool autoScaleProject, + const QString &sessionId) +{ + m_autoScaleProject = autoScaleProject; + m_sessionId = sessionId; + + const bool retVal = runProjectInternal(project); + + if (!retVal) + m_sessionId.clear(); + + return retVal; +} + void ProjectManager::orientateWindow(Qt::ScreenOrientation orientation) { if (!m_autoScaleProject) @@ -379,11 +389,6 @@ void ProjectManager::stopProject() m_quickWindow->close(); } -bool ProjectManager::isRunning() -{ - return !m_sessionId.isEmpty(); -} - QString ProjectManager::sessionId() const { return m_sessionId; diff --git a/src/backend/projectmanager.h b/src/backend/projectmanager.h index f434bbb58afc13fb2f59d7d3478d06b819d750a4..515ecdf8ea73a3710c9f22457473674c45cced57 100644 --- a/src/backend/projectmanager.h +++ b/src/backend/projectmanager.h @@ -34,7 +34,6 @@ public: explicit ProjectManager(QObject *parent = nullptr); ~ProjectManager(); - bool isRunning(); QString sessionId() const; public slots: @@ -61,7 +60,8 @@ private: bool copyResourceToFs(const QString &sourcePath, const QString &targetPath); QString unpackProject(const QByteArray &project); - // project parsers + // project management + bool runProjectInternal(const QByteArray &project); QString findFile(const QString &dir, const QString &filter); QString readQmlProjectFile(const QString &qmlProjectFilePath); QString getMainQmlFile(const QString &projectPath, const QString &qmlProjectFileContent);