From 4141f451b7308fc1253ffc40477b6b5a16ddcf8e Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Wed, 2 Jul 2025 20:53:53 +0800 Subject: [PATCH] The window height and width variable type is changed from double to int --- v2rayN/ServiceLib/Handler/ConfigHandler.cs | 14 ++++++++++++-- v2rayN/ServiceLib/Models/ConfigItems.cs | 8 ++++---- v2rayN/v2rayN.Desktop/Base/WindowBase.cs | 2 +- v2rayN/v2rayN.Desktop/Views/MainWindow.axaml.cs | 6 ++---- v2rayN/v2rayN/Views/MainWindow.xaml.cs | 6 ++---- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/v2rayN/ServiceLib/Handler/ConfigHandler.cs b/v2rayN/ServiceLib/Handler/ConfigHandler.cs index 5fb5471e..a3e35a33 100644 --- a/v2rayN/ServiceLib/Handler/ConfigHandler.cs +++ b/v2rayN/ServiceLib/Handler/ConfigHandler.cs @@ -2198,8 +2198,18 @@ public class ConfigHandler config.UiItem.WindowSizeItem.Add(sizeItem); } - sizeItem.Width = width; - sizeItem.Height = height; + sizeItem.Width = (int)width; + sizeItem.Height = (int)height; + + return 0; + } + + public static int SaveMainGirdHeight(Config config, double height1, double height2) + { + var uiItem = config.UiItem ?? new(); + + uiItem.MainGirdHeight1 = (int)(height1 + 0.1); + uiItem.MainGirdHeight2 = (int)(height2 + 0.1); return 0; } diff --git a/v2rayN/ServiceLib/Models/ConfigItems.cs b/v2rayN/ServiceLib/Models/ConfigItems.cs index bca32a53..c6254b9f 100644 --- a/v2rayN/ServiceLib/Models/ConfigItems.cs +++ b/v2rayN/ServiceLib/Models/ConfigItems.cs @@ -89,8 +89,8 @@ public class UIItem { public bool EnableAutoAdjustMainLvColWidth { get; set; } public bool EnableUpdateSubOnlyRemarksExist { get; set; } - public double MainGirdHeight1 { get; set; } - public double MainGirdHeight2 { get; set; } + public int MainGirdHeight1 { get; set; } + public int MainGirdHeight2 { get; set; } public EGirdOrientation MainGirdOrientation { get; set; } = EGirdOrientation.Vertical; public string? ColorPrimaryName { get; set; } public string? CurrentTheme { get; set; } @@ -250,6 +250,6 @@ public class Fragment4RayItem public class WindowSizeItem { public string TypeName { get; set; } - public double Width { get; set; } - public double Height { get; set; } + public int Width { get; set; } + public int Height { get; set; } } diff --git a/v2rayN/v2rayN.Desktop/Base/WindowBase.cs b/v2rayN/v2rayN.Desktop/Base/WindowBase.cs index ecdeb24f..ab687171 100644 --- a/v2rayN/v2rayN.Desktop/Base/WindowBase.cs +++ b/v2rayN/v2rayN.Desktop/Base/WindowBase.cs @@ -30,7 +30,7 @@ public class WindowBase : ReactiveWindow where TViewMode Height = sizeItem.Height; var workingArea = (Screens.ScreenFromWindow(this) ?? Screens.Primary).WorkingArea; - var scaling = VisualRoot is not null ? VisualRoot.RenderScaling : 1.0; + var scaling = VisualRoot?.RenderScaling ?? 1.0; var x = workingArea.X + ((workingArea.Width - (Width * scaling)) / 2); var y = workingArea.Y + ((workingArea.Height - (Height * scaling)) / 2); diff --git a/v2rayN/v2rayN.Desktop/Views/MainWindow.axaml.cs b/v2rayN/v2rayN.Desktop/Views/MainWindow.axaml.cs index 63646201..49d82998 100644 --- a/v2rayN/v2rayN.Desktop/Views/MainWindow.axaml.cs +++ b/v2rayN/v2rayN.Desktop/Views/MainWindow.axaml.cs @@ -464,13 +464,11 @@ public partial class MainWindow : WindowBase if (_config.UiItem.MainGirdOrientation == EGirdOrientation.Horizontal) { - _config.UiItem.MainGirdHeight1 = Math.Ceiling(gridMain.ColumnDefinitions[0].ActualWidth + 0.1); - _config.UiItem.MainGirdHeight2 = Math.Ceiling(gridMain.ColumnDefinitions[2].ActualWidth + 0.1); + ConfigHandler.SaveMainGirdHeight(_config, gridMain.ColumnDefinitions[0].ActualWidth, gridMain.ColumnDefinitions[2].ActualWidth); } else if (_config.UiItem.MainGirdOrientation == EGirdOrientation.Vertical) { - _config.UiItem.MainGirdHeight1 = Math.Ceiling(gridMain1.RowDefinitions[0].ActualHeight + 0.1); - _config.UiItem.MainGirdHeight2 = Math.Ceiling(gridMain1.RowDefinitions[2].ActualHeight + 0.1); + ConfigHandler.SaveMainGirdHeight(_config, gridMain1.RowDefinitions[0].ActualHeight, gridMain1.RowDefinitions[2].ActualHeight); } } diff --git a/v2rayN/v2rayN/Views/MainWindow.xaml.cs b/v2rayN/v2rayN/Views/MainWindow.xaml.cs index 256e1161..88af6334 100644 --- a/v2rayN/v2rayN/Views/MainWindow.xaml.cs +++ b/v2rayN/v2rayN/Views/MainWindow.xaml.cs @@ -423,13 +423,11 @@ public partial class MainWindow if (_config.UiItem.MainGirdOrientation == EGirdOrientation.Horizontal) { - _config.UiItem.MainGirdHeight1 = Math.Ceiling(gridMain.ColumnDefinitions[0].ActualWidth + 0.1); - _config.UiItem.MainGirdHeight2 = Math.Ceiling(gridMain.ColumnDefinitions[2].ActualWidth + 0.1); + ConfigHandler.SaveMainGirdHeight(_config, gridMain.ColumnDefinitions[0].ActualWidth, gridMain.ColumnDefinitions[2].ActualWidth); } else if (_config.UiItem.MainGirdOrientation == EGirdOrientation.Vertical) { - _config.UiItem.MainGirdHeight1 = Math.Ceiling(gridMain1.RowDefinitions[0].ActualHeight + 0.1); - _config.UiItem.MainGirdHeight2 = Math.Ceiling(gridMain1.RowDefinitions[2].ActualHeight + 0.1); + ConfigHandler.SaveMainGirdHeight(_config, gridMain1.RowDefinitions[0].ActualHeight, gridMain1.RowDefinitions[2].ActualHeight); } }