89 lines
2.6 KiB
C#
89 lines
2.6 KiB
C#
|
using PlasticGui.WorkspaceWindow;
|
|||
|
using Unity.PlasticSCM.Editor.UI.StatusBar;
|
|||
|
|
|||
|
namespace Unity.PlasticSCM.Editor.Developer
|
|||
|
{
|
|||
|
internal class IncomingChangesNotifier :
|
|||
|
IIncomingChangesNotifier,
|
|||
|
CheckIncomingChanges.IUpdateIncomingChanges
|
|||
|
{
|
|||
|
bool IIncomingChangesNotifier.HasNotification
|
|||
|
{
|
|||
|
get { return mHasNotification; }
|
|||
|
}
|
|||
|
|
|||
|
IncomingChangesNotification IIncomingChangesNotifier.Notification
|
|||
|
{
|
|||
|
get { return mNotification; }
|
|||
|
}
|
|||
|
|
|||
|
internal IncomingChangesNotifier(
|
|||
|
PlasticWindow plasticWindow)
|
|||
|
{
|
|||
|
mPlasticWindow = plasticWindow;
|
|||
|
}
|
|||
|
|
|||
|
void CheckIncomingChanges.IUpdateIncomingChanges.Hide()
|
|||
|
{
|
|||
|
PlasticPlugin.SetNotificationStatus(
|
|||
|
mPlasticWindow,
|
|||
|
PlasticNotification.Status.None);
|
|||
|
|
|||
|
mNotification.Clear();
|
|||
|
|
|||
|
mHasNotification = false;
|
|||
|
|
|||
|
mPlasticWindow.Repaint();
|
|||
|
}
|
|||
|
|
|||
|
void CheckIncomingChanges.IUpdateIncomingChanges.Show(
|
|||
|
string infoText,
|
|||
|
string actionText,
|
|||
|
string tooltipText,
|
|||
|
CheckIncomingChanges.Severity severity,
|
|||
|
CheckIncomingChanges.Action action)
|
|||
|
{
|
|||
|
PlasticNotification.Status status = PlasticNotification.Status.None;
|
|||
|
if (severity == CheckIncomingChanges.Severity.Info)
|
|||
|
status = PlasticNotification.Status.IncomingChanges;
|
|||
|
else if (severity == CheckIncomingChanges.Severity.Warning)
|
|||
|
status = PlasticNotification.Status.Conflicts;
|
|||
|
|
|||
|
PlasticPlugin.SetNotificationStatus(
|
|||
|
mPlasticWindow,
|
|||
|
status);
|
|||
|
|
|||
|
UpdateData(
|
|||
|
mNotification,
|
|||
|
infoText,
|
|||
|
actionText,
|
|||
|
tooltipText,
|
|||
|
status,
|
|||
|
action);
|
|||
|
|
|||
|
mHasNotification = true;
|
|||
|
|
|||
|
mPlasticWindow.Repaint();
|
|||
|
}
|
|||
|
|
|||
|
static void UpdateData(
|
|||
|
IncomingChangesNotification data,
|
|||
|
string infoText,
|
|||
|
string actionText,
|
|||
|
string tooltipText,
|
|||
|
PlasticNotification.Status status,
|
|||
|
CheckIncomingChanges.Action action)
|
|||
|
{
|
|||
|
data.InfoText = infoText;
|
|||
|
data.ActionText = actionText;
|
|||
|
data.TooltipText = tooltipText;
|
|||
|
data.HasUpdateAction = action == CheckIncomingChanges.Action.Update;
|
|||
|
data.Status = status;
|
|||
|
}
|
|||
|
|
|||
|
bool mHasNotification;
|
|||
|
IncomingChangesNotification mNotification = new IncomingChangesNotification();
|
|||
|
|
|||
|
PlasticWindow mPlasticWindow;
|
|||
|
}
|
|||
|
}
|