mirror of https://github.com/2dust/v2rayN
Optimize interface
parent
eef5d3cc16
commit
c38a0bde65
|
@ -70,5 +70,15 @@ namespace v2rayN.Base
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string UpperFirstChar(this string value)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(value))
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
return char.ToUpper(value[0]) + value.Substring(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -4,6 +4,7 @@
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:conv="clr-namespace:v2rayN.Converters"
|
xmlns:conv="clr-namespace:v2rayN.Converters"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:reactiveui="http://reactiveui.net"
|
xmlns:reactiveui="http://reactiveui.net"
|
||||||
xmlns:resx="clr-namespace:v2rayN.Resx"
|
xmlns:resx="clr-namespace:v2rayN.Resx"
|
||||||
|
@ -84,13 +85,15 @@
|
||||||
Cursor="Hand"
|
Cursor="Hand"
|
||||||
Style="{StaticResource DefButton}" />
|
Style="{StaticResource DefButton}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<TextBox
|
<TextBox
|
||||||
x:Name="txtnormalDNS"
|
x:Name="txtnormalDNS"
|
||||||
Margin="{StaticResource SettingItemMargin}"
|
Margin="{StaticResource SettingItemMargin}"
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
|
materialDesign:HintAssist.Hint="Http/Socks"
|
||||||
AcceptsReturn="True"
|
AcceptsReturn="True"
|
||||||
BorderThickness="1"
|
BorderThickness="1"
|
||||||
Style="{StaticResource DefTextBox}"
|
Style="{StaticResource MaterialDesignOutlinedTextBox}"
|
||||||
TextWrapping="Wrap"
|
TextWrapping="Wrap"
|
||||||
VerticalScrollBarVisibility="Auto" />
|
VerticalScrollBarVisibility="Auto" />
|
||||||
</DockPanel>
|
</DockPanel>
|
||||||
|
@ -122,35 +125,29 @@
|
||||||
<ColumnDefinition Width="1*" />
|
<ColumnDefinition Width="1*" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<GroupBox
|
|
||||||
Grid.Column="0"
|
|
||||||
Header=""
|
|
||||||
Style="{StaticResource MyGroupBox}">
|
|
||||||
<TextBox
|
<TextBox
|
||||||
x:Name="txtnormalDNS2"
|
x:Name="txtnormalDNS2"
|
||||||
Margin="{StaticResource SettingItemMargin}"
|
Grid.Column="0"
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
|
materialDesign:HintAssist.Hint="Http/Socks"
|
||||||
AcceptsReturn="True"
|
AcceptsReturn="True"
|
||||||
BorderThickness="1"
|
BorderThickness="1"
|
||||||
Style="{StaticResource DefTextBox}"
|
Style="{StaticResource MaterialDesignOutlinedTextBox}"
|
||||||
TextWrapping="Wrap"
|
TextWrapping="Wrap"
|
||||||
VerticalScrollBarVisibility="Auto" />
|
VerticalScrollBarVisibility="Auto" />
|
||||||
</GroupBox>
|
|
||||||
<GridSplitter Grid.Column="1" HorizontalAlignment="Stretch" />
|
<GridSplitter Grid.Column="1" HorizontalAlignment="Stretch" />
|
||||||
<GroupBox
|
|
||||||
Grid.Column="2"
|
|
||||||
Header="{x:Static resx:ResUI.TbSettingsTunMode}"
|
|
||||||
Style="{StaticResource MyGroupBox}">
|
|
||||||
<TextBox
|
<TextBox
|
||||||
x:Name="txttunDNS2"
|
x:Name="txttunDNS2"
|
||||||
Margin="{StaticResource SettingItemMargin}"
|
Grid.Column="2"
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
|
materialDesign:HintAssist.Hint="{x:Static resx:ResUI.TbSettingsTunMode}"
|
||||||
AcceptsReturn="True"
|
AcceptsReturn="True"
|
||||||
BorderThickness="1"
|
BorderThickness="1"
|
||||||
Style="{StaticResource DefTextBox}"
|
Style="{StaticResource MaterialDesignOutlinedTextBox}"
|
||||||
TextWrapping="Wrap"
|
TextWrapping="Wrap"
|
||||||
VerticalScrollBarVisibility="Auto" />
|
VerticalScrollBarVisibility="Auto" />
|
||||||
</GroupBox>
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</DockPanel>
|
</DockPanel>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
|
@ -209,7 +209,7 @@
|
||||||
<MenuItem
|
<MenuItem
|
||||||
x:Name="menuCheckUpdateN"
|
x:Name="menuCheckUpdateN"
|
||||||
Height="{StaticResource MenuItemHeight}"
|
Height="{StaticResource MenuItemHeight}"
|
||||||
Header="v2rayN" />
|
Header="V2rayN" />
|
||||||
<MenuItem
|
<MenuItem
|
||||||
x:Name="menuCheckUpdateV2flyCore"
|
x:Name="menuCheckUpdateV2flyCore"
|
||||||
Height="{StaticResource MenuItemHeight}"
|
Height="{StaticResource MenuItemHeight}"
|
||||||
|
@ -235,7 +235,7 @@
|
||||||
<MenuItem
|
<MenuItem
|
||||||
x:Name="menuCheckUpdateSingBoxCore"
|
x:Name="menuCheckUpdateSingBoxCore"
|
||||||
Height="{StaticResource MenuItemHeight}"
|
Height="{StaticResource MenuItemHeight}"
|
||||||
Header="sing-box Core" />
|
Header="Sing-box Core" />
|
||||||
<Separator Margin="-40,5" />
|
<Separator Margin="-40,5" />
|
||||||
<MenuItem
|
<MenuItem
|
||||||
x:Name="menuCheckUpdateGeo"
|
x:Name="menuCheckUpdateGeo"
|
||||||
|
|
|
@ -519,10 +519,14 @@ namespace v2rayN.Views
|
||||||
var coreInfos = LazyConfig.Instance.GetCoreInfos();
|
var coreInfos = LazyConfig.Instance.GetCoreInfos();
|
||||||
foreach (var it in coreInfos)
|
foreach (var it in coreInfos)
|
||||||
{
|
{
|
||||||
|
if (it.coreType == ECoreType.v2fly)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
var item = new MenuItem()
|
var item = new MenuItem()
|
||||||
{
|
{
|
||||||
Tag = it.coreUrl.Replace(@"/releases", ""),
|
Tag = it.coreUrl.Replace(@"/releases", ""),
|
||||||
Header = string.Format(Resx.ResUI.menuWebsiteItem, it.coreType.ToString().Replace("_", " "))
|
Header = string.Format(Resx.ResUI.menuWebsiteItem, it.coreType.ToString().Replace("_", " ")).UpperFirstChar()
|
||||||
};
|
};
|
||||||
item.Click += MenuItem_Click;
|
item.Click += MenuItem_Click;
|
||||||
menuHelp.Items.Add(item);
|
menuHelp.Items.Add(item);
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
xmlns:resx="clr-namespace:v2rayN.Resx"
|
xmlns:resx="clr-namespace:v2rayN.Resx"
|
||||||
xmlns:vms="clr-namespace:v2rayN.ViewModels"
|
xmlns:vms="clr-namespace:v2rayN.ViewModels"
|
||||||
Title="{x:Static resx:ResUI.menuRoutingRuleSetting}"
|
Title="{x:Static resx:ResUI.menuRoutingRuleSetting}"
|
||||||
Width="900"
|
Width="960"
|
||||||
Height="700"
|
Height="700"
|
||||||
x:TypeArguments="vms:RoutingRuleSettingViewModel"
|
x:TypeArguments="vms:RoutingRuleSettingViewModel"
|
||||||
Background="{DynamicResource MaterialDesignPaper}"
|
Background="{DynamicResource MaterialDesignPaper}"
|
||||||
|
@ -280,7 +280,7 @@
|
||||||
Binding="{Binding outboundTag}"
|
Binding="{Binding outboundTag}"
|
||||||
Header="outboundTag" />
|
Header="outboundTag" />
|
||||||
<DataGridTextColumn
|
<DataGridTextColumn
|
||||||
Width="100"
|
Width="80"
|
||||||
Binding="{Binding port}"
|
Binding="{Binding port}"
|
||||||
Header="port" />
|
Header="port" />
|
||||||
<DataGridTextColumn
|
<DataGridTextColumn
|
||||||
|
@ -288,15 +288,15 @@
|
||||||
Binding="{Binding protocols}"
|
Binding="{Binding protocols}"
|
||||||
Header="protocol" />
|
Header="protocol" />
|
||||||
<DataGridTextColumn
|
<DataGridTextColumn
|
||||||
Width="120"
|
Width="110"
|
||||||
Binding="{Binding inboundTags}"
|
Binding="{Binding inboundTags}"
|
||||||
Header="inboundTag" />
|
Header="inboundTag" />
|
||||||
<DataGridTextColumn
|
<DataGridTextColumn
|
||||||
Width="150"
|
Width="220"
|
||||||
Binding="{Binding domains}"
|
Binding="{Binding domains}"
|
||||||
Header="domain" />
|
Header="domain" />
|
||||||
<DataGridTextColumn
|
<DataGridTextColumn
|
||||||
Width="150"
|
Width="220"
|
||||||
Binding="{Binding ips}"
|
Binding="{Binding ips}"
|
||||||
Header="ip" />
|
Header="ip" />
|
||||||
<DataGridTextColumn
|
<DataGridTextColumn
|
||||||
|
|
Loading…
Reference in New Issue