83 lines
2.2 KiB
C#
83 lines
2.2 KiB
C#
using System;
|
|
|
|
using UnityEditor;
|
|
|
|
using Codice.Client.Common.Threading;
|
|
using Unity.PlasticSCM.Editor.UI;
|
|
|
|
#if !UNITY_6000_0_OR_NEWER
|
|
using SettingsWindow = Unity.PlasticSCM.Editor.UnityInternals.UnityEditor.SettingsWindow;
|
|
#endif
|
|
|
|
namespace Unity.PlasticSCM.Editor.Settings
|
|
{
|
|
internal static class OpenUVCSProjectSettings
|
|
{
|
|
internal static void ByDefault()
|
|
{
|
|
UVCSProjectSettingsProvider provider = OpenInUVCSProjectSettings();
|
|
|
|
if (provider == null)
|
|
return;
|
|
|
|
provider.OpenAllFoldouts();
|
|
}
|
|
|
|
internal static void InDiffAndMergeFoldout()
|
|
{
|
|
UVCSProjectSettingsProvider provider = OpenInUVCSProjectSettings();
|
|
|
|
if (provider == null)
|
|
return;
|
|
|
|
provider.OpenDiffAndMergeFoldout();
|
|
}
|
|
|
|
internal static void InShelveAndSwitchFoldout()
|
|
{
|
|
UVCSProjectSettingsProvider provider = OpenInUVCSProjectSettings();
|
|
|
|
if (provider == null)
|
|
return;
|
|
|
|
provider.OpenShelveAndSwitchFoldout();
|
|
}
|
|
|
|
internal static void InOtherFoldout()
|
|
{
|
|
UVCSProjectSettingsProvider provider = OpenInUVCSProjectSettings();
|
|
|
|
if (provider == null)
|
|
return;
|
|
|
|
provider.OpenOtherFoldout();
|
|
}
|
|
|
|
internal static UVCSProjectSettingsProvider OpenInUVCSProjectSettings()
|
|
{
|
|
SettingsWindow settingsWindow = OpenProjectSettingsWithUVCSSelected();
|
|
return GetUVCSProvider(settingsWindow);
|
|
}
|
|
|
|
internal static SettingsWindow OpenProjectSettingsWithUVCSSelected()
|
|
{
|
|
return SettingsWindow.Show(SettingsScope.Project, UnityConstants.PROJECT_SETTINGS_TAB_PATH);
|
|
}
|
|
|
|
internal static UVCSProjectSettingsProvider GetUVCSProvider(
|
|
SettingsWindow settingsWindow)
|
|
{
|
|
try
|
|
{
|
|
SettingsProvider provider = settingsWindow.GetCurrentProvider();
|
|
return provider as UVCSProjectSettingsProvider;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ExceptionsHandler.LogException("OpenUVCSProjectSettings", ex);
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
}
|