Skip to content

Commit eb25507

Browse files
committed
Seperate duplication logic
1 parent 6b0c04d commit eb25507

File tree

5 files changed

+230
-202
lines changed

5 files changed

+230
-202
lines changed

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,6 @@
5252
"files.insertFinalNewline": true,
5353
"files.associations": {
5454
"*.graphite": "json"
55-
}
55+
},
56+
"rust-analyzer.checkOnSave": false
5657
}

editor/src/messages/input_mapper/utility_types/input_mouse.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ impl ScrollDelta {
7878
}
7979
}
8080

81-
// TODO: Document the difference between this and EditorMouseState
81+
/// This is similar to [`EditorMouseState`] except that the position is stored relative to the viewport rather than relative to the UI.
82+
/// Convert using [`EditorMouseState::to_mouse_state`]
8283
#[derive(Debug, Copy, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize)]
8384
pub struct MouseState {
8485
pub position: ViewportPosition,
@@ -94,7 +95,8 @@ impl MouseState {
9495
}
9596
}
9697

97-
// TODO: Document the difference between this and MouseState
98+
/// This is similar to [`MouseState`] except that the position is stored relative to the UI rather than relative to the viewport.
99+
/// Convert using [`EditorMouseState::to_mouse_state`]
98100
#[derive(Debug, Copy, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize)]
99101
pub struct EditorMouseState {
100102
pub editor_position: EditorPosition,

editor/src/messages/portfolio/portfolio_message_handler.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ use crate::messages::portfolio::document::node_graph::document_node_definitions;
1515
use crate::messages::portfolio::document::node_graph::document_node_definitions::resolve_document_node_type;
1616
use crate::messages::portfolio::document::utility_types::clipboards::{Clipboard, CopyBufferEntry, INTERNAL_CLIPBOARD_COUNT};
1717
use crate::messages::portfolio::document::utility_types::network_interface::OutputConnector;
18-
use crate::messages::portfolio::document::utility_types::nodes::SelectedNodes;
1918
use crate::messages::portfolio::document_migration::*;
2019
use crate::messages::preferences::SelectionMode;
2120
use crate::messages::prelude::*;
@@ -259,12 +258,7 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageContext<'_>> for Portfolio
259258
};
260259

261260
let mut copy_val = |buffer: &mut Vec<CopyBufferEntry>| {
262-
let mut ordered_last_elements = active_document.network_interface.shallowest_unique_layers(&[]).collect::<Vec<_>>();
263-
264-
ordered_last_elements.sort_by_key(|layer| {
265-
let Some(parent) = layer.parent(active_document.metadata()) else { return usize::MAX };
266-
DocumentMessageHandler::get_calculated_insert_index(active_document.metadata(), &SelectedNodes(vec![layer.to_node()]), parent)
267-
});
261+
let ordered_last_elements = active_document.network_interface.shallowest_unique_layers(&[]).collect::<Vec<_>>();
268262

269263
for layer in ordered_last_elements.into_iter() {
270264
let layer_node_id = layer.to_node();

0 commit comments

Comments
 (0)