diff --git a/src/plugins/qmldesigner/components/timelineeditor/timelineview.cpp b/src/plugins/qmldesigner/components/timelineeditor/timelineview.cpp index a1de7bca1a8..d0679c80bb6 100644 --- a/src/plugins/qmldesigner/components/timelineeditor/timelineview.cpp +++ b/src/plugins/qmldesigner/components/timelineeditor/timelineview.cpp @@ -77,6 +77,10 @@ TimelineView::~TimelineView() = default; void TimelineView::modelAttached(Model *model) { AbstractView::modelAttached(model); + + if (!isEnabled()) + return; + if (m_timelineWidget) m_timelineWidget->init(); } diff --git a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp index a618d22a614..e740fb924ec 100644 --- a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp +++ b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp @@ -537,10 +537,18 @@ void TimelineWidget::setFocus() void TimelineWidget::showEvent(QShowEvent *event) { Q_UNUSED(event) + + m_timelineView->setEnabled(true); + + if (m_timelineView->model()) + init(); + graphicsScene()->setWidth(m_graphicsView->viewport()->width()); graphicsScene()->invalidateLayout(); graphicsScene()->invalidate(); graphicsScene()->onShow(); + + QWidget::showEvent(event); } void TimelineWidget::resizeEvent(QResizeEvent *event) @@ -549,6 +557,12 @@ void TimelineWidget::resizeEvent(QResizeEvent *event) graphicsScene()->setWidth(m_graphicsView->viewport()->width()); } +void TimelineWidget::hideEvent(QHideEvent *event) +{ + m_timelineView->setEnabled(false); + QWidget::hideEvent(event); +} + TimelineView *TimelineWidget::timelineView() const { return m_timelineView; diff --git a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.h b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.h index f50abbebc71..b546452e560 100644 --- a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.h +++ b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.h @@ -81,6 +81,7 @@ public slots: protected: void showEvent(QShowEvent *event) override; void resizeEvent(QResizeEvent *event) override; + void hideEvent(QHideEvent *event) override; private: void connectToolbar();