| 625 | } |
| 626 | |
| 627 | std::filesystem::path saveFileDialog( const FileParameters& params /*= {} */ ) |
| 628 | { |
| 629 | FileDialog::Parameters parameters{ params }; |
| 630 | parameters.folderDialog = false; |
| 631 | parameters.multiselect = false; |
| 632 | parameters.saveDialog = true; |
| 633 | if ( parameters.filters.empty() ) |
| 634 | parameters.filters = { { "All files", "*.*" } }; |
| 635 | |
| 636 | const auto results = runDialog( parameters ); |
| 637 | if ( results.size() == 1 && !results[0].empty() ) |
| 638 | { |
| 639 | spdlog::info( "Save dialog returned: {}", MR::utf8string( results[0] ) ); |
| 640 | FileDialog::setLastUsedDir( results[0].parent_path() ); |
| 641 | FileDialogSignals::instance().onSaveFile( results[0] ); |
| 642 | return results[0]; |
| 643 | } |
| 644 | spdlog::info( "Save dialog canceled" ); |
| 645 | return {}; |
| 646 | } |
| 647 | |
| 648 | void saveFileDialogAsync( std::function<void( const std::filesystem::path& )> callback, const FileParameters& params /*= {} */ ) |
| 649 | { |
no test coverage detected