No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

IncomingChangesNotifier.cs 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using PlasticGui.Gluon.WorkspaceWindow;
  2. using Unity.PlasticSCM.Editor.UI.StatusBar;
  3. namespace Unity.PlasticSCM.Editor.Gluon
  4. {
  5. internal class IncomingChangesNotifier :
  6. IIncomingChangesNotifier,
  7. CheckIncomingChanges.IUpdateIncomingChanges
  8. {
  9. bool IIncomingChangesNotifier.HasNotification
  10. {
  11. get { return mHasNotification; }
  12. }
  13. IncomingChangesNotification IIncomingChangesNotifier.Notification
  14. {
  15. get { return mNotification; }
  16. }
  17. internal IncomingChangesNotifier(
  18. PlasticWindow plasticWindow)
  19. {
  20. mPlasticWindow = plasticWindow;
  21. }
  22. void CheckIncomingChanges.IUpdateIncomingChanges.Hide()
  23. {
  24. PlasticPlugin.SetNotificationStatus(
  25. mPlasticWindow,
  26. PlasticNotification.Status.None);
  27. mNotification.Clear();
  28. mHasNotification = false;
  29. mPlasticWindow.Repaint();
  30. }
  31. void CheckIncomingChanges.IUpdateIncomingChanges.Show(
  32. string infoText,
  33. string actionText,
  34. string tooltipText,
  35. CheckIncomingChanges.Severity severity)
  36. {
  37. PlasticNotification.Status status = PlasticNotification.Status.None;
  38. if (severity == CheckIncomingChanges.Severity.Info)
  39. status = PlasticNotification.Status.IncomingChanges;
  40. else if (severity == CheckIncomingChanges.Severity.Warning)
  41. status = PlasticNotification.Status.Conflicts;
  42. PlasticPlugin.SetNotificationStatus(
  43. mPlasticWindow,
  44. status);
  45. UpdateData(
  46. mNotification,
  47. infoText,
  48. actionText,
  49. tooltipText,
  50. status);
  51. mHasNotification = true;
  52. mPlasticWindow.Repaint();
  53. }
  54. static void UpdateData(
  55. IncomingChangesNotification data,
  56. string infoText,
  57. string actionText,
  58. string tooltipText,
  59. PlasticNotification.Status status)
  60. {
  61. data.InfoText = infoText;
  62. data.ActionText = actionText;
  63. data.TooltipText = tooltipText;
  64. data.HasUpdateAction = false;
  65. data.Status = status;
  66. }
  67. bool mHasNotification;
  68. IncomingChangesNotification mNotification = new IncomingChangesNotification();
  69. PlasticWindow mPlasticWindow;
  70. }
  71. }