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(); }