73 lines
2.1 KiB
C#
73 lines
2.1 KiB
C#
using GluonGui.WorkspaceWindow.Views.Checkin.Operations;
|
|
using GluonGui.WorkspaceWindow.Views.WorkspaceExplorer.Explorer;
|
|
|
|
namespace Unity.PlasticSCM.Editor.Gluon
|
|
{
|
|
internal class ProgressOperationHandler : IUpdateProgress, ICheckinProgress
|
|
{
|
|
internal ProgressOperationHandler(WorkspaceWindow workspaceWindow)
|
|
{
|
|
mWorkspaceWindow = workspaceWindow;
|
|
}
|
|
|
|
internal bool IsOperationInProgress()
|
|
{
|
|
return mUpdateProgress != null
|
|
|| mCheckinProgress != null;
|
|
}
|
|
|
|
internal void CancelUpdateProgress()
|
|
{
|
|
mUpdateProgress.Cancel();
|
|
}
|
|
|
|
void ICheckinProgress.ShowProgress()
|
|
{
|
|
mCheckinProgress = new CheckinProgress(mWorkspaceWindow);
|
|
}
|
|
|
|
void ICheckinProgress.RefreshProgress(CheckinProgressData progress)
|
|
{
|
|
mCheckinProgress.Refresh(progress);
|
|
}
|
|
|
|
void ICheckinProgress.EndProgress()
|
|
{
|
|
mCheckinProgress = null;
|
|
mWorkspaceWindow.Progress.ResetProgress();
|
|
mWorkspaceWindow.RequestRepaint();
|
|
}
|
|
|
|
void IUpdateProgress.ShowNoCancelableProgress()
|
|
{
|
|
mUpdateProgress = new UpdateProgress(mWorkspaceWindow);
|
|
mUpdateProgress.SetCancellable(false);
|
|
}
|
|
|
|
void IUpdateProgress.ShowCancelableProgress()
|
|
{
|
|
mUpdateProgress = new UpdateProgress(mWorkspaceWindow);
|
|
mUpdateProgress.SetCancellable(true);
|
|
}
|
|
|
|
void IUpdateProgress.RefreshProgress(
|
|
Codice.Client.BaseCommands.UpdateProgress updateProgress,
|
|
UpdateProgressData updateProgressData)
|
|
{
|
|
mUpdateProgress.RefreshProgress(updateProgress, updateProgressData);
|
|
}
|
|
|
|
void IUpdateProgress.EndProgress()
|
|
{
|
|
mUpdateProgress = null;
|
|
mWorkspaceWindow.Progress.ResetProgress();
|
|
mWorkspaceWindow.RequestRepaint();
|
|
}
|
|
|
|
UpdateProgress mUpdateProgress;
|
|
CheckinProgress mCheckinProgress;
|
|
|
|
WorkspaceWindow mWorkspaceWindow;
|
|
}
|
|
}
|