using Codice.Client.Commands; using Codice.Client.Common; using PlasticGui; using Unity.PlasticSCM.Editor.UI; namespace Unity.PlasticSCM.Editor.Views { internal class ApplyShelveWithConflictsQuestionerBuilder : IApplyShelveWithConflictsQuestionerBuilder { public IApplyShelveWithConflictsQuestioner Get() { return new ApplyShelveWithConflictsQuestioner(); } } internal class ApplyShelveWithConflictsQuestioner : IApplyShelveWithConflictsQuestioner { ApplyShelveWithConflictsAction IApplyShelveWithConflictsQuestioner.ApplyShelveWithConflicts( string dstObject, long shelvesetId) { ApplyShelveWithConflictsAction result = ApplyShelveWithConflictsAction.Cancel; GUIActionRunner.RunGUIAction(() => { result = ConfirmContinue(dstObject); }); return result; } static ApplyShelveWithConflictsAction ConfirmContinue(string dstObject) { GuiMessage.GuiMessageResponseButton result = GuiMessage.ShowQuestion( PlasticLocalization.Name.ApplyShelveWithConflictsTitle.GetString(), PlasticLocalization.Name.ApplyShelveWithConflictsExplanation.GetString(dstObject), PlasticLocalization.Name.ResolveConflictsNow.GetString(), PlasticLocalization.Name.ResolveConflictsLater.GetString(), null); return result == GuiMessage.GuiMessageResponseButton.Positive ? ApplyShelveWithConflictsAction.ApplyShelve : ApplyShelveWithConflictsAction.Cancel; } } }