60 lines
2.2 KiB
C#
60 lines
2.2 KiB
C#
using OfficeOpenXml;
|
|
using Pilz;
|
|
using Pilz.Configuration;
|
|
using Pilz.Plugins.Advanced;
|
|
using Pilz.UI.WinForms.Telerik.Dialogs;
|
|
using Pilz.UI.WinForms.Telerik.Symbols;
|
|
using Pilz.UI.WinForms.Telerik.Theming;
|
|
using Telerik.WinControls.Themes;
|
|
|
|
[assembly: AssemblyAppVersion("1.0.0.0")]
|
|
|
|
namespace ModpackUpdater.Apps.Manager;
|
|
|
|
public static class Program
|
|
{
|
|
public static IRadSymbolFactory<AppSymbols> Symbols { get; } = new AppSymbolFactory();
|
|
|
|
private static readonly SettingsManager settingsManager;
|
|
|
|
public static ISettings Settings => settingsManager.Instance;
|
|
|
|
static Program()
|
|
{
|
|
ExcelPackage.License.SetNonCommercialPersonal("Pilzinsel64");
|
|
settingsManager = new(GetSettingsPath(), true);
|
|
}
|
|
|
|
/// <summary>
|
|
/// The main entry point for the application.
|
|
/// </summary>
|
|
[STAThread]
|
|
internal static void Main()
|
|
{
|
|
// To customize application configuration such as set high DPI settings or default font,
|
|
// see https://aka.ms/applicationconfiguration.
|
|
ApplicationConfiguration.Initialize();
|
|
ThemeHelper.ApplyApplicationTheme(new ThemeDefinition(ApplicationTheme.Auto, HighContrastMode.Auto), n => n.Theme switch
|
|
{
|
|
ApplicationTheme.Light => new Windows11CompactTheme(),
|
|
ApplicationTheme.Gray or ApplicationTheme.Dark => new Windows11CompactDarkTheme(),
|
|
_ => throw new NotImplementedException(),
|
|
});
|
|
RadFlyoutBase.ConfirmSvg = Symbols.GetSvgImage(AppSymbols.checkmark, Pilz.UI.Symbols.SymbolSize.Small);
|
|
RadFlyoutBase.CancelSvg = Symbols.GetSvgImage(AppSymbols.cancel, Pilz.UI.Symbols.SymbolSize.Small);
|
|
PluginFeatureController.Instance.RegisterAllOwn();
|
|
Application.Run(new Ui.MainForm());
|
|
}
|
|
|
|
private static string GetSettingsPath()
|
|
{
|
|
const string AppDataDirectoryName = "MinecraftModpackUpdateManager";
|
|
var SettingsFileName = $"Settings.json";
|
|
|
|
var settingsPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), AppDataDirectoryName);
|
|
Directory.CreateDirectory(settingsPath);
|
|
settingsPath = Path.Combine(settingsPath, SettingsFileName);
|
|
|
|
return settingsPath;
|
|
}
|
|
} |