Qt: Fix 'Edit Memory Cards' using disc-specific cards

This commit is contained in:
Stenzek
2023-11-28 14:54:25 +10:00
parent e382f2b64a
commit c482dfd27a
4 changed files with 60 additions and 17 deletions

View File

@ -822,17 +822,25 @@ void MainWindow::populateGameListContextMenu(const GameList::Entry* entry, QWidg
}
break;
case MemoryCardType::PerGame:
paths[i] = QString::fromStdString(g_settings.GetGameMemoryCardPath(entry->serial.c_str(), i));
paths[i] = QString::fromStdString(g_settings.GetGameMemoryCardPath(entry->serial, i));
break;
case MemoryCardType::PerGameTitle:
{
paths[i] = QString::fromStdString(
g_settings.GetGameMemoryCardPath(MemoryCard::SanitizeGameTitleForFileName(entry->title).c_str(), i));
break;
g_settings.GetGameMemoryCardPath(MemoryCard::SanitizeGameTitleForFileName(entry->title), i));
if (!entry->disc_set_name.empty() && g_settings.memory_card_use_playlist_title && !QFile::exists(paths[i]))
{
paths[i] = QString::fromStdString(
g_settings.GetGameMemoryCardPath(MemoryCard::SanitizeGameTitleForFileName(entry->disc_set_name), i));
}
}
break;
case MemoryCardType::PerGameFileTitle:
{
const std::string display_name(FileSystem::GetDisplayNameFromPath(entry->path));
paths[i] = QString::fromStdString(g_settings.GetGameMemoryCardPath(
MemoryCard::SanitizeGameTitleForFileName(Path::GetFileTitle(display_name)).c_str(), i));
MemoryCard::SanitizeGameTitleForFileName(Path::GetFileTitle(display_name)), i));
}
break;
default: