1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 12:17:26 +08:00

Remove Win32Icon class and use plain strings instead

This commit is contained in:
Susko3 2024-02-07 21:33:23 +01:00
parent 17033e09f6
commit 57d5717e6a
3 changed files with 12 additions and 21 deletions

View File

@ -1,10 +1,17 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
using System.IO;
namespace osu.Desktop.Windows namespace osu.Desktop.Windows
{ {
public static class Icons public static class Icons
{ {
public static Win32Icon Lazer => new Win32Icon(@"lazer.ico"); /// <summary>
/// Fully qualified path to the directory that contains icons (in the installation folder).
/// </summary>
private static readonly string icon_directory = Path.GetDirectoryName(typeof(Icons).Assembly.Location)!;
public static string Lazer => Path.Join(icon_directory, "lazer.ico");
} }
} }

View File

@ -1,16 +0,0 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
namespace osu.Desktop.Windows
{
public class Win32Icon
{
public readonly string Path;
internal Win32Icon(string name)
{
string dir = System.IO.Path.GetDirectoryName(typeof(Win32Icon).Assembly.Location)!;
Path = System.IO.Path.Join(dir, name);
}
}
}

View File

@ -173,7 +173,7 @@ namespace osu.Desktop.Windows
#endregion #endregion
private record FileAssociation(string Extension, LocalisableString Description, Win32Icon Icon) private record FileAssociation(string Extension, LocalisableString Description, string IconPath)
{ {
private string getProgramId(string prefix) => $@"{prefix}.File{Extension}"; private string getProgramId(string prefix) => $@"{prefix}.File{Extension}";
@ -188,7 +188,7 @@ namespace osu.Desktop.Windows
using (var programKey = classes.CreateSubKey(programId)) using (var programKey = classes.CreateSubKey(programId))
{ {
using (var defaultIconKey = programKey.CreateSubKey(DEFAULT_ICON)) using (var defaultIconKey = programKey.CreateSubKey(DEFAULT_ICON))
defaultIconKey.SetValue(null, Icon.Path); defaultIconKey.SetValue(null, IconPath);
using (var openCommandKey = programKey.CreateSubKey(SHELL_OPEN_COMMAND)) using (var openCommandKey = programKey.CreateSubKey(SHELL_OPEN_COMMAND))
openCommandKey.SetValue(null, $@"""{exePath}"" ""%1"""); openCommandKey.SetValue(null, $@"""{exePath}"" ""%1""");
@ -225,7 +225,7 @@ namespace osu.Desktop.Windows
} }
} }
private record UriAssociation(string Protocol, LocalisableString Description, Win32Icon Icon) private record UriAssociation(string Protocol, LocalisableString Description, string IconPath)
{ {
/// <summary> /// <summary>
/// "The <c>URL Protocol</c> string value indicates that this key declares a custom pluggable protocol handler." /// "The <c>URL Protocol</c> string value indicates that this key declares a custom pluggable protocol handler."
@ -243,7 +243,7 @@ namespace osu.Desktop.Windows
protocolKey.SetValue(URL_PROTOCOL, string.Empty); protocolKey.SetValue(URL_PROTOCOL, string.Empty);
using (var defaultIconKey = protocolKey.CreateSubKey(DEFAULT_ICON)) using (var defaultIconKey = protocolKey.CreateSubKey(DEFAULT_ICON))
defaultIconKey.SetValue(null, Icon.Path); defaultIconKey.SetValue(null, IconPath);
using (var openCommandKey = protocolKey.CreateSubKey(SHELL_OPEN_COMMAND)) using (var openCommandKey = protocolKey.CreateSubKey(SHELL_OPEN_COMMAND))
openCommandKey.SetValue(null, $@"""{exePath}"" ""%1"""); openCommandKey.SetValue(null, $@"""{exePath}"" ""%1""");