mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-10 04:30:25 +02:00
Open settings with shortcut (#1655)
* Open settings with shortcut. Also add settings to menubar.
This commit is contained in:
committed by
GitHub
parent
7cecd859ae
commit
668de93829
+18
-2
@@ -21,6 +21,14 @@ export default class MenuBuilder {
|
|||||||
selector: 'orderFrontStandardAboutPanel:',
|
selector: 'orderFrontStandardAboutPanel:',
|
||||||
},
|
},
|
||||||
{ type: 'separator' },
|
{ type: 'separator' },
|
||||||
|
{
|
||||||
|
accelerator: 'Command+,',
|
||||||
|
click: () => {
|
||||||
|
this.mainWindow.webContents.send('renderer-open-settings');
|
||||||
|
},
|
||||||
|
label: 'Settings',
|
||||||
|
},
|
||||||
|
{ type: 'separator' },
|
||||||
{ label: 'Services', submenu: [] },
|
{ label: 'Services', submenu: [] },
|
||||||
{ type: 'separator' },
|
{ type: 'separator' },
|
||||||
{
|
{
|
||||||
@@ -151,8 +159,8 @@ export default class MenuBuilder {
|
|||||||
return [subMenuAbout, subMenuEdit, subMenuView, subMenuWindow, subMenuHelp];
|
return [subMenuAbout, subMenuEdit, subMenuView, subMenuWindow, subMenuHelp];
|
||||||
}
|
}
|
||||||
|
|
||||||
buildDefaultTemplate() {
|
buildDefaultTemplate(): MenuItemConstructorOptions[] {
|
||||||
const templateDefault = [
|
const templateDefault: MenuItemConstructorOptions[] = [
|
||||||
{
|
{
|
||||||
label: '&File',
|
label: '&File',
|
||||||
submenu: [
|
submenu: [
|
||||||
@@ -160,6 +168,14 @@ export default class MenuBuilder {
|
|||||||
accelerator: 'Ctrl+O',
|
accelerator: 'Ctrl+O',
|
||||||
label: '&Open',
|
label: '&Open',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
accelerator: 'Ctrl+,',
|
||||||
|
click: () => {
|
||||||
|
this.mainWindow.webContents.send('renderer-open-settings');
|
||||||
|
},
|
||||||
|
label: '&Settings...',
|
||||||
|
},
|
||||||
|
{ type: 'separator' },
|
||||||
{
|
{
|
||||||
accelerator: 'Ctrl+W',
|
accelerator: 'Ctrl+W',
|
||||||
click: () => {
|
click: () => {
|
||||||
|
|||||||
@@ -61,6 +61,10 @@ const forceGarbageCollection = (): boolean => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const rendererOpenSettings = (cb: (event: IpcRendererEvent) => void) => {
|
||||||
|
ipcRenderer.on('renderer-open-settings', cb);
|
||||||
|
};
|
||||||
|
|
||||||
export const utils = {
|
export const utils = {
|
||||||
checkForUpdates,
|
checkForUpdates,
|
||||||
disableAutoUpdates,
|
disableAutoUpdates,
|
||||||
@@ -74,6 +78,7 @@ export const utils = {
|
|||||||
openApplicationDirectory,
|
openApplicationDirectory,
|
||||||
openItem,
|
openItem,
|
||||||
playerErrorListener,
|
playerErrorListener,
|
||||||
|
rendererOpenSettings,
|
||||||
};
|
};
|
||||||
|
|
||||||
export type Utils = typeof utils;
|
export type Utils = typeof utils;
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import isElectron from 'is-electron';
|
|||||||
import { lazy, Suspense, useEffect, useMemo, useRef, useState } from 'react';
|
import { lazy, Suspense, useEffect, useMemo, useRef, useState } from 'react';
|
||||||
|
|
||||||
import i18n from '/@/i18n/i18n';
|
import i18n from '/@/i18n/i18n';
|
||||||
|
import { openSettingsModal } from '/@/renderer/features/settings/utils/open-settings-modal';
|
||||||
import { WebAudioContext } from '/@/renderer/features/player/context/webaudio-context';
|
import { WebAudioContext } from '/@/renderer/features/player/context/webaudio-context';
|
||||||
import { useCheckForUpdates } from '/@/renderer/hooks/use-check-for-updates';
|
import { useCheckForUpdates } from '/@/renderer/hooks/use-check-for-updates';
|
||||||
import { useSyncSettingsToMain } from '/@/renderer/hooks/use-sync-settings-to-main';
|
import { useSyncSettingsToMain } from '/@/renderer/hooks/use-sync-settings-to-main';
|
||||||
@@ -79,6 +80,19 @@ export const App = () => {
|
|||||||
}
|
}
|
||||||
}, [language]);
|
}, [language]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (isElectron()) {
|
||||||
|
window.api.utils.rendererOpenSettings(() => {
|
||||||
|
openSettingsModal();
|
||||||
|
});
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
ipc?.removeAllListeners('renderer-open-settings');
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}, []);
|
||||||
|
|
||||||
const notificationStyles = useMemo(
|
const notificationStyles = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
root: {
|
root: {
|
||||||
|
|||||||
Reference in New Issue
Block a user