Compare commits

..

No commits in common. "c2ef3a4a8c8ea2f2aa1cba8921c44f78f0c278a5" and "bf1fb0f92e3cf50ad9205f11ccdf07f72dcee585" have entirely different histories.

4 changed files with 19 additions and 32 deletions

View file

@ -35,13 +35,9 @@ public class JsonUtils
/// <typeparam name="T"></typeparam> /// <typeparam name="T"></typeparam>
/// <param name="obj"></param> /// <param name="obj"></param>
/// <returns></returns> /// <returns></returns>
public static T? DeepCopy<T>(T? obj) public static T DeepCopy<T>(T obj)
{ {
if (obj is null) return Deserialize<T>(Serialize(obj, false))!;
{
return default;
}
return Deserialize<T>(Serialize(obj, false));
} }
/// <summary> /// <summary>
@ -71,7 +67,7 @@ public class JsonUtils
/// </summary> /// </summary>
/// <param name="strJson"></param> /// <param name="strJson"></param>
/// <returns></returns> /// <returns></returns>
public static JsonNode? ParseJson(string? strJson) public static JsonNode? ParseJson(string strJson)
{ {
try try
{ {
@ -120,7 +116,7 @@ public class JsonUtils
/// <param name="obj"></param> /// <param name="obj"></param>
/// <param name="options"></param> /// <param name="options"></param>
/// <returns></returns> /// <returns></returns>
public static string Serialize(object? obj, JsonSerializerOptions? options) public static string Serialize(object? obj, JsonSerializerOptions options)
{ {
var result = string.Empty; var result = string.Empty;
try try
@ -129,7 +125,7 @@ public class JsonUtils
{ {
return result; return result;
} }
result = JsonSerializer.Serialize(obj, options ?? _defaultSerializeOptions); result = JsonSerializer.Serialize(obj, options);
} }
catch (Exception ex) catch (Exception ex)
{ {

View file

@ -963,13 +963,13 @@ public class Utils
#region Platform #region Platform
public static bool IsWindows() => OperatingSystem.IsWindows(); public static bool IsWindows() => RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
public static bool IsLinux() => OperatingSystem.IsLinux(); public static bool IsLinux() => RuntimeInformation.IsOSPlatform(OSPlatform.Linux);
public static bool IsOSX() => OperatingSystem.IsMacOS(); public static bool IsOSX() => RuntimeInformation.IsOSPlatform(OSPlatform.OSX);
public static bool IsNonWindows() => !OperatingSystem.IsWindows(); public static bool IsNonWindows() => !RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
public static string GetExeName(string name) public static string GetExeName(string name)
{ {

View file

@ -10,17 +10,15 @@ public partial class App : Application
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException; TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
DataContext = StatusBarViewModel.Instance;
} }
public override void OnFrameworkInitializationCompleted() public override void OnFrameworkInitializationCompleted()
{ {
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{ {
if (!Design.IsDesignMode) AppManager.Instance.InitComponents();
{
AppManager.Instance.InitComponents();
DataContext = StatusBarViewModel.Instance;
}
desktop.Exit += OnExit; desktop.Exit += OnExit;
desktop.MainWindow = new MainWindow(); desktop.MainWindow = new MainWindow();

View file

@ -54,19 +54,12 @@ internal class Program
// Avalonia configuration, don't remove; also used by visual designer. // Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp() public static AppBuilder BuildAvaloniaApp()
{ {
var builder = AppBuilder.Configure<App>() return AppBuilder.Configure<App>()
.UsePlatformDetect() .UsePlatformDetect()
//.WithInterFont() //.WithInterFont()
.WithFontByDefault() .WithFontByDefault()
.LogToTrace() .LogToTrace()
.UseReactiveUI(); .UseReactiveUI()
.With(new MacOSPlatformOptions { ShowInDock = AppManager.Instance.Config.UiItem.MacOSShowInDock });
if (OperatingSystem.IsMacOS())
{
var showInDock = Design.IsDesignMode || AppManager.Instance.Config.UiItem.MacOSShowInDock;
builder = builder.With(new MacOSPlatformOptions { ShowInDock = showInDock });
}
return builder;
} }
} }