File tree Expand file tree Collapse file tree 2 files changed +4
-1
lines changed Expand file tree Collapse file tree 2 files changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -409,12 +409,14 @@ void FileSettingNodeV3::onPickFile(CCObject*) {
409
409
)->show ();
410
410
}
411
411
});
412
+ std::error_code ec;
412
413
m_pickListener.setFilter (file::pick (
413
414
this ->getSetting ()->isFolder () ?
414
415
file::PickMode::OpenFolder :
415
416
(this ->getSetting ()->useSaveDialog () ? file::PickMode::SaveFile : file::PickMode::OpenFile),
416
417
{
417
- dirs::getGameDir (),
418
+ // Prefer opening the current path directly if possible
419
+ m_path.empty () || !std::filesystem::exists (m_path.parent_path (), ec) ? dirs::getGameDir () : m_path,
418
420
this ->getSetting ()->getFilters ().value_or (std::vector<file::FilePickOptions::Filter>())
419
421
}
420
422
));
Original file line number Diff line number Diff line change @@ -182,6 +182,7 @@ Result<> nfdPick(
182
182
}
183
183
if (options.defaultPath && options.defaultPath .value ().wstring ().size ()) {
184
184
std::filesystem::path path = options.defaultPath .value ();
185
+ path.make_preferred ();
185
186
if (mode == NFDMode::OpenFile || mode == NFDMode::SaveFile) {
186
187
if (!std::filesystem::exists (path) || !std::filesystem::is_directory (path)) {
187
188
if (path.has_filename ()) {
You can’t perform that action at this time.
0 commit comments