Qt: Disable incompatible settings in game properties

This commit is contained in:
Stenzek
2024-07-21 16:04:05 +10:00
parent ad374ef5e2
commit 022b2fc013
6 changed files with 111 additions and 20 deletions

View File

@ -48,7 +48,7 @@ SettingsWindow::SettingsWindow() : QWidget()
SettingsWindow::SettingsWindow(const std::string& path, const std::string& serial, DiscRegion region,
const GameDatabase::Entry* entry, std::unique_ptr<INISettingsInterface> sif)
: QWidget(), m_sif(std::move(sif))
: QWidget(), m_sif(std::move(sif)), m_database_entry(entry)
{
m_ui.setupUi(this);
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
@ -611,6 +611,12 @@ void SettingsWindow::saveAndReloadGameSettings()
g_emu_thread->reloadGameSettings(false);
}
bool SettingsWindow::hasGameTrait(GameDatabase::Trait trait)
{
return (m_database_entry && m_database_entry->HasTrait(trait) &&
m_sif->GetBoolValue("Main", "ApplyCompatibilitySettings", true));
}
void SettingsWindow::openGamePropertiesDialog(const std::string& path, const std::string& title,
const std::string& serial, DiscRegion region)
{