add basic context menu (#424)

This commit is contained in:
an-lee
2024-03-18 14:58:19 +08:00
committed by GitHub
parent e139899885
commit 1e0caf0cb1
6 changed files with 129 additions and 2 deletions

View File

@@ -125,6 +125,7 @@
"decamelize": "^6.0.0",
"decamelize-keys": "^2.0.1",
"echogarden": "^0.12.1",
"electron-context-menu": "^3.6.1",
"electron-log": "^5.1.2",
"electron-settings": "^4.0.2",
"electron-squirrel-startup": "^1.0.0",

View File

@@ -368,6 +368,9 @@
"sending": "Sending",
"sent": "Sent",
"copy": "Copy",
"cut": "cut",
"paste": "paste",
"selectAll": "Select all",
"copyText": "Copy text",
"resend": "Resend",
"anotherRequestIsPending": "Another request is pending",

View File

@@ -367,6 +367,9 @@
"sending": "正在发送",
"sent": "发送成功",
"copy": "复制",
"cut": "剪切",
"paste": "粘贴",
"selectAll": "选择全部",
"copyText": "复制文本",
"resend": "重新发送",
"anotherRequestIsPending": "另一个请求正在等待",

View File

@@ -4,9 +4,28 @@ import settings from "@main/settings";
import "@main/i18n";
import mainWindow from "@main/window";
import ElectronSquirrelStartup from "electron-squirrel-startup";
import contextMenu from "electron-context-menu";
import { t } from "i18next";
app.commandLine.appendSwitch("enable-features", "SharedArrayBuffer");
// Add context menu
contextMenu({
showSearchWithGoogle: false,
showInspectElement: false,
showLookUpSelection: false,
showLearnSpelling: false,
labels: {
copy: t("copy"),
cut: t("cut"),
paste: t("paste"),
selectAll: t("selectAll"),
},
shouldShowMenu: (_event, params) => {
return params.isEditable;
},
});
// Handle creating/removing shortcuts on Windows when installing/uninstalling.
if (ElectronSquirrelStartup) {
app.quit();

View File

@@ -443,6 +443,7 @@ ${log}
minHeight: 900,
webPreferences: {
preload: path.join(__dirname, "preload.js"),
spellcheck: false,
},
});

104
yarn.lock
View File

