- fs::path save_path(fileNames[0].toStdString(), fs::native);
- // do you want to overwrite?
- if (fs::exists(save_path) and
- QMessageBox::question(
- this,
- tr("Overwrite File? -- Mussa"),
- tr("A file called %1 already exists"
- "do you want to overwrite it?")
- .arg(fileNames[0]),
- tr("&Yes"), tr("&No"),
- QString(), 0, 1)
- ) {
- return;
+ try {
+ fs::path save_path(fileNames[0].toStdString(), fs::native);
+ // do you want to overwrite?
+ if (fs::exists(save_path) and
+ QMessageBox::question(
+ this,
+ tr("Overwrite File? -- Mussa"),
+ tr("A file called %1 already exists"
+ "do you want to overwrite it?")
+ .arg(fileNames[0]),
+ tr("&Yes"), tr("&No"),
+ QString(), 0, 1)
+ ) {
+ return;
+ }
+ analysis->save(save_path);
+ fs::path normalized_path = (save_path / "..").normalize();
+ default_dir->setPath(normalized_path.native_directory_string().c_str());
+ } catch (std::exception e) {
+ QMessageBox::critical(this,
+ tr("Mussa Save Error"),
+ tr(e.what()),
+ QMessageBox::Ok, 0, 0);