Skip to content

Commit

Permalink
add workaround for #412 - update to socket.io 2.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
GregorBiswanger committed May 21, 2020
1 parent 3b3e38f commit b043688
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 19 deletions.
19 changes: 19 additions & 0 deletions ElectronNET.API/Extensions/MenuItemExtensions.cs
Expand Up @@ -48,5 +48,24 @@ public static MenuItem GetMenuItem(this List<MenuItem> menuItems, string id)

return result;
}

public static MenuItem[] AddSubmenuTypes(this MenuItem[] menuItems)
{
for (int index = 0; index < menuItems.Length; index++)
{
var menuItem = menuItems[index];
if (menuItem?.Submenu?.Length > 0)
{
if(menuItem.Type == MenuType.normal)
{
menuItem.Type = MenuType.submenu;
}

AddSubmenuTypes(menuItem.Submenu);
}
}

return menuItems;
}
}
}
4 changes: 4 additions & 0 deletions ElectronNET.API/Menu.cs
Expand Up @@ -56,6 +56,8 @@ public void SetApplicationMenu(MenuItem[] menuItems)
_menuItems.Clear();

menuItems.AddMenuItemsId();
menuItems.AddSubmenuTypes();

BridgeConnector.Socket.Emit("menu-setApplicationMenu", JArray.FromObject(menuItems, _jsonSerializer));
_menuItems.AddRange(menuItems);

Expand Down Expand Up @@ -83,6 +85,8 @@ public void SetApplicationMenu(MenuItem[] menuItems)
public void SetContextMenu(BrowserWindow browserWindow, MenuItem[] menuItems)
{
menuItems.AddMenuItemsId();
menuItems.AddSubmenuTypes();

BridgeConnector.Socket.Emit("menu-setContextMenu", browserWindow.Id, JArray.FromObject(menuItems, _jsonSerializer));

if (!_contextMenuItems.ContainsKey(browserWindow.Id))
Expand Down

0 comments on commit b043688

Please sign in to comment.