Change to use static method for import path ui.

This commit is contained in:
Chandler Cox
2025-01-06 15:58:09 -06:00
parent a313db22d2
commit 99ba59d02a
8 changed files with 42 additions and 97 deletions

View File

@@ -383,6 +383,28 @@ namespace FlaxEditor.Utilities
File.Delete(file);
}
/// <summary>
/// Creates an Import path ui that show the asset import path and adds a button to show the folder in the file system.
/// </summary>
/// <param name="parentLayout">The parent layout container.</param>
/// <param name="assetItem">The asset item to get the import path of.</param>
public static void CreateImportPathUI(CustomEditors.LayoutElementsContainer parentLayout, Content.BinaryAssetItem assetItem)
{
assetItem.GetImportPath(out var path);
if (!string.IsNullOrEmpty(path))
{
parentLayout.Space(5);
parentLayout.Label("Import Path:");
var textBox = parentLayout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here.";
textBox.IsReadOnly = true;
textBox.Text = path;
parentLayout.Space(2);
var button = parentLayout.Button(Constants.ShowInExplorer).Button;
button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path));
}
}
/// <summary>
/// Copies the directory. Supports subdirectories copy with files override option.
/// </summary>

View File

@@ -210,20 +210,9 @@ namespace FlaxEditor.Windows.Assets
var importSettingsField = typeof(PropertiesProxy).GetField("ImportSettings", BindingFlags.NonPublic | BindingFlags.Instance);
var importSettingsValues = new ValueContainer(new ScriptMemberInfo(importSettingsField)) { proxy.ImportSettings };
group.Object(importSettingsValues);
(proxy.Window.Item as BinaryAssetItem).GetImportPath(out var path);
if (!string.IsNullOrEmpty(path))
{
layout.Space(5);
layout.Label("Import Path:");
var textBox = layout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here.";
textBox.IsReadOnly = true;
textBox.Text = path;
layout.Space(2);
var button = layout.Button("Open Import Path in Explorer").Button;
button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path));
}
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy.Window.Item as BinaryAssetItem);
layout.Space(5);
var reimportButton = layout.Button("Reimport");

View File

@@ -100,20 +100,9 @@ namespace FlaxEditor.Windows.Assets
}
base.Initialize(layout);
(window.Item as BinaryAssetItem).GetImportPath(out var path);
if (!string.IsNullOrEmpty(path))
{
layout.Space(5);
layout.Label("Import Path:");
var textBox = layout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here.";
textBox.IsReadOnly = true;
textBox.Text = path;
layout.Space(2);
var button = layout.Button("Open Import Path in Explorer").Button;
button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path));
}
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, window.Item as BinaryAssetItem);
layout.Space(10);
var reimportButton = layout.Button("Reimport");

View File

@@ -53,20 +53,9 @@ namespace FlaxEditor.Windows.Assets
}
base.Initialize(layout);
(window.Item as BinaryAssetItem).GetImportPath(out var path);
if (!string.IsNullOrEmpty(path))
{
layout.Space(5);
layout.Label("Import Path:");
var textBox = layout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here.";
textBox.IsReadOnly = true;
textBox.Text = path;
layout.Space(2);
var button = layout.Button("Open Import Path in Explorer").Button;
button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path));
}
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, window.Item as BinaryAssetItem);
layout.Space(10);
var reimportButton = layout.Button("Reimport");

View File

@@ -759,19 +759,8 @@ namespace FlaxEditor.Windows.Assets
var importSettingsValues = new ValueContainer(new ScriptMemberInfo(importSettingsField)) { proxy.ImportSettings };
group.Object(importSettingsValues);
(proxy.Window.Item as BinaryAssetItem).GetImportPath(out var path);
if (!string.IsNullOrEmpty(path))
{
layout.Space(5);
layout.Label("Import Path:");
var textBox = layout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here.";
textBox.IsReadOnly = true;
textBox.Text = path;
layout.Space(2);
var button = layout.Button("Open Import Path in Explorer").Button;
button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path));
}
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy.Window.Item as BinaryAssetItem);
layout.Space(5);
var reimportButton = layout.Button("Reimport");

View File

@@ -1022,20 +1022,9 @@ namespace FlaxEditor.Windows.Assets
var importSettingsField = typeof(ImportPropertiesProxy).GetField("ImportSettings", BindingFlags.NonPublic | BindingFlags.Instance);
var importSettingsValues = new ValueContainer(new ScriptMemberInfo(importSettingsField)) { proxy.ImportSettings };
group.Object(importSettingsValues);
(proxy.Window.Item as BinaryAssetItem).GetImportPath(out var path);
if (!string.IsNullOrEmpty(path))
{
layout.Space(5);
layout.Label("Import Path:");
var textBox = layout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here.";
textBox.IsReadOnly = true;
textBox.Text = path;
layout.Space(2);
var button = layout.Button("Open Import Path in Explorer").Button;
button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path));
}
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy.Window.Item as BinaryAssetItem);
layout.Space(5);
var reimportButton = layout.Button("Reimport");

View File

@@ -119,20 +119,9 @@ namespace FlaxEditor.Windows.Assets
}
base.Initialize(layout);
(proxy._window.Item as BinaryAssetItem).GetImportPath(out var path);
if (!string.IsNullOrEmpty(path))
{
layout.Space(5);
layout.Label("Import Path:");
var textBox = layout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here.";
textBox.IsReadOnly = true;
textBox.Text = path;
layout.Space(2);
var button = layout.Button("Open Import Path in Explorer").Button;
button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path));
}
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy._window.Item as BinaryAssetItem);
layout.Space(10);
var reimportButton = layout.Button("Reimport");

View File

@@ -144,20 +144,9 @@ namespace FlaxEditor.Windows.Assets
// Import settings
base.Initialize(layout);
(proxy._window.Item as BinaryAssetItem).GetImportPath(out var path);
if (!string.IsNullOrEmpty(path))
{
layout.Space(5);
layout.Label("Import Path:");
var textBox = layout.TextBox().TextBox;
textBox.TooltipText = "Path is not editable here.";
textBox.IsReadOnly = true;
textBox.Text = path;
layout.Space(2);
var button = layout.Button("Open Import Path in Explorer").Button;
button.Clicked += () => FileSystem.ShowFileExplorer(Path.GetDirectoryName(path));
}
// Creates the import path UI
Utilities.Utils.CreateImportPathUI(layout, proxy._window.Item as BinaryAssetItem);
// Reimport
layout.Space(10);