修复 MacOS 平台在 Finder 打开文件或目录时应用卡死的问题(#1684)

pull/1761/head
lyswhut 2023-12-08 10:47:41 +08:00
parent 15942a7b96
commit b67d99e5a5
6 changed files with 16 additions and 3 deletions

View File

@ -24,6 +24,7 @@
- 修复备份文件无法导入json格式的问题
- Windows、MacOS平台下的字体列表取消使用原生方式获取以修复某些字体应用后无效的问题#1596
- 修复亮暗主题自动切换功能无效的问题(#1697
- 修复 MacOS 平台在 Finder 打开文件或目录时应用卡死的问题(#1684
### 其他

View File

@ -55,6 +55,7 @@ const modules = {
show_save_dialog: 'show_save_dialog',
show_select_dialog: 'show_select_dialog',
show_dialog: 'show_dialog',
open_dir_in_explorer: 'open_dir_in_explorer',
open_dev_tools: 'open_dev_tools',
progress: 'progress',

View File

@ -26,6 +26,7 @@ import {
} from '@main/modules/winMain'
import { quitApp } from '@main/app'
import { getAllThemes, removeTheme, saveTheme } from '@main/utils'
import { openDirInExplorer } from '@common/utils/electron'
export default () => {
// 设置应用名称
@ -80,6 +81,10 @@ export default () => {
mainHandle<Electron.SaveDialogOptions, Electron.SaveDialogReturnValue>(WIN_MAIN_RENDERER_EVENT_NAME.show_save_dialog, async({ params }) => {
return showSaveDialog(params)
})
// 在资源管理器中定位文件
mainOn<string>(WIN_MAIN_RENDERER_EVENT_NAME.open_dir_in_explorer, async({ params }) => {
return openDirInExplorer(params)
})
mainHandle(WIN_MAIN_RENDERER_EVENT_NAME.clear_cache, async() => {

View File

@ -494,6 +494,12 @@ export const openSaveDir = async(options: Electron.SaveDialogOptions) => {
return rendererInvoke<Electron.SaveDialogOptions, Electron.SaveDialogReturnValue>(WIN_MAIN_RENDERER_EVENT_NAME.show_save_dialog, options)
}
/**
*
*/
export const openDirInExplorer = async(path: string) => {
return rendererSend<string>(WIN_MAIN_RENDERER_EVENT_NAME.open_dir_in_explorer, path)
}
/**
*

View File

@ -1,12 +1,13 @@
import { useRouter } from '@common/utils/vueRouter'
import musicSdk from '@renderer/utils/musicSdk'
import { openUrl, openDirInExplorer } from '@common/utils/electron'
import { openUrl } from '@common/utils/electron'
import { checkPath } from '@common/utils/nodejs'
// import { dialog } from '@renderer/plugins/Dialog'
// import { useI18n } from '@renderer/plugins/i18n'
// import { appSetting } from '@renderer/store/setting'
import { toOldMusicInfo } from '@renderer/utils/index'
import { startDownloadTasks, pauseDownloadTasks, removeDownloadTasks } from '@renderer/store/download/action'
import { openDirInExplorer } from '@renderer/utils/ipc'
export default ({ list, selectedList, removeAllSelect }) => {
const router = useRouter()

View File

@ -56,8 +56,7 @@ dd
<script>
import { computed } from '@common/utils/vueTools'
// import { getSystemFonts } from '@renderer/utils/tools'
import { openDirInExplorer } from '@common/utils/electron'
import { showSelectDialog } from '@renderer/utils/ipc'
import { showSelectDialog, openDirInExplorer } from '@renderer/utils/ipc'
import { useI18n } from '@renderer/plugins/i18n'
import { appSetting, updateSetting } from '@renderer/store/setting'