forked from qt-creator/qt-creator
EffectComposer: Toggle "Assign to.." button based on component selection
Task-number: QDS-12148 Change-Id: I1f44df7c6c027c36c09f7c4d74e4dd609542c5b8 Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
@@ -1729,6 +1729,19 @@ void EffectComposerModel::setIsEnabled(bool enabled)
|
||||
emit isEnabledChanged();
|
||||
}
|
||||
|
||||
bool EffectComposerModel::hasValidTarget() const
|
||||
{
|
||||
return m_hasValidTarget;
|
||||
}
|
||||
|
||||
void EffectComposerModel::setHasValidTarget(bool validTarget)
|
||||
{
|
||||
if (m_hasValidTarget == validTarget)
|
||||
return;
|
||||
m_hasValidTarget = validTarget;
|
||||
emit hasValidTargetChanged();
|
||||
}
|
||||
|
||||
QString EffectComposerModel::getQmlImagesString(bool localFiles)
|
||||
{
|
||||
QString imagesString;
|
||||
|
||||
@@ -48,6 +48,7 @@ class EffectComposerModel : public QAbstractListModel
|
||||
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(bool hasValidTarget READ hasValidTarget WRITE setHasValidTarget NOTIFY hasValidTargetChanged)
|
||||
Q_PROPERTY(QString currentComposition READ currentComposition WRITE setCurrentComposition NOTIFY currentCompositionChanged)
|
||||
|
||||
public:
|
||||
@@ -77,6 +78,9 @@ public:
|
||||
bool isEnabled() const;
|
||||
void setIsEnabled(bool enabled);
|
||||
|
||||
bool hasValidTarget() const;
|
||||
void setHasValidTarget(bool validTarget);
|
||||
|
||||
QString fragmentShader() const;
|
||||
void setFragmentShader(const QString &newFragmentShader);
|
||||
|
||||
@@ -110,6 +114,7 @@ signals:
|
||||
void effectErrorChanged();
|
||||
void shadersUpToDateChanged();
|
||||
void isEnabledChanged();
|
||||
void hasValidTargetChanged();
|
||||
void shadersBaked();
|
||||
void currentCompositionChanged();
|
||||
void nodesChanged();
|
||||
@@ -210,6 +215,7 @@ private:
|
||||
QString m_qmlComponentString;
|
||||
bool m_loadComponentImages = true;
|
||||
bool m_isEnabled = true;
|
||||
bool m_hasValidTarget = false;
|
||||
QString m_currentComposition;
|
||||
QTimer m_rebakeTimer;
|
||||
|
||||
|
||||
@@ -105,4 +105,19 @@ void EffectComposerView::modelAboutToBeDetached(QmlDesigner::Model *model)
|
||||
AbstractView::modelAboutToBeDetached(model);
|
||||
}
|
||||
|
||||
void EffectComposerView::selectedNodesChanged(const QList<QmlDesigner::ModelNode> & selectedNodeList,
|
||||
const QList<QmlDesigner::ModelNode> & /*lastSelectedNodeList*/)
|
||||
{
|
||||
bool hasValidTarget = false;
|
||||
|
||||
for (const QmlDesigner::ModelNode &node : selectedNodeList) {
|
||||
if (node.metaInfo().isQtQuickItem()) {
|
||||
hasValidTarget = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_widget->effectComposerModel()->setHasValidTarget(hasValidTarget);
|
||||
}
|
||||
|
||||
} // namespace EffectComposer
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "abstractview.h"
|
||||
#include "modelnode.h"
|
||||
|
||||
#include <coreplugin/icontext.h>
|
||||
|
||||
@@ -35,6 +36,8 @@ public:
|
||||
// AbstractView
|
||||
void modelAttached(QmlDesigner::Model *model) override;
|
||||
void modelAboutToBeDetached(QmlDesigner::Model *model) override;
|
||||
void selectedNodesChanged(const QList<QmlDesigner::ModelNode> &selectedNodeList,
|
||||
const QList<QmlDesigner::ModelNode> &lastSelectedNodeList) override;
|
||||
|
||||
private:
|
||||
void customNotification(const AbstractView *view, const QString &identifier,
|
||||
|
||||
Reference in New Issue
Block a user