Add keyboard support to Sandy plugin wrapper

Summary: Per title / see rest of the stack

Reviewed By: passy

Differential Revision: D29196711

fbshipit-source-id: 63ea52a07b61a11c1ad4013985c5b005045dcf0a
This commit is contained in:
Michel Weststrate
2021-06-21 08:35:52 -07:00
committed by Facebook GitHub Bot
parent c1860ec19c
commit e40faaef3f
2 changed files with 36 additions and 34 deletions

View File

@@ -90,22 +90,6 @@ export function setupMenuBar(
// create actual menu instance
const applicationMenu = electron.remote.Menu.buildFromTemplate(template);
// add menu items to map, so we can modify them easily later
registeredActions.forEach((keyboardAction) => {
if (keyboardAction != null) {
const {topLevelMenu, label, action} = keyboardAction;
const menu = applicationMenu.items.find(
(menuItem) => menuItem.label === topLevelMenu,
);
if (menu && menu.submenu) {
const menuItem = menu.submenu.items.find(
(menuItem) => menuItem.label === label,
);
menuItem && menuItems.set(action, menuItem);
}
}
});
// update menubar
electron.remote.Menu.setApplicationMenu(applicationMenu);
}
@@ -209,6 +193,8 @@ export function addSandyPluginEntries(entries: NormalizedMenuEntry[]) {
parent.submenu!.append(item);
menuItems.set(entry.action!, item);
changedItems = true;
} else {
console.warn('Invalid top level menu: ' + entry.topLevelMenu);
}
}
}