diff --git a/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs b/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs index efff6195..7990f219 100644 --- a/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs +++ b/v2rayN/ServiceLib/ViewModels/StatusBarViewModel.cs @@ -60,6 +60,9 @@ namespace ServiceLib.ViewModels [Reactive] public int SystemProxySelected { get; set; } + [Reactive] + public bool BlSystemProxyPacVisible { get; set; } + #endregion System Proxy #region UI @@ -96,6 +99,7 @@ namespace ServiceLib.ViewModels SelectedRouting = new(); SelectedServer = new(); RunningServerToolTipText = "-"; + BlSystemProxyPacVisible = Utils.IsWindows(); if (_config.TunModeItem.EnableTun && AllowEnableTun()) { diff --git a/v2rayN/v2rayN.Desktop/App.axaml b/v2rayN/v2rayN.Desktop/App.axaml index 99852cd2..9dc9dd4a 100644 --- a/v2rayN/v2rayN.Desktop/App.axaml +++ b/v2rayN/v2rayN.Desktop/App.axaml @@ -46,6 +46,12 @@ Header="{x:Static resx:ResUI.menuSystemProxyNothing}" IsChecked="{Binding BlSystemProxyNothing}" ToggleType="Radio" /> + @@ -61,4 +67,4 @@ - \ No newline at end of file + diff --git a/v2rayN/v2rayN.Desktop/Views/StatusBarView.axaml b/v2rayN/v2rayN.Desktop/Views/StatusBarView.axaml index 0eff80a3..c619a78f 100644 --- a/v2rayN/v2rayN.Desktop/Views/StatusBarView.axaml +++ b/v2rayN/v2rayN.Desktop/Views/StatusBarView.axaml @@ -60,6 +60,7 @@ + - \ No newline at end of file + diff --git a/v2rayN/v2rayN.Desktop/Views/StatusBarView.axaml.cs b/v2rayN/v2rayN.Desktop/Views/StatusBarView.axaml.cs index 2ecd3ae6..7512ce80 100644 --- a/v2rayN/v2rayN.Desktop/Views/StatusBarView.axaml.cs +++ b/v2rayN/v2rayN.Desktop/Views/StatusBarView.axaml.cs @@ -43,6 +43,11 @@ namespace v2rayN.Desktop.Views }); //spEnableTun.IsVisible = (Utils.IsWindows() || AppHandler.Instance.IsAdministrator); + + if (Utils.IsNonWindows() && cmbSystemProxy.Items.IsReadOnly == false) + { + cmbSystemProxy.Items.RemoveAt(cmbSystemProxy.Items.Count - 1); + } } private async Task UpdateViewHandler(EViewAction action, object? obj) diff --git a/v2rayN/v2rayN/Views/StatusBarView.xaml.cs b/v2rayN/v2rayN/Views/StatusBarView.xaml.cs index ed6177be..90e5c5b6 100644 --- a/v2rayN/v2rayN/Views/StatusBarView.xaml.cs +++ b/v2rayN/v2rayN/Views/StatusBarView.xaml.cs @@ -32,8 +32,8 @@ namespace v2rayN.Views this.OneWayBind(ViewModel, vm => vm.BlSystemProxyPac, v => v.menuSystemProxyPac2.Visibility, conversionHint: BooleanToVisibilityHint.UseHidden, vmToViewConverterOverride: new BooleanToVisibilityTypeConverter()).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SystemProxyClearCmd, v => v.menuSystemProxyClear).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SystemProxySetCmd, v => v.menuSystemProxySet).DisposeWith(disposables); - this.BindCommand(ViewModel, vm => vm.SystemProxyPacCmd, v => v.menuSystemProxyPac).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SystemProxyNothingCmd, v => v.menuSystemProxyNothing).DisposeWith(disposables); + this.BindCommand(ViewModel, vm => vm.SystemProxyPacCmd, v => v.menuSystemProxyPac).DisposeWith(disposables); //routings and servers this.OneWayBind(ViewModel, vm => vm.RoutingItems, v => v.cmbRoutings.ItemsSource).DisposeWith(disposables);