コード例 #1
0
 protected virtual int IndexOfItem(ApplicationJumpItemInfo item)
 {
     if (InteractionHelper.IsInDesignMode(this))
     {
         return(designModeItems.IndexOf(item));
     }
     return(nativeJumpList.IndexOf(ApplicationJumpItemWrapper.Wrap(item)));
 }
コード例 #2
0
 protected virtual ApplicationJumpItemInfo GetItem(int index)
 {
     if (InteractionHelper.IsInDesignMode(this))
     {
         return(designModeItems[index]);
     }
     return(ApplicationJumpItemWrapper.Unwrap(nativeJumpList[index]));
 }
コード例 #3
0
 protected virtual bool RemoveItem(ApplicationJumpItemInfo item)
 {
     if (InteractionHelper.IsInDesignMode(this))
     {
         return(designModeItems.Remove(item));
     }
     return(nativeJumpList.Remove(ApplicationJumpItemWrapper.Wrap(item)));
 }
コード例 #4
0
 protected virtual IEnumerable <ApplicationJumpItemInfo> GetItems()
 {
     if (InteractionHelper.IsInDesignMode(this))
     {
         return(designModeItems);
     }
     return(nativeJumpList.Select(i => ApplicationJumpItemWrapper.Unwrap(i)));
 }
コード例 #5
0
        JumpItem PrepareItem(ApplicationJumpItemInfo item, JumpItem itemToReplace)
        {
            JumpItem itemWrap            = ApplicationJumpItemWrapper.Wrap(item);
            ApplicationJumpTaskWrap task = itemWrap as ApplicationJumpTaskWrap;

            if (task != null)
            {
                PrepareTask(task);
                JumpItem existingItem = nativeJumpList.Find(task.ApplicationJumpTask.CommandId);
                if (existingItem != null && existingItem != itemToReplace)
                {
                    throw new ApplicationJumpTaskDuplicateCommandIdException();
                }
            }
            ISupportInitialize itemInit = item;

            itemInit.EndInit();
            return(itemWrap);
        }
コード例 #6
0
        public virtual IEnumerable <RejectedApplicationJumpItem> Apply()
        {
            if (InteractionHelper.IsInDesignMode(this))
            {
                return new RejectedApplicationJumpItem[] { }
            }
            ;
            jumpActionsManager.BeginUpdate();
            try {
                foreach (JumpItem jumpItem in nativeJumpList)
                {
                    ApplicationJumpItemWrapper.FillWrapProperties(jumpItem);
                    ApplicationJumpTaskWrap jumpTask = jumpItem as ApplicationJumpTaskWrap;
                    if (jumpTask != null)
                    {
                        jumpActionsManager.RegisterAction(jumpTask, CommandLineArgumentPrefix, GetLauncherPath);
                    }
                }
                IEnumerable <Tuple <JumpItem, JumpItemRejectionReason> > nativeRejectedItems = nativeJumpList.Apply() ?? new Tuple <JumpItem, JumpItemRejectionReason>[] { };

                return(nativeRejectedItems.Select(i => new RejectedApplicationJumpItem(ApplicationJumpItemWrapper.Unwrap(i.Item1), i.Item2)).ToArray());
            } finally {
                jumpActionsManager.EndUpdate();
            }
        }