mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-28 11:18:12 +08:00
Add artboard names to the export dialog and make it recall its last settings
Closes #1883, closes #1884
This commit is contained in:
@@ -69,28 +69,23 @@ impl MessageHandler<DialogMessage, DialogMessageData<'_>> for DialogMessageHandl
|
||||
}
|
||||
DialogMessage::RequestExportDialog => {
|
||||
if let Some(document) = portfolio.active_document() {
|
||||
let mut index = 0;
|
||||
let artboards = document
|
||||
.metadata
|
||||
.all_layers()
|
||||
.filter(|&layer| document.metadata.is_artboard(layer))
|
||||
.map(|layer| {
|
||||
(
|
||||
layer,
|
||||
format!("Artboard: {}", {
|
||||
index += 1;
|
||||
format!("Untitled {index}")
|
||||
}),
|
||||
)
|
||||
let name = document
|
||||
.network
|
||||
.nodes
|
||||
.get(&layer.to_node())
|
||||
.and_then(|node| if node.alias.is_empty() { None } else { Some(node.alias.clone()) })
|
||||
.unwrap_or_else(|| "Artboard".to_string());
|
||||
(layer, name)
|
||||
})
|
||||
.collect();
|
||||
|
||||
self.export_dialog = ExportDialogMessageHandler {
|
||||
scale_factor: 1.,
|
||||
artboards,
|
||||
has_selection: document.selected_nodes.selected_layers(document.metadata()).next().is_some(),
|
||||
..Default::default()
|
||||
};
|
||||
self.export_dialog.artboards = artboards;
|
||||
self.export_dialog.has_selection = document.selected_nodes.selected_layers(document.metadata()).next().is_some();
|
||||
self.export_dialog.send_dialog_to_frontend(responses);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user