You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
2.6 KiB
126 lines
2.6 KiB
import { Menu, Tray, app, shell } from 'electron'; |
|
import { ICON } from './constant'; |
|
import { openMainWin } from '../win/mainWin'; |
|
import { showShotScreenWin } from '../win/shotScreenWin'; |
|
import { openClipScreenWin } from '../win/clipScreenWin'; |
|
import { openRecorderAudioWin } from '../win/recorderAudioWin'; |
|
import { openRecorderVideoWin } from '../win/recorderVideoWin'; |
|
import { openViewImageWin } from '../win/viewImageWin'; |
|
import { openViewVideoWin } from '../win/viewVideoWin'; |
|
import { openViewAudioWin } from '../win/viewAudioWin'; |
|
import { openSettingWin } from '../win/settingWin'; |
|
import * as zhCN from '../i18n/zh-CN.json'; |
|
import * as enUS from '../i18n/en-US.json'; |
|
import * as deDE from '../i18n/de-DE.json'; |
|
|
|
const lngMap = { |
|
zh: zhCN, |
|
en: enUS, |
|
de: deDE, |
|
} as any; |
|
|
|
export function initTray(lng: string) { |
|
let appIcon = new Tray(ICON); |
|
const t = lngMap[lng].tray; |
|
const contextMenu = Menu.buildFromTemplate([ |
|
{ |
|
label: t.screenshot, |
|
click: () => { |
|
showShotScreenWin(); |
|
}, |
|
}, |
|
{ |
|
label: t.screenRecording, |
|
click: () => { |
|
openClipScreenWin(); |
|
}, |
|
}, |
|
{ |
|
label: t.audioRecording, |
|
click: () => { |
|
openRecorderAudioWin(); |
|
}, |
|
}, |
|
{ |
|
label: t.videoRecording, |
|
click: () => { |
|
openRecorderVideoWin(); |
|
}, |
|
}, |
|
{ |
|
type: 'separator', |
|
}, |
|
{ |
|
label: t.viewImage, |
|
click: () => { |
|
openViewImageWin(); |
|
}, |
|
}, |
|
{ |
|
label: t.watchVideo, |
|
click: () => { |
|
openViewVideoWin(); |
|
}, |
|
}, |
|
{ |
|
label: t.playAudio, |
|
click: () => { |
|
openViewAudioWin(); |
|
}, |
|
}, |
|
// { |
|
// type: "separator", |
|
// }, |
|
// { |
|
// label: "开机自启动", |
|
// type: "checkbox", |
|
// checked: true, |
|
// click: (i) => { |
|
// app.setLoginItemSettings({ openAtLogin: i.checked }); |
|
// }, |
|
// }, |
|
{ |
|
type: 'separator', |
|
}, |
|
{ |
|
label: t.home, |
|
click: () => { |
|
openMainWin(); |
|
}, |
|
}, |
|
{ |
|
label: t.setting, |
|
click: () => { |
|
openSettingWin(); |
|
}, |
|
}, |
|
{ |
|
label: t.help, |
|
click: () => { |
|
shell.openExternal('https://027xiguapi.github.io/pear-rec/'); |
|
}, |
|
}, |
|
{ |
|
type: 'separator', |
|
}, |
|
{ |
|
label: t.relaunch, |
|
click: () => { |
|
app.relaunch(); |
|
app.exit(0); |
|
}, |
|
}, |
|
{ |
|
label: t.quit, |
|
click: () => { |
|
app.quit(); |
|
}, |
|
}, |
|
]); |
|
appIcon.setToolTip('梨子REC'); |
|
appIcon.setContextMenu(contextMenu); |
|
appIcon.addListener('click', function () { |
|
openMainWin(); |
|
}); |
|
return appIcon; |
|
}
|
|
|