static bool IsApplicableForOperation( string path, bool isDirectory, AssetMenuOperations operation, IAssetStatusCache assetStatusCache) { SelectedAssetGroupInfo info = SelectedAssetGroupInfo.BuildFromSingleFile( path, isDirectory, assetStatusCache); return(AssetMenuUpdater.GetAvailableMenuOperations(info).HasFlag(operation)); }
static void Editor_finishedDefaultHeaderGUI(UnityEditor.Editor obj) { if (!mIsEnabled) { return; } AssetList assetList = mAssetsSelection.GetSelectedAssets(); if (mOperations == null || assetList.Count == 0 || string.IsNullOrEmpty(assetList[0].path)) { return; } string selectionFullPath = Path.GetFullPath(assetList[0].path); AssetsOverlays.AssetStatus assetStatus = (assetList.Count > 1) ? AssetsOverlays.AssetStatus.None : mStatusCache.GetStatusForPath(selectionFullPath); LockStatusData lockStatusData = mStatusCache.GetLockStatusDataForPath( selectionFullPath); SelectedAssetGroupInfo selectedGroupInfo = SelectedAssetGroupInfo. BuildFromAssetList(assetList, mStatusCache); AssetMenuOperations assetOperations = AssetMenuUpdater.GetAvailableMenuOperations(selectedGroupInfo); bool guiEnabledBck = GUI.enabled; GUI.enabled = true; try { DrawBackRectangle(guiEnabledBck); GUILayout.BeginHorizontal(); DrawStatusLabel(assetStatus, lockStatusData); GUILayout.FlexibleSpace(); DrawButtons(assetList, assetOperations); GUILayout.EndHorizontal(); } finally { GUI.enabled = guiEnabledBck; } }
public void TestUndoMenuDisabledForNotControlledSelection() { SelectedAssetGroupInfo groupInfo = new SelectedAssetGroupInfo() { SelectedCount = 5, IsControlledSelection = false, }; Assert.IsFalse( AssetMenuUpdater.GetAvailableMenuOperations(groupInfo) .HasFlag(AssetMenuOperations.Undo)); }
public void TestAddMenuDisabledForControlledFile() { SelectedAssetGroupInfo groupInfo = new SelectedAssetGroupInfo() { SelectedCount = 1, IsPrivateSelection = false, }; Assert.IsFalse( AssetMenuUpdater.GetAvailableMenuOperations(groupInfo) .HasFlag(AssetMenuOperations.Add)); }
public void TestCheckinMenuDisabledForNotCheckedinFile() { SelectedAssetGroupInfo groupInfo = new SelectedAssetGroupInfo() { SelectedCount = 1, IsControlledSelection = true, IsCheckedInSelection = true, }; Assert.IsFalse( AssetMenuUpdater.GetAvailableMenuOperations(groupInfo) .HasFlag(AssetMenuOperations.Checkin)); }
public void TestAddMenuEnabledForMultiplePrivate() { SelectedAssetGroupInfo groupInfo = new SelectedAssetGroupInfo() { SelectedCount = 5, IsPrivateSelection = true, IsFileSelection = true, }; Assert.IsTrue( AssetMenuUpdater.GetAvailableMenuOperations(groupInfo) .HasFlag(AssetMenuOperations.Add)); }
public void TestUndoMenuDisabledForDirectory() { SelectedAssetGroupInfo groupInfo = new SelectedAssetGroupInfo() { SelectedCount = 1, IsControlledSelection = true, IsCheckedInSelection = false, IsFileSelection = false, }; Assert.IsFalse( AssetMenuUpdater.GetAvailableMenuOperations(groupInfo) .HasFlag(AssetMenuOperations.Undo)); }
public void TestUndoMenuEnabledForNonCheckedInFile() { SelectedAssetGroupInfo groupInfo = new SelectedAssetGroupInfo() { SelectedCount = 1, IsControlledSelection = true, IsCheckedOutSelection = true, IsFileSelection = true, }; Assert.IsTrue( AssetMenuUpdater.GetAvailableMenuOperations(groupInfo) .HasFlag(AssetMenuOperations.Undo)); }
public void TestDiffMenuEnabledForCheckedInFile() { SelectedAssetGroupInfo groupInfo = new SelectedAssetGroupInfo() { SelectedCount = 1, IsFileSelection = true, IsCheckedInSelection = true, IsControlledSelection = true, HasAnyAddedInSelection = false, }; Assert.IsTrue( AssetMenuUpdater.GetAvailableMenuOperations(groupInfo) .HasFlag(AssetMenuOperations.Diff)); }
public void TestCheckoutMenuDisabledForAlreadyCheckedoutFiles() { SelectedAssetGroupInfo groupInfo = new SelectedAssetGroupInfo() { SelectedCount = 1, IsFileSelection = true, IsCheckedInSelection = false, IsControlledSelection = true, HasAnyAddedInSelection = false, }; Assert.IsFalse( AssetMenuUpdater.GetAvailableMenuOperations(groupInfo) .HasFlag(AssetMenuOperations.Checkout)); }
public void TestHistoryMenuDisabledForAddedFile() { SelectedAssetGroupInfo groupInfo = new SelectedAssetGroupInfo() { SelectedCount = 1, IsFileSelection = true, IsCheckedInSelection = true, IsControlledSelection = true, HasAnyAddedInSelection = true, }; Assert.IsFalse( AssetMenuUpdater.GetAvailableMenuOperations(groupInfo) .HasFlag(AssetMenuOperations.History)); }
static void Editor_finishedDefaultHeaderGUI(UnityEditor.Editor inspector) { if (!sIsEnabled) { return; } if (!FindWorkspace.HasWorkspace(Application.dataPath)) { Disable(); return; } sAssetSelection.SetActiveInspector(inspector); AssetList assetList = ((AssetOperations.IAssetSelection) sAssetSelection).GetSelectedAssets(); if (assetList.Count == 0 || string.IsNullOrEmpty(assetList[0].path)) { return; } string selectionFullPath = Path.GetFullPath(assetList[0].path); AssetsOverlays.AssetStatus assetStatus = (assetList.Count > 1) ? AssetsOverlays.AssetStatus.None : PlasticPlugin.AssetStatusCache.GetStatusForPath(selectionFullPath); LockStatusData lockStatusData = PlasticPlugin.AssetStatusCache.GetLockStatusDataForPath( selectionFullPath); SelectedAssetGroupInfo selectedGroupInfo = SelectedAssetGroupInfo. BuildFromAssetList(assetList, PlasticPlugin.AssetStatusCache); AssetMenuOperations assetOperations = AssetMenuUpdater.GetAvailableMenuOperations(selectedGroupInfo); bool guiEnabledBck = GUI.enabled; GUI.enabled = true; try { DrawBackRectangle(guiEnabledBck); GUILayout.BeginHorizontal(); DrawStatusLabel(assetStatus, lockStatusData); GUILayout.FlexibleSpace(); DrawButtons(assetList, assetOperations); GUILayout.EndHorizontal(); } finally { GUI.enabled = guiEnabledBck; } }