mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2025-07-08 00:05:00 +00:00
Fix inability to deselect nodes, and nodes not being selected when pasted (#2691)
* Deselect on shift/alt click and paste selects multiple mode * Grid values persistance * reset --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
parent
878f5d3bf7
commit
a1d85779ba
1 changed files with 9 additions and 5 deletions
|
@ -566,10 +566,12 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphHandlerData<'a>> for NodeGrap
|
|||
responses.add(DocumentMessage::AddTransaction);
|
||||
|
||||
let new_ids: HashMap<_, _> = data.iter().map(|(id, _)| (*id, NodeId::new())).collect();
|
||||
let nodes: Vec<_> = new_ids.iter().map(|(_, id)| *id).collect();
|
||||
responses.add(NodeGraphMessage::AddNodes {
|
||||
nodes: data,
|
||||
new_ids: new_ids.clone(),
|
||||
});
|
||||
responses.add(NodeGraphMessage::SelectedNodesSet { nodes })
|
||||
}
|
||||
NodeGraphMessage::PointerDown {
|
||||
shift_click,
|
||||
|
@ -995,11 +997,13 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphHandlerData<'a>> for NodeGrap
|
|||
responses.add(NodeGraphMessage::TogglePreview { node_id: preview_node });
|
||||
self.preview_on_mouse_up = None;
|
||||
}
|
||||
if let Some(node_to_deselect) = self.deselect_on_pointer_up {
|
||||
let mut new_selected_nodes = selected_nodes.selected_nodes_ref().clone();
|
||||
new_selected_nodes.remove(node_to_deselect);
|
||||
responses.add(NodeGraphMessage::SelectedNodesSet { nodes: new_selected_nodes });
|
||||
self.deselect_on_pointer_up = None;
|
||||
if let Some(node_to_deselect) = self.deselect_on_pointer_up.take() {
|
||||
if !self.drag_start.as_ref().is_some_and(|t| t.1) {
|
||||
let mut new_selected_nodes = selected_nodes.selected_nodes_ref().clone();
|
||||
new_selected_nodes.remove(node_to_deselect);
|
||||
responses.add(NodeGraphMessage::SelectedNodesSet { nodes: new_selected_nodes });
|
||||
return;
|
||||
}
|
||||
}
|
||||
let point = network_metadata
|
||||
.persistent_metadata
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue