diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-08-20 17:32:28 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-08-27 10:03:41 +0000 |
commit | e2e2c462064e4c31ff9ad95dfbd3dd781e325d32 (patch) | |
tree | 0c1357652b9a879adfbaec587a7fa76eeea923d0 | |
parent | acdb971048652b49941f3d4c009a5cadf466047c (diff) |
QmlDesigner: Avoid visual artefacts
Avoid visual artefacts when changing states.
Change-Id: I00aa1499ff027d060b06699b60ebd2d5162d0e16
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r-- | src/plugins/qmldesigner/components/formeditor/formeditorview.cpp | 9 | ||||
-rw-r--r-- | src/plugins/qmldesigner/components/formeditor/formeditorview.h | 9 |
2 files changed, 14 insertions, 4 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp index 96dda07c51..1a9f165483 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp @@ -234,12 +234,12 @@ void FormEditorView::createFormEditorWidget() connect(m_formEditorWidget->resetAction(), &QAction::triggered, this, &FormEditorView::resetNodeInstanceView); } -void FormEditorView::temporaryBlockView() +void FormEditorView::temporaryBlockView(int duration) { m_formEditorWidget->graphicsView()->setUpdatesEnabled(false); static auto timer = new QTimer(qApp); timer->setSingleShot(true); - timer->start(1000); + timer->start(duration); connect(timer, &QTimer::timeout, this, [this]() { m_formEditorWidget->graphicsView()->setUpdatesEnabled(true); @@ -496,6 +496,11 @@ void FormEditorView::customNotification(const AbstractView * /*view*/, const QSt m_formEditorWidget->zoomAction()->zoomOut(); } +void FormEditorView::currentStateChanged(const ModelNode & /*node*/) +{ + temporaryBlockView(100); +} + AbstractFormEditorTool *FormEditorView::currentTool() const { return m_currentTool; diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.h b/src/plugins/qmldesigner/components/formeditor/formeditorview.h index d6a479e847..64c1f2a435 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.h +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.h @@ -84,7 +84,12 @@ public: void documentMessagesChanged(const QList<DocumentMessage> &errors, const QList<DocumentMessage> &warnings) override; - void customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data) override; + void customNotification(const AbstractView *view, + const QString &identifier, + const QList<ModelNode> &nodeList, + const QList<QVariant> &data) override; + + void currentStateChanged(const ModelNode &node) override; // FormEditorView WidgetInfo widgetInfo() override; @@ -134,7 +139,7 @@ private: void removeNodeFromScene(const QmlItemNode &qmlItemNode); void hideNodeFromScene(const QmlItemNode &qmlItemNode); void createFormEditorWidget(); - void temporaryBlockView(); + void temporaryBlockView(int duration = 1000); void resetNodeInstanceView(); QPointer<FormEditorWidget> m_formEditorWidget; |