46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import { app, BrowserWindow, Menu, MenuItem, dialog, nativeTheme } from 'electron';
|
|
import AppMenu from './AppMenu'
|
|
import Settings from './Settings';
|
|
|
|
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();
|
|
this.mainWindow = new BrowserWindow({
|
|
width: 1280,
|
|
height: 800,
|
|
webPreferences: {
|
|
nodeIntegration: 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);
|
|
}
|
|
}
|
|
|
|
new MainProcess(); |