From c6d0f497f3ce543f90bf6f3c5fc8f5be43cc3b3b Mon Sep 17 00:00:00 2001 From: Marco Bubke <marco.bubke@nokia.com> Date: Thu, 20 Jan 2011 20:35:32 +0100 Subject: [PATCH] QmlDesigner.FormEditor: Fix repaint artefacts --- .../components/formeditor/formeditorgraphicsview.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp index e296879968d..97d8bb4f583 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp @@ -48,7 +48,7 @@ FormEditorGraphicsView::FormEditorGraphicsView(QWidget *parent) : setResizeAnchor(QGraphicsView::AnchorViewCenter); setCacheMode(QGraphicsView::CacheNone); // setCacheMode(QGraphicsView::CacheBackground); - setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate); + setViewportUpdateMode(QGraphicsView::SmartViewportUpdate); setOptimizationFlags(QGraphicsView::DontSavePainterState); // setViewportUpdateMode(QGraphicsView::NoViewportUpdate); setRenderHint(QPainter::Antialiasing, false); @@ -113,7 +113,7 @@ void FormEditorGraphicsView::keyPressEvent(QKeyEvent *event) void FormEditorGraphicsView::setRootItemRect(const QRectF &rect) { m_rootItemRect = rect; - update(); + viewport()->update(); } QRectF FormEditorGraphicsView::rootItemRect() const @@ -304,11 +304,12 @@ void FormEditorGraphicsView::setFeedbackNode(const QmlItemNode &node) } } -void FormEditorGraphicsView::drawBackground(QPainter *painter, const QRectF &rect) +void FormEditorGraphicsView::drawBackground(QPainter *painter, const QRectF &rectangle) { painter->save(); painter->setBrushOrigin(0, 0); - painter->fillRect(rect.intersected(rootItemRect()), backgroundBrush()); + + painter->fillRect(rectangle.intersected(rootItemRect()), backgroundBrush()); // paint rect around editable area painter->setPen(Qt::black); painter->drawRect( rootItemRect()); -- GitLab