From 82df6369d89be32ad2355e1ed5b3d7da36dca4b5 Mon Sep 17 00:00:00 2001 From: haikalvidya Date: Sun, 31 Mar 2024 15:15:56 +0700 Subject: [PATCH] Make locked layer cannot be selected when selected all layers, and disabled GRS and nudging operation on locked layer --- .../portfolio/document/document_message_handler.rs | 10 +++++----- .../transform_layer/transform_layer_message_handler.rs | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index c8f31a1193..cf16adff74 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -463,7 +463,7 @@ impl MessageHandler> for DocumentMessag for layer in self .selected_nodes .selected_layers(self.metadata()) - .filter(|&layer| self.selected_nodes.layer_visible(layer, self.metadata())) + .filter(|&layer| self.selected_nodes.layer_visible(layer, self.metadata()) && !self.selected_nodes.layer_locked(layer, self.metadata())) { responses.add(GraphOperationMessage::TransformChange { layer, @@ -498,7 +498,7 @@ impl MessageHandler> for DocumentMessag for layer in self .selected_nodes .selected_layers(self.metadata()) - .filter(|&layer| self.selected_nodes.layer_visible(layer, self.metadata())) + .filter(|&layer| self.selected_nodes.layer_visible(layer, self.metadata()) && !self.selected_nodes.layer_locked(layer, self.metadata())) { let to = self.metadata().document_to_viewport.inverse() * self.metadata().downstream_transform_to_viewport(layer); let original_transform = self.metadata().upstream_transform(layer.to_node()); @@ -622,11 +622,11 @@ impl MessageHandler> for DocumentMessag } DocumentMessage::SelectAllLayers => { let metadata = self.metadata(); - let all_layers_except_artboards_and_invisible = metadata + let all_layers_except_artboards_invisible_and_locked = metadata .all_layers() .filter(move |&layer| !metadata.is_artboard(layer)) - .filter(|&layer| self.selected_nodes.layer_visible(layer, metadata)); - let nodes = all_layers_except_artboards_and_invisible.map(|layer| layer.to_node()).collect(); + .filter(|&layer| self.selected_nodes.layer_visible(layer, metadata) && !self.selected_nodes.layer_locked(layer, metadata)); + let nodes = all_layers_except_artboards_invisible_and_locked.map(|layer| layer.to_node()).collect(); responses.add(NodeGraphMessage::SelectedNodesSet { nodes }); } DocumentMessage::SelectedLayersLower => { diff --git a/editor/src/messages/tool/transform_layer/transform_layer_message_handler.rs b/editor/src/messages/tool/transform_layer/transform_layer_message_handler.rs index 67524c520d..1773d01c6e 100644 --- a/editor/src/messages/tool/transform_layer/transform_layer_message_handler.rs +++ b/editor/src/messages/tool/transform_layer/transform_layer_message_handler.rs @@ -48,7 +48,7 @@ impl<'a> MessageHandler> for TransformL let selected_layers = document .selected_nodes .selected_layers(document.metadata()) - .filter(|&layer| document.metadata().node_is_visible(layer.to_node())) + .filter(|&layer| document.metadata().node_is_visible(layer.to_node()) && !document.metadata().node_is_locked(layer.to_node())) .collect::>(); let mut selected = Selected::new(