diff --git a/public/locales/en/gamepage.json b/public/locales/en/gamepage.json index aa5bf9d34a..e2494b6133 100644 --- a/public/locales/en/gamepage.json +++ b/public/locales/en/gamepage.json @@ -55,6 +55,7 @@ "add_to_favourites": "Add To Favourites", "browse_files": "Browse Files", "browse_wine_prefix": "Browse Wine Prefix", + "showConfigFileInFolder": "Show Game Config File", "cancel": "Pause/Cancel", "changelog": "Show Changelog", "continue": "Continue Downloading", diff --git a/src/backend/main.ts b/src/backend/main.ts index 46577004b7..4fecd5d037 100644 --- a/src/backend/main.ts +++ b/src/backend/main.ts @@ -627,13 +627,17 @@ addListener('openSidInfoPage', async () => openUrlOrFile(sidInfoUrl)) addListener('openCustomThemesWiki', async () => openUrlOrFile(customThemesWikiLink) ) -addListener('showConfigFileInFolder', async (event, appName) => { +addListener('openConfigFile', async (event, appName) => { if (appName === 'default') { return openUrlOrFile(configPath) } return openUrlOrFile(path.join(gamesConfigPath, `${appName}.json`)) }) +addListener('showConfigFileInFolder', (event, appName) => + showItemInFolder(path.join(gamesConfigPath, `${appName}.json`)) +) + addListener('removeFolder', async (e, [path, folderName]) => { removeFolder(path, folderName) }) diff --git a/src/common/types/ipc.ts b/src/common/types/ipc.ts index 3db51226f1..c970ac03b3 100644 --- a/src/common/types/ipc.ts +++ b/src/common/types/ipc.ts @@ -73,6 +73,7 @@ interface SyncIPCFunctions { openWikiLink: () => void openSidInfoPage: () => void openCustomThemesWiki: () => void + openConfigFile: (appName: string) => void showConfigFileInFolder: (appName: string) => void removeFolder: ([path, folderName]: [string, string]) => void clearCache: (showDialog?: boolean, fromVersionChange?: boolean) => void diff --git a/src/frontend/screens/Game/GameSubMenu/index.tsx b/src/frontend/screens/Game/GameSubMenu/index.tsx index 46a25ac42f..13ed3851d0 100644 --- a/src/frontend/screens/Game/GameSubMenu/index.tsx +++ b/src/frontend/screens/Game/GameSubMenu/index.tsx @@ -410,6 +410,14 @@ export default function GamesSubmenu({ {t('button.browse_wine_prefix', 'Browse Wine Prefix')} )} + {isInstalled && ( + + )} diff --git a/src/frontend/screens/Settings/index.tsx b/src/frontend/screens/Settings/index.tsx index 664fcfa728..ef36162758 100644 --- a/src/frontend/screens/Settings/index.tsx +++ b/src/frontend/screens/Settings/index.tsx @@ -97,7 +97,7 @@ function Settings() { }, { label: t('settings.open-config-file', 'Open Config File'), - onclick: () => window.api.showConfigFileInFolder(appName), + onclick: () => window.api.openConfigFile(appName), show: !isLogSettings } ]} diff --git a/src/preload/api/misc.ts b/src/preload/api/misc.ts index 4b3bc423fd..eb9fd6bcff 100644 --- a/src/preload/api/misc.ts +++ b/src/preload/api/misc.ts @@ -38,6 +38,7 @@ export const refreshLibrary = makeHandlerInvoker('refreshLibrary') export const gamepadAction = makeHandlerInvoker('gamepadAction') export const logError = makeListenerCaller('logError') export const logInfo = makeListenerCaller('logInfo') +export const openConfigFile = makeListenerCaller('openConfigFile') export const showConfigFileInFolder = makeListenerCaller('showConfigFileInFolder') export const openFolder = makeListenerCaller('openFolder') export const syncGOGSaves = makeHandlerInvoker('syncGOGSaves')