From 2fefafdd37ed4bd3b92f555af5ebbe348ac42d19 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Sat, 17 Jan 2026 16:06:29 +0800 Subject: [PATCH] Add support for CoreType7 (Hysteria2) in option settings --- .../ViewModels/OptionSettingViewModel.cs | 9 ++++++++ .../Views/OptionSettingWindow.axaml | 21 +++++++++++++++---- .../Views/OptionSettingWindow.axaml.cs | 2 ++ v2rayN/v2rayN/Views/OptionSettingWindow.xaml | 18 +++++++++++++++- .../v2rayN/Views/OptionSettingWindow.xaml.cs | 2 ++ 5 files changed, 47 insertions(+), 5 deletions(-) diff --git a/v2rayN/ServiceLib/ViewModels/OptionSettingViewModel.cs b/v2rayN/ServiceLib/ViewModels/OptionSettingViewModel.cs index 73ec2681..86251873 100644 --- a/v2rayN/ServiceLib/ViewModels/OptionSettingViewModel.cs +++ b/v2rayN/ServiceLib/ViewModels/OptionSettingViewModel.cs @@ -108,6 +108,7 @@ public class OptionSettingViewModel : MyReactiveObject [Reactive] public string CoreType4 { get; set; } [Reactive] public string CoreType5 { get; set; } [Reactive] public string CoreType6 { get; set; } + [Reactive] public string CoreType7 { get; set; } [Reactive] public string CoreType9 { get; set; } #endregion CoreType @@ -276,6 +277,10 @@ public class OptionSettingViewModel : MyReactiveObject CoreType6 = type; break; + case 7: + CoreType7 = type; + break; + case 9: CoreType9 = type; break; @@ -427,6 +432,10 @@ public class OptionSettingViewModel : MyReactiveObject type = CoreType6; break; + case 7: + type = CoreType7; + break; + case 9: type = CoreType9; break; diff --git a/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml b/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml index 36e87190..65218738 100644 --- a/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml +++ b/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml @@ -463,7 +463,7 @@ VerticalAlignment="Center" IsVisible="{Binding BlIsLinux}" Text="{x:Static resx:ResUI.TbSettingsHide2TrayWhenCloseTip}" /> - + + IsVisible="{Binding BlIsIsMacOS}" /> + RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto"> + + + diff --git a/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs b/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs index 6d601883..5d0009d8 100644 --- a/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs +++ b/v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs @@ -41,6 +41,7 @@ public partial class OptionSettingWindow : WindowBase cmbCoreType4.ItemsSource = Global.CoreTypes; cmbCoreType5.ItemsSource = Global.CoreTypes; cmbCoreType6.ItemsSource = Global.CoreTypes; + cmbCoreType7.ItemsSource = Global.CoreTypes; cmbCoreType9.ItemsSource = Global.CoreTypes; cmbMixedConcurrencyCount.ItemsSource = Enumerable.Range(2, 7).ToList(); @@ -122,6 +123,7 @@ public partial class OptionSettingWindow : WindowBase this.Bind(ViewModel, vm => vm.CoreType4, v => v.cmbCoreType4.SelectedValue).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.CoreType5, v => v.cmbCoreType5.SelectedValue).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.CoreType6, v => v.cmbCoreType6.SelectedValue).DisposeWith(disposables); + this.Bind(ViewModel, vm => vm.CoreType7, v => v.cmbCoreType7.SelectedValue).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.CoreType9, v => v.cmbCoreType9.SelectedValue).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SaveCmd, v => v.btnSave).DisposeWith(disposables); diff --git a/v2rayN/v2rayN/Views/OptionSettingWindow.xaml b/v2rayN/v2rayN/Views/OptionSettingWindow.xaml index 552c0591..00b2dc9e 100644 --- a/v2rayN/v2rayN/Views/OptionSettingWindow.xaml +++ b/v2rayN/v2rayN/Views/OptionSettingWindow.xaml @@ -1138,6 +1138,7 @@ + @@ -1239,10 +1240,25 @@ Margin="{StaticResource Margin8}" VerticalAlignment="Center" Style="{StaticResource ToolbarTextBlock}" + Text="Hysteria2" /> + + + vm.CoreType4, v => v.cmbCoreType4.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.CoreType5, v => v.cmbCoreType5.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.CoreType6, v => v.cmbCoreType6.Text).DisposeWith(disposables); + this.Bind(ViewModel, vm => vm.CoreType7, v => v.cmbCoreType7.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.CoreType9, v => v.cmbCoreType9.Text).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SaveCmd, v => v.btnSave).DisposeWith(disposables);