diff --git a/Source/Editor/Windows/Assets/AnimationWindow.cs b/Source/Editor/Windows/Assets/AnimationWindow.cs index d0e6a3fe9..3c9f2c886 100644 --- a/Source/Editor/Windows/Assets/AnimationWindow.cs +++ b/Source/Editor/Windows/Assets/AnimationWindow.cs @@ -2,6 +2,7 @@ using System; using System.Globalization; +using System.IO; using System.Reflection; using System.Xml; using FlaxEditor.Content; @@ -209,9 +210,22 @@ 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.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)); + } layout.Space(5); - var reimportButton = group.Button("Reimport"); + var reimportButton = layout.Button("Reimport"); reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport(); } } diff --git a/Source/Editor/Windows/Assets/AudioClipWindow.cs b/Source/Editor/Windows/Assets/AudioClipWindow.cs index 998073858..be9e64ee4 100644 --- a/Source/Editor/Windows/Assets/AudioClipWindow.cs +++ b/Source/Editor/Windows/Assets/AudioClipWindow.cs @@ -1,5 +1,6 @@ // Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. +using System.IO; using System.Xml; using FlaxEditor.Content; using FlaxEditor.Content.Import; @@ -99,6 +100,19 @@ 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.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)); + } layout.Space(10); var reimportButton = layout.Button("Reimport"); diff --git a/Source/Editor/Windows/Assets/CubeTextureWindow.cs b/Source/Editor/Windows/Assets/CubeTextureWindow.cs index 56585bba8..13d3a9398 100644 --- a/Source/Editor/Windows/Assets/CubeTextureWindow.cs +++ b/Source/Editor/Windows/Assets/CubeTextureWindow.cs @@ -1,5 +1,6 @@ // Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. +using System.IO; using System.Xml; using FlaxEditor.Content; using FlaxEditor.Content.Import; @@ -52,6 +53,19 @@ 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.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)); + } layout.Space(10); var reimportButton = layout.Button("Reimport"); diff --git a/Source/Editor/Windows/Assets/ModelWindow.cs b/Source/Editor/Windows/Assets/ModelWindow.cs index c3e285973..0d4863cd1 100644 --- a/Source/Editor/Windows/Assets/ModelWindow.cs +++ b/Source/Editor/Windows/Assets/ModelWindow.cs @@ -1,6 +1,7 @@ // Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. using System.Collections.Generic; +using System.IO; using System.Linq; using System.Reflection; using System.Threading.Tasks; @@ -758,8 +759,21 @@ 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.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)); + } + layout.Space(5); - var reimportButton = group.Button("Reimport"); + var reimportButton = layout.Button("Reimport"); reimportButton.Button.Clicked += () => ((ImportPropertiesProxy)Values[0]).Reimport(); } } diff --git a/Source/Editor/Windows/Assets/SkinnedModelWindow.cs b/Source/Editor/Windows/Assets/SkinnedModelWindow.cs index 671512584..27f14af5c 100644 --- a/Source/Editor/Windows/Assets/SkinnedModelWindow.cs +++ b/Source/Editor/Windows/Assets/SkinnedModelWindow.cs @@ -1022,9 +1022,22 @@ 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.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)); + } layout.Space(5); - var reimportButton = group.Button("Reimport"); + var reimportButton = layout.Button("Reimport"); reimportButton.Button.Clicked += () => ((ImportPropertiesProxy)Values[0]).Reimport(); } } diff --git a/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs b/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs index 9601555d2..73646b660 100644 --- a/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs +++ b/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs @@ -1,5 +1,6 @@ // Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. +using System.IO; using System.Linq; using System.Xml; using FlaxEditor.Content; @@ -110,8 +111,28 @@ namespace FlaxEditor.Windows.Assets { public override void Initialize(LayoutElementsContainer layout) { + var proxy = (PropertiesProxy)Values[0]; + if (proxy._window == null) + { + layout.Label("Loading...", TextAlignment.Center); + return; + } + 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.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)); + } + layout.Space(10); var reimportButton = layout.Button("Reimport"); reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport(); diff --git a/Source/Editor/Windows/Assets/TextureWindow.cs b/Source/Editor/Windows/Assets/TextureWindow.cs index 68f138978..c1500adf2 100644 --- a/Source/Editor/Windows/Assets/TextureWindow.cs +++ b/Source/Editor/Windows/Assets/TextureWindow.cs @@ -1,5 +1,6 @@ // Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. +using System.IO; using System.Xml; using FlaxEditor.Content; using FlaxEditor.Content.Import; @@ -134,8 +135,28 @@ namespace FlaxEditor.Windows.Assets { public override void Initialize(LayoutElementsContainer layout) { + var proxy = (ImportPropertiesProxy)Values[0]; + if (proxy._window == null) + { + layout.Label("Loading...", TextAlignment.Center); + return; + } + // 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.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)); + } // Reimport layout.Space(10);