On Save-as, open FileDialog in same directory of previous filename

This commit is contained in:
Bruno Herbelin
2022-01-08 00:49:20 +01:00
parent 48df5c0eb1
commit 2e5e2c8430
3 changed files with 11 additions and 1 deletions

View File

@@ -160,6 +160,11 @@ void DialogToolkit::SaveSessionDialog::open()
} }
} }
void DialogToolkit::SaveSessionDialog::setFolder(std::string path)
{
Settings::application.dialogRecentFolder[id_] = SystemToolkit::path_filename( path );
}
std::string openFolderDialog(const std::string &label, const std::string &path); std::string openFolderDialog(const std::string &label, const std::string &path);
void DialogToolkit::OpenFolderDialog::open() void DialogToolkit::OpenFolderDialog::open()
{ {

View File

@@ -62,6 +62,7 @@ class SaveSessionDialog : public FileDialog
{ {
public: public:
SaveSessionDialog(const std::string &name) : FileDialog(name) {} SaveSessionDialog(const std::string &name) : FileDialog(name) {}
void setFolder(std::string path);
void open(); void open();
}; };

View File

@@ -700,8 +700,12 @@ bool UserInterface::TryClose()
void UserInterface::selectSaveFilename() void UserInterface::selectSaveFilename()
{ {
if (sessionsavedialog) if (sessionsavedialog) {
if (!Mixer::manager().session()->filename().empty())
sessionsavedialog->setFolder( Mixer::manager().session()->filename() );
sessionsavedialog->open(); sessionsavedialog->open();
}
navigator.hidePannel(); navigator.hidePannel();
} }