EffectComposer: Disable effect composer on MCU projects

Fixes: QDS-11867
Change-Id: I2b405faf68623272fd674662b97cb3f0e50170e4
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
Mahmoud Badri
2024-01-30 14:03:41 +02:00
parent 58dd1405fe
commit 217ff89827
7 changed files with 56 additions and 26 deletions

View File

@@ -1475,6 +1475,19 @@ void EffectComposerModel::setShadersUpToDate(bool UpToDate)
emit shadersUpToDateChanged();
}
bool EffectComposerModel::isEnabled() const
{
return m_isEnabled;
}
void EffectComposerModel::setIsEnabled(bool enabled)
{
if (m_isEnabled == enabled)
return;
m_isEnabled = enabled;
emit isEnabledChanged();
}
// Returns name for image mipmap property.
// e.g. "myImage" -> "myImageMipmap".
QString EffectComposerModel::mipmapPropertyName(const QString &name) const

View File

@@ -46,6 +46,7 @@ class EffectComposerModel : public QAbstractListModel
Q_PROPERTY(int selectedIndex MEMBER m_selectedIndex NOTIFY selectedIndexChanged)
Q_PROPERTY(bool hasUnsavedChanges MEMBER m_hasUnsavedChanges WRITE setHasUnsavedChanges NOTIFY hasUnsavedChangesChanged)
Q_PROPERTY(bool shadersUpToDate READ shadersUpToDate WRITE setShadersUpToDate NOTIFY shadersUpToDateChanged)
Q_PROPERTY(bool isEnabled READ isEnabled WRITE setIsEnabled NOTIFY isEnabledChanged)
Q_PROPERTY(QString qmlComponentString READ qmlComponentString)
Q_PROPERTY(QString currentComposition READ currentComposition WRITE setCurrentComposition NOTIFY currentCompositionChanged)
@@ -73,6 +74,9 @@ public:
bool shadersUpToDate() const;
void setShadersUpToDate(bool newShadersUpToDate);
bool isEnabled() const;
void setIsEnabled(bool enabled);
QString fragmentShader() const;
void setFragmentShader(const QString &newFragmentShader);
@@ -105,6 +109,7 @@ signals:
void selectedIndexChanged(int idx);
void effectErrorChanged();
void shadersUpToDateChanged();
void isEnabledChanged();
void shadersBaked();
void currentCompositionChanged();
void nodesChanged();
@@ -201,6 +206,7 @@ private:
QString m_previewEffectPropertiesString;
QString m_qmlComponentString;
bool m_loadComponentImages = true;
bool m_isEnabled = true;
QString m_currentComposition;
const QRegularExpression m_spaceReg = QRegularExpression("\\s+");

View File

@@ -7,6 +7,7 @@
#include "effectcomposernodesmodel.h"
#include "effectcomposerwidget.h"
#include <designermcumanager.h>
#include <documentmanager.h>
#include <modelnodeoperations.h>
#include <qmldesignerconstants.h>
@@ -59,7 +60,7 @@ QmlDesigner::WidgetInfo EffectComposerView::widgetInfo()
Core::ICore::addContextObject(context);
}
return createWidgetInfo(m_widget.data(), "Effect Composer",
return createWidgetInfo(m_widget.data(), "EffectComposer",
QmlDesigner::WidgetInfo::LeftPane, 0, tr("Effect Composer [beta]"));
}
@@ -82,9 +83,11 @@ void EffectComposerView::modelAttached(QmlDesigner::Model *model)
QString currProjectPath = QmlDesigner::DocumentManager::currentProjectDirPath().toString();
// if starting a new project, clear the effect composer
if (m_currProjectPath != currProjectPath)
if (m_currProjectPath != currProjectPath) { // starting a new project
m_widget->effectComposerModel()->clear(true);
m_widget->effectComposerModel()->setIsEnabled(
!QmlDesigner::DesignerMcuManager::instance().isMCUProject());
}
m_currProjectPath = currProjectPath;