MainProcess add global val settings

This commit is contained in:
zhandouxiaojiji committed 2020-10-15 16:59:03 +08:00
1 parent d0690f0398
commit 23f4795562
5 files changed
+37 -22

No files matched your search

+63
View File
@@ -0,0 +1,63 @@
import { app, BrowserWindow, Menu, MenuItem, dialog, nativeTheme } from 'electron';
import AppMenu from './AppMenu'
import Settings from './Settings';
import MainEventType from '../common/MainEventType';
// 一些暴露给render-process的全局变量
export interface Global {
settings: Settings
}
declare var global: Global;
export class MainProcess {
mainWindow: BrowserWindow;
appMenu: AppMenu;
settings: Settings;
constructor() {
nativeTheme.themeSource = 'dark';
app.on('ready', () => {
this.createWindow();
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
if (this.mainWindow === null) {
this.createWindow()
}
});
}
createWindow() {
this.settings = new Settings();
global.settings = this.settings;
this.mainWindow = new BrowserWindow({
width: 1280,
height: 800,
webPreferences: {
nodeIntegration: true,
enableRemoteModule: true,
}
// fullscreenable:false,
// maximizable:false
});
// mainWindow.webContents.openDevTools();
this.mainWindow.loadFile('index.html');
this.mainWindow.on('closed', function () {
this.mainWindow = null
});
this.appMenu = new AppMenu(this);
this.rebuildMenu();
}
rebuildMenu() {
Menu.setApplicationMenu(this.appMenu.createMenu());
}
}
export default new MainProcess();