mirror of
				https://github.com/2dust/v2rayN.git
				synced 2025-11-04 06:22:52 +00:00 
			
		
		
		
	Add custom font settings
This commit is contained in:
		
							parent
							
								
									976087ce97
								
							
						
					
					
						commit
						373d89874c
					
				
					 9 changed files with 321 additions and 163 deletions
				
			
		| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
using System.IO;
 | 
					using System.IO;
 | 
				
			||||||
using System.Windows.Media;
 | 
					using System.Windows.Media;
 | 
				
			||||||
 | 
					using v2rayN.Handler;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace v2rayN.Converters
 | 
					namespace v2rayN.Converters
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -9,8 +10,22 @@ namespace v2rayN.Converters
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        static MaterialDesignFonts()
 | 
					        static MaterialDesignFonts()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var fontPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Resources\Fonts\");
 | 
					            try
 | 
				
			||||||
            MyFont = new FontFamily(new Uri($"file:///{fontPath}"), "./#Source Han Sans CN");
 | 
					            {
 | 
				
			||||||
 | 
					                var fontFamily = LazyConfig.Instance.GetConfig().uiItem.currentFontFamily;
 | 
				
			||||||
 | 
					                if (!string.IsNullOrEmpty(fontFamily))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    var fontPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Resources\Fonts\");
 | 
				
			||||||
 | 
					                    MyFont = new FontFamily(new Uri($"file:///{fontPath}"), $"./#{fontFamily}");
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            catch
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if (MyFont is null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                MyFont = new FontFamily("Microsoft YaHei");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -62,6 +62,7 @@ namespace v2rayN.Mode
 | 
				
			||||||
        public bool colorModeDark { get; set; }
 | 
					        public bool colorModeDark { get; set; }
 | 
				
			||||||
        public string? colorPrimaryName { get; set; }
 | 
					        public string? colorPrimaryName { get; set; }
 | 
				
			||||||
        public string currentLanguage { get; set; }
 | 
					        public string currentLanguage { get; set; }
 | 
				
			||||||
 | 
					        public string currentFontFamily { get; set; }
 | 
				
			||||||
        public bool enableDragDropSort { get; set; }
 | 
					        public bool enableDragDropSort { get; set; }
 | 
				
			||||||
        public bool doubleClick2Activate { get; set; }
 | 
					        public bool doubleClick2Activate { get; set; }
 | 
				
			||||||
        public Dictionary<string, int> mainLvColWidth { get; set; }
 | 
					        public Dictionary<string, int> mainLvColWidth { get; set; }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										36
									
								
								v2rayN/v2rayN/Resx/ResUI.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										36
									
								
								v2rayN/v2rayN/Resx/ResUI.Designer.cs
									
									
									
										generated
									
									
									
								
							| 
						 | 
					@ -2392,6 +2392,24 @@ namespace v2rayN.Resx {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///   查找类似 FontFamily(Require restart) 的本地化字符串。
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string TbSettingsCurrentFontFamily {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("TbSettingsCurrentFontFamily", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///   查找类似 Copy the font TTF file to the directory Resources\Fonts, restart the settings 的本地化字符串。
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string TbSettingsCurrentFontFamilyTip {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("TbSettingsCurrentFontFamilyTip", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///   查找类似 AllowInsecure 的本地化字符串。
 | 
					        ///   查找类似 AllowInsecure 的本地化字符串。
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
| 
						 | 
					@ -2653,6 +2671,15 @@ namespace v2rayN.Resx {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///   查找类似 http port=socks port+1 的本地化字符串。
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string TbSettingsSocksPortTip {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("TbSettingsSocksPortTip", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///   查找类似 Start on boot 的本地化字符串。
 | 
					        ///   查找类似 Start on boot 的本地化字符串。
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
| 
						 | 
					@ -2662,6 +2689,15 @@ namespace v2rayN.Resx {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///   查找类似 Set this with admin privileges, get admin privileges after startup 的本地化字符串。
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string TbSettingsStartBootTip {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("TbSettingsStartBootTip", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///   查找类似 Enable Statistics (Require restart) 的本地化字符串。
 | 
					        ///   查找类似 Enable Statistics (Require restart) 的本地化字符串。
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1093,4 +1093,16 @@
 | 
				
			||||||
  <data name="TbSettingsDefUserAgentTips" xml:space="preserve">
 | 
					  <data name="TbSettingsDefUserAgentTips" xml:space="preserve">
 | 
				
			||||||
    <value>This parameter is valid only for tcp/http and ws</value>
 | 
					    <value>This parameter is valid only for tcp/http and ws</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
 | 
					  <data name="TbSettingsCurrentFontFamily" xml:space="preserve">
 | 
				
			||||||
 | 
					    <value>FontFamily(Require restart)</value>
 | 
				
			||||||
 | 
					  </data>
 | 
				
			||||||
 | 
					  <data name="TbSettingsCurrentFontFamilyTip" xml:space="preserve">
 | 
				
			||||||
 | 
					    <value>Copy the font TTF file to the directory Resources\Fonts, restart the settings</value>
 | 
				
			||||||
 | 
					  </data>
 | 
				
			||||||
 | 
					  <data name="TbSettingsSocksPortTip" xml:space="preserve">
 | 
				
			||||||
 | 
					    <value>http port=socks port+1</value>
 | 
				
			||||||
 | 
					  </data>
 | 
				
			||||||
 | 
					  <data name="TbSettingsStartBootTip" xml:space="preserve">
 | 
				
			||||||
 | 
					    <value>Set this with admin privileges, get admin privileges after startup</value>
 | 
				
			||||||
 | 
					  </data>
 | 
				
			||||||
</root>
 | 
					</root>
 | 
				
			||||||
| 
						 | 
					@ -1088,9 +1088,21 @@
 | 
				
			||||||
    <value>默认TLS指纹(fingerprint)</value>
 | 
					    <value>默认TLS指纹(fingerprint)</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="TbSettingsDefUserAgent" xml:space="preserve">
 | 
					  <data name="TbSettingsDefUserAgent" xml:space="preserve">
 | 
				
			||||||
    <value>用户代理(UA)</value>
 | 
					    <value>用户代理(User-Agent)</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="TbSettingsDefUserAgentTips" xml:space="preserve">
 | 
					  <data name="TbSettingsDefUserAgentTips" xml:space="preserve">
 | 
				
			||||||
    <value>仅对tcp/http、ws协议生效</value>
 | 
					    <value>仅对tcp/http、ws协议生效</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
 | 
					  <data name="TbSettingsCurrentFontFamily" xml:space="preserve">
 | 
				
			||||||
 | 
					    <value>当前字体(需重启)</value>
 | 
				
			||||||
 | 
					  </data>
 | 
				
			||||||
 | 
					  <data name="TbSettingsCurrentFontFamilyTip" xml:space="preserve">
 | 
				
			||||||
 | 
					    <value>拷贝字体TTF文件到目录Resources\Fonts,重启设置</value>
 | 
				
			||||||
 | 
					  </data>
 | 
				
			||||||
 | 
					  <data name="TbSettingsSocksPortTip" xml:space="preserve">
 | 
				
			||||||
 | 
					    <value>http端口=socks端口+1</value>
 | 
				
			||||||
 | 
					  </data>
 | 
				
			||||||
 | 
					  <data name="TbSettingsStartBootTip" xml:space="preserve">
 | 
				
			||||||
 | 
					    <value>以管理员权限设置此项,在启动后获得管理员权限</value>
 | 
				
			||||||
 | 
					  </data>
 | 
				
			||||||
</root>
 | 
					</root>
 | 
				
			||||||
| 
						 | 
					@ -62,6 +62,8 @@ namespace v2rayN.ViewModels
 | 
				
			||||||
        [Reactive] public int autoUpdateInterval { get; set; }
 | 
					        [Reactive] public int autoUpdateInterval { get; set; }
 | 
				
			||||||
        [Reactive] public int autoUpdateSubInterval { get; set; }
 | 
					        [Reactive] public int autoUpdateSubInterval { get; set; }
 | 
				
			||||||
        [Reactive] public int trayMenuServersLimit { get; set; }
 | 
					        [Reactive] public int trayMenuServersLimit { get; set; }
 | 
				
			||||||
 | 
					        [Reactive] public string currentFontFamily { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #endregion
 | 
					        #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        #region System proxy
 | 
					        #region System proxy
 | 
				
			||||||
| 
						 | 
					@ -146,6 +148,8 @@ namespace v2rayN.ViewModels
 | 
				
			||||||
            autoUpdateInterval = _config.autoUpdateInterval;
 | 
					            autoUpdateInterval = _config.autoUpdateInterval;
 | 
				
			||||||
            autoUpdateSubInterval = _config.autoUpdateSubInterval;
 | 
					            autoUpdateSubInterval = _config.autoUpdateSubInterval;
 | 
				
			||||||
            trayMenuServersLimit = _config.trayMenuServersLimit;
 | 
					            trayMenuServersLimit = _config.trayMenuServersLimit;
 | 
				
			||||||
 | 
					            currentFontFamily = _config.uiItem.currentFontFamily;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #endregion
 | 
					            #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #region System proxy
 | 
					            #region System proxy
 | 
				
			||||||
| 
						 | 
					@ -312,6 +316,7 @@ namespace v2rayN.ViewModels
 | 
				
			||||||
            _config.uiItem.enableDragDropSort = EnableDragDropSort;
 | 
					            _config.uiItem.enableDragDropSort = EnableDragDropSort;
 | 
				
			||||||
            _config.uiItem.doubleClick2Activate = DoubleClick2Activate;
 | 
					            _config.uiItem.doubleClick2Activate = DoubleClick2Activate;
 | 
				
			||||||
            _config.trayMenuServersLimit = trayMenuServersLimit;
 | 
					            _config.trayMenuServersLimit = trayMenuServersLimit;
 | 
				
			||||||
 | 
					            _config.uiItem.currentFontFamily = currentFontFamily;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //systemProxy
 | 
					            //systemProxy
 | 
				
			||||||
            _config.systemProxyExceptions = systemProxyExceptions;
 | 
					            _config.systemProxyExceptions = systemProxyExceptions;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -64,8 +64,8 @@
 | 
				
			||||||
                            <RowDefinition Height="Auto" />
 | 
					                            <RowDefinition Height="Auto" />
 | 
				
			||||||
                            <RowDefinition Height="Auto" />
 | 
					                            <RowDefinition Height="Auto" />
 | 
				
			||||||
                            <RowDefinition Height="Auto" />
 | 
					                            <RowDefinition Height="Auto" />
 | 
				
			||||||
                            <RowDefinition Height="Auto"/>
 | 
					                            <RowDefinition Height="Auto" />
 | 
				
			||||||
                            <RowDefinition Height="Auto"/>
 | 
					                            <RowDefinition Height="Auto" />
 | 
				
			||||||
                        </Grid.RowDefinitions>
 | 
					                        </Grid.RowDefinitions>
 | 
				
			||||||
                        <Grid.ColumnDefinitions>
 | 
					                        <Grid.ColumnDefinitions>
 | 
				
			||||||
                            <ColumnDefinition Width="Auto" />
 | 
					                            <ColumnDefinition Width="Auto" />
 | 
				
			||||||
| 
						 | 
					@ -74,204 +74,212 @@
 | 
				
			||||||
                        </Grid.ColumnDefinitions>
 | 
					                        </Grid.ColumnDefinitions>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="0"
 | 
					                            Grid.Row="0"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsSocksPort}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsSocksPort}" />
 | 
				
			||||||
                        <TextBox
 | 
					                        <TextBox
 | 
				
			||||||
                        x:Name="txtlocalPort"
 | 
					                            x:Name="txtlocalPort"
 | 
				
			||||||
                        Grid.Row="0"
 | 
					                            Grid.Row="0"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Width="200"
 | 
					                            Width="200"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}" />
 | 
					                            Margin="{StaticResource SettingItemMargin}" />
 | 
				
			||||||
 | 
					                        <TextBlock
 | 
				
			||||||
 | 
					                            Grid.Row="0"
 | 
				
			||||||
 | 
					                            Grid.Column="2"
 | 
				
			||||||
 | 
					                            Margin="{StaticResource ServerItemMargin}"
 | 
				
			||||||
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsSocksPortTip}" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="1"
 | 
					                            Grid.Row="1"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsUdpEnabled}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsUdpEnabled}" />
 | 
				
			||||||
                        <ToggleButton
 | 
					                        <ToggleButton
 | 
				
			||||||
                        x:Name="togudpEnabled"
 | 
					                            x:Name="togudpEnabled"
 | 
				
			||||||
                        Grid.Row="1"
 | 
					                            Grid.Row="1"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        HorizontalAlignment="Left" />
 | 
					                            HorizontalAlignment="Left" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="2"
 | 
					                            Grid.Row="2"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsSniffingEnabled}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsSniffingEnabled}" />
 | 
				
			||||||
                        <ToggleButton
 | 
					                        <ToggleButton
 | 
				
			||||||
                        x:Name="togsniffingEnabled"
 | 
					                            x:Name="togsniffingEnabled"
 | 
				
			||||||
                        Grid.Row="2"
 | 
					                            Grid.Row="2"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        HorizontalAlignment="Left" />
 | 
					                            HorizontalAlignment="Left" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="3"
 | 
					                            Grid.Row="3"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsRouteOnly}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsRouteOnly}" />
 | 
				
			||||||
                        <ToggleButton
 | 
					                        <ToggleButton
 | 
				
			||||||
                        x:Name="togrouteOnly"
 | 
					                            x:Name="togrouteOnly"
 | 
				
			||||||
                        Grid.Row="3"
 | 
					                            Grid.Row="3"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        HorizontalAlignment="Left" />
 | 
					                            HorizontalAlignment="Left" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="4"
 | 
					                            Grid.Row="4"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsAllowLAN}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsAllowLAN}" />
 | 
				
			||||||
                        <ToggleButton
 | 
					                        <ToggleButton
 | 
				
			||||||
                        x:Name="togAllowLANConn"
 | 
					                            x:Name="togAllowLANConn"
 | 
				
			||||||
                        Grid.Row="4"
 | 
					                            Grid.Row="4"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        HorizontalAlignment="Left" />
 | 
					                            HorizontalAlignment="Left" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="5"
 | 
					                            Grid.Row="5"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsNewPort4LAN}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsNewPort4LAN}" />
 | 
				
			||||||
                        <ToggleButton
 | 
					                        <ToggleButton
 | 
				
			||||||
                        x:Name="togNewPort4LAN"
 | 
					                            x:Name="togNewPort4LAN"
 | 
				
			||||||
                        Grid.Row="5"
 | 
					                            Grid.Row="5"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        HorizontalAlignment="Left" />
 | 
					                            HorizontalAlignment="Left" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="6"
 | 
					                            Grid.Row="6"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsUser}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsUser}" />
 | 
				
			||||||
                        <TextBox
 | 
					                        <TextBox
 | 
				
			||||||
                        x:Name="txtuser"
 | 
					                            x:Name="txtuser"
 | 
				
			||||||
                        Grid.Row="6"
 | 
					                            Grid.Row="6"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Width="200"
 | 
					                            Width="200"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}" />
 | 
					                            Margin="{StaticResource SettingItemMargin}" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="7"
 | 
					                            Grid.Row="7"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsPass}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsPass}" />
 | 
				
			||||||
                        <TextBox
 | 
					                        <TextBox
 | 
				
			||||||
                        x:Name="txtpass"
 | 
					                            x:Name="txtpass"
 | 
				
			||||||
                        Grid.Row="7"
 | 
					                            Grid.Row="7"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Width="200"
 | 
					                            Width="200"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}" />
 | 
					                            Margin="{StaticResource SettingItemMargin}" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="8"
 | 
					                            Grid.Row="8"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsMuxEnabled}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsMuxEnabled}" />
 | 
				
			||||||
                        <ToggleButton
 | 
					                        <ToggleButton
 | 
				
			||||||
                        x:Name="togmuxEnabled"
 | 
					                            x:Name="togmuxEnabled"
 | 
				
			||||||
                        Grid.Row="8"
 | 
					                            Grid.Row="8"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        HorizontalAlignment="Left" />
 | 
					                            HorizontalAlignment="Left" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="9"
 | 
					                            Grid.Row="9"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsLogEnabled}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsLogEnabled}" />
 | 
				
			||||||
                        <ToggleButton
 | 
					                        <ToggleButton
 | 
				
			||||||
                        x:Name="toglogEnabled"
 | 
					                            x:Name="toglogEnabled"
 | 
				
			||||||
                        Grid.Row="9"
 | 
					                            Grid.Row="9"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        HorizontalAlignment="Left" />
 | 
					                            HorizontalAlignment="Left" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="10"
 | 
					                            Grid.Row="10"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsLogLevel}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsLogLevel}" />
 | 
				
			||||||
                        <ComboBox
 | 
					                        <ComboBox
 | 
				
			||||||
                        x:Name="cmbloglevel"
 | 
					                            x:Name="cmbloglevel"
 | 
				
			||||||
                        Grid.Row="10"
 | 
					                            Grid.Row="10"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        materialDesign:HintAssist.Hint="Level" />
 | 
					                            materialDesign:HintAssist.Hint="Level" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="11"
 | 
					                            Grid.Row="11"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsDefAllowInsecure}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsDefAllowInsecure}" />
 | 
				
			||||||
                        <ToggleButton
 | 
					                        <ToggleButton
 | 
				
			||||||
                        x:Name="togdefAllowInsecure"
 | 
					                            x:Name="togdefAllowInsecure"
 | 
				
			||||||
                        Grid.Row="11"
 | 
					                            Grid.Row="11"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        HorizontalAlignment="Left" />
 | 
					                            HorizontalAlignment="Left" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="12"
 | 
					                            Grid.Row="12"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsDefFingerprint}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsDefFingerprint}" />
 | 
				
			||||||
                        <ComboBox
 | 
					                        <ComboBox
 | 
				
			||||||
                        x:Name="cmbdefFingerprint"
 | 
					                            x:Name="cmbdefFingerprint"
 | 
				
			||||||
                        Grid.Row="12"
 | 
					                            Grid.Row="12"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}" />
 | 
					                            Margin="{StaticResource SettingItemMargin}" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="13"
 | 
					                            Grid.Row="13"
 | 
				
			||||||
                        Grid.Column="0"
 | 
					                            Grid.Column="0"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        VerticalAlignment="Center"
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsDefUserAgent}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsDefUserAgent}" />
 | 
				
			||||||
                        <ComboBox
 | 
					                        <ComboBox
 | 
				
			||||||
                        x:Name="cmbdefUserAgent"
 | 
					                            x:Name="cmbdefUserAgent"
 | 
				
			||||||
                        Grid.Row="13"
 | 
					                            Grid.Row="13"
 | 
				
			||||||
                        Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}" IsEditable="True" />
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
 | 
					                            IsEditable="True" />
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                        Grid.Row="13"
 | 
					                            Grid.Row="13"
 | 
				
			||||||
                        Grid.Column="3"
 | 
					                            Grid.Column="3"
 | 
				
			||||||
                        Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                        Style="{StaticResource ToolbarTextBlock}"
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
                        Text="{x:Static resx:ResUI.TbSettingsDefUserAgentTips}" />
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsDefUserAgentTips}" />
 | 
				
			||||||
                    </Grid>
 | 
					                    </Grid>
 | 
				
			||||||
                </ScrollViewer>
 | 
					                </ScrollViewer>
 | 
				
			||||||
            </TabItem>
 | 
					            </TabItem>
 | 
				
			||||||
