SaveAction.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System.IO;
  2. using UnityEditor;
  3. using Codice.Client.Common;
  4. using PlasticGui;
  5. namespace Unity.PlasticSCM.Editor.Views.History
  6. {
  7. internal static class SaveAction
  8. {
  9. internal static string GetDestinationPath(
  10. string wkPath,
  11. string path,
  12. string defaultFileName)
  13. {
  14. string title = PlasticLocalization.GetString(
  15. PlasticLocalization.Name.SaveRevisionAs);
  16. string parentDirectory = GetDirectoryForSaveAs(wkPath, path);
  17. return EditorUtility.SaveFilePanel(
  18. title, parentDirectory, defaultFileName,
  19. string.Empty);
  20. }
  21. static string GetDirectoryForSaveAs(string wkPath, string path)
  22. {
  23. if (PathHelper.IsContainedOn(path, wkPath))
  24. return Path.GetDirectoryName(path);
  25. return WorkspacePath.GetWorkspacePathFromCmPath(
  26. wkPath,
  27. Path.GetDirectoryName(path),
  28. Path.DirectorySeparatorChar);
  29. }
  30. }
  31. }