diff options
Diffstat (limited to 'src/widgets/graphicsview')
-rw-r--r-- | src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp | 26 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicsanchorlayout_p.h | 7 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicsgridlayout.cpp | 2 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicsitem.cpp | 2 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicslayout_p.h | 4 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp | 2 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicsproxywidget.cpp | 12 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicsproxywidget_p.h | 2 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicsscene.cpp | 7 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicsview.cpp | 17 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicsview_p.h | 2 |
11 files changed, 41 insertions, 42 deletions
diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp b/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp index 7b2e3fe734..8a5280d44c 100644 --- a/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp @@ -459,9 +459,7 @@ void SequentialAnchorData::updateChildrenSizes() // "from" or "to", that _contains_ one of them. AnchorVertex *prev = from; - for (int i = 0; i < m_edges.size(); ++i) { - AnchorData *e = m_edges.at(i); - + for (AnchorData *e : m_edges) { const bool edgeIsForward = (e->from == prev); if (edgeIsForward) { e->sizeAtMinimum = interpolate(minFactor, e->minSize, e->minPrefSize, @@ -496,9 +494,7 @@ void SequentialAnchorData::calculateSizeHints() AnchorVertex *prev = from; - for (int i = 0; i < m_edges.size(); ++i) { - AnchorData *edge = m_edges.at(i); - + for (AnchorData *edge : m_edges) { const bool edgeIsForward = (edge->from == prev); if (edgeIsForward) { minSize += edge->minSize; @@ -532,12 +528,10 @@ void AnchorData::dump(int indent) { p->firstEdge->dump(indent+2); p->secondEdge->dump(indent+2); } else if (type == Sequential) { - SequentialAnchorData *s = static_cast<SequentialAnchorData *>(this); - int kids = s->m_edges.count(); - qDebug("%*s type: sequential(%d):", indent, "", kids); - for (int i = 0; i < kids; ++i) { - s->m_edges.at(i)->dump(indent+2); - } + const auto *s = static_cast<SequentialAnchorData *>(this); + qDebug("%*s type: sequential(%lld):", indent, "", qint64(s->m_edges.size())); + for (AnchorData *e : s->m_edges) + e->dump(indent + 2); } else { qDebug("%*s type: Normal:", indent, ""); } @@ -1153,12 +1147,10 @@ void QGraphicsAnchorLayoutPrivate::restoreSimplifiedAnchor(AnchorData *edge) g.createEdge(edge->from, edge->to, edge); } else if (edge->type == AnchorData::Sequential) { - SequentialAnchorData *sequence = static_cast<SequentialAnchorData *>(edge); + const auto *sequence = static_cast<SequentialAnchorData *>(edge); - for (int i = 0; i < sequence->m_edges.size(); ++i) { - AnchorData *data = sequence->m_edges.at(i); + for (AnchorData *data : sequence->m_edges) restoreSimplifiedAnchor(data); - } delete sequence; @@ -2554,7 +2546,7 @@ void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems_helper(const AnchorData nonFloatingItemsIdentifiedSoFar->insert(ad->item); break; case AnchorData::Sequential: - foreach (const AnchorData *d, static_cast<const SequentialAnchorData *>(ad)->m_edges) + for (const AnchorData *d : static_cast<const SequentialAnchorData *>(ad)->m_edges) identifyNonFloatItems_helper(d, nonFloatingItemsIdentifiedSoFar); break; case AnchorData::Parallel: diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout_p.h b/src/widgets/graphicsview/qgraphicsanchorlayout_p.h index 987d3847fd..880e262d34 100644 --- a/src/widgets/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/widgets/graphicsview/qgraphicsanchorlayout_p.h @@ -155,20 +155,21 @@ inline QString AnchorData::toString() const struct SequentialAnchorData : public AnchorData { SequentialAnchorData(const QList<AnchorVertex *> &vertices, const QList<AnchorData *> &edges) - : AnchorData(), m_children(vertices), m_edges(edges) + : AnchorData(), m_edges(edges) { type = AnchorData::Sequential; isVertical = m_edges.at(0)->isVertical; #ifdef QT_DEBUG name = QString::fromLatin1("%1 -- %2").arg(vertices.first()->toString(), vertices.last()->toString()); +#else + Q_UNUSED(vertices); #endif } virtual void updateChildrenSizes() override; void calculateSizeHints(); - QList<AnchorVertex *> m_children; // list of vertices in the sequence - QList<AnchorData *> m_edges; // keep the list of edges too. + const QList<AnchorData *> m_edges; // keep the list of edges too. }; struct ParallelAnchorData : public AnchorData diff --git a/src/widgets/graphicsview/qgraphicsgridlayout.cpp b/src/widgets/graphicsview/qgraphicsgridlayout.cpp index 139ccf3af8..e4599d20bb 100644 --- a/src/widgets/graphicsview/qgraphicsgridlayout.cpp +++ b/src/widgets/graphicsview/qgraphicsgridlayout.cpp @@ -146,7 +146,7 @@ void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column } /*! - \fn QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = 0) + \fn QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment) Adds \a item to the grid on \a row and \a column. You can specify an optional \a alignment for \a item. diff --git a/src/widgets/graphicsview/qgraphicsitem.cpp b/src/widgets/graphicsview/qgraphicsitem.cpp index cf9e16e292..17ea830cab 100644 --- a/src/widgets/graphicsview/qgraphicsitem.cpp +++ b/src/widgets/graphicsview/qgraphicsitem.cpp @@ -6501,7 +6501,7 @@ void QGraphicsItem::setData(int key, const QVariant &value) } /*! - \fn T qgraphicsitem_cast(QGraphicsItem *item) + \fn template <class T> qgraphicsitem_cast(QGraphicsItem *item) \relates QGraphicsItem \since 4.2 diff --git a/src/widgets/graphicsview/qgraphicslayout_p.h b/src/widgets/graphicsview/qgraphicslayout_p.h index 2528949569..06eab2ba50 100644 --- a/src/widgets/graphicsview/qgraphicslayout_p.h +++ b/src/widgets/graphicsview/qgraphicslayout_p.h @@ -51,8 +51,8 @@ public: Q_ASSERT(style); if (widget) //### m_styleOption.initFrom(widget); - m_defaultSpacing[0] = style->pixelMetric(QStyle::PM_LayoutHorizontalSpacing, &m_styleOption); - m_defaultSpacing[1] = style->pixelMetric(QStyle::PM_LayoutVerticalSpacing, &m_styleOption); + m_defaultSpacing[0] = style->pixelMetric(QStyle::PM_LayoutHorizontalSpacing, &m_styleOption, widget); + m_defaultSpacing[1] = style->pixelMetric(QStyle::PM_LayoutVerticalSpacing, &m_styleOption, widget); } inline void invalidate() { m_valid = false; m_style = nullptr; m_widget = nullptr; } diff --git a/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp b/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp index e1e71dfe85..6bd57470f3 100644 --- a/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp +++ b/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp @@ -46,7 +46,7 @@ qreal QGraphicsLayoutStyleInfo::spacing(Qt::Orientation orientation) const Q_ASSERT(style()); return style()->pixelMetric(orientation == Qt::Horizontal ? QStyle::PM_LayoutHorizontalSpacing : QStyle::PM_LayoutVerticalSpacing, - &m_styleOption); + &m_styleOption, widget()); } qreal QGraphicsLayoutStyleInfo::windowMargin(Qt::Orientation orientation) const diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.cpp b/src/widgets/graphicsview/qgraphicsproxywidget.cpp index 62f207cdf5..1ff4814142 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget.cpp +++ b/src/widgets/graphicsview/qgraphicsproxywidget.cpp @@ -340,10 +340,10 @@ QWidget *QGraphicsProxyWidgetPrivate::findFocusChild(QWidget *child, bool next) // Run around the focus chain until we find a widget that can take tab focus. if (!child) { - child = next ? (QWidget *)widget : widget->d_func()->focus_prev; + child = next ? widget.data() : widget->previousInFocusChain(); } else { - child = next ? child->d_func()->focus_next : child->d_func()->focus_prev; - if ((next && child == widget) || (!next && child == widget->d_func()->focus_prev)) { + child = next ? child->nextInFocusChain() : child->previousInFocusChain(); + if ((next && child == widget) || (!next && child == widget->previousInFocusChain())) { return nullptr; } } @@ -360,8 +360,8 @@ QWidget *QGraphicsProxyWidgetPrivate::findFocusChild(QWidget *child, bool next) && !(child->d_func()->extra && child->d_func()->extra->focus_proxy)) { return child; } - child = next ? child->d_func()->focus_next : child->d_func()->focus_prev; - } while (child != oldChild && !(next && child == widget) && !(!next && child == widget->d_func()->focus_prev)); + child = next ? child->nextInFocusChain() : child->previousInFocusChain(); + } while (child != oldChild && !(next && child == widget) && !(!next && child == widget->previousInFocusChain())); return nullptr; } @@ -522,7 +522,7 @@ QGraphicsProxyWidget::~QGraphicsProxyWidget() /*! Embeds \a widget into this proxy widget. The embedded widget must reside exclusively either inside or outside of Graphics View. You cannot embed a - widget as long as it is is visible elsewhere in the UI, at the same time. + widget as long as it is visible elsewhere in the UI, at the same time. \a widget must be a top-level widget whose parent is \nullptr. diff --git a/src/widgets/graphicsview/qgraphicsproxywidget_p.h b/src/widgets/graphicsview/qgraphicsproxywidget_p.h index 902a66ee68..328faad0be 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget_p.h +++ b/src/widgets/graphicsview/qgraphicsproxywidget_p.h @@ -19,6 +19,8 @@ #include "qgraphicsproxywidget.h" #include "private/qgraphicswidget_p.h" +#include <QtCore/qpointer.h> + QT_REQUIRE_CONFIG(graphicsview); QT_BEGIN_NAMESPACE diff --git a/src/widgets/graphicsview/qgraphicsscene.cpp b/src/widgets/graphicsview/qgraphicsscene.cpp index 0748a7fd9c..c022af6fc0 100644 --- a/src/widgets/graphicsview/qgraphicsscene.cpp +++ b/src/widgets/graphicsview/qgraphicsscene.cpp @@ -216,6 +216,8 @@ #include <private/qgesturemanager_p.h> #include <private/qpathclipper_p.h> +#include <QtCore/qpointer.h> + // #define GESTURE_DEBUG #ifndef GESTURE_DEBUG # define DEBUG if (0) qDebug @@ -1004,7 +1006,7 @@ void QGraphicsScenePrivate::ungrabMouse(QGraphicsItem *item, bool itemIsDying) void QGraphicsScenePrivate::clearMouseGrabber() { if (!mouseGrabberItems.isEmpty()) - mouseGrabberItems.first()->ungrabMouse(); + mouseGrabberItems.constFirst()->ungrabMouse(); lastMouseGrabberItem = nullptr; } @@ -2884,7 +2886,7 @@ void QGraphicsScene::setFocusItem(QGraphicsItem *item, Qt::FocusReason focusReas /*! Returns \c true if the scene has focus; otherwise returns \c false. If the scene - has focus, it will will forward key events from QKeyEvent to any item that + has focus, it will forward key events from QKeyEvent to any item that has focus. \sa setFocus(), setFocusItem() @@ -3251,6 +3253,7 @@ bool QGraphicsScene::event(QEvent *event) // ### this should only be cleared if we received a new mouse move event, // which relies on us fixing the replay mechanism in QGraphicsView. d->cachedItemsUnderMouse.clear(); + break; default: break; } diff --git a/src/widgets/graphicsview/qgraphicsview.cpp b/src/widgets/graphicsview/qgraphicsview.cpp index fba6d942f8..9505e2529a 100644 --- a/src/widgets/graphicsview/qgraphicsview.cpp +++ b/src/widgets/graphicsview/qgraphicsview.cpp @@ -483,8 +483,8 @@ void QGraphicsViewPrivate::centerView(QGraphicsView::ViewportAnchor anchor) if (q->underMouse()) { // Last scene pos: lastMouseMoveScenePoint // Current mouse pos: - QPointF transformationDiff = q->mapToScene(viewport->rect().center()) - - q->mapToScene(viewport->mapFromGlobal(QCursor::pos())); + QPointF transformationDiff = mapToScene(viewport->rect().toRectF().center()) + - mapToScene(viewport->mapFromGlobal(QCursor::pos().toPointF())); q->centerOn(lastMouseMoveScenePoint + transformationDiff); } else { q->centerOn(lastCenterPoint); @@ -504,8 +504,7 @@ void QGraphicsViewPrivate::centerView(QGraphicsView::ViewportAnchor anchor) */ void QGraphicsViewPrivate::updateLastCenterPoint() { - Q_Q(QGraphicsView); - lastCenterPoint = q->mapToScene(viewport->rect().center()); + lastCenterPoint = mapToScene(viewport->rect().toRectF().center()); } /*! @@ -1559,7 +1558,7 @@ void QGraphicsView::setRubberBandSelectionMode(Qt::ItemSelectionMode mode) is currently doing an itemselection with rubber band. When the user is not using the rubber band this functions returns (a null) QRectF(). - Notice that part of this QRect can be outise the visual viewport. It can e.g + Notice that part of this QRect can be outside the visual viewport. It can e.g contain negative values. \sa rubberBandSelectionMode, rubberBandChanged() @@ -1892,14 +1891,14 @@ void QGraphicsView::centerOn(const QPointF &pos) qint64 horizontal = 0; horizontal += horizontalScrollBar()->minimum(); horizontal += horizontalScrollBar()->maximum(); - horizontal -= int(viewPoint.x() - width / 2.0); + horizontal -= qRound(viewPoint.x() - width / 2.0); horizontalScrollBar()->setValue(horizontal); } else { - horizontalScrollBar()->setValue(int(viewPoint.x() - width / 2.0)); + horizontalScrollBar()->setValue(qRound(viewPoint.x() - width / 2.0)); } } if (!d->topIndent) - verticalScrollBar()->setValue(int(viewPoint.y() - height / 2.0)); + verticalScrollBar()->setValue(qRound(viewPoint.y() - height / 2.0)); d->lastCenterPoint = oldCenterPoint; } @@ -2343,7 +2342,7 @@ QGraphicsItem *QGraphicsView::itemAt(const QPoint &pos) const if (!d->scene) return nullptr; const QList<QGraphicsItem *> itemsAtPos = items(pos); - return itemsAtPos.isEmpty() ? 0 : itemsAtPos.first(); + return itemsAtPos.isEmpty() ? nullptr : itemsAtPos.first(); } /*! diff --git a/src/widgets/graphicsview/qgraphicsview_p.h b/src/widgets/graphicsview/qgraphicsview_p.h index a15defe621..7f1682beca 100644 --- a/src/widgets/graphicsview/qgraphicsview_p.h +++ b/src/widgets/graphicsview/qgraphicsview_p.h @@ -25,6 +25,8 @@ #include <private/qabstractscrollarea_p.h> #include <private/qapplication_p.h> +#include <QtCore/qpointer.h> + QT_REQUIRE_CONFIG(graphicsview); QT_BEGIN_NAMESPACE |