Make locked layer cannot be selected when selected all layers, and disabled GRS and nudging operation on locked layer

This commit is contained in:
haikalvidya
2024-03-31 15:15:56 +07:00
parent 07fa761126
commit 82df6369d8
2 changed files with 6 additions and 6 deletions

View File

@@ -463,7 +463,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> 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<DocumentMessage, DocumentMessageData<'_>> 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<DocumentMessage, DocumentMessageData<'_>> 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 => {

View File

@@ -48,7 +48,7 @@ impl<'a> MessageHandler<TransformLayerMessage, TransformData<'a>> 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::<Vec<_>>();
let mut selected = Selected::new(