Prepare for Avalonia app - rename LHM UI project (#2360)

* Prepare for Avalonia app - rename LHM UI project.

* Rename

* Fix icons not being displayed.

* Rename workflow project
This commit is contained in:
Blacktempel
2026-05-15 10:29:57 +02:00
committed by GitHub
parent 91b01784ca
commit e1f284cbb6
133 changed files with 133 additions and 131 deletions
@@ -0,0 +1,61 @@
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// Copyright (C) LibreHardwareMonitor and Contributors.
// Partial Copyright (C) Michael Möller <mmoeller@openhardwaremonitor.org> and Contributors.
// All Rights Reserved.
using System.Drawing;
using System.IO;
using System.Reflection;
namespace LibreHardwareMonitor.Windows.Forms.Utilities;
public class EmbeddedResources
{
const string ResourceNamespace = $"LibreHardwareMonitor.Windows.Forms.Resources";
public static Image GetImage(string name)
{
name = $"{ResourceNamespace}." + name;
string[] names = Assembly.GetExecutingAssembly().GetManifestResourceNames();
for (int i = 0; i < names.Length; i++)
{
if (names[i].Replace('\\', '.') == name)
{
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(names[i]))
{
// "You must keep the stream open for the lifetime of the Image."
Image image = Image.FromStream(stream);
// so we just create a copy of the image
Bitmap bitmap = new Bitmap(image);
// and dispose it right here
image.Dispose();
return bitmap;
}
}
}
return new Bitmap(1, 1);
}
public static Icon GetIcon(string name)
{
name = $"{ResourceNamespace}." + name;
string[] names = Assembly.GetExecutingAssembly().GetManifestResourceNames();
for (int i = 0; i < names.Length; i++)
{
if (names[i].Replace('\\', '.') == name)
{
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(names[i]))
{
return new Icon(stream);
}
}
}
return null;
}
}