QmlDesigner: Disable Timeview and CurveEditorView when widget is invisble

Task-number: QDS-5159
Change-Id: Ibae0b9742d4aaac6a1def1c84342a031baf75256
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Thomas Hartmann
2021-09-28 17:54:31 +02:00
parent d52e7b9398
commit a07112258b
6 changed files with 44 additions and 11 deletions

View File

@@ -51,6 +51,13 @@ CurveEditorView::CurveEditorView(QObject *parent)
connect(m_model, &CurveEditorModel::commitStartFrame, this, &CurveEditorView::commitStartFrame);
connect(m_model, &CurveEditorModel::commitEndFrame, this, &CurveEditorView::commitEndFrame);
connect(m_model, &CurveEditorModel::curveChanged, this, &CurveEditorView::commitKeyframes);
connect(m_editor, &CurveEditor::viewEnabledChanged, this, [this](bool enabled){
setEnabled(enabled);
if (enabled)
init();
});
setEnabled(false);
}
CurveEditorView::~CurveEditorView() {}
@@ -70,10 +77,8 @@ void CurveEditorView::modelAttached(Model *model)
{
AbstractView::modelAttached(model);
QmlTimeline timeline = activeTimeline();
if (timeline.isValid()) {
m_model->setTimeline(timeline);
}
if (isEnabled())
init();
}
void CurveEditorView::modelAboutToBeDetached(Model *model)
@@ -389,4 +394,13 @@ void CurveEditorView::commitEndFrame(int frame)
timeline.modelNode().variantProperty("endFrame").setValue(frame);
}
void CurveEditorView::init()
{
QmlTimeline timeline = activeTimeline();
if (timeline.isValid()) {
m_model->setTimeline(timeline);
}
}
} // namespace QmlDesigner