public override void Run(MouseButtons button, int clicks, int delta) { if (!ShouldRun(button, clicks, delta)) { return; } if (string.IsNullOrEmpty(_cmdPath)) { return; } Guid commandGuid; CContextMenuItem cmds; uint index; bool dynamic; if (!ContextMenuUtils.FindContextCommandByDefaultPath(_cmdPath, _context, out cmds, out commandGuid, out index, out dynamic)) { CConsole.Warning($"Contextmenu command {_cmdPath} not found."); } if (dynamic) { cmds.Execute(index, commandGuid, _context); } else { cmds.Execute(index, _context); } }
public void testFindContextMenu() { CContextMenuItem cmds; Guid guid; uint index; bool dyn; AssertEquals(ContextMenuUtils.FindContextCommandByDefaultPath("Playback Statistics/Rating//1", Context.NowPlaying, out cmds, out guid, out index, out dyn), true); AssertEquals(ContextMenuUtils.FindContextCommandByDefaultPath("Playback Statistics/Rating//2", Context.NowPlaying, out cmds, out guid, out index, out dyn), true); AssertEquals(ContextMenuUtils.FindContextCommandByDefaultPath("Playback Statistics/Rating//5", Context.NowPlaying, out cmds, out guid, out index, out dyn), true); AssertEquals(ContextMenuUtils.FindContextCommandByDefaultPath("Open Containing Folder", Context.NowPlaying, out cmds, out guid, out index, out dyn), true); }