Skip to content

Commit

Permalink
Backend notice and quotes fix
Browse files Browse the repository at this point in the history
  • Loading branch information
SheffeyG committed Jan 13, 2024
1 parent 656c996 commit c7dbc23
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 25 deletions.
13 changes: 12 additions & 1 deletion src/utils/backend.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { FileSelectionType, ServerAPI } from "decky-frontend-lib"
import { FileSelectionType, ServerAPI, ToastData } from "decky-frontend-lib"

export type FilePickerFilter = RegExp | ((file: File) => boolean) | undefined;

Expand Down Expand Up @@ -49,4 +49,15 @@ export class Backend {
).then(resolve, () => reject('User Canceled'));
});
};

static sendNotice = (msg: string) => {
const toastData: ToastData = {
title: "CheatDeck",
body: msg,
duration: 1500,
playSound: true,
showToast: true
}
Backend.serverAPI.toaster.toast(toastData);
}
}
2 changes: 1 addition & 1 deletion src/utils/options.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export class Options {
for (const key in this.options) {
if (this.options.hasOwnProperty(key) && this.options[key]) {
const value = this.options[key];
optionsString += `${key}="${value.replace(/^"(.*)"$/, '\$1')}" `;
optionsString += `${key}=${value} `;
}
}
if (optionsString) optionsString += '%command%'
Expand Down
12 changes: 2 additions & 10 deletions src/views/Advanced.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import {
AppDetails,
DialogButton,
Focusable,
ToastData,
ToggleField,
} from "decky-frontend-lib"
import { VFC, useEffect, useState } from "react"
Expand All @@ -24,14 +23,7 @@ const Advanced: VFC<{ appid: number }> = ({ appid }) => {

const saveOptions = () => {
SteamClient.Apps.SetAppLaunchOptions(appid, options.getOptionsString());
const toastData: ToastData = {
title: "CheatDeck",
body: "Save game settings suscess.",
duration: 1500,
playSound: true,
showToast: true
}
Backend.serverAPI.toaster.toast(toastData);
Backend.sendNotice("Advanced settings saved.");
}


Expand Down Expand Up @@ -60,7 +52,7 @@ const Advanced: VFC<{ appid: number }> = ({ appid }) => {
onChange={(enable: boolean) => {
setOptions((prevOptions) => {
const value = enable ? 'gpl' : '';
prevOptions.setOptionValue('RADV_PERFTEST', value);
prevOptions.setOptionValue('RADV_PERFTEST', `"${value}"`);
return prevOptions;
});
}}
Expand Down
18 changes: 5 additions & 13 deletions src/views/Normal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import {
Field,
Focusable,
TextField,
ToastData,
ToggleField,
} from "decky-frontend-lib"
import { VFC, useEffect, useState } from "react"
Expand All @@ -32,23 +31,16 @@ const Normal: VFC<{ appid: number }> = ({ appid }) => {
}, [])

const handleBrowse = async () => {
const filePickerRes = await Backend.openFilePicker("/home/deck", ["exe"]);
const filePickerRes = await Backend.openFilePicker("/home/deck", ["exe", "EXE"]);
const cheatPath = filePickerRes.path;
const newOptions = new Options(options.getOptionsString());
newOptions.setOptionValue('PROTON_REMOTE_DEBUG_CMD', cheatPath);
newOptions.setOptionValue('PROTON_REMOTE_DEBUG_CMD', `"${cheatPath}"`);
setOptions(newOptions);
};

const saveOptions = () => {
SteamClient.Apps.SetAppLaunchOptions(appid, options.getOptionsString());
const toastData: ToastData = {
title: "CheatDeck",
body: "Save game settings suscess.",
duration: 1500,
playSound: true,
showToast: true
}
Backend.serverAPI.toaster.toast(toastData);
Backend.sendNotice("Normal settings saved.");
}


Expand Down Expand Up @@ -149,7 +141,7 @@ const Normal: VFC<{ appid: number }> = ({ appid }) => {
onChange={(e) => {
e.persist();
const updatedOptions = new Options(options.getOptionsString());
updatedOptions.setOptionValue('LANG', e.target.value);
updatedOptions.setOptionValue('LANG', `"${e.target.value}"`);
setOptions(updatedOptions);
}}
/>
Expand All @@ -159,7 +151,7 @@ const Normal: VFC<{ appid: number }> = ({ appid }) => {
onChange={(v) => {
// logger.info(`selected: ${JSON.stringify(v)}`);
const updatedOptions = new Options(options.getOptionsString());
updatedOptions.setOptionValue('LANG', v.data);
updatedOptions.setOptionValue('LANG', `"${v.data}"`);
setOptions(updatedOptions);
}}
strDefaultLabel="Default"
Expand Down

0 comments on commit c7dbc23

Please sign in to comment.