log.info("Saving: {}", detailsProto.getExtraDetails().getTitle());
try {
Project project;
if (!detailsProto.hasPaymentUrl()) {
// Request directory first then save, so the animations are right.
DirectoryChooser chooser = new DirectoryChooser();
chooser.setTitle("Select a directory to store the project and pledges");
platformFiddleChooser(chooser);
File dir = chooser.showDialog(Main.instance.mainStage);
if (dir == null)
return;
final Path dirPath = dir.toPath();
project = model.getProject();
// Make sure we don't try and run too many animations simultaneously.