Feature: add appMenu, replace icon

This commit is contained in:
萌萌哒赫萝
2023-03-13 10:57:22 +08:00
parent 5637e900fa
commit 13ec092861
9 changed files with 95 additions and 12 deletions

View File

@@ -22,6 +22,12 @@
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.device.usb</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
</dict>

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 541 B

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 588 B

After

Width:  |  Height:  |  Size: 645 B

View File

@@ -23,6 +23,86 @@ import { buildPicBedListMenu } from '~/main/events/remotes/menu'
let contextMenu: Menu | null
let menu: Menu | null
let tray: Tray | null
export function createApplicationMenu () {
if (process.platform === 'darwin') {
const submenu = buildPicBedListMenu()
contextMenu = Menu.buildFromTemplate([
{
label: 'PicList',
submenu: [
{
label: T('ABOUT'),
click () {
dialog.showMessageBox({
title: 'PicList',
message: 'PicList',
detail: `Version: ${pkg.version}\nAuthor: Kuingsmile\nGithub: https://github.com/Kuingsmile/PicList`
})
}
},
{
label: T('OPEN_MAIN_WINDOW'),
click () {
const settingWindow = windowManager.get(IWindowList.SETTING_WINDOW)
settingWindow!.show()
settingWindow!.focus()
if (windowManager.has(IWindowList.MINI_WINDOW)) {
windowManager.get(IWindowList.MINI_WINDOW)!.hide()
}
}
},
{
label: T('CHOOSE_DEFAULT_PICBED'),
type: 'submenu',
// @ts-ignore
submenu
},
// @ts-ignore
{
label: T('OPEN_UPDATE_HELPER'),
type: 'checkbox',
checked: db.get('settings.showUpdateTip'),
click () {
const value = db.get('settings.showUpdateTip')
db.set('settings.showUpdateTip', !value)
}
},
{
label: T('PRIVACY_AGREEMENT'),
click () {
privacyManager.show(false)
}
},
{
label: T('RELOAD_APP'),
click () {
app.relaunch()
app.exit(0)
}
},
// @ts-ignore
{
role: 'quit',
label: T('QUIT')
}
]
},
{
label: T('QUIT'),
submenu: [
{
label: T('QUIT'),
role: 'quit'
}
]
}
])
Menu.setApplicationMenu(contextMenu)
}
}
export function createContextMenu () {
if (process.platform === 'darwin' || process.platform === 'win32') {
const submenu = buildPicBedListMenu()

View File

@@ -23,7 +23,8 @@ import {
uploadClipboardFiles
} from 'apis/app/uploader/apis'
import {
createTray
createTray,
createApplicationMenu
} from 'apis/app/system'
import server from '~/main/server/index'
import updateChecker from '~/main/utils/updateChecker'
@@ -90,6 +91,7 @@ class LifeCycle {
windowManager.create(IWindowList.TRAY_WINDOW)
windowManager.create(IWindowList.SETTING_WINDOW)
createTray()
createApplicationMenu()
db.set('needReload', false)
updateChecker()
// 不需要阻塞
@@ -180,15 +182,10 @@ class LifeCycle {
}
async launchApp () {
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
app.quit()
} else {
await this.beforeReady()
this.onReady()
this.onRunning()
this.onQuit()
}
await this.beforeReady()
this.onReady()
this.onRunning()
this.onQuit()
}
}

View File

@@ -67,7 +67,7 @@ const config = {
},
mac: {
icon: 'build/icons/icon.icns',
hardenedRuntime: true,
hardenedRuntime: false,
entitlements: 'build/entitlements.mas.plist',
entitlementsInherit: 'build/entitlements.mas.inherit.plist',
provisioningProfile: 'build/piclistmass.provisionprofile',
@@ -90,7 +90,7 @@ const config = {
entitlements: 'build/entitlements.mas.plist',
entitlementsInherit: 'build/entitlements.mas.inherit.plist',
provisioningProfile: 'build/piclistmass.provisionprofile',
entitlementsLoginHelper: "build/entitlements.mas.loginhelper.plist"
entitlementsLoginHelper: 'build/entitlements.mas.loginhelper.plist'
},
win: {
icon: 'build/icons/icon.ico',