Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }