diff --git a/editor/src/messages/input_mapper/default_mapping.rs b/editor/src/messages/input_mapper/default_mapping.rs index 82da9b21..860a6f31 100644 --- a/editor/src/messages/input_mapper/default_mapping.rs +++ b/editor/src/messages/input_mapper/default_mapping.rs @@ -242,6 +242,7 @@ pub fn default_mapping() -> Mapping { entry!(KeyDown(KeyA); modifiers=[Accel], action_dispatch=DocumentMessage::SelectAllLayers), entry!(KeyDown(KeyS); modifiers=[Accel], action_dispatch=DocumentMessage::SaveDocument), entry!(KeyDown(KeyD); modifiers=[Accel], action_dispatch=DocumentMessage::DuplicateSelectedLayers), + entry!(KeyDown(KeyJ); modifiers=[Accel], action_dispatch=DocumentMessage::DuplicateSelectedLayers), entry!(KeyDown(KeyG); modifiers=[Accel], action_dispatch=DocumentMessage::GroupSelectedLayers), entry!(KeyDown(KeyG); modifiers=[Accel, Shift], action_dispatch=DocumentMessage::UngroupSelectedLayers), entry!(KeyDown(KeyN); modifiers=[Accel, Shift], action_dispatch=DocumentMessage::CreateEmptyFolder { container_path: vec![] }), diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index 0b578e79..833047ce 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -348,6 +348,8 @@ impl MessageHandler { self.backup(responses); + responses.push_front(SetSelectedLayers { replacement_selected_layers: vec![] }.into()); + self.layer_range_selection_reference.clear(); for path in self.selected_layers_sorted() { responses.push_back(DocumentOperation::DuplicateLayer { path: path.to_vec() }.into()); } diff --git a/node-graph/gcore/src/raster/brightness_contrast.rs b/node-graph/gcore/src/raster/brightness_contrast.rs index bcea3fd7..2c66160b 100644 --- a/node-graph/gcore/src/raster/brightness_contrast.rs +++ b/node-graph/gcore/src/raster/brightness_contrast.rs @@ -239,12 +239,10 @@ mod tests { #[allow(unused_imports)] use crate::value::ClonedNode; - fn string_data(string: &str) -> Vec { - string.split(',').map(|s| s.parse().unwrap()).collect::>() - } - #[test] fn brightness_contrast_legacy_tests() { + let string_data = |string: &str| string.split(',').map(|s| s.parse().unwrap()).collect::>(); + let brightness_contrast_legacy_map = |brightness, contrast| -> [u8; 256] { let brightness = ClonedNode::new(brightness); let contrast = ClonedNode::new(contrast); @@ -300,6 +298,8 @@ mod tests { #[test] fn brightness_contrast_tests() { + let string_data = |string: &str| string.split(',').map(|s| s.parse().unwrap()).collect::>(); + let brightness_contrast_map = |brightness, contrast| -> [u8; 1024] { let brightness = ClonedNode::new(brightness); let contrast = ClonedNode::new(contrast);