bloxstrap/Bloxstrap/Extensions/BootstrapperIconEx.cs
pizzaboxer 1df1a8495c
Make logging more consistent
consistent prefix names, and logging exceptions in english
2023-07-25 19:08:43 +01:00

48 lines
1.8 KiB
C#

using System.Drawing;
namespace Bloxstrap.Extensions
{
static class BootstrapperIconEx
{
// small note on handling icon sizes
// i'm using multisize icon packs here with sizes 16, 24, 32, 48, 64 and 128
// use this for generating multisize packs: https://www.aconvert.com/icon/
public static Icon GetIcon(this BootstrapperIcon icon)
{
const string LOG_IDENT = "BootstrapperIconEx::GetIcon";
// load the custom icon file
if (icon == BootstrapperIcon.IconCustom)
{
Icon? customIcon = null;
try
{
customIcon = new Icon(App.Settings.Prop.BootstrapperIconCustomLocation);
}
catch (Exception ex)
{
App.Logger.WriteLine(LOG_IDENT, $"Failed to load custom icon!");
App.Logger.WriteException(LOG_IDENT, ex);
}
return customIcon ?? Properties.Resources.IconBloxstrap;
}
return icon switch
{
BootstrapperIcon.IconBloxstrap => Properties.Resources.IconBloxstrap,
BootstrapperIcon.Icon2008 => Properties.Resources.Icon2008,
BootstrapperIcon.Icon2011 => Properties.Resources.Icon2011,
BootstrapperIcon.IconEarly2015 => Properties.Resources.IconEarly2015,
BootstrapperIcon.IconLate2015 => Properties.Resources.IconLate2015,
BootstrapperIcon.Icon2017 => Properties.Resources.Icon2017,
BootstrapperIcon.Icon2019 => Properties.Resources.Icon2019,
BootstrapperIcon.Icon2022 => Properties.Resources.Icon2022,
_ => Properties.Resources.IconBloxstrap
};
}
}
}