function toggleFullScreen(flag) { logger.info('主界面是否全屏: %s', flag); if (windows.main && windows.main.isVisible()) { flag = flag != null ? flag : !windows.main.isFullScreen(); windows.main.setFullScreen(flag) } }
// Sets whether the window should always show on top of other windows function toggleFloatOnTop(flag) { logger.info('主界面是否最前端显示: %s', flag); if (windows.main) { flag = flag != null ? flag : !windows.main.isAlwaysOnTop(); windows.main.setAlwaysOnTop(flag); getMenuItem(locale[lang].menu.top).checked = flag } }
// Electron apps have two processes: a main process (node) runs first and starts // a renderer process (essentially a Chrome window). We're in the renderer process, // and this IPC channel receives from and sends messages to the main process function setupIpc() { logger.info('主窗口开始建立IPC通讯'); ipcRenderer.send('ipcReady'); ipcRenderer.on('dispatch', (e, ...args) => dispatch(...args)); //对于语言和风格样式变化时的通知消息 ipcRenderer.on('changeLanguage', (e, ...args) => langChanged(...args)); ipcRenderer.on('changeStyle', (e, ...args) => styleChanged(...args)); ipcRenderer.on('fullscreenChanged', function (e, isFullScreen) { windowState.isFullScreen = isFullScreen; }); }
function toggleDevTools() { logger.info('主界面打开调试工具窗口'); if (windows.main) { windows.main.toggleDevTools(); } }
function toggleReload(){ logger.info('主界面刷新'); if (windows.main) { windows.main.reload(); } }
function init() { logger.info('框架菜单栏开始初始化'); appMenu = electron.Menu.buildFromTemplate(getAppMenuTemplate()); electron.Menu.setApplicationMenu(appMenu); }
// save some thing before quite function saveState() { console.log('saving state'); //处理一些关闭前需要保存的数据 logger.info('处理一些关闭前需要保存的数据'); ipcRenderer.send('savedState'); }
function styleChanged(newstyle) { logger.info('客户设置应用的风格发生变化,风格改变为:%s', newstyle); console.log('current style is ' + newstyle); }
function langChanged(newlang) { logger.info('客户设置应用的语言发生变化,语言改变为:%s', newlang); console.log('current language is ' + newlang); }