diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp index bc062e2316e..490db89fb4d 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp @@ -151,7 +151,7 @@ void toFront(const SelectionContext &selectionState) return; try { - QmlItemNode node = selectionState.selectedModelNodes().first(); + QmlItemNode node = selectionState.firstSelectedModelNode(); if (node.isValid()) { signed int maximumZ = getMaxZValue(siblingsForNode(node)); maximumZ++; @@ -168,7 +168,7 @@ void toBack(const SelectionContext &selectionState) if (!selectionState.view()) return; try { - QmlItemNode node = selectionState.selectedModelNodes().first(); + QmlItemNode node = selectionState.firstSelectedModelNode(); if (node.isValid()) { signed int minimumZ = getMinZValue(siblingsForNode(node)); minimumZ--; @@ -248,11 +248,11 @@ void setVisible(const SelectionContext &selectionState) void setFillWidth(const SelectionContext &selectionState) { if (!selectionState.view() - || selectionState.selectedModelNodes().isEmpty()) + || !selectionState.hasSingleSelectedModelNode()) return; try { - selectionState.selectedModelNodes().first().variantProperty("Layout.fillWidth").setValue(selectionState.toggled()); + selectionState.firstSelectedModelNode().variantProperty("Layout.fillWidth").setValue(selectionState.toggled()); } catch (RewritingException &e) { //better save then sorry QMessageBox::warning(0, "Error", e.description()); } @@ -261,11 +261,11 @@ void setFillWidth(const SelectionContext &selectionState) void setFillHeight(const SelectionContext &selectionState) { if (!selectionState.view() - || selectionState.selectedModelNodes().isEmpty()) + || !selectionState.hasSingleSelectedModelNode()) return; try { - selectionState.selectedModelNodes().first().variantProperty("Layout.fillHeight").setValue(selectionState.toggled()); + selectionState.firstSelectedModelNode().variantProperty("Layout.fillHeight").setValue(selectionState.toggled()); } catch (RewritingException &e) { //better save then sorry QMessageBox::warning(0, "Error", e.description()); } @@ -623,7 +623,7 @@ void layoutFlowPositioner(const SelectionContext &selectionState) void layoutRowLayout(const SelectionContext &selectionState) { if (!selectionState.view() - || selectionState.selectedModelNodes().isEmpty()) + || !selectionState.hasSingleSelectedModelNode()) return; static TypeName rowLayoutType = "QtQuick.Layouts.RowLayout"; @@ -671,7 +671,7 @@ void layoutRowLayout(const SelectionContext &selectionState) void layoutColumnLayout(const SelectionContext &selectionState) { if (!selectionState.view() - || selectionState.selectedModelNodes().isEmpty()) + || !selectionState.hasSingleSelectedModelNode()) return; static TypeName columnLayoutType = "QtQuick.Layouts.ColumnLayout"; @@ -719,7 +719,7 @@ void layoutColumnLayout(const SelectionContext &selectionState) void layoutGridLayout(const SelectionContext &selectionState) { if (!selectionState.view() - || selectionState.selectedModelNodes().isEmpty()) + || !selectionState.hasSingleSelectedModelNode()) return; static TypeName gridLayoutType = "QtQuick.Layouts.GridLayout"; diff --git a/src/plugins/qmldesigner/components/componentcore/selectioncontext.cpp b/src/plugins/qmldesigner/components/componentcore/selectioncontext.cpp index 5f417e9883e..085e065188b 100644 --- a/src/plugins/qmldesigner/components/componentcore/selectioncontext.cpp +++ b/src/plugins/qmldesigner/components/componentcore/selectioncontext.cpp @@ -69,11 +69,21 @@ ModelNode SelectionContext::currentSingleSelectedNode() const return view()->singleSelectedModelNode(); } +ModelNode SelectionContext::firstSelectedModelNode() const +{ + return view()->firstSelectedModelNode(); +} + QList SelectionContext::selectedModelNodes() const { return view()->selectedModelNodes(); } +bool SelectionContext::hasSingleSelectedModelNode() const +{ + return view()->hasSelectedModelNodes(); +} + AbstractView *SelectionContext::view() const { return m_view.data(); diff --git a/src/plugins/qmldesigner/components/componentcore/selectioncontext.h b/src/plugins/qmldesigner/components/componentcore/selectioncontext.h index c0bde52915e..be98affd6f9 100644 --- a/src/plugins/qmldesigner/components/componentcore/selectioncontext.h +++ b/src/plugins/qmldesigner/components/componentcore/selectioncontext.h @@ -48,7 +48,9 @@ public: bool isInBaseState() const; ModelNode currentSingleSelectedNode() const; + ModelNode firstSelectedModelNode() const; QList selectedModelNodes() const; + bool hasSingleSelectedModelNode() const; AbstractView *view() const;