aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2020-09-30 16:49:45 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2020-10-02 08:29:52 +0000
commit528b634e5a0809060ed598ca2f5dd0a5b93c4128 (patch)
tree008e51839d0b52f157120449519a74961cf82172 /src/plugins/qmldesigner/components
parentb292de228caef4c0c4d86a07340e7a54cae37f7d (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')
-rw-r--r--src/plugins/qmldesigner/components/timelineeditor/timelineview.cpp4
-rw-r--r--src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp14
-rw-r--r--src/plugins/qmldesigner/components/timelineeditor/timelinewidget.h1
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();