Beispiel #1
0
        void PrepareTask(ApplicationJumpTaskWrap task)
        {
            IApplicationJumpTaskInfoInternal taskInternal = task.ApplicationJumpTask;

            if (taskInternal.IsInitialized)
            {
                return;
            }
            string iconResourceName;

            if (task.ApplicationJumpTask.Icon == null)
            {
                task.IconResourcePath  = task.ApplicationJumpTask.IconResourcePath;
                task.IconResourceIndex = task.ApplicationJumpTask.IconResourceIndex;
                iconResourceName       = string.Format("{0}_{1}", task.IconResourcePath, task.IconResourceIndex);
            }
            else
            {
                if (task.ApplicationJumpTask.IconResourcePath != null)
                {
                    throw new ApplicationJumpTaskBothIconAndIconResourcePathSpecifiedException();
                }
                string iconResourcePath;
                if (!IconStorage.TryStoreIconToFile(task.ApplicationJumpTask.Icon, NativeResourceManager.ExpandVariables(IconStorageFolder), out iconResourceName, out iconResourcePath))
                {
                    throw new ApplicationJumpTaskInvalidIconException();
                }
                task.IconResourcePath  = iconResourcePath;
                task.IconResourceIndex = 0;
            }
            if (task.ApplicationJumpTask.CommandId == null)
            {
                taskInternal.SetAutoGeneratedCommandId(string.Format("{0}${1}${2}", task.ApplicationJumpTask.CustomCategory, task.ApplicationJumpTask.Title, iconResourceName));
            }
        }
        void IJumpAction.Execute()
        {
            IApplicationJumpTaskInfoInternal applicationJumpTask = ApplicationJumpTask;

            applicationJumpTask.Execute();
        }