WIP: save unverified diagram Delete candidate at user pause
This commit is contained in:
@@ -139,11 +139,14 @@ pub fn popup(app: &App, opened: &Opened, clean: bool) -> Option<Menu<Message>> {
|
||||
true,
|
||||
));
|
||||
}
|
||||
entries.push(item(
|
||||
"Hide from this diagram",
|
||||
Message::Command(Command::Delete(node.id)),
|
||||
true,
|
||||
));
|
||||
entries.push(
|
||||
item(
|
||||
"Hide from this diagram",
|
||||
Message::Command(Command::Delete(node.id)),
|
||||
true,
|
||||
)
|
||||
.shortcut("Delete"),
|
||||
);
|
||||
}
|
||||
}
|
||||
if let Some(relation) = project.relations.get(&id)
|
||||
@@ -184,7 +187,24 @@ pub fn popup(app: &App, opened: &Opened, clean: bool) -> Option<Menu<Message>> {
|
||||
}
|
||||
if id != project.id {
|
||||
entries.push(Entry::separator());
|
||||
entries.push(item("Delete from model…", Message::Delete, true));
|
||||
entries.push(item("Delete from model…", Message::Delete, true).shortcut(
|
||||
if context.is_some_and(|context| {
|
||||
context.diagram != id
|
||||
&& (request.placement.is_some()
|
||||
|| projection::project_view(project, context.diagram)
|
||||
.edges
|
||||
.iter()
|
||||
.any(|edge| edge.id == id))
|
||||
}) {
|
||||
if request.placement.is_some() {
|
||||
"Shift+Delete"
|
||||
} else {
|
||||
"Delete / Shift+Delete"
|
||||
}
|
||||
} else {
|
||||
""
|
||||
},
|
||||
));
|
||||
}
|
||||
}
|
||||
Some(Menu {
|
||||
|
||||
Reference in New Issue
Block a user