A game about forced loneliness, made by TACStudios
at master 122 lines 4.6 kB view raw
1using Codice.CM.Common; 2using Codice.CM.Common.Selectors; 3using GluonGui.WorkspaceWindow.Views.WorkspaceExplorer.Explorer; 4using PlasticGui.WorkspaceWindow.QueryViews.Branches; 5using Unity.PlasticSCM.Editor.AssetUtils; 6using Unity.PlasticSCM.Editor.UI; 7using Unity.PlasticSCM.Editor.Views.Branches.Dialogs; 8 9namespace Unity.PlasticSCM.Editor.Views.Changesets 10{ 11 internal partial class ChangesetsTab 12 { 13 void SwitchToChangesetForMode() 14 { 15 bool isCancelled; 16 mSaveAssets.UnderWorkspaceWithConfirmation( 17 mWkInfo.ClientPath, mWorkspaceOperationsMonitor, 18 out isCancelled); 19 20 if (isCancelled) 21 return; 22 23 if (mIsGluonMode) 24 { 25 SwitchToChangesetForGluon(); 26 return; 27 } 28 29 SwitchToChangesetForDeveloper(); 30 } 31 32 void SwitchToChangesetForDeveloper() 33 { 34 mChangesetOperations.SwitchToChangeset( 35 ChangesetsSelection.GetSelectedRepository(mChangesetsListView), 36 ChangesetsSelection.GetSelectedChangeset(mChangesetsListView), 37 RefreshAsset.BeforeLongAssetOperation, 38 items => RefreshAsset.AfterLongAssetOperation( 39 ProjectPackages.ShouldBeResolvedFromUpdateReport(mWkInfo, items))); 40 } 41 42 void SwitchToChangesetForGluon() 43 { 44 ChangesetExtendedInfo csetInfo = ChangesetsSelection.GetSelectedChangeset(mChangesetsListView); 45 46 new SwitchToUIOperation().SwitchToChangeset( 47 mWkInfo, 48 PlasticGui.Plastic.API.GetRepositorySpec(mWkInfo), 49 csetInfo.BranchName, 50 csetInfo.ChangesetId, 51 mViewHost, 52 mGluonNewIncomingChangesUpdater, 53 new UnityPlasticGuiMessage(), 54 mProgressControls, 55 mWorkspaceWindow.GluonProgressOperationHandler, 56 mGluonUpdateReport, 57 mWorkspaceWindow, 58 mShelvePendingChangesQuestionerBuilder, 59 mShelvedChangesUpdater, 60 mEnableSwitchAndShelveFeatureDialog, 61 RefreshAsset.BeforeLongAssetOperation, 62 items => RefreshAsset.AfterLongAssetOperation( 63 ProjectPackages.ShouldBeResolvedFromPaths(mWkInfo, items))); 64 } 65 66 void CreateBranchForMode() 67 { 68 if (mIsGluonMode) 69 { 70 CreateBranchForGluon(); 71 return; 72 } 73 74 CreateBranchForDeveloper(); 75 } 76 77 void CreateBranchForDeveloper() 78 { 79 RepositorySpec repSpec = ChangesetsSelection.GetSelectedRepository(mChangesetsListView); 80 ChangesetExtendedInfo csetInfo = ChangesetsSelection.GetSelectedChangeset(mChangesetsListView); 81 82 BranchCreationData branchCreationData = CreateBranchDialog.CreateBranchFromChangeset( 83 mParentWindow, 84 repSpec, 85 csetInfo); 86 87 mChangesetOperations.CreateBranch( 88 branchCreationData, 89 RefreshAsset.BeforeLongAssetOperation, 90 items => RefreshAsset.AfterLongAssetOperation( 91 ProjectPackages.ShouldBeResolvedFromUpdateReport(mWkInfo, items))); 92 } 93 94 void CreateBranchForGluon() 95 { 96 RepositorySpec repSpec = ChangesetsSelection.GetSelectedRepository(mChangesetsListView); 97 ChangesetExtendedInfo csetInfo = ChangesetsSelection.GetSelectedChangeset(mChangesetsListView); 98 99 BranchCreationData branchCreationData = CreateBranchDialog.CreateBranchFromChangeset( 100 mParentWindow, 101 repSpec, 102 csetInfo); 103 104 CreateBranchOperation.CreateBranch( 105 mWkInfo, 106 branchCreationData, 107 mViewHost, 108 mGluonNewIncomingChangesUpdater, 109 new UnityPlasticGuiMessage(), 110 mProgressControls, 111 mWorkspaceWindow.GluonProgressOperationHandler, 112 mGluonUpdateReport, 113 mWorkspaceWindow, 114 mShelvePendingChangesQuestionerBuilder, 115 mShelvedChangesUpdater, 116 mEnableSwitchAndShelveFeatureDialog, 117 RefreshAsset.BeforeLongAssetOperation, 118 items => RefreshAsset.AfterLongAssetOperation( 119 ProjectPackages.ShouldBeResolvedFromPaths(mWkInfo, items))); 120 } 121 } 122}