diff --git a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp index 71f6c3ed885..ef83b17d90a 100644 --- a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp +++ b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp @@ -72,6 +72,10 @@ TransitionEditorView::~TransitionEditorView() = default; void TransitionEditorView::modelAttached(Model *model) { AbstractView::modelAttached(model); + + if (!isEnabled()) + return; + if (m_transitionEditorWidget) m_transitionEditorWidget->init(); } diff --git a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.cpp b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.cpp index 87133e68614..3d7e4ec4216 100644 --- a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.cpp +++ b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.cpp @@ -385,10 +385,24 @@ void TransitionEditorWidget::setupScrollbar(int min, int max, int current) void TransitionEditorWidget::showEvent(QShowEvent *event) { Q_UNUSED(event) + + m_transitionEditorView->setEnabled(true); + + if (m_transitionEditorView->model()) + init(); + graphicsScene()->setWidth(m_graphicsView->viewport()->width()); graphicsScene()->invalidateLayout(); graphicsScene()->invalidate(); graphicsScene()->onShow(); + + QWidget::showEvent(event); +} + +void TransitionEditorWidget::hideEvent(QHideEvent *event) +{ + m_transitionEditorView->setEnabled(false); + QWidget::hideEvent(event); } void TransitionEditorWidget::resizeEvent(QResizeEvent *event) diff --git a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.h b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.h index 97f57f1c2f6..dbbe87a1ffd 100644 --- a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.h +++ b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.h @@ -74,6 +74,7 @@ public slots: protected: void showEvent(QShowEvent *event) override; + void hideEvent(QHideEvent *event) override; void resizeEvent(QResizeEvent *event) override; private: