mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-19 02:48:12 +08:00
Updated from master
This commit is contained in:
@@ -58,6 +58,7 @@ pub fn default_mapping() -> Mapping {
|
||||
entry!(KeyDown(KeyC); modifiers=[Accel], action_dispatch=NodeGraphMessage::Copy),
|
||||
entry!(KeyDown(KeyD); modifiers=[Accel], action_dispatch=NodeGraphMessage::DuplicateSelectedNodes),
|
||||
entry!(KeyDown(KeyH); modifiers=[Accel], action_dispatch=NodeGraphMessage::ToggleSelectedVisibility),
|
||||
entry!(KeyDown(KeyL); modifiers=[Accel], action_dispatch=NodeGraphMessage::ToggleSelectedLocked),
|
||||
//
|
||||
// TransformLayerMessage
|
||||
entry!(KeyDown(Enter); action_dispatch=TransformLayerMessage::ApplyTransformOperation),
|
||||
|
||||
@@ -1363,7 +1363,7 @@ impl DocumentMessageHandler {
|
||||
|
||||
let has_selection = self.selected_nodes.selected_layers(self.metadata()).next().is_some();
|
||||
let selection_all_visible = self.selected_nodes.selected_layers(self.metadata()).all(|layer| self.metadata().node_is_visible(layer.to_node()));
|
||||
let selection_all_locked = false; // TODO: Implement
|
||||
let selection_all_locked = self.selected_nodes.selected_layers(self.metadata()).all(|layer| self.metadata().node_is_locked(layer.to_node()));
|
||||
|
||||
let layers_panel_options_bar = WidgetLayout::new(vec![LayoutGroup::Row {
|
||||
widgets: vec![
|
||||
@@ -1417,8 +1417,8 @@ impl DocumentMessageHandler {
|
||||
IconButton::new(if selection_all_locked { "PadlockLocked" } else { "PadlockUnlocked" }, 24)
|
||||
.hover_icon(Some((if selection_all_locked { "PadlockUnlocked" } else { "PadlockLocked" }).into()))
|
||||
.tooltip(if selection_all_locked { "Unlock Selected" } else { "Lock Selected" })
|
||||
.tooltip_shortcut(action_keys!(DialogMessageDiscriminant::RequestComingSoonDialog))
|
||||
.on_update(|_| DialogMessage::RequestComingSoonDialog { issue: Some(1127) }.into())
|
||||
.tooltip_shortcut(action_keys!(NodeGraphMessageDiscriminant::ToggleSelectedLocked))
|
||||
.on_update(|_| NodeGraphMessage::ToggleSelectedLocked.into())
|
||||
.disabled(!has_selection)
|
||||
.widget_holder(),
|
||||
IconButton::new(if selection_all_visible { "EyeVisible" } else { "EyeHidden" }, 24)
|
||||
|
||||
@@ -830,6 +830,11 @@ impl NodeGraphMessageHandler {
|
||||
.filter(|&ancestor| ancestor != layer)
|
||||
.all(|layer| network.nodes.get(&layer.to_node()).map(|node| node.visible).unwrap_or_default());
|
||||
|
||||
let parents_unlocked = layer
|
||||
.ancestors(metadata)
|
||||
.filter(|&ancestor| ancestor != layer)
|
||||
.all(|layer| network.nodes.get(&layer.to_node()).map(|node| !node.locked).unwrap_or_default());
|
||||
|
||||
let data = LayerPanelEntry {
|
||||
id: node_id,
|
||||
layer_classification,
|
||||
@@ -841,8 +846,8 @@ impl NodeGraphMessageHandler {
|
||||
tooltip: if cfg!(debug_assertions) { format!("Layer ID: {node_id}") } else { "".into() },
|
||||
visible: node.visible,
|
||||
parents_visible,
|
||||
unlocked: true,
|
||||
parents_unlocked: true,
|
||||
unlocked: !node.locked,
|
||||
parents_unlocked,
|
||||
};
|
||||
responses.add(FrontendMessage::UpdateDocumentLayerDetails { data });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user