[Scummvm-git-logs] scummvm master -> 707a85466882f5d36f0bdf6d732a98da0760382c
moralrecordings
noreply at scummvm.org
Tue Jun 18 15:53:26 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
707a854668 DIRECTOR: Fix FileIO::m_displaySave
Commit: 707a85466882f5d36f0bdf6d732a98da0760382c
https://github.com/scummvm/scummvm/commit/707a85466882f5d36f0bdf6d732a98da0760382c
Author: Scott Percival (code at moral.net.au)
Date: 2024-06-18T23:46:44+08:00
Commit Message:
DIRECTOR: Fix FileIO::m_displaySave
Changed paths:
engines/director/lingo/xlibs/fileio.cpp
engines/director/lingo/xlibs/mmovie.cpp
engines/director/util.cpp
engines/director/util.h
diff --git a/engines/director/lingo/xlibs/fileio.cpp b/engines/director/lingo/xlibs/fileio.cpp
index 15a5a5ef91c..f3dceeedc43 100644
--- a/engines/director/lingo/xlibs/fileio.cpp
+++ b/engines/director/lingo/xlibs/fileio.cpp
@@ -226,7 +226,7 @@ FileIOError FileObject::open(const Common::String &origpath, const Common::Strin
if (option.hasPrefix("?")) {
option = option.substr(1);
- path = getFileNameFromModal(option.equalsIgnoreCase("write"), origpath, "txt");
+ path = getFileNameFromModal(option.equalsIgnoreCase("write"), origpath, Common::String(), "txt");
if (path.empty()) {
return kErrorFileNotFound;
}
@@ -376,11 +376,13 @@ void FileIO::m_closeFile(int nargs) {
XOBJSTUB(FileIO::m_createFile, 0)
void FileIO::m_displayOpen(int nargs) {
- g_lingo->push(getFileNameFromModal(false, Common::String(), "txt"));
+ g_lingo->push(getFileNameFromModal(false, Common::String(), Common::String(), "txt"));
}
void FileIO::m_displaySave(int nargs) {
- g_lingo->push(getFileNameFromModal(true, Common::String(), "txt"));
+ Datum defaultFileName = g_lingo->pop();
+ Datum title = g_lingo->pop();
+ g_lingo->push(getFileNameFromModal(true, Common::String(), title.asString(), "txt"));
}
XOBJSTUB(FileIO::m_setFilterMask, 0)
diff --git a/engines/director/lingo/xlibs/mmovie.cpp b/engines/director/lingo/xlibs/mmovie.cpp
index c06584cfe68..b008cb7e6b3 100644
--- a/engines/director/lingo/xlibs/mmovie.cpp
+++ b/engines/director/lingo/xlibs/mmovie.cpp
@@ -585,7 +585,7 @@ void MMovieXObj::m_readFile(int nargs) {
Common::String prefix = savePrefix();
Common::String result;
if (origPath.empty()) {
- path = getFileNameFromModal(false, Common::String(), "txt");
+ path = getFileNameFromModal(false, Common::String(), Common::String(), "txt");
if (path.empty()) {
debugC(5, kDebugXObj, "MMovieXObj::m_readFile(): read cancelled by modal");
g_lingo->push(result);
@@ -646,7 +646,7 @@ void MMovieXObj::m_writeFile(int nargs) {
Common::String prefix = savePrefix();
if (origPath.empty()) {
- path = getFileNameFromModal(true, Common::String(), "txt");
+ path = getFileNameFromModal(true, Common::String(), Common::String(), "txt");
if (path.empty()) {
debugC(5, kDebugXObj, "MMovieXObj::m_writeFile(): read cancelled by modal");
g_lingo->push(result);
diff --git a/engines/director/util.cpp b/engines/director/util.cpp
index f444a0a005d..f91eaa8ccad 100644
--- a/engines/director/util.cpp
+++ b/engines/director/util.cpp
@@ -974,14 +974,14 @@ Common::Path findAudioPath(const Common::String &path, bool currentFolder, bool
return result;
}
-Common::String getFileNameFromModal(bool save, const Common::String &suggested, const char *ext) {
+Common::String getFileNameFromModal(bool save, const Common::String &suggested, const Common::String &title, const char *ext) {
Common::String prefix = savePrefix();
Common::String mask = prefix + "*";
if (ext) {
mask += ".";
mask += ext;
}
- GUI::FileBrowserDialog browser(nullptr, "txt", save ? GUI::kFBModeSave : GUI::kFBModeLoad, mask.c_str(), suggested.c_str());
+ GUI::FileBrowserDialog browser(title.c_str(), "txt", save ? GUI::kFBModeSave : GUI::kFBModeLoad, mask.c_str(), suggested.c_str());
if (browser.runModal() <= 0) {
return Common::String();
}
diff --git a/engines/director/util.h b/engines/director/util.h
index 5e962bde558..9be0e4ad06d 100644
--- a/engines/director/util.h
+++ b/engines/director/util.h
@@ -54,7 +54,7 @@ Common::Path findMoviePath(const Common::String &path, bool currentFolder = true
Common::Path findXLibPath(const Common::String &path, bool currentFolder = true, bool searchPaths = true);
Common::Path findAudioPath(const Common::String &path, bool currentFolder = true, bool searchPaths = true);
-Common::String getFileNameFromModal(bool save, const Common::String &suggested, const char *ext = "txt");
+Common::String getFileNameFromModal(bool save, const Common::String &suggested, const Common::String &title, const char *ext = "txt");
Common::String savePrefix();
bool hasExtension(Common::String filename);
More information about the Scummvm-git-logs
mailing list