diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2018-01-13 18:49:39 +0100 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2018-01-23 10:14:12 +0000 |
commit | a7515d25a971aeaf5c54cc9a52a325e05a7c6e98 (patch) | |
tree | 02dfeac35705e4b0c727a7fe05830de1fcdf0178 | |
parent | 92d32c3a2618719383d4f8678bfd4f5ee041a198 (diff) |
QmlDesigner: Avoid detachs
The non const overloads of first() and last() do detach
if the reference count is higher than 1.
Therefore we use constFirst() and constLast() instead.
Change-Id: I737cfc428f1c21f16185b9b51175e181c0ec7068
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
58 files changed, 160 insertions, 160 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/types/enumeration.cpp b/share/qtcreator/qml/qmlpuppet/types/enumeration.cpp index 094eb5ffc0..a77f460f4f 100644 --- a/share/qtcreator/qml/qmlpuppet/types/enumeration.cpp +++ b/share/qtcreator/qml/qmlpuppet/types/enumeration.cpp @@ -54,7 +54,7 @@ Enumeration::Enumeration(const QString &scope, const QString &name) QmlDesigner::EnumerationName QmlDesigner::Enumeration::scope() const { - return m_enumerationName.split('.').first(); + return m_enumerationName.split('.').constFirst(); } EnumerationName Enumeration::name() const diff --git a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp index b19e06e45b..629f290026 100644 --- a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp +++ b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp @@ -359,7 +359,7 @@ bool selectionHasSameParentAndInBaseState(const SelectionContext &context) bool isNotInLayout(const SelectionContext &context) { if (selectionNotEmpty(context)) { - ModelNode selectedModelNode = context.selectedModelNodes().first(); + const ModelNode &selectedModelNode = context.selectedModelNodes().constFirst(); ModelNode parentModelNode; if (selectedModelNode.hasParentProperty()) diff --git a/src/plugins/qmldesigner/components/componentcore/findimplementation.cpp b/src/plugins/qmldesigner/components/componentcore/findimplementation.cpp index 1d88bf56a0..a22a72498f 100644 --- a/src/plugins/qmldesigner/components/componentcore/findimplementation.cpp +++ b/src/plugins/qmldesigner/components/componentcore/findimplementation.cpp @@ -130,7 +130,7 @@ protected: if (m_insideObject) { QStringList stringList = textAt(node->qualifiedId->firstSourceLocation(), node->qualifiedId->lastSourceLocation()).split(QLatin1String(".")); - const QString itemid = stringList.isEmpty() ? QString() : stringList.first(); + const QString itemid = stringList.isEmpty() ? QString() : stringList.constFirst(); if (itemid == m_itemId) { m_implemenations.append(node->statement->firstSourceLocation()); diff --git a/src/plugins/qmldesigner/components/componentcore/layoutingridlayout.cpp b/src/plugins/qmldesigner/components/componentcore/layoutingridlayout.cpp index 39638e3fcb..ed05faba12 100644 --- a/src/plugins/qmldesigner/components/componentcore/layoutingridlayout.cpp +++ b/src/plugins/qmldesigner/components/componentcore/layoutingridlayout.cpp @@ -57,7 +57,7 @@ static int findFirstBigger(const QVector<int> &v, int tolerance) if (v.isEmpty()) return 0; - int last = v.first(); + int last = v.constFirst(); for (int i = 0; i < v.length(); ++i) { if (v.value(i) > last + tolerance) return i; @@ -257,7 +257,7 @@ void LayoutInGridLayout::collectItemNodes() m_qmlItemNodes.append(itemNode); } } - m_parentNode = m_qmlItemNodes.first().instanceParentItem(); + m_parentNode = m_qmlItemNodes.constFirst().instanceParentItem(); } void LayoutInGridLayout::collectOffsets() @@ -287,10 +287,10 @@ void LayoutInGridLayout::sortOffsets() void LayoutInGridLayout::calculateGridOffsets() { if (!m_xTopOffsets.isEmpty()) - m_startX = m_xTopOffsets.first(); + m_startX = m_xTopOffsets.constFirst(); if (!m_yTopOffsets.isEmpty()) - m_startY = m_yTopOffsets.first(); + m_startY = m_yTopOffsets.constFirst(); const int defaultWidthTolerance = 64; const int defaultHeightTolerance = 64; diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp index e70de03f74..195ce608d4 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp @@ -40,7 +40,7 @@ static inline bool itemsHaveSameParent(const QList<ModelNode> &siblingList) return false; - QmlItemNode item(siblingList.first()); + const QmlItemNode &item = siblingList.constFirst(); if (!item.isValid()) return false; diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp index c3d7d9f43d..85e6774750 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp @@ -285,7 +285,7 @@ void setVisible(const SelectionContext &selectionState) return; try { - selectionState.selectedModelNodes().first().variantProperty("visible").setValue(selectionState.toggled()); + selectionState.selectedModelNodes().constFirst().variantProperty("visible").setValue(selectionState.toggled()); } catch (const RewritingException &e) { //better save then sorry e.showException(); } @@ -657,7 +657,7 @@ void addSignalHandlerOrGotoImplementation(const SelectionContext &selectionState { ModelNode modelNode; if (selectionState.singleNodeIsSelected()) - modelNode = selectionState.selectedModelNodes().first(); + modelNode = selectionState.selectedModelNodes().constFirst(); bool isModelNodeRoot = true; @@ -690,7 +690,7 @@ void addSignalHandlerOrGotoImplementation(const SelectionContext &selectionState const QString fileName = currentDesignDocument.toString(); const QString typeName = currentDesignDocument.toFileInfo().baseName(); - QStringList signalNames = cleanSignalNames(getSortedSignalNameList(selectionState.selectedModelNodes().first())); + QStringList signalNames = cleanSignalNames(getSortedSignalNameList(selectionState.selectedModelNodes().constFirst())); QList<QmlJSEditor::FindReferences::Usage> usages = QmlJSEditor::FindReferences::findUsageOfType(fileName, typeName); @@ -701,12 +701,12 @@ void addSignalHandlerOrGotoImplementation(const SelectionContext &selectionState return; } - usages = FindImplementation::run(usages.first().path, typeName, itemId); + usages = FindImplementation::run(usages.constFirst().path, typeName, itemId); Core::ModeManager::activateMode(Core::Constants::MODE_EDIT); if (usages.count() > 0 && (addAlwaysNewSlot || usages.count() < 2) && (!isModelNodeRoot || addAlwaysNewSlot)) { - Core::EditorManager::openEditorAt(usages.first().path, usages.first().line, usages.first().col); + Core::EditorManager::openEditorAt(usages.constFirst().path, usages.constFirst().line, usages.constFirst().col); if (!signalNames.isEmpty()) { AddSignalHandlerDialog *dialog = new AddSignalHandlerDialog(Core::ICore::dialogParent()); @@ -732,7 +732,7 @@ void addSignalHandlerOrGotoImplementation(const SelectionContext &selectionState //Move cursor to correct curser position const QString filePath = Core::EditorManager::currentDocument()->filePath().toString(); QList<QmlJSEditor::FindReferences::Usage> usages = FindImplementation::run(filePath, typeName, itemId); - Core::EditorManager::openEditorAt(filePath, usages.first().line, usages.first().col + 1); + Core::EditorManager::openEditorAt(filePath, usages.constFirst().line, usages.constFirst().col + 1); } ); dialog->show(); @@ -740,7 +740,7 @@ void addSignalHandlerOrGotoImplementation(const SelectionContext &selectionState return; } - Core::EditorManager::openEditorAt(usages.first().path, usages.first().line, usages.first().col + 1); + Core::EditorManager::openEditorAt(usages.constFirst().path, usages.constFirst().line, usages.constFirst().col + 1); } void removeLayout(const SelectionContext &selectionContext) @@ -794,7 +794,7 @@ void moveToComponent(const SelectionContext &selectionContext) { ModelNode modelNode; if (selectionContext.singleNodeIsSelected()) - modelNode = selectionContext.selectedModelNodes().first(); + modelNode = selectionContext.selectedModelNodes().constFirst(); if (modelNode.isValid()) selectionContext.view()->model()->rewriterView()->moveToComponent(modelNode); diff --git a/src/plugins/qmldesigner/components/debugview/debugview.cpp b/src/plugins/qmldesigner/components/debugview/debugview.cpp index 261b7ed978..59afd1172f 100644 --- a/src/plugins/qmldesigner/components/debugview/debugview.cpp +++ b/src/plugins/qmldesigner/components/debugview/debugview.cpp @@ -396,7 +396,7 @@ void DebugView::instancesChildrenChanged(const QVector<ModelNode> & nodeList) void DebugView::customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data) { if (identifier == "PuppetStatus" && data.count() == 1) { - m_debugViewWidget->setPuppetStatus(data.first().toString()); + m_debugViewWidget->setPuppetStatus(data.constFirst().toString()); } else if (isDebugViewEnabled()) { QTextStream message; diff --git a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp index 2cf53f0e79..e4f76d5858 100644 --- a/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/abstractformeditortool.cpp @@ -265,7 +265,7 @@ void AbstractFormEditorTool::mouseReleaseEvent(const QList<QGraphicsItem*> & ite QmlItemNode currentSelectedNode; if (view()->selectedModelNodes().count() == 1) { - currentSelectedNode = view()->selectedModelNodes().first(); + currentSelectedNode = view()->selectedModelNodes().constFirst(); if (!containsItemNode(itemList, currentSelectedNode)) { QmlItemNode selectedNode; diff --git a/src/plugins/qmldesigner/components/formeditor/anchorindicator.cpp b/src/plugins/qmldesigner/components/formeditor/anchorindicator.cpp index 6d48240b03..6cd4be56f8 100644 --- a/src/plugins/qmldesigner/components/formeditor/anchorindicator.cpp +++ b/src/plugins/qmldesigner/components/formeditor/anchorindicator.cpp @@ -89,7 +89,7 @@ void AnchorIndicator::setItems(const QList<FormEditorItem *> &itemList) clear(); if (itemList.count() == 1) { - m_formEditorItem = itemList.first(); + m_formEditorItem = itemList.constFirst(); QmlItemNode sourceQmlItemNode = m_formEditorItem->qmlItemNode(); if (!sourceQmlItemNode.modelNode().isRootNode()) { QmlAnchors qmlAnchors = sourceQmlItemNode.anchors(); diff --git a/src/plugins/qmldesigner/components/formeditor/bindingindicator.cpp b/src/plugins/qmldesigner/components/formeditor/bindingindicator.cpp index 5bd4fe7453..766458ec59 100644 --- a/src/plugins/qmldesigner/components/formeditor/bindingindicator.cpp +++ b/src/plugins/qmldesigner/components/formeditor/bindingindicator.cpp @@ -116,7 +116,7 @@ void BindingIndicator::setItems(const QList<FormEditorItem *> &itemList) clear(); if (itemList.count() == 1) { - m_formEditorItem = itemList.first(); + m_formEditorItem = itemList.constFirst(); const QmlItemNode qmlItemNode = m_formEditorItem->qmlItemNode(); if (qmlItemNode.hasBindingProperty("x")) { diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp index be6437c898..b9cba15c9e 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp @@ -200,8 +200,8 @@ void FormEditorScene::dropEvent(QGraphicsSceneDragDropEvent * event) { currentTool()->dropEvent(removeLayerItems(itemsAt(event->scenePos())), event); - if (views().first()) - views().first()->setFocus(); + if (views().constFirst()) + views().constFirst()->setFocus(); } void FormEditorScene::dragEnterEvent(QGraphicsSceneDragDropEvent * event) @@ -237,7 +237,7 @@ QList<QGraphicsItem *> FormEditorScene::itemsAt(const QPointF &pos) QTransform transform; if (!views().isEmpty()) - transform = views().first()->transform(); + transform = views().constFirst()->transform(); return items(pos, Qt::IntersectsItemShape, diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp index 1956dadb34..fad8a6817b 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp @@ -397,7 +397,7 @@ void FormEditorView::changeToCustomTool() int handlingRank = 0; AbstractCustomTool *selectedCustomTool = 0; - ModelNode selectedModelNode = selectedModelNodes().first(); + const ModelNode &selectedModelNode = selectedModelNodes().constFirst(); foreach (AbstractCustomTool *customTool, m_customToolList) { if (customTool->wantHandleItem(selectedModelNode) > handlingRank) { diff --git a/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp b/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp index d55f85090f..57a280d72b 100644 --- a/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp +++ b/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp @@ -75,10 +75,10 @@ void MoveManipulator::setItems(const QList<FormEditorItem*> &itemList) { m_itemList = itemList; if (!m_itemList.isEmpty()) { - if (m_itemList.first()->parentItem()) - m_snapper.setContainerFormEditorItem(m_itemList.first()->parentItem()); + if (m_itemList.constFirst()->parentItem()) + m_snapper.setContainerFormEditorItem(m_itemList.constFirst()->parentItem()); else - m_snapper.setContainerFormEditorItem(m_itemList.first()); + m_snapper.setContainerFormEditorItem(m_itemList.constFirst()); m_snapper.setTransformtionSpaceFormEditorItem(m_snapper.containerFormEditorItem()); } } @@ -105,8 +105,8 @@ void MoveManipulator::synchronizeParent(const QList<FormEditorItem*> &itemList, void MoveManipulator::synchronizeInstanceParent(const QList<FormEditorItem*> &itemList) { - if (m_view->model() && !m_itemList.isEmpty() && m_itemList.first()->qmlItemNode().hasInstanceParent()) - synchronizeParent(itemList, m_itemList.first()->qmlItemNode().instanceParent()); + if (m_view->model() && !m_itemList.isEmpty() && m_itemList.constFirst()->qmlItemNode().hasInstanceParent()) + synchronizeParent(itemList, m_itemList.constFirst()->qmlItemNode().instanceParent()); } bool MoveManipulator::itemsCanReparented() const diff --git a/src/plugins/qmldesigner/components/formeditor/movetool.cpp b/src/plugins/qmldesigner/components/formeditor/movetool.cpp index b779216d61..4978c37026 100644 --- a/src/plugins/qmldesigner/components/formeditor/movetool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/movetool.cpp @@ -106,10 +106,10 @@ void MoveTool::mouseMoveEvent(const QList<QGraphicsItem*> &itemList, FormEditorItem *containerItem = containerFormEditorItem(itemList, m_movingItems); if (containerItem && view()->currentState().isBaseState()) { - if (containerItem != m_movingItems.first()->parentItem() + if (containerItem != m_movingItems.constFirst()->parentItem() && event->modifiers().testFlag(Qt::ShiftModifier)) { - FormEditorItem *movingItem = m_movingItems.first(); + const FormEditorItem *movingItem = m_movingItems.constFirst(); if (m_movingItems.count() > 1 || (movingItem->qmlItemNode().canBereparentedTo(containerItem->qmlItemNode()))) @@ -129,7 +129,7 @@ void MoveTool::hoverMoveEvent(const QList<QGraphicsItem*> &itemList, return; } - ResizeHandleItem* resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.first()); + ResizeHandleItem* resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.constFirst()); if (resizeHandle) { view()->changeToResizeTool(); return; @@ -289,7 +289,7 @@ bool MoveTool::haveSameParent(const QList<FormEditorItem*> &itemList) if (itemList.isEmpty()) return false; - QGraphicsItem *firstParent = itemList.first()->parentItem(); + QGraphicsItem *firstParent = itemList.constFirst()->parentItem(); foreach (FormEditorItem* item, itemList) { if (firstParent != item->parentItem()) diff --git a/src/plugins/qmldesigner/components/formeditor/onedimensionalcluster.cpp b/src/plugins/qmldesigner/components/formeditor/onedimensionalcluster.cpp index 864ae64b76..aee6bba6dc 100644 --- a/src/plugins/qmldesigner/components/formeditor/onedimensionalcluster.cpp +++ b/src/plugins/qmldesigner/components/formeditor/onedimensionalcluster.cpp @@ -53,17 +53,17 @@ double OneDimensionalCluster::mean() const if (m_coordinateList.size() == 1) { - return m_coordinateList.first(); + return m_coordinateList.constFirst(); } return sum(m_coordinateList) / m_coordinateList.size(); } -double OneDimensionalCluster::first() const +double OneDimensionalCluster::constFirst() const { Q_ASSERT(!m_coordinateList.isEmpty()); - return m_coordinateList.first(); + return m_coordinateList.constFirst(); } QList<OneDimensionalCluster> OneDimensionalCluster::createOneDimensionalClusterList(const QList<double> & oneDimensionalCoordinateList) @@ -136,7 +136,7 @@ QList<double> OneDimensionalCluster::reduceLines(const QList<double> & oneDimens QList<double> lineList; foreach (const OneDimensionalCluster &cluster, clusterList) - lineList.append(cluster.first()); + lineList.append(cluster.constFirst()); return lineList; } diff --git a/src/plugins/qmldesigner/components/formeditor/onedimensionalcluster.h b/src/plugins/qmldesigner/components/formeditor/onedimensionalcluster.h index 83b9397629..5c5b184288 100644 --- a/src/plugins/qmldesigner/components/formeditor/onedimensionalcluster.h +++ b/src/plugins/qmldesigner/components/formeditor/onedimensionalcluster.h @@ -39,7 +39,7 @@ private: OneDimensionalCluster(const QList<double> & coordinateList ); double mean() const; - double first() const; + double constFirst() const; static QList<OneDimensionalCluster> createOneDimensionalClusterList(const QList<double> & oneDimensionalCoordinateList); static QList<OneDimensionalCluster> reduceOneDimensionalClusterList(const QList<OneDimensionalCluster> & unreducedClusterList, double maximumDistance); diff --git a/src/plugins/qmldesigner/components/formeditor/resizetool.cpp b/src/plugins/qmldesigner/components/formeditor/resizetool.cpp index c9e8a977fd..96b960867c 100644 --- a/src/plugins/qmldesigner/components/formeditor/resizetool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/resizetool.cpp @@ -58,7 +58,7 @@ void ResizeTool::mousePressEvent(const QList<QGraphicsItem*> &itemList, if (itemList.isEmpty()) return; - ResizeHandleItem *resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.first()); + ResizeHandleItem *resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.constFirst()); if (resizeHandle && resizeHandle->resizeController().isValid()) { m_resizeManipulator.setHandle(resizeHandle); m_resizeManipulator.begin(event->scenePos()); @@ -85,7 +85,7 @@ void ResizeTool::hoverMoveEvent(const QList<QGraphicsItem*> &itemList, return; } - ResizeHandleItem* resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.first()); + ResizeHandleItem* resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.constFirst()); if (resizeHandle && resizeHandle->resizeController().isValid()) { m_resizeManipulator.setHandle(resizeHandle); } else { diff --git a/src/plugins/qmldesigner/components/formeditor/selectionindicator.cpp b/src/plugins/qmldesigner/components/formeditor/selectionindicator.cpp index c1b26877ad..b9cbd74bba 100644 --- a/src/plugins/qmldesigner/components/formeditor/selectionindicator.cpp +++ b/src/plugins/qmldesigner/components/formeditor/selectionindicator.cpp @@ -82,8 +82,8 @@ static QPolygonF boundingRectInLayerItemSpaceForItem(FormEditorItem *item, QGrap static bool checkSingleSelection(const QList<FormEditorItem*> &itemList) { return !itemList.isEmpty() - && itemList.first() - && itemList.first()->qmlItemNode().view()->singleSelectedModelNode().isValid(); + && itemList.constFirst() + && itemList.constFirst()->qmlItemNode().view()->singleSelectedModelNode().isValid(); } const int labelHeight = 16; @@ -112,7 +112,7 @@ void SelectionIndicator::setItems(const QList<FormEditorItem*> &itemList) } if (checkSingleSelection(itemList)) { - FormEditorItem *selectedItem = itemList.first(); + FormEditorItem *selectedItem = itemList.constFirst(); m_labelItem.reset(new QGraphicsPolygonItem(m_layerItem.data())); QGraphicsWidget *toolbar = DesignerActionManager::instance().createFormEditorToolBar(m_labelItem.get()); @@ -161,7 +161,7 @@ void SelectionIndicator::updateItems(const QList<FormEditorItem*> &itemList) if (checkSingleSelection(itemList) && m_labelItem) { - FormEditorItem *selectedItem = itemList.first(); + FormEditorItem *selectedItem = itemList.constFirst(); QPolygonF labelPolygon = boundingRectInLayerItemSpaceForItem(selectedItem, m_layerItem.data()); QRectF labelRect = labelPolygon.boundingRect(); QPointF pos = labelRect.topLeft(); diff --git a/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp b/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp index 559cec498e..52bcae4ff5 100644 --- a/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp @@ -126,7 +126,7 @@ void SelectionTool::hoverMoveEvent(const QList<QGraphicsItem*> &itemList, { if (!itemList.isEmpty()) { - ResizeHandleItem* resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.first()); + ResizeHandleItem* resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.constFirst()); if (resizeHandle) { view()->changeToResizeTool(); return; diff --git a/src/plugins/qmldesigner/components/formeditor/snapper.cpp b/src/plugins/qmldesigner/components/formeditor/snapper.cpp index 5b8e02a288..7a11b6c7e3 100644 --- a/src/plugins/qmldesigner/components/formeditor/snapper.cpp +++ b/src/plugins/qmldesigner/components/formeditor/snapper.cpp @@ -449,7 +449,7 @@ double Snapper::snappingDistance() const static QLineF mergedHorizontalLine(const QList<QLineF> &lineList) { if (lineList.count() == 1) - return lineList.first(); + return lineList.constFirst(); double minimumX = std::numeric_limits<double>::max(); double maximumX = std::numeric_limits<double>::min(); @@ -460,14 +460,14 @@ static QLineF mergedHorizontalLine(const QList<QLineF> &lineList) maximumX = qMax(maximumX, double(line.x2())); } - double y(lineList.first().y1()); + double y(lineList.constFirst().y1()); return QLineF(minimumX, y, maximumX, y); } static QLineF mergedVerticalLine(const QList<QLineF> &lineList) { if (lineList.count() == 1) - return lineList.first(); + return lineList.constFirst(); double minimumY = std::numeric_limits<double>::max(); double maximumY = std::numeric_limits<double>::min(); @@ -478,7 +478,7 @@ static QLineF mergedVerticalLine(const QList<QLineF> &lineList) maximumY = qMax(maximumY, double(line.y2())); } - double x(lineList.first().x1()); + double x(lineList.constFirst().x1()); return QLineF(x, minimumY, x, maximumY); } diff --git a/src/plugins/qmldesigner/components/integration/designdocument.cpp b/src/plugins/qmldesigner/components/integration/designdocument.cpp index 068915d13c..9a7aa73676 100644 --- a/src/plugins/qmldesigner/components/integration/designdocument.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocument.cpp @@ -450,7 +450,7 @@ void DesignDocument::paste() ModelNode targetNode; if (!view.selectedModelNodes().isEmpty()) - targetNode = view.selectedModelNodes().first(); + targetNode = view.selectedModelNodes().constFirst(); //In case we copy and paste a selection we paste in the parent item if ((view.selectedModelNodes().count() == selectedNodes.count()) && targetNode.isValid() && targetNode.hasParentProperty()) @@ -495,7 +495,7 @@ void DesignDocument::paste() ModelNode targetNode; if (!view.selectedModelNodes().isEmpty()) - targetNode = view.selectedModelNodes().first(); + targetNode = view.selectedModelNodes().constFirst(); if (!targetNode.isValid()) targetNode = view.rootModelNode(); diff --git a/src/plugins/qmldesigner/components/integration/designdocumentview.cpp b/src/plugins/qmldesigner/components/integration/designdocumentview.cpp index b371fe3fe6..89d27cd5f0 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentview.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentview.cpp @@ -219,7 +219,7 @@ void DesignDocumentView::copyModelNodes(const QList<ModelNode> &nodesToCopy) copyModel->attachView(&view); if (selectedNodes.count() == 1) { - ModelNode selectedNode(selectedNodes.first()); + const ModelNode &selectedNode = selectedNodes.constFirst(); if (!selectedNode.isValid()) return; diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp index a90800d76f..8b81df3355 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp @@ -454,7 +454,7 @@ void NavigatorView::updateItemSelection() blockSelectionChangedSignal(blocked); if (!selectedModelNodes().isEmpty()) - treeWidget()->scrollTo(indexForModelNode(selectedModelNodes().first())); + treeWidget()->scrollTo(indexForModelNode(selectedModelNodes().constFirst())); // make sure selected nodes a visible foreach (const QModelIndex &selectedIndex, itemSelection.indexes()) { diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.cpp index 832e733872..6966bfe187 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.cpp @@ -145,7 +145,7 @@ void PropertyEditorContextObject::toogleExportAlias() if (rewriterView->selectedModelNodes().isEmpty()) return; - ModelNode selectedNode = rewriterView->selectedModelNodes().first(); + const ModelNode &selectedNode = rewriterView->selectedModelNodes().constFirst(); if (QmlObjectNode::isValidQmlObjectNode(selectedNode)) { QmlObjectNode objectNode(selectedNode); @@ -184,7 +184,7 @@ void PropertyEditorContextObject::changeTypeName(const QString &typeName) if (rewriterView->selectedModelNodes().isEmpty()) return; - ModelNode selectedNode = rewriterView->selectedModelNodes().first(); + ModelNode selectedNode = rewriterView->selectedModelNodes().constFirst(); try { RewriterTransaction transaction = diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp index a8e2b42e59..7c6435a1b8 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp @@ -550,12 +550,12 @@ QString PropertyEditorQmlBackend::locateQmlFile(const NodeMetaInfo &info, const //Check for qml files with versions first - const QString withoutDir = relativePath.split(QStringLiteral("/")).last(); + const QString withoutDir = relativePath.split(QStringLiteral("/")).constLast(); if (importDirVersion.exists(withoutDir)) return importDirVersion.absoluteFilePath(withoutDir); - const QString withoutDirWithVersion = relativePathWithVersion.split(QStringLiteral("/")).last(); + const QString withoutDirWithVersion = relativePathWithVersion.split(QStringLiteral("/")).constLast(); const QStringList possiblePaths = { importDir.absoluteFilePath(relativePathWithVersion), diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp index 4cad2d08cc..63e415f1b9 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp @@ -510,8 +510,8 @@ void PropertyEditorView::selectedNodesChanged(const QList<ModelNode> &selectedNo if (selectedNodeList.isEmpty() || selectedNodeList.count() > 1) select(ModelNode()); - else if (m_selectedNode != selectedNodeList.first()) - select(selectedNodeList.first()); + else if (m_selectedNode != selectedNodeList.constFirst()) + select(selectedNodeList.constFirst()); } void PropertyEditorView::nodeAboutToBeRemoved(const ModelNode &removedNode) diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorimageprovider.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorimageprovider.cpp index 36b3794fd2..ec434abb59 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorimageprovider.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorimageprovider.cpp @@ -43,7 +43,7 @@ QImage StatesEditorImageProvider::requestImage(const QString &id, QSize *size, c bool nodeInstanceViewIsDetached = m_nodeInstanceView.isNull() || !m_nodeInstanceView->model(); if (!nodeInstanceViewIsDetached) { - QString imageId = id.split(QLatin1Char('-')).first(); + QString imageId = id.split(QLatin1Char('-')).constFirst(); if (imageId == QLatin1String("baseState")) { image = m_nodeInstanceView->statePreviewImage(m_nodeInstanceView->rootModelNode()); } else { diff --git a/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp b/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp index 495f6762ca..a5c4441e6e 100644 --- a/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp +++ b/src/plugins/qmldesigner/components/texteditor/texteditorview.cpp @@ -186,7 +186,7 @@ void TextEditorView::documentMessagesChanged(const QList<DocumentMessage> &error if (errors.isEmpty()) { m_widget->clearStatusBar(); } else { - const DocumentMessage error = errors.first(); + const DocumentMessage &error = errors.constFirst(); m_widget->setStatusText(QString("%1 (Line: %2)").arg(error.description()).arg(error.line())); } } diff --git a/src/plugins/qmldesigner/components/texteditor/texteditorwidget.cpp b/src/plugins/qmldesigner/components/texteditor/texteditorwidget.cpp index 8c0e715ba9..4cf464d4e7 100644 --- a/src/plugins/qmldesigner/components/texteditor/texteditorwidget.cpp +++ b/src/plugins/qmldesigner/components/texteditor/texteditorwidget.cpp @@ -126,7 +126,7 @@ void TextEditorWidget::jumpTextCursorToSelectedModelNode() return; if (!m_textEditorView->selectedModelNodes().isEmpty()) - selectedNode = m_textEditorView->selectedModelNodes().first(); + selectedNode = m_textEditorView->selectedModelNodes().constFirst(); if (selectedNode.isValid()) { RewriterView *rewriterView = m_textEditorView->model()->rewriterView(); diff --git a/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.cpp b/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.cpp index a2b4c9b3fc..809fe37ed4 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.cpp +++ b/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.cpp @@ -66,7 +66,7 @@ bool QmlRefactoring::reparseDocument() qDebug() << "*** QML text:" << textModifier->text(); QString errorMessage = QStringLiteral("Parsing Error"); if (!tmpDocument->diagnosticMessages().isEmpty()) - errorMessage = tmpDocument->diagnosticMessages().first().message; + errorMessage = tmpDocument->diagnosticMessages().constFirst().message; qDebug() << "*** " << errorMessage; return false; diff --git a/src/plugins/qmldesigner/designercore/include/forwardview.h b/src/plugins/qmldesigner/designercore/include/forwardview.h index b34cd107e9..d317bec793 100644 --- a/src/plugins/qmldesigner/designercore/include/forwardview.h +++ b/src/plugins/qmldesigner/designercore/include/forwardview.h @@ -280,7 +280,7 @@ ViewType *ForwardView<ViewType>::firstView() const if (m_targetViewList.isEmpty()) return 0; - return m_targetViewList.first().data(); + return m_targetViewList.constFirst().data(); } diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index 197c7d5064..823f966d8c 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -881,8 +881,8 @@ CreateSceneCommand NodeInstanceView::createCreateSceneCommand() if (versionString.contains(QStringLiteral("."))) { const QStringList splittedString = versionString.split(QStringLiteral(".")); - majorVersion = splittedString.first().toInt(); - minorVersion = splittedString.last().toInt(); + majorVersion = splittedString.constFirst().toInt(); + minorVersion = splittedString.constLast().toInt(); } bool isItem = false; diff --git a/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp b/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp index d2d906e665..1caff4817e 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp @@ -278,9 +278,9 @@ void MetaInfoReader::setVersion(const QString &versionNumber) int val; bool ok; if (versionNumber.contains(QLatin1Char('.'))) { - val = versionNumber.split(QLatin1Char('.')).first().toInt(&ok); + val = versionNumber.split(QLatin1Char('.')).constFirst().toInt(&ok); major = ok ? val : major; - val = versionNumber.split(QLatin1Char('.')).last().toInt(&ok); + val = versionNumber.split(QLatin1Char('.')).constLast().toInt(&ok); minor = ok ? val : minor; } else { val = versionNumber.toInt(&ok); diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodehints.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodehints.cpp index 209754d125..1a38b0a631 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodehints.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodehints.cpp @@ -96,7 +96,7 @@ QmlDesigner::NodeHints::NodeHints(const ModelNode &node) : m_modelNode(node) modelNode().type(), modelNode().majorVersion(), modelNode().minorVersion()); if (!itemLibraryEntryList.isEmpty()) - m_hints = itemLibraryEntryList.first().hints(); + m_hints = itemLibraryEntryList.constFirst().hints(); } } diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index f5bb5d1ba6..46801cf0e0 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -709,7 +709,7 @@ NodeMetaInfoPrivate::NodeMetaInfoPrivate(Model *model, TypeName type, int maj, i } else { m_isFileComponent = true; const Imports *imports = context()->imports(document()); - ImportInfo importInfo = imports->info(lookupNameComponent().last(), context().data()); + ImportInfo importInfo = imports->info(lookupNameComponent().constLast(), context().data()); if (importInfo.isValid() && importInfo.type() == ImportType::Library) { m_majorVersion = importInfo.version().majorVersion(); m_minorVersion = importInfo.version().minorVersion(); @@ -729,7 +729,7 @@ const CppComponentValue *NodeMetaInfoPrivate::getCppComponentValue() const const QList<TypeName> nameComponents = m_qualfiedTypeName.split('.'); if (nameComponents.size() < 2) return 0; - const TypeName type = nameComponents.last(); + const TypeName &type = nameComponents.constLast(); TypeName module; for (int i = 0; i < nameComponents.size() - 1; ++i) { @@ -821,8 +821,8 @@ bool NodeMetaInfoPrivate::isPropertyWritable(const PropertyName &propertyName) c if (propertyName.contains('.')) { const PropertyNameList parts = propertyName.split('.'); - const PropertyName objectName = parts.first(); - const PropertyName rawPropertyName = parts.last(); + const PropertyName &objectName = parts.constFirst(); + const PropertyName &rawPropertyName = parts.constLast(); const TypeName objectType = propertyType(objectName); if (isValueType(objectType)) @@ -854,8 +854,8 @@ bool NodeMetaInfoPrivate::isPropertyList(const PropertyName &propertyName) const if (propertyName.contains('.')) { const PropertyNameList parts = propertyName.split('.'); - const PropertyName objectName = parts.first(); - const PropertyName rawPropertyName = parts.last(); + const PropertyName &objectName = parts.constFirst(); + const PropertyName &rawPropertyName = parts.constLast(); const TypeName objectType = propertyType(objectName); if (isValueType(objectType)) @@ -883,8 +883,8 @@ bool NodeMetaInfoPrivate::isPropertyPointer(const PropertyName &propertyName) co if (propertyName.contains('.')) { const PropertyNameList parts = propertyName.split('.'); - const PropertyName objectName = parts.first(); - const PropertyName rawPropertyName = parts.last(); + const PropertyName &objectName = parts.constFirst(); + const PropertyName &rawPropertyName = parts.constLast(); const TypeName objectType = propertyType(objectName); if (isValueType(objectType)) @@ -915,8 +915,8 @@ bool NodeMetaInfoPrivate::isPropertyEnum(const PropertyName &propertyName) const if (propertyName.contains('.')) { const PropertyNameList parts = propertyName.split('.'); - const PropertyName objectName = parts.first(); - const PropertyName rawPropertyName = parts.last(); + const PropertyName &objectName = parts.constFirst(); + const PropertyName &rawPropertyName = parts.constLast(); const TypeName objectType = propertyType(objectName); if (isValueType(objectType)) @@ -947,8 +947,8 @@ QString NodeMetaInfoPrivate::propertyEnumScope(const PropertyName &propertyName) if (propertyName.contains('.')) { const PropertyNameList parts = propertyName.split('.'); - const PropertyName objectName = parts.first(); - const PropertyName rawPropertyName = parts.last(); + const PropertyName &objectName = parts.constFirst(); + const PropertyName &rawPropertyName = parts.constLast(); const TypeName objectType = propertyType(objectName); if (isValueType(objectType)) @@ -989,7 +989,7 @@ static QByteArray getUnqualifiedName(const QByteArray &name) const QList<QByteArray> nameComponents = name.split('.'); if (nameComponents.size() < 2) return name; - return nameComponents.last(); + return nameComponents.constLast(); } static QByteArray getPackage(const QByteArray &name) @@ -1138,7 +1138,7 @@ QString NodeMetaInfoPrivate::importDirectoryPath() const if (isValid()) { const Imports *imports = context()->imports(document()); - ImportInfo importInfo = imports->info(lookupNameComponent().last(), context().data()); + ImportInfo importInfo = imports->info(lookupNameComponent().constLast(), context().data()); if (importInfo.type() == ImportType::Directory) { return importInfo.path(); diff --git a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp index 9dfd1b3dc1..db1d9f9f27 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp @@ -152,7 +152,7 @@ void SubComponentManager::parseDirectories() parseDirectory(dirInfo.canonicalFilePath(), false); } - QString fullUrlVersion = path + QLatin1Char('/') + url + QLatin1Char('.') + import.version().split(".").first(); + QString fullUrlVersion = path + QLatin1Char('/') + url + QLatin1Char('.') + import.version().split(".").constFirst(); dirInfo = QFileInfo(fullUrlVersion); if (dirInfo.exists() && dirInfo.isDir()) { diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp index 1649a17a4a..e245c060fa 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp @@ -437,7 +437,7 @@ QList<ModelNode> AbstractView::selectedModelNodes() const ModelNode AbstractView::firstSelectedModelNode() const { if (hasSelectedModelNodes()) - return ModelNode(model()->d->selectedNodes().first(), model(), this); + return ModelNode(model()->d->selectedNodes().constFirst(), model(), this); return ModelNode(); } @@ -445,7 +445,7 @@ ModelNode AbstractView::firstSelectedModelNode() const ModelNode AbstractView::singleSelectedModelNode() const { if (hasSingleSelectedModelNode()) - return ModelNode(model()->d->selectedNodes().first(), model(), this); + return ModelNode(model()->d->selectedNodes().constFirst(), model(), this); return ModelNode(); } @@ -725,7 +725,7 @@ static int getMinorVersionFromImport(const Model *model) if (import.isLibraryImport() && import.url() == "QtQuick") { const QString versionString = import.version(); if (versionString.contains(".")) { - const QString minorVersionString = versionString.split(".").last(); + const QString minorVersionString = versionString.split(".").constLast(); return minorVersionString.toInt(); } } @@ -740,7 +740,7 @@ static int getMajorVersionFromImport(const Model *model) if (import.isLibraryImport() && import.url() == QStringLiteral("QtQuick")) { const QString versionString = import.version(); if (versionString.contains(QStringLiteral("."))) { - const QString majorVersionString = versionString.split(QStringLiteral(".")).first(); + const QString majorVersionString = versionString.split(QStringLiteral(".")).constFirst(); return majorVersionString.toInt(); } } diff --git a/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp b/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp index dfea640fd5..fe8ebe1729 100644 --- a/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp @@ -161,7 +161,7 @@ AbstractProperty BindingProperty::resolveToProperty() const ModelNode node = parentModelNode(); QString element; if (binding.contains(QLatin1Char('.'))) { - element = binding.split(QLatin1Char('.')).last(); + element = binding.split(QLatin1Char('.')).constLast(); QString nodeBinding = binding; nodeBinding.chop(element.length()); node = resolveBinding(nodeBinding, parentModelNode(), view()); diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp index 3b9ddf99c9..70dd0f4fd4 100644 --- a/src/plugins/qmldesigner/designercore/model/model.cpp +++ b/src/plugins/qmldesigner/designercore/model/model.cpp @@ -1882,17 +1882,17 @@ static bool compareVersions(const QString &version1, const QString &version2, bo QStringList version2List = version2.split(QLatin1Char('.')); if (version1List.count() == 2 && version2List.count() == 2) { bool ok; - int major1 = version1List.first().toInt(&ok); + int major1 = version1List.constFirst().toInt(&ok); if (!ok) return false; - int major2 = version2List.first().toInt(&ok); + int major2 = version2List.constFirst().toInt(&ok); if (!ok) return false; if (major1 >= major2) { - int minor1 = version1List.last().toInt(&ok); + int minor1 = version1List.constLast().toInt(&ok); if (!ok) return false; - int minor2 = version2List.last().toInt(&ok); + int minor2 = version2List.constLast().toInt(&ok); if (!ok) return false; if (minor1 >= minor2) diff --git a/src/plugins/qmldesigner/designercore/model/modelnode.cpp b/src/plugins/qmldesigner/designercore/model/modelnode.cpp index 641849d004..7a80390d85 100644 --- a/src/plugins/qmldesigner/designercore/model/modelnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/modelnode.cpp @@ -310,7 +310,7 @@ QString ModelNode::simplifiedTypeName() const throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); } - return QString::fromUtf8(type().split('.').last()); + return QString::fromUtf8(type().split('.').constLast()); } QString ModelNode::displayName() const @@ -1138,7 +1138,7 @@ bool ModelNode::isComponent() const * the default property is always implcitly a NodeListProperty. This is something that has to be fixed. */ - ModelNode componentNode = nodeListProperty("component").toModelNodeList().first(); + ModelNode componentNode = nodeListProperty("component").toModelNodeList().constFirst(); if (componentNode.nodeSourceType() == ModelNode::NodeWithComponentSource) return true; if (componentNode.metaInfo().isFileComponent()) @@ -1175,7 +1175,7 @@ QIcon ModelNode::typeIcon() const QList <ItemLibraryEntry> itemLibraryEntryList = libraryInfo->entriesForType( type(), majorVersion(), minorVersion()); if (!itemLibraryEntryList.isEmpty()) - return itemLibraryEntryList.first().typeIcon(); + return itemLibraryEntryList.constFirst().typeIcon(); else if (metaInfo().isValid()) return QIcon(QStringLiteral(":/ItemLibrary/images/item-default-icon.png")); } diff --git a/src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp b/src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp index 19b8b7c1d1..39d99accdf 100644 --- a/src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp @@ -229,7 +229,7 @@ void ModelToTextMerger::applyChanges() QString errorMessage = QStringLiteral("Error while rewriting"); if (!tmpDocument->diagnosticMessages().isEmpty()) - errorMessage = tmpDocument->diagnosticMessages().first().message; + errorMessage = tmpDocument->diagnosticMessages().constFirst().message; m_rewriterView->enterErrorState(errorMessage); return; diff --git a/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp b/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp index 5f65bea40c..08105bf2be 100644 --- a/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp @@ -167,8 +167,8 @@ QString QmlTextGenerator::toQml(const ModelNode &node, int indentDepth) const QString url; if (type.contains('.')) { QStringList nameComponents = type.split('.'); - url = nameComponents.first(); - type = nameComponents.last(); + url = nameComponents.constFirst(); + type = nameComponents.constLast(); } QString alias; diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index dc1f03794d..c4cb5bf710 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -402,7 +402,7 @@ void RewriterView::applyChanges() try { modelToTextMerger()->applyChanges(); if (!errors().isEmpty()) - enterErrorState(errors().first().description()); + enterErrorState(errors().constFirst().description()); } catch (const Exception &e) { const QString content = textModifierContent(); qDebug().noquote() << "RewriterException:" << m_rewritingErrorMessage; @@ -417,7 +417,7 @@ void RewriterView::applyChanges() qDebug().noquote() << "RewriterException: " << m_rewritingErrorMessage; qDebug().noquote() << "Content: " << content; if (!errors().isEmpty()) - qDebug().noquote() << "Error:" << errors().first().description(); + qDebug().noquote() << "Error:" << errors().constFirst().description(); throw RewritingException(__LINE__, __FUNCTION__, __FILE__, qPrintable(m_rewritingErrorMessage), content); } } @@ -668,7 +668,7 @@ QString RewriterView::convertTypeToImportAlias(const QString &type) const if (type.contains('.')) { QStringList nameComponents = type.split('.'); url = getUrlFromType(type); - simplifiedType = nameComponents.last(); + simplifiedType = nameComponents.constLast(); } QString alias; diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 7a624b6e08..f94cd99fb7 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -166,7 +166,7 @@ static inline bool isSignalPropertyName(const QString &signalName) // see QmlCompiler::isSignalPropertyName QStringList list = signalName.split(QLatin1String(".")); - QString pureSignalName = list.last(); + const QString &pureSignalName = list.constLast(); return pureSignalName.length() >= 3 && pureSignalName.startsWith(QStringLiteral("on")) && pureSignalName.at(2).isLetter(); } @@ -611,12 +611,12 @@ public: if (astValueList.count() == 2) { //Check for global Qt enums - if (astValueList.first() == QStringLiteral("Qt") - && globalQtEnums().contains(astValueList.last())) + if (astValueList.constFirst() == QStringLiteral("Qt") + && globalQtEnums().contains(astValueList.constLast())) return QVariant::fromValue(Enumeration(astValue)); //Check for known enum scopes used globally - if (knownEnumScopes().contains(astValueList.first())) + if (knownEnumScopes().contains(astValueList.constFirst())) return QVariant::fromValue(Enumeration(astValue)); } @@ -640,7 +640,7 @@ public: QString rhsValueName; if (AST::IdentifierExpression *idExp = AST::cast<AST::IdentifierExpression *>(eStmt->expression)) { if (!m_scopeChain.qmlScopeObjects().isEmpty()) - rhsValueObject = m_scopeChain.qmlScopeObjects().last(); + rhsValueObject = m_scopeChain.qmlScopeObjects().constLast(); if (!idExp->name.isEmpty()) rhsValueName = idExp->name.toString(); } else if (AST::FieldMemberExpression *memberExp = AST::cast<AST::FieldMemberExpression *>(eStmt->expression)) { @@ -792,8 +792,8 @@ static bool isLatestImportVersion(const ImportKey &importKey, const QHash<QStrin static bool isBlacklistImport(const ImportKey &importKey) { - QString importPathFirst = importKey.splitPath.first(); - QString importPathLast = importKey.splitPath.last(); + const QString &importPathFirst = importKey.splitPath.constFirst(); + const QString &importPathLast = importKey.splitPath.constLast(); return importPathFirst == QStringLiteral("<cpp>") || importPathFirst == QStringLiteral("QML") || importPathFirst == QStringLiteral("QtQml") @@ -1439,7 +1439,7 @@ static QString fileForFullQrcPath(const QString &string) if (stringList.isEmpty()) return QString(); - return stringList.last(); + return stringList.constLast(); } static QString removeFileFromQrcPath(const QString &string) @@ -2046,7 +2046,7 @@ void TextToModelMerger::populateQrcMapping(const QString &filePath) QMap<QString,QStringList> map = ModelManagerInterface::instance()->filesInQrcPath(path); const QStringList qrcFilePaths = map.value(fileName, {}); if (!qrcFilePaths.isEmpty()) { - QString fileSystemPath = qrcFilePaths.first(); + QString fileSystemPath = qrcFilePaths.constFirst(); fileSystemPath.remove(fileName); if (path.isEmpty()) path.prepend(QLatin1String("/")); diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index cbe845240c..3809e0366b 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -441,7 +441,7 @@ static QWidget *createbottomSideBarWidget(const QList<WidgetInfo> &widgetInfos) topWidgetInfos.append(widgetInfo); } - QWidget *widget = topWidgetInfos.first().widget; + QWidget *widget = topWidgetInfos.constFirst().widget; if (topWidgetInfos.count() > 1) { QWidget *background = new QWidget(); background->setProperty("designerBackgroundColor", true); diff --git a/src/plugins/qmldesigner/documentmanager.cpp b/src/plugins/qmldesigner/documentmanager.cpp index f72939d36f..e5ec89524a 100644 --- a/src/plugins/qmldesigner/documentmanager.cpp +++ b/src/plugins/qmldesigner/documentmanager.cpp @@ -138,7 +138,7 @@ static void openComponentSourcePropertyOfLoader(const ModelNode &modelNode) * the default property is always implcitly a NodeListProperty. This is something that has to be fixed. */ - componentModelNode = modelNode.nodeListProperty("component").toModelNodeList().first(); + componentModelNode = modelNode.nodeListProperty("component").toModelNodeList().constFirst(); } Core::EditorManager::openEditor(componentModelNode.metaInfo().componentFileName(), Core::Id(), Core::EditorManager::DoNotMakeVisible); diff --git a/src/plugins/qmldesigner/qmldesignerextension/colortool/colortool.cpp b/src/plugins/qmldesigner/qmldesignerextension/colortool/colortool.cpp index 8e8c0b1cde..7f03543c2c 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/colortool/colortool.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/colortool/colortool.cpp @@ -170,8 +170,8 @@ void ColorTool::selectedItemsChanged(const QList<FormEditorItem*> &itemList) m_formEditorItem->qmlItemNode().setVariantProperty("color", m_oldColor); if (!itemList.isEmpty() - && itemList.first()->qmlItemNode().modelNode().metaInfo().hasProperty("color")) { - m_formEditorItem = itemList.first(); + && itemList.constFirst()->qmlItemNode().modelNode().metaInfo().hasProperty("color")) { + m_formEditorItem = itemList.constFirst(); m_oldColor = m_formEditorItem->qmlItemNode().modelValue("color").value<QColor>(); if (m_colorDialog.isNull()) { diff --git a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/backendmodel.cpp b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/backendmodel.cpp index 312f2d8327..2944a195b6 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/backendmodel.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/backendmodel.cpp @@ -232,7 +232,7 @@ void BackendModel::addNewBackend() QString typeName = dialog.type(); - Import import = Import::createLibraryImport(importSplit.first(), importSplit.last()); + Import import = Import::createLibraryImport(importSplit.constFirst(), importSplit.constLast()); try { diff --git a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/bindingmodel.cpp b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/bindingmodel.cpp index 7bc7f55dff..88bb7ffec2 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/bindingmodel.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/bindingmodel.cpp @@ -160,7 +160,7 @@ QStringList BindingModel::possibleSourceProperties(const BindingProperty &bindin qWarning() << " BindingModel::possibleSourcePropertiesForRow no meta info for target node"; } - const QString id = stringlist.first(); + const QString &id = stringlist.constFirst(); ModelNode modelNode = getNodeByIdOrParent(id, bindingProperty.parentModelNode()); @@ -222,7 +222,7 @@ static PropertyName unusedProperty(const ModelNode &modelNode) void BindingModel::addBindingForCurrentNode() { if (connectionView()->selectedModelNodes().count() == 1) { - ModelNode modelNode = connectionView()->selectedModelNodes().first(); + const ModelNode &modelNode = connectionView()->selectedModelNodes().constFirst(); if (modelNode.isValid()) { try { modelNode.bindingProperty(unusedProperty(modelNode)).setExpression(QLatin1String("none.none")); @@ -386,7 +386,7 @@ bool BindingModel::getExpressionStrings(const BindingProperty &bindingProperty, if (true) { const QStringList stringList = expression.split(QLatin1String(".")); - *sourceNode = stringList.first(); + *sourceNode = stringList.constFirst(); QString propertyName; diff --git a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionmodel.cpp b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionmodel.cpp index 58af1da41c..2cde52ec61 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionmodel.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionmodel.cpp @@ -270,8 +270,8 @@ void ConnectionModel::addConnection() newNode.signalHandlerProperty("onClicked").setSource(QLatin1String("print(\"clicked\")")); if (connectionView()->selectedModelNodes().count() == 1 - && !connectionView()->selectedModelNodes().first().id().isEmpty()) { - ModelNode selectedNode = connectionView()->selectedModelNodes().first(); + && !connectionView()->selectedModelNodes().constFirst().id().isEmpty()) { + const ModelNode &selectedNode = connectionView()->selectedModelNodes().constFirst(); newNode.bindingProperty("target").setExpression(selectedNode.id()); } else { newNode.bindingProperty("target").setExpression(QLatin1String("parent")); diff --git a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionviewwidget.cpp b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionviewwidget.cpp index 54b771bf0d..46acbeb8a6 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionviewwidget.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionviewwidget.cpp @@ -139,17 +139,17 @@ QList<QToolButton *> ConnectionViewWidget::createToolBarWidgets() QList<QToolButton *> buttons; buttons << new QToolButton(); - buttons.last()->setIcon(Utils::Icons::PLUS_TOOLBAR.icon()); - buttons.last()->setToolTip(tr("Add binding or connection.")); - connect(buttons.last(), &QAbstractButton::clicked, this, &ConnectionViewWidget::addButtonClicked); - connect(this, &ConnectionViewWidget::setEnabledAddButton, buttons.last(), &QWidget::setEnabled); + buttons.constLast()->setIcon(Utils::Icons::PLUS_TOOLBAR.icon()); + buttons.constLast()->setToolTip(tr("Add binding or connection.")); + connect(buttons.constLast(), &QAbstractButton::clicked, this, &ConnectionViewWidget::addButtonClicked); + connect(this, &ConnectionViewWidget::setEnabledAddButton, buttons.constLast(), &QWidget::setEnabled); buttons << new QToolButton(); - buttons.last()->setIcon(Utils::Icons::MINUS.icon()); - buttons.last()->setToolTip(tr("Remove selected binding or connection.")); - buttons.last()->setShortcut(QKeySequence(Qt::Key_Delete)); - connect(buttons.last(), &QAbstractButton::clicked, this, &ConnectionViewWidget::removeButtonClicked); - connect(this, &ConnectionViewWidget::setEnabledRemoveButton, buttons.last(), &QWidget::setEnabled); + buttons.constLast()->setIcon(Utils::Icons::MINUS.icon()); + buttons.constLast()->setToolTip(tr("Remove selected binding or connection.")); + buttons.constLast()->setShortcut(QKeySequence(Qt::Key_Delete)); + connect(buttons.constLast(), &QAbstractButton::clicked, this, &ConnectionViewWidget::removeButtonClicked); + connect(this, &ConnectionViewWidget::setEnabledRemoveButton, buttons.constLast(), &QWidget::setEnabled); return buttons; } @@ -233,7 +233,7 @@ void ConnectionViewWidget::removeButtonClicked() if (currentTab() == ConnectionTab) { if (ui->connectionView->selectionModel()->selectedRows().isEmpty()) return; - int currentRow = ui->connectionView->selectionModel()->selectedRows().first().row(); + int currentRow = ui->connectionView->selectionModel()->selectedRows().constFirst().row(); ConnectionModel *connectionModel = qobject_cast<ConnectionModel*>(ui->connectionView->model()); if (connectionModel) { connectionModel->deleteConnectionByRow(currentRow); @@ -241,7 +241,7 @@ void ConnectionViewWidget::removeButtonClicked() } else if (currentTab() == BindingTab) { if (ui->bindingView->selectionModel()->selectedRows().isEmpty()) return; - int currentRow = ui->bindingView->selectionModel()->selectedRows().first().row(); + int currentRow = ui->bindingView->selectionModel()->selectedRows().constFirst().row(); BindingModel *bindingModel = qobject_cast<BindingModel*>(ui->bindingView->model()); if (bindingModel) { bindingModel->deleteBindindByRow(currentRow); @@ -249,12 +249,12 @@ void ConnectionViewWidget::removeButtonClicked() } else if (currentTab() == DynamicPropertiesTab) { if (ui->dynamicPropertiesView->selectionModel()->selectedRows().isEmpty()) return; - int currentRow = ui->dynamicPropertiesView->selectionModel()->selectedRows().first().row(); + int currentRow = ui->dynamicPropertiesView->selectionModel()->selectedRows().constFirst().row(); DynamicPropertiesModel *dynamicPropertiesModel = qobject_cast<DynamicPropertiesModel*>(ui->dynamicPropertiesView->model()); if (dynamicPropertiesModel) dynamicPropertiesModel->deleteDynamicPropertyByRow(currentRow); } else if (currentTab() == BackendTab) { - int currentRow = ui->backendView->selectionModel()->selectedRows().first().row(); + int currentRow = ui->backendView->selectionModel()->selectedRows().constFirst().row(); BackendModel *backendModel = qobject_cast<BackendModel*>(ui->backendView->model()); if (backendModel) backendModel->deletePropertyByRow(currentRow); diff --git a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/dynamicpropertiesmodel.cpp b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/dynamicpropertiesmodel.cpp index b9cca0f403..a6cb2d911b 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/dynamicpropertiesmodel.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/dynamicpropertiesmodel.cpp @@ -265,7 +265,7 @@ QStringList DynamicPropertiesModel::possibleTargetProperties(const BindingProper void DynamicPropertiesModel::addDynamicPropertyForCurrentNode() { if (connectionView()->selectedModelNodes().count() == 1) { - ModelNode modelNode = connectionView()->selectedModelNodes().first(); + const ModelNode &modelNode = connectionView()->selectedModelNodes().constFirst(); if (modelNode.isValid()) { try { modelNode.variantProperty(unusedProperty(modelNode)).setDynamicTypeNameAndValue("string", QLatin1String("none.none")); @@ -292,7 +292,7 @@ QStringList DynamicPropertiesModel::possibleSourceProperties(const BindingProper qWarning() << " BindingModel::possibleSourcePropertiesForRow no meta info for target node"; } - const QString id = stringlist.first(); + const QString &id = stringlist.constFirst(); ModelNode modelNode = getNodeByIdOrParent(id, bindingProperty.parentModelNode()); @@ -617,7 +617,7 @@ bool DynamicPropertiesModel::getExpressionStrings(const BindingProperty &binding if (true) { const QStringList stringList = expression.split(QLatin1String(".")); - *sourceNode = stringList.first(); + *sourceNode = stringList.constFirst(); QString propertyName; diff --git a/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathitem.cpp b/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathitem.cpp index 4a1e0dba2b..8653e8a20a 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathitem.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathitem.cpp @@ -140,8 +140,8 @@ void PathItem::writePathToProperty() pathSegment.destroy(); if (!m_cubicSegments.isEmpty()) { - pathNode.variantProperty("startX").setValue(m_cubicSegments.first().firstControlPoint().coordinate().x()); - pathNode.variantProperty("startY").setValue(m_cubicSegments.first().firstControlPoint().coordinate().y()); + pathNode.variantProperty("startX").setValue(m_cubicSegments.constFirst().firstControlPoint().coordinate().x()); + pathNode.variantProperty("startY").setValue(m_cubicSegments.constFirst().firstControlPoint().coordinate().y()); foreach (const CubicSegment &cubicSegment, m_cubicSegments) { writePathAttributes(pathNode, cubicSegment.attributes()); @@ -178,8 +178,8 @@ void PathItem::writePathAsCubicSegmentsOnly() pathSegment.destroy(); if (!m_cubicSegments.isEmpty()) { - pathNode.variantProperty("startX").setValue(m_cubicSegments.first().firstControlPoint().coordinate().x()); - pathNode.variantProperty("startY").setValue(m_cubicSegments.first().firstControlPoint().coordinate().y()); + pathNode.variantProperty("startX").setValue(m_cubicSegments.constFirst().firstControlPoint().coordinate().x()); + pathNode.variantProperty("startY").setValue(m_cubicSegments.constFirst().firstControlPoint().coordinate().y()); foreach (const CubicSegment &cubicSegment, m_cubicSegments) { @@ -239,7 +239,7 @@ static void drawCubicSegments(const QList<CubicSegment> &cubicSegments, QPainter { painter->save(); - QPainterPath curvePainterPath(cubicSegments.first().firstControlPoint().coordinate()); + QPainterPath curvePainterPath(cubicSegments.constFirst().firstControlPoint().coordinate()); foreach (const CubicSegment &cubicSegment, cubicSegments) addCubicSegmentToPainterPath(cubicSegment, curvePainterPath); @@ -547,9 +547,9 @@ void PathItem::readControlPoints() m_lastAttributes = actualAttributes; m_lastPercent = percent; - if (m_cubicSegments.first().firstControlPoint().coordinate() == m_cubicSegments.last().fourthControlPoint().coordinate()) { - CubicSegment lastCubicSegment = m_cubicSegments.last(); - lastCubicSegment.setFourthControlPoint(m_cubicSegments.first().firstControlPoint()); + if (m_cubicSegments.constFirst().firstControlPoint().coordinate() == m_cubicSegments.constLast().fourthControlPoint().coordinate()) { + CubicSegment lastCubicSegment = m_cubicSegments.constLast(); + lastCubicSegment.setFourthControlPoint(m_cubicSegments.constFirst().firstControlPoint()); lastCubicSegment.fourthControlPoint().setPathModelNode(pathNode); lastCubicSegment.fourthControlPoint().setPointType(StartAndEndPoint); } @@ -588,8 +588,8 @@ void PathItem::splitCubicSegment(CubicSegment &cubicSegment, double t) void PathItem::closePath() { if (!m_cubicSegments.isEmpty()) { - CubicSegment firstCubicSegment = m_cubicSegments.first(); - CubicSegment lastCubicSegment = m_cubicSegments.last(); + const CubicSegment &firstCubicSegment = m_cubicSegments.constFirst(); + CubicSegment lastCubicSegment = m_cubicSegments.constLast(); lastCubicSegment.setFourthControlPoint(firstCubicSegment.firstControlPoint()); writePathAsCubicSegmentsOnly(); } @@ -598,8 +598,8 @@ void PathItem::closePath() void PathItem::openPath() { if (!m_cubicSegments.isEmpty()) { - CubicSegment firstCubicSegment = m_cubicSegments.first(); - CubicSegment lastCubicSegment = m_cubicSegments.last(); + const CubicSegment &firstCubicSegment = m_cubicSegments.constFirst(); + CubicSegment lastCubicSegment = m_cubicSegments.constLast(); QPointF newEndPoint = firstCubicSegment.firstControlPoint().coordinate(); newEndPoint.setX(newEndPoint.x() + 10.); lastCubicSegment.setFourthControlPoint(ControlPoint(newEndPoint)); @@ -694,7 +694,7 @@ const QList<ControlPoint> PathItem::controlPoints() const controlPointList.reserve((m_cubicSegments.count() * 4)); if (!m_cubicSegments.isEmpty()) - controlPointList.append(m_cubicSegments.first().firstControlPoint()); + controlPointList.append(m_cubicSegments.constFirst().firstControlPoint()); foreach (const CubicSegment &cubicSegment, m_cubicSegments) { controlPointList.append(cubicSegment.secondControlPoint()); @@ -908,8 +908,8 @@ bool PathItem::isClosedPath() const if (m_cubicSegments.isEmpty()) return false; - ControlPoint firstControlPoint = m_cubicSegments.first().firstControlPoint(); - ControlPoint lastControlPoint = m_cubicSegments.last().fourthControlPoint(); + ControlPoint firstControlPoint = m_cubicSegments.constFirst().firstControlPoint(); + ControlPoint lastControlPoint = m_cubicSegments.constLast().fourthControlPoint(); return firstControlPoint == lastControlPoint; } @@ -939,7 +939,7 @@ void PathItem::removeEditPoint(const ControlPoint &controlPoint) QList<CubicSegment> cubicSegments = cubicSegmentsContainingControlPoint(controlPoint, m_cubicSegments); if (cubicSegments.count() == 1) { - m_cubicSegments.removeOne(cubicSegments.first()); + m_cubicSegments.removeOne(cubicSegments.constFirst()); } else if (cubicSegments.count() == 2){ CubicSegment mergedCubicSegment = CubicSegment::create(); CubicSegment firstCubicSegment = cubicSegments.at(0); diff --git a/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathselectionmanipulator.cpp b/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathselectionmanipulator.cpp index 2740078ae8..510181258e 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathselectionmanipulator.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathselectionmanipulator.cpp @@ -80,7 +80,7 @@ static ControlPoint getControlPoint(const QList<ControlPoint> &selectedPoints, c return selectedPoints.at(offsetIndex); else if (isClosedPath) { if (offsetIndex == -1) - return selectedPoints.last(); + return selectedPoints.constLast(); else if (offsetIndex < selectedPoints.count()) return selectedPoints.at(1); } diff --git a/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathtool.cpp b/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathtool.cpp index a30390e345..66582f017d 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathtool.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/pathtool/pathtool.cpp @@ -257,8 +257,8 @@ void PathTool::selectedItemsChanged(const QList<FormEditorItem*> &itemList) m_pathItem->writePathToProperty(); delete m_pathItem.data(); - if (!itemList.isEmpty() && hasPathProperty(itemList.first())) { - FormEditorItem *formEditorItem = itemList.first(); + if (!itemList.isEmpty() && hasPathProperty(itemList.constFirst())) { + FormEditorItem *formEditorItem = itemList.constFirst(); m_pathItem = new PathItem(scene()); m_pathItem->setParentItem(scene()->manipulatorLayerItem()); m_pathItem->setFormEditorItem(formEditorItem); diff --git a/src/plugins/qmldesigner/qmldesignerextension/sourcetool/sourcetool.cpp b/src/plugins/qmldesigner/qmldesignerextension/sourcetool/sourcetool.cpp index ad87f996cb..9c7f32c1bb 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/sourcetool/sourcetool.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/sourcetool/sourcetool.cpp @@ -192,7 +192,7 @@ static QString baseDirectory(const QUrl &url) void SourceTool::selectedItemsChanged(const QList<FormEditorItem*> &itemList) { if (!itemList.isEmpty()) { - m_formEditorItem = itemList.first(); + m_formEditorItem = itemList.constFirst(); m_oldFileName = m_formEditorItem->qmlItemNode().modelValue("source").toString(); QString openDirectory = baseDirectory(view()->model()->fileUrl()); diff --git a/src/plugins/qmldesigner/qmldesignerextension/texttool/texttool.cpp b/src/plugins/qmldesigner/qmldesignerextension/texttool/texttool.cpp index 20ae2ab03d..fcaaba72ce 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/texttool/texttool.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/texttool/texttool.cpp @@ -209,7 +209,7 @@ void TextTool::selectedItemsChanged(const QList<FormEditorItem*> &itemList) view()->changeToSelectionTool(); } if (!itemList.isEmpty()) { - FormEditorItem *formEditorItem = itemList.first(); + FormEditorItem *formEditorItem = itemList.constFirst(); m_textItem = new TextEditItem(scene()); textItem()->setParentItem(scene()->manipulatorLayerItem()); textItem()->setFormEditorItem(formEditorItem); diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp index a300537bec..8750f19865 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.cpp +++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp @@ -361,7 +361,7 @@ void QmlDesignerPlugin::jumpTextCursorToSelectedModelNode() // visual editor -> text editor ModelNode selectedNode; if (!rewriterView()->selectedModelNodes().isEmpty()) - selectedNode = rewriterView()->selectedModelNodes().first(); + selectedNode = rewriterView()->selectedModelNodes().constFirst(); if (selectedNode.isValid()) { const int nodeOffset = rewriterView()->nodeOffset(selectedNode); @@ -477,7 +477,7 @@ double QmlDesignerPlugin::formEditorDevicePixelRatio() const QList<QWindow *> topLevelWindows = QApplication::topLevelWindows(); if (topLevelWindows.isEmpty()) return 1; - return topLevelWindows.first()->screen()->devicePixelRatio(); + return topLevelWindows.constFirst()->screen()->devicePixelRatio(); } QmlDesignerPlugin *QmlDesignerPlugin::instance() |