From 33b8e4e2b6220a1339de3c5a1d72ff4b5ebb63c1 Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Mon, 11 Feb 2019 18:38:00 +0100 Subject: [PATCH] Begin to create custom application menu --- ApplicationMenu.js | 43 +++++++++++++++++++++++++++++++++++++++++++ MainWindow.js | 6 +++++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 ApplicationMenu.js diff --git a/ApplicationMenu.js b/ApplicationMenu.js new file mode 100644 index 0000000..3cc3ee0 --- /dev/null +++ b/ApplicationMenu.js @@ -0,0 +1,43 @@ +/** + * Application menu + * + * @author Comunic Authors + */ + +const {app, Menu} = require('electron'); + +/** + * Get application menu + * + * @param {BrowserWindow} window + * @return {Menu} Application menu + */ +module.exports.Get = function(window){ + + return Menu.buildFromTemplate([ + { + label: "File", + submenu: [ + { + label: "Quit", + click: () => { + app.quit(); + } + } + ] + }, + + { + label: "Advanced", + submenu: [ + { + label: "Toggle developer tools", + click: () => { + window.webContents.toggleDevTools(); + } + } + ] + } + ]) + +} \ No newline at end of file diff --git a/MainWindow.js b/MainWindow.js index 55f9785..a7cdabe 100644 --- a/MainWindow.js +++ b/MainWindow.js @@ -6,9 +6,10 @@ const electron = require('electron'); const BrowserWindow = electron.BrowserWindow; -const {Tray} = require('electron'); +const {Menu, Tray} = require('electron'); const Config = require("./Config"); const TrayMenu = require("./TrayMenu"); +const ApplicationMenu = require("./ApplicationMenu"); let mainWindow; @@ -48,6 +49,9 @@ exports.show = function(){ console.log("Started successfully"); + //Set application menu + Menu.setApplicationMenu(ApplicationMenu.Get(mainWindow)); + mainWindow.once('ready-to-show', () => { mainWindow.show(); });