diff --git a/document-legacy/src/document_metadata.rs b/document-legacy/src/document_metadata.rs index 4ad91b92..2568693b 100644 --- a/document-legacy/src/document_metadata.rs +++ b/document-legacy/src/document_metadata.rs @@ -46,6 +46,10 @@ impl DocumentMetadata { self.root().decendants(self) } + pub fn all_layers_except_artboards(&self) -> impl Iterator + '_ { + self.all_layers().filter(move |layer| !self.artboards.contains(layer)) + } + pub fn selected_layers(&self) -> impl Iterator + '_ { self.all_layers().filter(|layer| self.selected_nodes.contains(&layer.to_node())) } diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index 11f7f5c1..7fbd3630 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -668,7 +668,7 @@ impl MessageHandler> for DocumentMessageHand }) } SelectAllLayers => { - let all = self.metadata().all_layers().map(|layer| layer.to_node()).collect(); + let all = self.metadata().all_layers_except_artboards().map(|layer| layer.to_node()).collect(); responses.add(NodeGraphMessage::SelectedNodesSet { nodes: all }); } SelectedLayersLower => {