@@ -8576,6 +8576,28 @@ __metadata:
languageName: node
linkType: hard
"electron-context-menu@npm:^3.6.1":
version: 3.6.1
resolution: "electron-context-menu@npm:3.6.1"
dependencies:
cli-truncate: "npm:^2.1.0"
electron-dl: "npm:^3.2.1"
electron-is-dev: "npm:^2.0.0"
checksum: 10c0/f08d60c06e19aa68a4c643275367d3343df636d3595df8982f1d593837cf7f304952e5508e1bff99734b24927a9b98d8beeec15d3eb3ea00df204e706341cd1e
languageName: node
linkType: hard
"electron-dl@npm:^3.2.1":
version: 3.5.2
resolution: "electron-dl@npm:3.5.2"
dependencies:
ext-name: "npm:^5.0.0"
pupa: "npm:^2.0.1"
unused-filename: "npm:^2.1.0"
checksum: 10c0/1141188c66b187917050cca1954d2abc9922b6687efc81d85a4e9c8c14948a64791c338d9713f48133666db71fd464113d4661e886ed92f2f469eda5c6eaafa1
languageName: node
linkType: hard
"electron-installer-common@npm:^0.10.2":
version: 0.10.3
resolution: "electron-installer-common@npm:0.10.3"
@@ -8648,6 +8670,13 @@ __metadata:
languageName: node
linkType: hard
"electron-is-dev@npm:^2.0.0":
version: 2.0.0
resolution: "electron-is-dev@npm:2.0.0"
checksum: 10c0/aa540115f144f9c8c788e13fc581be7b0f9f83422eecb940af6367c67d63c3a656e03ad9c1138f17bcfbafc9edca8b83f655feff24dead2cc4866169c6e565f9
languageName: node
linkType: hard
"electron-log@npm:^5.1.2":
version: 5.1.2
resolution: "electron-log@npm:5.1.2"
@@ -8874,6 +8903,7 @@ __metadata:
decamelize-keys: "npm:^2.0.1"
echogarden: "npm:^0.12.1"
electron: "npm:^29.1.4"
electron-context-menu: "npm:^3.6.1"
electron-log: "npm:^5.1.2"
electron-playwright-helpers: "npm:^1.7.1"
electron-settings: "npm:^4.0.2"
@@ -9168,6 +9198,13 @@ __metadata:
languageName: node
linkType: hard
"escape-goat@npm:^2.0.0":
version: 2.1.1
resolution: "escape-goat@npm:2.1.1"
checksum: 10c0/fc0ad656f89c05e86a9641a21bdc5ea37b258714c057430b68a834854fa3e5770cda7d41756108863fc68b1e36a0946463017b7553ac39eaaf64815be07816fc
languageName: node
linkType: hard
"escape-goat@npm:^3.0.0":
version: 3.0.0
resolution: "escape-goat@npm:3.0.0"
@@ -9559,6 +9596,25 @@ __metadata:
languageName: node
linkType: hard
"ext-list@npm:^2.0.0":
version: 2.2.2
resolution: "ext-list@npm:2.2.2"
dependencies:
mime-db: "npm:^1.28.0"
checksum: 10c0/bfdb435f333dccbf3f9698dc9d8e38eb47b42d756800bfafa9ec0c1c8aace877c40095baf36f691bcfd09bb88ed247c6e51596e75a158280fa19cf8588a7e258
languageName: node
linkType: hard
"ext-name@npm:^5.0.0":
version: 5.0.0
resolution: "ext-name@npm:5.0.0"
dependencies:
ext-list: "npm:^2.0.0"
sort-keys-length: "npm:^1.0.0"
checksum: 10c0/6750b34636bb6dca78e1bcc797615af68ecf50d62cf774624a32ee7879da99c949b5c41e8aa56ede4eb15c6abad6b1a8858d0934faab75ff6e2fd6f408debe18
languageName: node
linkType: hard
"extend@npm:^3.0.0, extend@npm:^3.0.2":
version: 3.0.2
resolution: "extend@npm:3.0.2"
@@ -11280,7 +11336,7 @@ __metadata:
languageName: node
linkType: hard
"is-plain-obj@npm:^1.1.0":
"is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0":
version: 1.1.0
resolution: "is-plain-obj@npm:1.1.0"
checksum: 10c0/daaee1805add26f781b413fdf192fc91d52409583be30ace35c82607d440da63cc4cac0ac55136716688d6c0a2c6ef3edb2254fecbd1fe06056d6bd15975ee8c
@@ -13288,7 +13344,7 @@ __metadata:
languageName: node
linkType: hard
"mime-db@npm:1.52.0":
"mime-db@npm:1.52.0, mime-db@npm:^1.28.0":
version: 1.52.0
resolution: "mime-db@npm:1.52.0"
checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa
@@ -13612,6 +13668,13 @@ __metadata:
languageName: node
linkType: hard
"modify-filename@npm:^1.1.0":
version: 1.1.0
resolution: "modify-filename@npm:1.1.0"
checksum: 10c0/9f98b69aa1ecdeae81a31917dc32da3259d3ec2f4519491de0b390abc81cd96388ab5778c4e18b83b2a9d9812382314184699693072bb42ead81cc1d94b82502
languageName: node
linkType: hard
"moment-timezone@npm:^0.5.43":
version: 0.5.45
resolution: "moment-timezone@npm:0.5.45"
@@ -15019,6 +15082,15 @@ __metadata:
languageName: node
linkType: hard
"pupa@npm:^2.0.1":
version: 2.1.1
resolution: "pupa@npm:2.1.1"
dependencies:
escape-goat: "npm:^2.0.0"
checksum: 10c0/d2346324780ebae4be847cad052b830e004d816851dd4750fc73faa6cd360f443e358f6b1c83641fd4c904c6055dcb545807f55259a20a52ad86d9477746c724
languageName: node
linkType: hard
"qs@npm:6.11.0":
version: 6.11.0
resolution: "qs@npm:6.11.0"
@@ -16219,6 +16291,24 @@ __metadata:
languageName: node
linkType: hard
"sort-keys-length@npm:^1.0.0":
version: 1.0.1
resolution: "sort-keys-length@npm:1.0.1"
dependencies:
sort-keys: "npm:^1.0.0"
checksum: 10c0/4567d08aa859c7e48b7e2cba14a8ae09a100f6a3bd7cf5d21dccd808d6332c945b9a7e2230a95c16e0e6eac1a943cd050ae51a5d1b4c8ec4b1e89a5801be9aa2
languageName: node
linkType: hard
"sort-keys@npm:^1.0.0":
version: 1.1.2
resolution: "sort-keys@npm:1.1.2"
dependencies:
is-plain-obj: "npm:^1.0.0"
checksum: 10c0/5dd383b0299a40277051f7498c3999520138e2eb50d422962f658738341c9e82349fad4a3024d5ba1a3122688fbaf958f2a472d4c53bade55515097c2ce15420
languageName: node
linkType: hard
"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.2":
version: 1.0.2
resolution: "source-map-js@npm:1.0.2"
@@ -17443,6 +17533,16 @@ __metadata:
languageName: node
linkType: hard
"unused-filename@npm:^2.1.0":
version: 2.1.0
resolution: "unused-filename@npm:2.1.0"
dependencies:
modify-filename: "npm:^1.1.0"
path-exists: "npm:^4.0.0"
checksum: 10c0/db2eeb8e42e3198203eefb290c4127dc7f10fc18fd6f877e80cbcd3f04123fe03337096b74f457221d2dd772531816cf9d55a664d54798d8da12d6225cfcad70
languageName: node
linkType: hard
"update-browserslist-db@npm:^1.0.13":
version: 1.0.13
resolution: "update-browserslist-db@npm:1.0.13"