addImages(menuItems) { if(process.platform !== 'darwin') { return; } const nativeImage = require('electron').nativeImage; let promptMenu = menuItems[4]; let langMenu = _.find(promptMenu.submenu, (item) => item.label === 'Language'); _.each(langMenu.submenu, (menu) => { menu.icon = nativeImage.createFromPath(join(__dirname, '..', 'logos', `${menu.value}.png`)) }); }
function getMenuItem (label) { for (let i = 0; i < menu.items.length; i++) { const menuItem = menu.items[i].submenu.items.find(function (item) { return item.label === label }) if (menuItem) return menuItem } }
bindMenuItems(menuItems) { for(let menuItem of menuItems) { if((menuItem.role && !menuItem.submenu)|| menuItem.type === 'separator' || menuItem.selector) { continue; } if(menuItem.submenu) { this.bindMenuItems(menuItem.submenu); continue; } menuItem.click = this.menuSelectorActions[menuItem.command] || this.forward; } }
let themeMenu = _.find(viewMenu.submenu.items, (item) => item.label === 'Theme'); let promptMenu = menu.items[process.platform === 'darwin' ? 4 : 3]; let langMenu = _.find(promptMenu.submenu.items, (item) => item.label === 'Language'); let modeMenu = _.find(promptMenu.submenu.items, (item) => item.label === 'REPL Mode'); let editorMenu = _.find(promptMenu.submenu.items, (item) => item.label === 'Editor Mode'); _.find(modeMenu.submenu.items, (m) => m.label === mode).checked = true; _.find(editorMenu.submenu.items, (m) => m.label === editor).checked = true; _.find(langMenu.submenu.items, (m) => m.value === lang).checked = true; _.find(themeMenu.submenu.items, (t) => t.label === theme).checked = true; });
template[1].submenu.push( { type: "separator" },
template[6].submenu.push({ label: global.p3x.onenote.lang.menu.help.checkUpdates, click: () => { const {autoUpdater} = require("electron-updater"); autoUpdater.checkForUpdatesAndNotify(); } }, )
clickOnMenuItem (menuType, menuItemProperties, modifiers) { var menu = this._getMenu(menuType); if (!menu) return; var parentMenu = menuItemProperties[CONSTANTS.menuPathProperty].reduce((currentMenu, id) => currentMenu.commandsMap[id].submenu, menu); var menuItem = parentMenu.commandsMap[menuItemProperties.commandId]; menuItem.click(menuItem, this.windowHandler.window, modifiers); }
test('Should retrieve all main menu items', async t => { var items = await getMainMenuItems(); await t .expect(items[0].label).eql('Test') .expect(items[0].submenu[0].label).eql('Click') .expect(items[0].submenu[1].label).eql('Dialog') .expect(items[0].submenu[2].label).eql('New Menu') .expect(items[0].submenu[3].label).eql('New Menu'); });
export default function (state = initialState, action) { switch (action.type) { case SHOW_SUBMENU: return { [action.submenu]: true, } case HIDE_SUBMENU: return false default: return state } }
// Serves to lock menus when arduino works. ipcRenderer.on('contextmenu-enabled-res', (event, enable) => { //let items = { main: { 0: [0, 1, 4] }, context: [0, 3] } let mm = mMenu.items[0].submenu.items; mm[0].enabled = enable; // open file mm[1].submenu.items[0].enabled = enable; // Arduino mm[4].enabled = enable; // Preferancia mm[5].enabled = enable; // test let cm = cMenu.items; cm[0].enabled = enable; cm[3].enabled = enable; });
function findMenuItem (menuItems, menuItemSelector) { var menuItem = null; for (let i = 0; menuItems && i < menuItemSelector.length; i++) { const index = menuItemSelector[i].index ? menuItemSelector[i].index - 1 : 0; const label = typeof menuItemSelector[i] === 'string' ? menuItemSelector[i] : menuItemSelector[i].label; menuItem = label ? menuItems.filter(item => item.label === label)[index] : menuItems[index]; menuItems = menuItem && menuItem.submenu || null; } return menuItem || null; }
const submenu = sub => ({ submenu: PropTypes.arrayOf(PropTypes.oneOfType([ PropTypes.string, PropTypes.shape({ ...itemShape, ...(sub ? submenu() : {}), }), ])), })
// Serves to lock menus when arduino works. ipcRenderer.on('contextmenu-enabled-res', (event, enable) => { //let items = { main: { 0: [0, 1, 4] }, context: [0, 3] } let mm = mMenu.items[0].submenu.items; mm[0].enabled = enable; // open file mm[1].submenu.items[0].enabled = enable; // Arduino mm[4].enabled = enable; // Preferancia mm[5].enabled = enable; // test let cm = cMenu.items; cm[0].enabled = enable; cm[3].enabled = enable; });