From b7150b21f02435abb8f7a4d94b929ecdad2ef79b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Thu, 11 Jun 2009 15:25:05 +0200 Subject: Simplify the code that finds the sequential chunks for simplification. If two vertices are adjacent in the candidate list they should also be adjacent in the graph. This means there should always be an edge between candidates.at(n) and candidates.at(n + 1). --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index 0339f41..3745b3b 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -282,20 +282,10 @@ void QGraphicsAnchorLayoutPrivate::simplifyGraph(QGraphicsAnchorLayoutPrivate::O for (i = 1; i <= candidates.count() + 1; ++i) { AnchorVertex *v1 = (i <= candidates.count()) ? candidates.at(i - 1) : afterSequence; AnchorData *data = g.edgeData(prev, v1); - bool shouldSimplify = false; - if (data) { - if (!forwardSet) { - forward = (prev == data->origin ? true : false); - forwardSet = true; - } else if ((forward != (prev == data->origin))) { - shouldSimplify = true; - } - } else { - shouldSimplify = true; - forwardSet = false; - } - - if (shouldSimplify) { + Q_ASSERT(data); + if (i == 1) { + forward = (prev == data->origin ? true : false); + } else if ((forward != (prev == data->origin))) { intervalTo = i - 1; if (intervalTo - intervalFrom >= 2) { // simplify in the range [intervalFrom, intervalTo] -- cgit v0.12