finally more structure

This commit is contained in:
2024-05-20 18:50:10 +02:00
parent 7becf9b4ea
commit fb0898fad1
22 changed files with 279 additions and 106 deletions

View File

@@ -1,6 +1,7 @@
using OwnChar.App.Desktop.Api;
using OwnChar.App.Desktop.UI.Windows;
using OwnChar.Plugins;
using Pilz.Configuration;
using System;
using System.IO;
using System.Linq;
@@ -12,16 +13,26 @@ namespace OwnChar.App.Desktop
{
internal static class Program
{
public static ISettingsManager? SettingsManager { get; private set; }
public static string? AppTempFolder { get; private set; }
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// Load settings
AppTempFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "OwnChar", "Desktop");
SettingsManager = new SettingsManager(Path.Combine(AppTempFolder, "Settings.json"), true);
AppApi.Instance.Settings = SettingsManager.Instance;
// Prepair user interface
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ThemeResolutionService.ApplicationThemeName = new Office2019LightTheme().ThemeName;
// Load plugins
OwnCharPlugins.Instance.LoadOwnPlugins();
var pluginPath = Path.Combine(Path.GetDirectoryName(Pilz.IO.Extensions.GetExecutablePath())!, "Plugins");
if (Directory.Exists(pluginPath))
@@ -30,8 +41,9 @@ namespace OwnChar.App.Desktop
OwnCharPlugins.Instance.LoadPlugins(plugins);
}
// Start main window
var mainWindow = new MainWindow();
IOwnCharApi.Instance.MainWindow = mainWindow.Api;
AppApi.Instance.MainWindow = mainWindow.Api;
Application.Run(mainWindow);
}
}