|
|
|
|
using System;
|
|
|
|
|
using System.IO;
|
|
|
|
|
|
|
|
|
|
using Codice.Client.Commands;
|
|
|
|
|
using Codice.Client.Common;
|
|
|
|
|
using Codice.Client.BaseCommands;
|
|
|
|
|
using Codice.LogWrapper;
|
|
|
|
|
using PlasticGui;
|
|
|
|
|
using Codice.Client.BaseCommands.Sync;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Unity.PlasticSCM.Editor.CollabMigration
|
|
|
|
|
{
|
|
|
|
|
internal class MigrationProgressRender
|
|
|
|
|
{
|
|
|
|
|
internal static string FixNotificationPath(string wkPath, string notification)
|
|
|
|
|
{
|
|
|
|
|
if (notification == null)
|
|
|
|
|
return string.Empty;
|
|
|
|
|
|
|
|
|
|
int position = notification.ToLower().IndexOf(wkPath.ToLower());
|
|
|
|
|
|
|
|
|
|
if (position < 0)
|
|
|
|
|
return notification;
|
|
|
|
|
|
|
|
|
|
return notification.Remove(position, wkPath.Length + 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal static string GetProgressString(
|
|
|
|
|
CreateWorkspaceFromCollab.Progress status,
|
|
|
|
|
BuildProgressSpeedAndRemainingTime.ProgressData progressData,
|
|
|
|
|
DateTime now,
|
|
|
|
|
double smoothingFactor,
|
|
|
|
|
string updateProgressCalculatingMessage,
|
|
|
|
|
string updateProgressSingularMessage,
|
|
|
|
|
string updateProgressPluralMessage,
|
|
|
|
|
string remainingMessage)
|
|
|
|
|
{
|
|
|
|
|
if (status.CurrentStatus == CreateWorkspaceFromCollab.Progress.Status.Starting)
|
|
|
|
|
return updateProgressCalculatingMessage;
|
|
|
|
|
|
|
|
|
|
progressData.StartTimerIfNotStarted(now);
|
|
|
|
|
|
|
|
|
|
string updatedSize;
|
|
|
|
|
string totalSize;
|
|
|
|
|
GetFormattedSizes.ForTransfer(
|
|
|
|
|
status.ProcessedSize,
|
|
|
|
|
status.TotalSize,
|
|
|
|
|
out updatedSize,
|
|
|
|
|
out totalSize);
|
|
|
|
|
|
|
|
|
|
string details = string.Format(
|
|
|
|
|
status.TotalFiles == 1 ?
|
|
|
|
|
updateProgressSingularMessage :
|
|
|
|
|
updateProgressPluralMessage,
|
|
|
|
|
updatedSize,
|
|
|
|
|
totalSize,
|
|
|
|
|
status.ProcessedFiles,
|
|
|
|
|
status.TotalFiles,
|
|
|
|
|
BuildProgressSpeedAndRemainingTime.ForTransfer(
|
|
|
|
|
progressData,
|
|
|
|
|
now,
|
|
|
|
|
status.TotalSize,
|
|
|
|
|
status.ProcessedSize,
|
|
|
|
|
smoothingFactor,
|
|
|
|
|
remainingMessage));
|
|
|
|
|
|
|
|
|
|
return details;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static ILog mLog = LogManager.GetLogger("MigrationProgressRender");
|
|
|
|
|
}
|
|
|
|
|
}
|