84 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			84 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using System; | |||
|  | 
 | |||
|  | using Codice.Client.BaseCommands; | |||
|  | using Codice.Client.BaseCommands.CheckIn.Progress; | |||
|  | using Codice.Client.Commands.CheckIn; | |||
|  | using Codice.CM.Common; | |||
|  | using PlasticGui; | |||
|  | using PlasticGui.WorkspaceWindow; | |||
|  | 
 | |||
|  | namespace Unity.PlasticSCM.Editor.Developer | |||
|  | { | |||
|  |     internal class CheckinProgress | |||
|  |     { | |||
|  |         internal bool CancelPressed; | |||
|  | 
 | |||
|  |         internal CheckinProgress(WorkspaceInfo wkInfo, WorkspaceWindow workspaceWindow) | |||
|  |         { | |||
|  |             mWkInfo = wkInfo; | |||
|  |             mWorkspaceWindow = workspaceWindow; | |||
|  | 
 | |||
|  |             mWorkspaceWindow.Progress.CanCancelProgress = true; | |||
|  | 
 | |||
|  |             mProgressRender = new CheckinUploadProgressRender( | |||
|  |                 PlasticLocalization.GetString( | |||
|  |                     PlasticLocalization.Name.CheckinProgressMultiThreadUploading), | |||
|  |                 PlasticLocalization.GetString( | |||
|  |                     PlasticLocalization.Name.CheckinProgressMultiThreadNumOfBlocks), | |||
|  |                 PlasticLocalization.GetString(PlasticLocalization.Name.CheckinProgressUploadingFiles), | |||
|  |                 PlasticLocalization.GetString( | |||
|  |                     PlasticLocalization.Name.CheckinProgressUploadingFileData), | |||
|  |                 PlasticLocalization.GetString(PlasticLocalization.Name.CheckinProgressOf), | |||
|  |                 PlasticLocalization.GetString( | |||
|  |                     PlasticLocalization.Name.RemainingProgressMessage)); | |||
|  |         } | |||
|  | 
 | |||
|  |         internal void Refresh( | |||
|  |             CheckinStatus checkinStatus, | |||
|  |             BuildProgressSpeedAndRemainingTime.ProgressData progressData) | |||
|  |         { | |||
|  |             if (checkinStatus == null) | |||
|  |                 return; | |||
|  | 
 | |||
|  |             var progress = mWorkspaceWindow.Progress; | |||
|  | 
 | |||
|  |             progress.ProgressHeader = checkinStatus.StatusString; | |||
|  | 
 | |||
|  |             if (checkinStatus.Status >= EnumCheckinStatus.eciConfirming) | |||
|  |                 progress.CanCancelProgress = false; | |||
|  | 
 | |||
|  |             if (checkinStatus.Status == EnumCheckinStatus.eciCancelling) | |||
|  |                 return; | |||
|  | 
 | |||
|  |             int nowTicks = Environment.TickCount; | |||
|  | 
 | |||
|  |             progress.TotalProgressMessage = mProgressRender.GetUploadSize( | |||
|  |                 checkinStatus.TransferredSize, checkinStatus.TotalSize, progressData); | |||
|  | 
 | |||
|  |             progress.TotalProgressPercent = GetProgressBarPercent.ForTransfer( | |||
|  |                 checkinStatus.TransferredSize, checkinStatus.TotalSize) / 100f; | |||
|  | 
 | |||
|  |             progress.ShowCurrentBlock = mProgressRender. | |||
|  |                 NeedShowCurrentBlockForCheckinStatus(checkinStatus, nowTicks); | |||
|  | 
 | |||
|  |             string currentFileInfo = mProgressRender.GetCurrentFileInfo( | |||
|  |                 checkinStatus.CurrentCheckinBlock, mWkInfo.ClientPath); | |||
|  | 
 | |||
|  |             progress.ProgressHeader = currentFileInfo; | |||
|  | 
 | |||
|  |             float fileProgressBarValue = GetProgressBarPercent.ForTransfer( | |||
|  |                  checkinStatus.CurrentCheckinBlock.UploadedSize, | |||
|  |                  checkinStatus.CurrentCheckinBlock.BlockSize) / 100f; | |||
|  | 
 | |||
|  |             progress.CurrentBlockProgressPercent = fileProgressBarValue; | |||
|  | 
 | |||
|  |             progress.CurrentBlockProgressMessage = mProgressRender.GetCurrentBlockUploadSize( | |||
|  |                  checkinStatus.CurrentCheckinBlock, nowTicks); | |||
|  |         } | |||
|  | 
 | |||
|  |         CheckinUploadProgressRender mProgressRender; | |||
|  |         WorkspaceWindow mWorkspaceWindow; | |||
|  |         WorkspaceInfo mWkInfo; | |||
|  |     } | |||
|  | } |