mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-29 09:58:11 +08:00
Make locked layer cannot be selected when selected all layers, and disabled GRS and nudging operation on locked layer
This commit is contained in:
@@ -463,7 +463,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
|
|||||||
for layer in self
|
for layer in self
|
||||||
.selected_nodes
|
.selected_nodes
|
||||||
.selected_layers(self.metadata())
|
.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 {
|
responses.add(GraphOperationMessage::TransformChange {
|
||||||
layer,
|
layer,
|
||||||
@@ -498,7 +498,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
|
|||||||
for layer in self
|
for layer in self
|
||||||
.selected_nodes
|
.selected_nodes
|
||||||
.selected_layers(self.metadata())
|
.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 to = self.metadata().document_to_viewport.inverse() * self.metadata().downstream_transform_to_viewport(layer);
|
||||||
let original_transform = self.metadata().upstream_transform(layer.to_node());
|
let original_transform = self.metadata().upstream_transform(layer.to_node());
|
||||||
@@ -622,11 +622,11 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
|
|||||||
}
|
}
|
||||||
DocumentMessage::SelectAllLayers => {
|
DocumentMessage::SelectAllLayers => {
|
||||||
let metadata = self.metadata();
|
let metadata = self.metadata();
|
||||||
let all_layers_except_artboards_and_invisible = metadata
|
let all_layers_except_artboards_invisible_and_locked = metadata
|
||||||
.all_layers()
|
.all_layers()
|
||||||
.filter(move |&layer| !metadata.is_artboard(layer))
|
.filter(move |&layer| !metadata.is_artboard(layer))
|
||||||
.filter(|&layer| self.selected_nodes.layer_visible(layer, metadata));
|
.filter(|&layer| self.selected_nodes.layer_visible(layer, metadata) && !self.selected_nodes.layer_locked(layer, metadata));
|
||||||
let nodes = all_layers_except_artboards_and_invisible.map(|layer| layer.to_node()).collect();
|
let nodes = all_layers_except_artboards_invisible_and_locked.map(|layer| layer.to_node()).collect();
|
||||||
responses.add(NodeGraphMessage::SelectedNodesSet { nodes });
|
responses.add(NodeGraphMessage::SelectedNodesSet { nodes });
|
||||||
}
|
}
|
||||||
DocumentMessage::SelectedLayersLower => {
|
DocumentMessage::SelectedLayersLower => {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ impl<'a> MessageHandler<TransformLayerMessage, TransformData<'a>> for TransformL
|
|||||||
let selected_layers = document
|
let selected_layers = document
|
||||||
.selected_nodes
|
.selected_nodes
|
||||||
.selected_layers(document.metadata())
|
.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<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
let mut selected = Selected::new(
|
let mut selected = Selected::new(
|
||||||
|
|||||||
Reference in New Issue
Block a user