Never display placeholder text for an app collector game

Fixes #567
This commit is contained in:
Cameron Gutman 2021-05-02 10:39:25 -05:00
parent 8fcef63890
commit ac19f62ed9
3 changed files with 13 additions and 4 deletions

View file

@ -88,9 +88,14 @@ CenteredGridView {
source: model.boxart
onSourceSizeChanged: {
if ((sourceSize.width == 130 && sourceSize.height == 180) || // GFE 2.0 placeholder image
(sourceSize.width == 628 && sourceSize.height == 888) || // GFE 3.0 placeholder image
(sourceSize.width == 200 && sourceSize.height == 266)) // Our no_app_image.png
// Nearly all of Nvidia's official box art does not match the dimensions of placeholder
// images, however the one known exeception is Overcooked. Therefore, we only execute
// the image size checks if this is not an app collector game. We know the officially
// supported games all have box art, so this check is not required.
if (!model.isAppCollectorGame &&
((sourceSize.width == 130 && sourceSize.height == 180) || // GFE 2.0 placeholder image
(sourceSize.width == 628 && sourceSize.height == 888) || // GFE 3.0 placeholder image
(sourceSize.width == 200 && sourceSize.height == 266))) // Our no_app_image.png
{
isPlaceholder = true
}

View file

@ -91,6 +91,8 @@ QVariant AppModel::data(const QModelIndex &index, int role) const
return app.id;
case DirectLaunchRole:
return app.directLaunch;
case AppCollectorGameRole:
return app.isAppCollectorGame;
default:
return QVariant();
}
@ -106,6 +108,7 @@ QHash<int, QByteArray> AppModel::roleNames() const
names[HiddenRole] = "hidden";
names[AppIdRole] = "appid";
names[DirectLaunchRole] = "directLaunch";
names[AppCollectorGameRole] = "appCollectorGame";
return names;
}

View file

@ -17,7 +17,8 @@ class AppModel : public QAbstractListModel
BoxArtRole,
HiddenRole,
AppIdRole,
DirectLaunchRole
DirectLaunchRole,
AppCollectorGameRole,
};
public: