aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components/componentcore
diff options
context:
space:
mode:
authorHenning Gruendl <henning.gruendl@qt.io>2020-10-06 12:29:09 +0200
committerHenning Gründl <henning.gruendl@qt.io>2020-10-12 15:24:55 +0000
commit2860e57112e147a5d639c773836f5e43a82524f7 (patch)
tree7a8f0a1993c983af685295c4a47b7fcb4b0fee0b /src/plugins/qmldesigner/components/componentcore
parent15f39cf37c490a1cad6a67919e0a3734dcbdaf26 (diff)
QmlDesigner: Add lock functionality to navigator
* Update icon font and change related theme and constants files * Add locked column to Navigator * Add auxiliary property "locked" * Integrate locked feature into the following components: * Transition Editor * Connection Editor * Form Editor * Text Editor * Timeline * Navigator * State Editor Task-number: QDS-826 Change-Id: Ibf3ae96e0d5daeb1ab00279b94df5aaabe75e0bb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/components/componentcore')
-rw-r--r--src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp27
-rw-r--r--src/plugins/qmldesigner/components/componentcore/theme.h4
2 files changed, 20 insertions, 11 deletions
diff --git a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp
index 96d08e5bae..ea34b091cd 100644
--- a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp
+++ b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp
@@ -347,25 +347,27 @@ public:
&& !selectionContext().currentSingleSelectedNode().isRootNode()
&& selectionContext().currentSingleSelectedNode().hasParentProperty()) {
- ActionTemplate *selectionAction = new ActionTemplate(QString(), &ModelNodeOperations::select);
- selectionAction->setParent(menu());
-
parentNode = selectionContext().currentSingleSelectedNode().parentProperty().parentModelNode();
- selectionAction->setText(QString(QT_TRANSLATE_NOOP("QmlDesignerContextMenu", "Select parent: %1")).arg(
- captionForModelNode(parentNode)));
+ if (!ModelNode::isThisOrAncestorLocked(parentNode)) {
+ ActionTemplate *selectionAction = new ActionTemplate(QString(), &ModelNodeOperations::select);
+ selectionAction->setParent(menu());
+ selectionAction->setText(QString(QT_TRANSLATE_NOOP("QmlDesignerContextMenu", "Select parent: %1")).arg(
+ captionForModelNode(parentNode)));
- SelectionContext nodeSelectionContext = selectionContext();
- nodeSelectionContext.setTargetNode(parentNode);
- selectionAction->setSelectionContext(nodeSelectionContext);
+ SelectionContext nodeSelectionContext = selectionContext();
+ nodeSelectionContext.setTargetNode(parentNode);
+ selectionAction->setSelectionContext(nodeSelectionContext);
- menu()->addAction(selectionAction);
+ menu()->addAction(selectionAction);
+ }
}
- foreach (const ModelNode &node, selectionContext().view()->allModelNodes()) {
+ for (const ModelNode &node : selectionContext().view()->allModelNodes()) {
if (node != selectionContext().currentSingleSelectedNode()
&& node != parentNode
&& contains(node, selectionContext().scenePosition())
- && !node.isRootNode()) {
+ && !node.isRootNode()
+ && !ModelNode::isThisOrAncestorLocked(node)) {
selectionContext().setTargetNode(node);
QString what = QString(QT_TRANSLATE_NOOP("QmlDesignerContextMenu", "Select: %1")).arg(captionForModelNode(node));
ActionTemplate *selectionAction = new ActionTemplate(what, &ModelNodeOperations::select);
@@ -377,6 +379,9 @@ public:
menu()->addAction(selectionAction);
}
}
+
+ if (menu()->isEmpty())
+ action()->setEnabled(false);
}
}
};
diff --git a/src/plugins/qmldesigner/components/componentcore/theme.h b/src/plugins/qmldesigner/components/componentcore/theme.h
index f6a1df97cc..513965b18f 100644
--- a/src/plugins/qmldesigner/components/componentcore/theme.h
+++ b/src/plugins/qmldesigner/components/componentcore/theme.h
@@ -107,6 +107,8 @@ public:
idAliasOff,
idAliasOn,
listView,
+ lockOff,
+ lockOn,
mergeCells,
minus,
plus,
@@ -129,6 +131,8 @@ public:
undo,
upDownIcon,
upDownSquare2,
+ visibilityOff,
+ visibilityOn,
wildcard,
zoomAll,
zoomIn,