| 
						 | 
					@ -462,6 +470,7 @@
 | 
				
			||||||
                        <Grid.ColumnDefinitions>
 | 
					                        <Grid.ColumnDefinitions>
 | 
				
			||||||
                            <ColumnDefinition Width="Auto" />
 | 
					                            <ColumnDefinition Width="Auto" />
 | 
				
			||||||
                            <ColumnDefinition Width="Auto" />
 | 
					                            <ColumnDefinition Width="Auto" />
 | 
				
			||||||
 | 
					                            <ColumnDefinition Width="Auto" />
 | 
				
			||||||
                        </Grid.ColumnDefinitions>
 | 
					                        </Grid.ColumnDefinitions>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
| 
						 | 
					@ -477,6 +486,13 @@
 | 
				
			||||||
                            Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                            Margin="{StaticResource SettingItemMargin}"
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
                            HorizontalAlignment="Left" />
 | 
					                            HorizontalAlignment="Left" />
 | 
				
			||||||
 | 
					                        <TextBlock
 | 
				
			||||||
 | 
					                            Grid.Row="1"
 | 
				
			||||||
 | 
					                            Grid.Column="2"
 | 
				
			||||||
 | 
					                            Margin="{StaticResource ServerItemMargin}"
 | 
				
			||||||
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsStartBootTip}" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        <TextBlock
 | 
					                        <TextBlock
 | 
				
			||||||
                            Grid.Row="2"
 | 
					                            Grid.Row="2"
 | 
				
			||||||
