|
|
|
@ -1090,31 +1090,28 @@ void GMainWindow::OnGameListOpenFolder(u64 program_id, GameListOpenTarget target |
|
|
|
void GMainWindow::OnTransferableShaderCacheOpenFile(u64 program_id) { |
|
|
|
ASSERT(program_id != 0); |
|
|
|
|
|
|
|
constexpr char open_target[] = "Transferable Shader Cache"; |
|
|
|
const QString tranferable_shader_cache_folder_path = |
|
|
|
QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::ShaderDir)) + "opengl" + |
|
|
|
DIR_SEP + "transferable"; |
|
|
|
|
|
|
|
const QString transferable_shader_cache_file_path = |
|
|
|
tranferable_shader_cache_folder_path + DIR_SEP + |
|
|
|
QString::fromStdString(fmt::format("{:016X}", program_id)) + ".bin"; |
|
|
|
QString::fromStdString(fmt::format("{:016X}.bin", program_id)); |
|
|
|
|
|
|
|
if (!QFile(transferable_shader_cache_file_path).exists()) { |
|
|
|
QMessageBox::warning(this, |
|
|
|
tr("Error Opening %1 File").arg(QString::fromStdString(open_target)), |
|
|
|
tr("File does not exist!")); |
|
|
|
if (!QFile::exists(transferable_shader_cache_file_path)) { |
|
|
|
QMessageBox::warning(this, tr("Error Opening Transferable Shader Cache"), |
|
|
|
tr("A shader cache for this title does not exist.")); |
|
|
|
return; |
|
|
|
} |
|
|
|
LOG_INFO(Frontend, "Opening {} path for program_id={:016x}", open_target, program_id); |
|
|
|
|
|
|
|
// Windows supports opening a folder with selecting a specified file in explorer. On every other
|
|
|
|
// OS we just open the transferable shader cache folder without preselecting the transferable
|
|
|
|
// shader cache file for the selected game.
|
|
|
|
#if defined(Q_OS_WIN)
|
|
|
|
const QString explorer = "explorer"; |
|
|
|
const QString explorer = QStringLiteral("explorer"); |
|
|
|
QStringList param; |
|
|
|
if (!QFileInfo(transferable_shader_cache_file_path).isDir()) { |
|
|
|
param << QLatin1String("/select,"); |
|
|
|
param << QStringLiteral("/select,"); |
|
|
|
} |
|
|
|
param << QDir::toNativeSeparators(transferable_shader_cache_file_path); |
|
|
|
QProcess::startDetached(explorer, param); |
|
|
|
|