fix: contextMenus setting

This commit is contained in:
Gabe Yuan
2023-12-15 11:43:01 +08:00
parent 34adb2660b
commit 7e014e7385
4 changed files with 72 additions and 61 deletions

View File

@@ -142,7 +142,11 @@ async function showFab(translator) {
* @param {*} param0 * @param {*} param0
* @returns * @returns
*/ */
function showTransbox({ tranboxSetting = DEFAULT_TRANBOX_SETTING, transApis }) { function showTransbox({
contextMenus = true,
tranboxSetting = DEFAULT_TRANBOX_SETTING,
transApis,
}) {
if (!tranboxSetting?.transOpen) { if (!tranboxSetting?.transOpen) {
return; return;
} }
@@ -163,7 +167,11 @@ function showTransbox({ tranboxSetting = DEFAULT_TRANBOX_SETTING, transApis }) {
ReactDOM.createRoot(shadowRootElement).render( ReactDOM.createRoot(shadowRootElement).render(
<React.StrictMode> <React.StrictMode>
<CacheProvider value={cache}> <CacheProvider value={cache}>
<Slection tranboxSetting={tranboxSetting} transApis={transApis} /> <Slection
contextMenus={contextMenus}
tranboxSetting={tranboxSetting}
transApis={transApis}
/>
</CacheProvider> </CacheProvider>
</React.StrictMode> </React.StrictMode>
); );

View File

@@ -95,6 +95,8 @@ export default function Action({ translator, fab }) {
// 注册菜单 // 注册菜单
try { try {
const menuCommandIds = []; const menuCommandIds = [];
const { contextMenus = true } = translator.setting;
contextMenus &&
menuCommandIds.push( menuCommandIds.push(
GM.registerMenuCommand( GM.registerMenuCommand(
"Toggle Translate (Alt+q)", "Toggle Translate (Alt+q)",

View File

@@ -68,7 +68,7 @@ export default function Settings() {
value = limitNumber(value, 0, 4); value = limitNumber(value, 0, 4);
break; break;
case "contextMenus": case "contextMenus":
sendBgMsg(MSG_CONTEXT_MENUS, { contextMenus: value }); isExt && sendBgMsg(MSG_CONTEXT_MENUS, { contextMenus: value });
break; break;
default: default:
} }
@@ -214,6 +214,19 @@ export default function Settings() {
</Select> </Select>
</FormControl> </FormControl>
<FormControl size="small">
<InputLabel>{i18n("add_context_menus")}</InputLabel>
<Select
name="contextMenus"
value={contextMenus}
label={i18n("add_context_menus")}
onChange={handleChange}
>
<MenuItem value={false}>{i18n("disable")}</MenuItem>
<MenuItem value={true}>{i18n("enable")}</MenuItem>
</Select>
</FormControl>
<FormControl size="small"> <FormControl size="small">
<InputLabel>{i18n("detect_lang_remote")}</InputLabel> <InputLabel>{i18n("detect_lang_remote")}</InputLabel>
<Select <Select
@@ -248,19 +261,6 @@ export default function Settings() {
{isExt ? ( {isExt ? (
<> <>
<FormControl size="small">
<InputLabel>{i18n("add_context_menus")}</InputLabel>
<Select
name="contextMenus"
value={contextMenus}
label={i18n("add_context_menus")}
onChange={handleChange}
>
<MenuItem value={false}>{i18n("disable")}</MenuItem>
<MenuItem value={true}>{i18n("enable")}</MenuItem>
</Select>
</FormControl>
<FormControl size="small"> <FormControl size="small">
<InputLabel>{i18n("if_clear_cache")}</InputLabel> <InputLabel>{i18n("if_clear_cache")}</InputLabel>
<Select <Select

View File

@@ -6,7 +6,7 @@ import { sleep } from "../../libs/utils";
import { isGm } from "../../libs/client"; import { isGm } from "../../libs/client";
import { MSG_OPEN_TRANBOX, DEFAULT_TRANBOX_SHORTCUT } from "../../config"; import { MSG_OPEN_TRANBOX, DEFAULT_TRANBOX_SHORTCUT } from "../../config";
export default function Slection({ tranboxSetting, transApis }) { export default function Slection({ contextMenus, tranboxSetting, transApis }) {
const [showBox, setShowBox] = useState(false); const [showBox, setShowBox] = useState(false);
const [showBtn, setShowBtn] = useState(false); const [showBtn, setShowBtn] = useState(false);
const [selectedText, setSelText] = useState(""); const [selectedText, setSelText] = useState("");
@@ -88,6 +88,7 @@ export default function Slection({ tranboxSetting, transApis }) {
// 注册菜单 // 注册菜单
try { try {
const menuCommandIds = []; const menuCommandIds = [];
contextMenus &&
menuCommandIds.push( menuCommandIds.push(
GM.registerMenuCommand( GM.registerMenuCommand(
"Translate Selected Text (Alt+S)", "Translate Selected Text (Alt+S)",
@@ -106,7 +107,7 @@ export default function Slection({ tranboxSetting, transApis }) {
} catch (err) { } catch (err) {
console.log("[registerMenuCommand]", err); console.log("[registerMenuCommand]", err);
} }
}, [handleTranbox]); }, [handleTranbox, contextMenus]);
return ( return (
<> <>