| 
						 | 
					@ -659,6 +675,27 @@
 | 
				
			||||||
                            Grid.Column="1"
 | 
					                            Grid.Column="1"
 | 
				
			||||||
                            Width="200"
 | 
					                            Width="200"
 | 
				
			||||||
                            Margin="{StaticResource SettingItemMargin}" />
 | 
					                            Margin="{StaticResource SettingItemMargin}" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        <TextBlock
 | 
				
			||||||
 | 
					                            Grid.Row="15"
 | 
				
			||||||
 | 
					                            Grid.Column="0"
 | 
				
			||||||
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsCurrentFontFamily}" />
 | 
				
			||||||
 | 
					                        <ComboBox
 | 
				
			||||||
 | 
					                            x:Name="cmbcurrentFontFamily"
 | 
				
			||||||
 | 
					                            Grid.Row="15"
 | 
				
			||||||
 | 
					                            Grid.Column="1"
 | 
				
			||||||
 | 
					                            Margin="{StaticResource SettingItemMargin}"
 | 
				
			||||||
 | 
					                            MaxDropDownHeight="1000" />
 | 
				
			||||||
 | 
					                        <TextBlock
 | 
				
			||||||
 | 
					                            Grid.Row="15"
 | 
				
			||||||
 | 
					                            Grid.Column="2"
 | 
				
			||||||
 | 
					                            Margin="{StaticResource ServerItemMargin}"
 | 
				
			||||||
 | 
					                            VerticalAlignment="Center"
 | 
				
			||||||
 | 
					                            Style="{StaticResource ToolbarTextBlock}"
 | 
				
			||||||
 | 
					                            Text="{x:Static resx:ResUI.TbSettingsCurrentFontFamilyTip}" />
 | 
				
			||||||
                    </Grid>
 | 
					                    </Grid>
 | 
				
			||||||
                </ScrollViewer>
 | 
					                </ScrollViewer>
 | 
				
			||||||
            </TabItem>
 | 
					            </TabItem>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,15 +1,23 @@
 | 
				
			||||||
