protected void ExecuteShortcutAction(string groupId, WorkflowAction action) { //MP2-635: Don't execute the CP action again if we are already on the CP screen. //TODO: Make this more generic so it can handle any type of shortcut. if (groupId.Equals(MenuSettings.MENU_ID_PLAYING, StringComparison.OrdinalIgnoreCase) && IsCurrentPlaying()) { return; } action.Execute(); SetGroup(groupId, true); }
private void CreateShortcutItems() { foreach (var menuItem in MenuItems) { object action; if (!menuItem.AdditionalProperties.TryGetValue(Consts.KEY_ITEM_ACTION, out action)) { continue; } WorkflowAction wfAction = action as WorkflowAction; if (wfAction == null) { continue; } var shortCut = _menuSettings.Settings.MainMenuShortCuts.FirstOrDefault(sc => sc.ActionId == wfAction.ActionId); if (shortCut == null) { continue; } string groupId = shortCut.Id.ToString(); string groupName = shortCut.Name; var groupItem = new GroupMenuListItem(Consts.KEY_NAME, groupName); if (_menuSettings.Settings.DisableAutoSelection) { groupItem.Command = new MethodDelegateCommand(() => { wfAction.Execute(); SetGroup(groupId, true); }); } groupItem.AdditionalProperties["Id"] = groupId; groupItem.AdditionalProperties["ActionId"] = wfAction.ActionId; _mainMenuGroupList.Add(groupItem); } }