90 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			90 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using UnityEditor; | ||
|  | using UnityEngine; | ||
|  | 
 | ||
|  | using Codice.Client.Common; | ||
|  | using PlasticGui; | ||
|  | using PlasticGui.WorkspaceWindow.Merge; | ||
|  | using Unity.PlasticSCM.Editor.UI; | ||
|  | 
 | ||
|  | namespace Unity.PlasticSCM.Editor.Views.Merge | ||
|  | { | ||
|  |     internal static class DrawMergeOverview | ||
|  |     { | ||
|  |         internal static void For( | ||
|  |             int directoryConflictCount, | ||
|  |             int fileConflictCount, | ||
|  |             MergeViewTexts.ChangesToApplySummary changesSummary) | ||
|  |         { | ||
|  |             DrawItem( | ||
|  |                 Images.GetConflictedIcon(), | ||
|  |                 PlasticLocalization.Name.DirectoryConflictsTitleSingular, | ||
|  |                 PlasticLocalization.Name.DirectoryConflictsTitlePlural, | ||
|  |                 directoryConflictCount, | ||
|  |                 0, | ||
|  |                 false); | ||
|  | 
 | ||
|  |             DrawItem( | ||
|  |                 Images.GetConflictedIcon(), | ||
|  |                 PlasticLocalization.Name.FileConflictsTitleSingular, | ||
|  |                 PlasticLocalization.Name.FileConflictsTitlePlural, | ||
|  |                 fileConflictCount, | ||
|  |                 0, | ||
|  |                 false); | ||
|  | 
 | ||
|  |             DrawItem( | ||
|  |                 Images.GetOutOfSyncIcon(), | ||
|  |                 PlasticLocalization.Name.MergeChangesMadeInSourceOfMergeOverviewSingular, | ||
|  |                 PlasticLocalization.Name.MergeChangesMadeInSourceOfMergeOverviewPlural, | ||
|  |                 changesSummary.FilesToModify, | ||
|  |                 changesSummary.SizeToModify, | ||
|  |                 true); | ||
|  | 
 | ||
|  |             DrawItem( | ||
|  |                 Images.GetAddedLocalIcon(), | ||
|  |                 PlasticLocalization.Name.MergeNewItemsToDownloadOverviewSingular, | ||
|  |                 PlasticLocalization.Name.MergeNewItemsToDownloadOverviewPlural, | ||
|  |                 changesSummary.FilesToAdd, | ||
|  |                 changesSummary.SizeToAdd, | ||
|  |                 true); | ||
|  | 
 | ||
|  |             DrawItem( | ||
|  |                 Images.GetDeletedRemoteIcon(), | ||
|  |                 PlasticLocalization.Name.MergeDeletesToApplyOverviewSingular, | ||
|  |                 PlasticLocalization.Name.MergeDeletesToApplyOverviewPlural, | ||
|  |                 changesSummary.FilesToDelete, | ||
|  |                 changesSummary.SizeToDelete, | ||
|  |                 true); | ||
|  |         } | ||
|  | 
 | ||
|  |         static void DrawItem( | ||
|  |             Texture2D icon, | ||
|  |             PlasticLocalization.Name singularLabel, | ||
|  |             PlasticLocalization.Name pluralLabel, | ||
|  |             int count, | ||
|  |             long size, | ||
|  |             bool showSize) | ||
|  |         { | ||
|  |             if (count == 0) | ||
|  |                 return; | ||
|  | 
 | ||
|  |             EditorGUILayout.BeginHorizontal(); | ||
|  | 
 | ||
|  |             GUIContent iconContent = new GUIContent(icon); | ||
|  |             GUILayout.Label(iconContent, GUILayout.Width(20f), GUILayout.Height(20f)); | ||
|  | 
 | ||
|  |             string label = PlasticLocalization.GetString(count > 1 ? pluralLabel : singularLabel); | ||
|  |             if (showSize) | ||
|  |                 label = string.Format(label, count, SizeConverter.ConvertToSizeString(size)); | ||
|  |             else | ||
|  |                 label = string.Format(label, count); | ||
|  | 
 | ||
|  |             GUIContent content = new GUIContent(label); | ||
|  |             GUILayout.Label(content, UnityStyles.MergeTab.InfoLabel); | ||
|  | 
 | ||
|  |             GUILayout.Space(5); | ||
|  | 
 | ||
|  |             EditorGUILayout.EndHorizontal(); | ||
|  |         } | ||
|  |     } | ||
|  | } |