diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-09-30 16:49:45 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-10-02 08:29:52 +0000 |
commit | 528b634e5a0809060ed598ca2f5dd0a5b93c4128 (patch) | |
tree | 008e51839d0b52f157120449519a74961cf82172 /src/plugins/qmldesigner/components | |
parent | b292de228caef4c0c4d86a07340e7a54cae37f7d (diff) |
QmlDesigner: Disable TimelineEditorView when not visible
Change-Id: If67a027c9ad52b2b2fa62df8cf94afdd1c2c49d7
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/components')
3 files changed, 19 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/components/timelineeditor/timelineview.cpp b/src/plugins/qmldesigner/components/timelineeditor/timelineview.cpp index a1de7bca1a..d0679c80bb 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 a618d22a61..e740fb924e 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 f50abbebc7..b546452e56 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(); |