Student Main 5 lat temu
rodzic
commit
d57a003e4f

+ 45 - 0
NatTypeTester/MainWindow.xaml

@@ -41,6 +41,51 @@
 					</ComboBox.ItemTemplate>
 				</ComboBox>
 			</Grid>
+			<Grid>
+				<Grid.ColumnDefinitions>
+					<ColumnDefinition Width="Auto"/>
+					<ColumnDefinition Width="2*" />
+				</Grid.ColumnDefinitions>
+				<Grid Margin="0,5,5,5" Grid.Column="0">
+					<Grid.RowDefinitions>
+						<RowDefinition Height="Auto"/>
+						<RowDefinition Height="Auto"/>
+						<RowDefinition/>
+					</Grid.RowDefinitions>
+					<Grid.ColumnDefinitions>
+						<ColumnDefinition/>
+					</Grid.ColumnDefinitions>
+					<RadioButton Grid.Row="0" Grid.Column="0" Content="No Proxy" GroupName="ProxyTypeGroup" Name="ProxyTypeNoneRadio"
+								 HorizontalAlignment="Left" Margin="5" VerticalAlignment="Top" IsChecked="True"/>
+					<RadioButton Grid.Row="1" Grid.Column="0" Content="Socks5 Proxy" GroupName="ProxyTypeGroup" Name="ProxyTypeSocks5Radio"
+								 HorizontalAlignment="Left" Margin="5" VerticalAlignment="Top"/>
+				</Grid>
+				<Grid x:Name="ProxyConfigGrid" Margin="2.6,5,5.4,4.8" Grid.Column="1" IsEnabled="False">
+					<Grid.RowDefinitions>
+						<RowDefinition/>
+						<RowDefinition/>
+						<RowDefinition/>
+					</Grid.RowDefinitions>
+					<Grid.ColumnDefinitions>
+						<ColumnDefinition Width="Auto" MinWidth="115.2"/>
+						<ColumnDefinition/>
+					</Grid.ColumnDefinitions>
+					<TextBox x:Name="ProxyServerTextBox" Grid.Row="0" Grid.Column="1"
+						         Height="23" Margin="5" IsReadOnly="False"
+						         VerticalContentAlignment="Center" VerticalAlignment="Center" />
+					<TextBox x:Name="ProxyUsernameTextBox" Grid.Row="1" Grid.Column="1"
+						         Height="23" Margin="5" IsReadOnly="False"
+						         VerticalContentAlignment="Center" VerticalAlignment="Center" />
+					<TextBox x:Name="ProxyPasswordTextBox" Grid.Row="2" Grid.Column="1"
+						         Height="24" Margin="5" IsReadOnly="False"
+						         VerticalContentAlignment="Center" VerticalAlignment="Center" />
+					<TextBlock Grid.Row="0" Grid.Column="0" Margin="5,9,1.2,8.8" VerticalAlignment="Center"  Text="Proxy Address" Height="15" />
+					<TextBlock Grid.Row="1" Grid.Column="0" Margin="5,9.2,1.2,8.6" VerticalAlignment="Center"  Text="Proxy Username" Height="15" />
+					<TextBlock Grid.Row="2" Grid.Column="0" Margin="5,8.4,1.2,8.4" VerticalAlignment="Center"  Text="Proxy Password" Height="16" />
+				</Grid>
+			</Grid>
+
+
 			<TabControl>
 				<TabItem Header="RFC 5780" x:Name="RFC5780Tab">
 					<Grid>

+ 23 - 0
NatTypeTester/MainWindow.xaml.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Diagnostics;
 using System.Reactive;
 using System.Reactive.Disposables;
 using System.Reactive.Linq;
@@ -32,6 +33,28 @@ namespace NatTypeTester
 
                 #endregion
 
+
+                this.OneWayBind(ViewModel,
+                        vm => vm.CanConfigProxy,
+                        v => v.ProxyConfigGrid.IsEnabled
+                ).DisposeWith(disposableRegistration);
+
+                this.Bind(ViewModel,
+                        vm => vm.ProxyServer,
+                        v => v.ProxyServerTextBox.Text
+                ).DisposeWith(disposableRegistration);
+
+                this.Bind(ViewModel,
+                        vm => vm.ProxyUser,
+                        v => v.ProxyUsernameTextBox.Text
+                ).DisposeWith(disposableRegistration);
+
+                this.Bind(ViewModel,
+                        vm => vm.ProxyPassword,
+                        v => v.ProxyPasswordTextBox.Text
+                ).DisposeWith(disposableRegistration);
+
+
                 #region RFC3489
 
                 this.OneWayBind(ViewModel,

+ 2 - 0
NatTypeTester/ViewModels/MainWindowViewModel.cs

@@ -111,6 +111,8 @@ namespace NatTypeTester.ViewModels
 
         #region Proxy
 
+        public bool CanConfigProxy => ProxyType != ProxyType.Plain;
+
         private ProxyType _proxyType = ProxyType.Socks5;
         public ProxyType ProxyType
         {