|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
using Codice.Client.BaseCommands;
|
|
|
|
|
using Codice.Client.Commands;
|
|
|
|
|
using PlasticGui.WorkspaceWindow;
|
|
|
|
|
using PlasticGui.WorkspaceWindow.Update;
|
|
|
|
|
|
|
|
|
|
namespace Unity.PlasticSCM.Editor.Developer
|
|
|
|
|
{
|
|
|
|
|
internal class UpdateProgress
|
|
|
|
|
{
|
|
|
|
|
internal UpdateProgress(
|
|
|
|
|
UpdateNotifier notifier, string wkPath, string title,
|
|
|
|
|
WorkspaceWindow workspaceWindow)
|
|
|
|
|
{
|
|
|
|
|
mNotifier = notifier;
|
|
|
|
|
mWkPath = wkPath;
|
|
|
|
|
mWorkspaceWindow = workspaceWindow;
|
|
|
|
|
|
|
|
|
|
mProgressData = new BuildProgressSpeedAndRemainingTime.ProgressData(DateTime.Now);
|
|
|
|
|
|
|
|
|
|
mWorkspaceWindow.Progress.ProgressHeader = title;
|
|
|
|
|
mWorkspaceWindow.Progress.CanCancelProgress = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal void OnUpdateProgress()
|
|
|
|
|
{
|
|
|
|
|
var progress = mWorkspaceWindow.Progress;
|
|
|
|
|
|
|
|
|
|
progress.ProgressHeader = UpdateProgressRender.FixNotificationPath(
|
|
|
|
|
mWkPath, mNotifier.GetNotificationMessage());
|
|
|
|
|
|
|
|
|
|
UpdateOperationStatus status = mNotifier.GetUpdateStatus();
|
|
|
|
|
|
|
|
|
|
progress.TotalProgressMessage = UpdateProgressRender.GetProgressString(
|
|
|
|
|
status, mProgressData);
|
|
|
|
|
|
|
|
|
|
progress.TotalProgressPercent = GetProgressBarPercent.ForTransfer(
|
|
|
|
|
status.UpdatedSize, status.TotalSize) / 100f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
readonly BuildProgressSpeedAndRemainingTime.ProgressData mProgressData;
|
|
|
|
|
readonly WorkspaceWindow mWorkspaceWindow;
|
|
|
|
|
readonly string mWkPath;
|
|
|
|
|
readonly UpdateNotifier mNotifier;
|
|
|
|
|
}
|
|
|
|
|
}
|