[Scummvm-git-logs] scummvm master -> 48f72f1d32c5bc5538cb564d6219ce5bda18b267
lephilousophe
noreply at scummvm.org
Sun Mar 22 17:43:34 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
48f72f1d32 GUI: Disable Load Game button in Grid launcher
Commit: 48f72f1d32c5bc5538cb564d6219ce5bda18b267
https://github.com/scummvm/scummvm/commit/48f72f1d32c5bc5538cb564d6219ce5bda18b267
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2026-03-22T18:41:10+01:00
Commit Message:
GUI: Disable Load Game button in Grid launcher
Fix #16614.
Changed paths:
gui/launcher.cpp
gui/widgets/grid.cpp
gui/widgets/grid.h
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 5caae1956a4..27e817959d3 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -1720,13 +1720,17 @@ void LauncherGrid::updateListing(int selPos) {
Common::String platform;
Common::String extra;
Common::String path;
+ Common::String guioptions;
bool valid_path = false;
+ bool canLoad;
curDomain.domain->tryGetVal("engineid", engineid);
curDomain.domain->tryGetVal("language", language);
curDomain.domain->tryGetVal("platform", platform);
curDomain.domain->tryGetVal("extra", extra);
+ curDomain.domain->tryGetVal("guioptions", guioptions);
valid_path = (!curDomain.domain->tryGetVal("path", path) || !Common::FSNode(Common::Path::fromConfig(path)).isDirectory()) ? false : true;
- gridList.push_back(GridItemInfo(k++, engineid, gameid, curDomain.description, curDomain.title, extra, Common::parseLanguage(language), Common::parsePlatform(platform), valid_path));
+ canLoad = !Common::checkGameGUIOption(GUIO_NOLAUNCHLOAD, guioptions);
+ gridList.push_back(GridItemInfo(k++, engineid, gameid, curDomain.description, curDomain.title, extra, Common::parseLanguage(language), Common::parsePlatform(platform), valid_path, canLoad));
_domains.push_back(curDomain.key);
_domainTitles.push_back(curDomain.description); // Store the game description (user's name for it)
}
diff --git a/gui/widgets/grid.cpp b/gui/widgets/grid.cpp
index db29df1beaf..ab34f6e94fb 100644
--- a/gui/widgets/grid.cpp
+++ b/gui/widgets/grid.cpp
@@ -1212,6 +1212,8 @@ void GridWidget::openTrayAtSelected() {
if (_selectedEntry) {
GridItemTray *tray = new GridItemTray(this, _x + _selectedEntry->x - _gridXSpacing / 3, _y + _selectedEntry->y + _selectedEntry->h - _scrollPos,
_gridItemWidth + 2 * (_gridXSpacing / 3), _trayHeight, _selectedEntry->entryID, this);
+ tray->enableLoadButton(_selectedEntry->canLoadGame);
+
tray->runModal();
delete tray;
}
diff --git a/gui/widgets/grid.h b/gui/widgets/grid.h
index a6796fdb7bf..fd0c81b785a 100644
--- a/gui/widgets/grid.h
+++ b/gui/widgets/grid.h
@@ -60,12 +60,13 @@ struct GridItemInfo {
Common::String attribute;
Common::Language language;
Common::Platform platform;
+ bool canLoadGame;
int32 x, y, w, h;
GridItemInfo(int id, const Common::String &eid, const Common::String &gid, const Common::String &t,
- const Common::String &d, const Common::String &e, Common::Language l, Common::Platform p, bool v)
- : entryID(id), gameid(gid), engineid(eid), title(t), description(d), extra(e), language(l), platform(p), validEntry(v), isHeader(false) {
+ const Common::String &d, const Common::String &e, Common::Language l, Common::Platform p, bool v, bool cl)
+ : entryID(id), gameid(gid), engineid(eid), title(t), description(d), extra(e), language(l), platform(p), validEntry(v), canLoadGame(cl), isHeader(false) {
thumbPath = Common::String::format("icons/%s-%s.png", engineid.c_str(), gameid.c_str());
}
@@ -85,6 +86,7 @@ class GridItemTray: public Dialog, public CommandSender {
PicButtonWidget *_editButton;
public:
GridItemTray(GuiObject *boss, int x, int y, int w, int h, int entryID, GridWidget *grid);
+ void enableLoadButton(bool canLoad) { _loadButton->setEnabled(canLoad); }
void reflowLayout() override;
More information about the Scummvm-git-logs
mailing list