Add localisation support for displayNames in DirectorySelector's related classes (#6700)

This commit is contained in:
Denis Titovets
2026-01-18 19:03:25 +03:00
committed by GitHub
parent 44c42076fa
commit 23ac694fa2
8 changed files with 18 additions and 10 deletions

View File

@@ -5,6 +5,7 @@
using System.IO;
using osu.Framework.Graphics.Containers;
using osu.Framework.Localisation;
using osuTK;
namespace osu.Framework.Graphics.UserInterface
@@ -20,7 +21,7 @@ namespace osu.Framework.Graphics.UserInterface
Action = ShowHiddenItems.Toggle,
};
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, string displayName = null) => new BasicDirectorySelectorDirectory(directory, displayName);
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, LocalisableString? displayName = null) => new BasicDirectorySelectorDirectory(directory, displayName);
protected override DirectorySelectorDirectory CreateParentDirectoryItem(DirectoryInfo directory) => new BasicDirectorySelectorParentDirectory(directory);

View File

@@ -6,6 +6,7 @@
using System.IO;
using osu.Framework.Allocation;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osuTK;
namespace osu.Framework.Graphics.UserInterface
@@ -20,7 +21,7 @@ namespace osu.Framework.Graphics.UserInterface
protected override DirectorySelectorDirectory CreateRootDirectoryItem() => new BreadcrumbDisplayComputer();
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, string displayName = null) => new BreadcrumbDisplayDirectory(directory, displayName);
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, LocalisableString? displayName = null) => new BreadcrumbDisplayDirectory(directory, displayName);
protected partial class BreadcrumbDisplayComputer : BreadcrumbDisplayDirectory
{
@@ -36,7 +37,7 @@ namespace osu.Framework.Graphics.UserInterface
{
protected override IconUsage? Icon => Directory.Name.Contains(Path.DirectorySeparatorChar) ? base.Icon : null;
public BreadcrumbDisplayDirectory(DirectoryInfo directory, string displayName = null)
public BreadcrumbDisplayDirectory(DirectoryInfo directory, LocalisableString? displayName = null)
: base(directory, displayName)
{
}

View File

@@ -5,6 +5,7 @@
using System.IO;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
namespace osu.Framework.Graphics.UserInterface
{
@@ -19,7 +20,7 @@ namespace osu.Framework.Graphics.UserInterface
Font = FrameworkFont.Regular.With(size: FONT_SIZE)
};
public BasicDirectorySelectorDirectory(DirectoryInfo directory, string displayName = null)
public BasicDirectorySelectorDirectory(DirectoryInfo directory, LocalisableString? displayName = null)
: base(directory, displayName)
{
}

View File

@@ -6,6 +6,7 @@
using System.IO;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osuTK;
namespace osu.Framework.Graphics.UserInterface
@@ -26,7 +27,7 @@ namespace osu.Framework.Graphics.UserInterface
Action = ShowHiddenItems.Toggle,
};
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, string displayName = null) => new BasicDirectorySelectorDirectory(directory, displayName);
protected override DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, LocalisableString? displayName = null) => new BasicDirectorySelectorDirectory(directory, displayName);
protected override DirectorySelectorDirectory CreateParentDirectoryItem(DirectoryInfo directory) => new BasicDirectorySelectorParentDirectory(directory);

View File

@@ -11,6 +11,7 @@ using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Extensions.EnumExtensions;
using osu.Framework.Graphics.Containers;
using osu.Framework.Localisation;
using osu.Framework.Platform;
using osuTK;
@@ -42,7 +43,7 @@ namespace osu.Framework.Graphics.UserInterface
/// </remarks>
protected virtual Drawable CreateHiddenToggleButton() => Empty();
protected abstract DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, string displayName = null);
protected abstract DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, LocalisableString? displayName = null);
/// <summary>
/// Create the directory item that resolves the parent directory.

View File

@@ -10,6 +10,7 @@ using JetBrains.Annotations;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Graphics.Containers;
using osu.Framework.Localisation;
using osuTK;
namespace osu.Framework.Graphics.UserInterface
@@ -25,7 +26,7 @@ namespace osu.Framework.Graphics.UserInterface
/// <summary>
/// Create a directory item in the breadcrumb trail.
/// </summary>
protected abstract DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, string displayName = null);
protected abstract DirectorySelectorDirectory CreateDirectoryItem(DirectoryInfo directory, LocalisableString? displayName = null);
/// <summary>
/// Create the root directory item in the breadcrumb trail.

View File

@@ -9,6 +9,7 @@ using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Input.Events;
using osu.Framework.Extensions.EnumExtensions;
using osu.Framework.Localisation;
namespace osu.Framework.Graphics.UserInterface
{
@@ -20,7 +21,7 @@ namespace osu.Framework.Graphics.UserInterface
[Resolved]
private Bindable<DirectoryInfo> currentDirectory { get; set; }
protected DirectorySelectorDirectory(DirectoryInfo directory, string displayName = null)
protected DirectorySelectorDirectory(DirectoryInfo directory, LocalisableString? displayName = null)
: base(displayName)
{
Directory = directory;

View File

@@ -6,13 +6,14 @@
using osu.Framework.Allocation;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osuTK;
namespace osu.Framework.Graphics.UserInterface
{
public abstract partial class DirectorySelectorItem : CompositeDrawable
{
private readonly string displayName;
private readonly LocalisableString? displayName;
/// <summary>
/// Gets or sets the font size of this <see cref="DirectorySelectorItem"/>'s icon and text.
@@ -31,7 +32,7 @@ namespace osu.Framework.Graphics.UserInterface
protected FillFlowContainer Flow;
protected DirectorySelectorItem(string displayName = null)
protected DirectorySelectorItem(LocalisableString? displayName = null)
{
this.displayName = displayName;
}