using ReactiveUI;
 | 
					using ReactiveUI;
 | 
				
			||||||
 | 
					using System.Globalization;
 | 
				
			||||||
 | 
					using System.IO;
 | 
				
			||||||
using System.Reactive.Disposables;
 | 
					using System.Reactive.Disposables;
 | 
				
			||||||
using System.Windows;
 | 
					using System.Windows;
 | 
				
			||||||
 | 
					using System.Windows.Media;
 | 
				
			||||||
 | 
					using v2rayN.Handler;
 | 
				
			||||||
 | 
					using v2rayN.Mode;
 | 
				
			||||||
using v2rayN.ViewModels;
 | 
					using v2rayN.ViewModels;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace v2rayN.Views
 | 
					namespace v2rayN.Views
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public partial class OptionSettingWindow
 | 
					    public partial class OptionSettingWindow
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        private static Config _config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public OptionSettingWindow()
 | 
					        public OptionSettingWindow()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            InitializeComponent();
 | 
					            InitializeComponent();
 | 
				
			||||||
 | 
					            _config = LazyConfig.Instance.GetConfig();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            ViewModel = new OptionSettingViewModel(this);
 | 
					            ViewModel = new OptionSettingViewModel(this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -55,6 +63,34 @@ namespace v2rayN.Views
 | 
				
			||||||
                cmbCoreType6.Items.Add(it);
 | 
					                cmbCoreType6.Items.Add(it);
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //fill fonts
 | 
				
			||||||
 | 
					            try
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var dir = new DirectoryInfo(Utils.GetPath(@"Resources\Fonts"));
 | 
				
			||||||
 | 
					                var files = dir.GetFiles("*.ttf");
 | 
				
			||||||
 | 
					                var culture = _config.uiItem.currentLanguage.Equals(Global.Languages[0]) ? "zh-cn" : "en-us";
 | 
				
			||||||
 | 
					                foreach (var it in files)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    var glyphTypeface = new GlyphTypeface(new Uri(Utils.GetPath(@$"Resources\Fonts\{it.Name}")));
 | 
				
			||||||
 | 
					                    var fontFace = glyphTypeface.Win32FaceNames[new CultureInfo("en-us")];
 | 
				
			||||||
 | 
					                    if (!fontFace.Equals("Regular") && !fontFace.Equals("Normal"))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        continue;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    var fontFamily = glyphTypeface.Win32FamilyNames[new CultureInfo(culture)];
 | 
				
			||||||
 | 
					                    if (Utils.IsNullOrEmpty(fontFamily))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        continue;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    cmbcurrentFontFamily.Items.Add(fontFamily);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            catch (Exception ex)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Utils.SaveLog("fill fonts error", ex);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            cmbcurrentFontFamily.Items.Add(string.Empty);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            this.WhenActivated(disposables =>
 | 
					            this.WhenActivated(disposables =>
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                this.Bind(ViewModel, vm => vm.localPort, v => v.txtlocalPort.Text).DisposeWith(disposables);
 | 
					                this.Bind(ViewModel, vm => vm.localPort, v => v.txtlocalPort.Text).DisposeWith(disposables);
 | 
				
			||||||
| 
						 | 
					@ -102,6 +138,7 @@ namespace v2rayN.Views
 | 
				
			||||||
                this.Bind(ViewModel, vm => vm.autoUpdateInterval, v => v.txtautoUpdateInterval.Text).DisposeWith(disposables);
 | 
					                this.Bind(ViewModel, vm => vm.autoUpdateInterval, v => v.txtautoUpdateInterval.Text).DisposeWith(disposables);
 | 
				
			||||||
                this.Bind(ViewModel, vm => vm.autoUpdateSubInterval, v => v.txtautoUpdateSubInterval.Text).DisposeWith(disposables);
 | 
					                this.Bind(ViewModel, vm => vm.autoUpdateSubInterval, v => v.txtautoUpdateSubInterval.Text).DisposeWith(disposables);
 | 
				
			||||||
                this.Bind(ViewModel, vm => vm.trayMenuServersLimit, v => v.txttrayMenuServersLimit.Text).DisposeWith(disposables);
 | 
					                this.Bind(ViewModel, vm => vm.trayMenuServersLimit, v => v.txttrayMenuServersLimit.Text).DisposeWith(disposables);
 | 
				
			||||||
 | 
					                this.Bind(ViewModel, vm => vm.currentFontFamily, v => v.cmbcurrentFontFamily.Text).DisposeWith(disposables);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                this.Bind(ViewModel, vm => vm.systemProxyAdvancedProtocol, v => v.cmbsystemProxyAdvancedProtocol.Text).DisposeWith(disposables);
 | 
					                this.Bind(ViewModel, vm => vm.systemProxyAdvancedProtocol, v => v.cmbsystemProxyAdvancedProtocol.Text).DisposeWith(disposables);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,7 @@
 | 
				
			||||||
	</PropertyGroup>
 | 
						</PropertyGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<ItemGroup>		
 | 
						<ItemGroup>		
 | 
				
			||||||
		<PackageReference Include="MaterialDesignThemes" Version="4.6.1" />
 | 
							<PackageReference Include="MaterialDesignThemes" Version="4.7.1" />
 | 
				
			||||||
		<PackageReference Include="Hardcodet.NotifyIcon.Wpf" Version="1.1.0" />		 
 | 
							<PackageReference Include="Hardcodet.NotifyIcon.Wpf" Version="1.1.0" />		 
 | 
				
			||||||
		<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
 | 
							<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
 | 
				
			||||||
		<PackageReference Include="NHotkey" Version="2.1.0" />
 | 
							<PackageReference Include="NHotkey" Version="2.1.0" />
 | 
				
			||||||
| 
						 | 
					@ -105,6 +105,9 @@
 | 
				
			||||||
	  <None Update="Resources\Fonts\SourceHanSansCN-Regular.ttf">
 | 
						  <None Update="Resources\Fonts\SourceHanSansCN-Regular.ttf">
 | 
				
			||||||
	    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
						    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
				
			||||||
	  </None>
 | 
						  </None>
 | 
				
			||||||
 | 
						  <None Update="Resources\Fonts\微软雅黑.ttf">
 | 
				
			||||||
 | 
						    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
 | 
				
			||||||
 | 
						  </None>
 | 
				
			||||||
	</ItemGroup>
 | 
						</ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</Project>
 | 
					</Project>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue