mirror of
https://github.com/openbullet/openbullet.git
synced 2023-10-21 07:33:42 -05:00
315 lines
17 KiB
XML
315 lines
17 KiB
XML
<Page x:Class="OpenBullet.Views.Main.ProxyManager"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:utils="clr-namespace:System.Web;assembly=System"
|
|
xmlns:local="clr-namespace:OpenBullet.Views.Main"
|
|
mc:Ignorable="d"
|
|
d:DesignHeight="550" d:DesignWidth="780"
|
|
Title="ProxyManager">
|
|
<Page.Resources>
|
|
<ContextMenu x:Key="ItemContextMenu">
|
|
<MenuItem x:Name="copySelectedProxies" Header="Copy Selected Proxies" Click="copySelectedProxies_Click"/>
|
|
</ContextMenu>
|
|
</Page.Resources>
|
|
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="150" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="80" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Top Grid -->
|
|
<Grid Grid.Column="0" Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="65" />
|
|
<ColumnDefinition Width="2*" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Label Grid.Column="0" Grid.Row="0" VerticalAlignment="Center" Content="Progress:" />
|
|
<Label Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" Content="Test On:" />
|
|
<ProgressBar x:Name="progressBar" Grid.Column="1" Grid.Row="0" Minimum="0" Maximum="1" Margin="5" />
|
|
<TextBox Grid.Column="1" Grid.Row="1" Margin="5" Text="{Binding TestSite}" VerticalContentAlignment="Center"/>
|
|
<DockPanel Grid.Column="2" Grid.Row="0" VerticalAlignment="Center">
|
|
<Label Content="Bots: " />
|
|
<Label Width="35" Content="{Binding BotsAmount}" />
|
|
<Slider x:Name="botsSlider" VerticalAlignment="Center" TickFrequency="20" TickPlacement="Both" Minimum="1" Maximum="200" ValueChanged="botsSlider_ValueChanged" Margin="0 0 10 0"/>
|
|
</DockPanel>
|
|
<DockPanel Grid.Column="2" Grid.Row="1">
|
|
<Label Content="Success Key:" VerticalAlignment="Center" />
|
|
<TextBox Margin="5" Text="{Binding SuccessKey}" VerticalContentAlignment="Center"/>
|
|
</DockPanel>
|
|
|
|
</Grid>
|
|
|
|
<!-- Check Button -->
|
|
<Button x:Name="checkButton" Grid.Column="1" Grid.Row="0" Margin="5" Content="CHECK" Click="checkButton_Click" />
|
|
|
|
<!-- Proxies List View -->
|
|
<ListView x:Name="proxiesListView" Grid.Column="0" Grid.Row="1" Foreground="{DynamicResource ForegroundMain}" Background="Transparent" ItemsSource="{Binding Path=ProxiesCollection}" SelectionMode="Extended" BorderThickness="1" VirtualizingPanel.IsVirtualizing="True" AllowDrop="True" Drop="ProxyListViewDrop">
|
|
|
|
<!-- Show Headers by overriding the default style -->
|
|
<ListView.Style>
|
|
<Style TargetType="{x:Type ListView}" />
|
|
</ListView.Style>
|
|
|
|
<!-- Align Headers to the Left -->
|
|
<ListView.Resources>
|
|
<Style x:Key="GridViewColumnHeaderGripper" TargetType="Thumb">
|
|
<Setter Property="Width" Value="18" />
|
|
<Setter Property="Background">
|
|
<Setter.Value>
|
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Color="{DynamicResource BorderLightColor}" Offset="0.0" />
|
|
<GradientStop Color="{DynamicResource BorderDarkColor}" Offset="1.0" />
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Thumb}">
|
|
<Border Padding="{TemplateBinding Padding}" Background="Transparent">
|
|
<Rectangle HorizontalAlignment="Center" Width="1" Fill="{TemplateBinding Background}" />
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="BorderBrush">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="Black" Offset="0" />
|
|
<GradientStop Color="White" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style TargetType="{x:Type GridViewColumnHeader}">
|
|
<Setter Property="HorizontalContentAlignment" Value="Left" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
|
|
<Grid>
|
|
<Border BorderThickness="0,0,0,1" BorderBrush="Black" Background="Transparent">
|
|
<TextBlock x:Name="ContentHeader" Text="{TemplateBinding Content}" Padding="5,5,5,0" Width="{TemplateBinding Width}" TextAlignment="Left" />
|
|
</Border>
|
|
<Thumb x:Name="PART_HeaderGripper"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,-9,0"
|
|
Style="{StaticResource GridViewColumnHeaderGripper}" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="OverridesDefaultStyle" Value="True" />
|
|
<Setter Property="Foreground" Value="{DynamicResource ForegroundMain}" />
|
|
<Setter Property="FontFamily" Value="pack://application:,,,/Fonts/#Century Gothic" />
|
|
<Setter Property="FontSize" Value="14" />
|
|
</Style>
|
|
<Style TargetType="{x:Type ListViewItem}">
|
|
<EventSetter Event="MouseRightButtonDown" Handler="ListViewItem_MouseRightButtonDown" />
|
|
<Setter Property="ContextMenu" Value="{StaticResource ItemContextMenu}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ListViewItem}">
|
|
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Background="{TemplateBinding Background}"
|
|
Padding="0"
|
|
SnapsToDevicePixels="true">
|
|
<GridViewRowPresenter
|
|
HorizontalAlignment="Left"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
|
|
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource BackgroundSecondary}" />
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource BackgroundSecondary}" />
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
</ListView.Resources>
|
|
|
|
<ListView.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<VirtualizingStackPanel>
|
|
</VirtualizingStackPanel>
|
|
</ItemsPanelTemplate>
|
|
</ListView.ItemsPanel>
|
|
|
|
<ListView.View>
|
|
<GridView>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Path=Type}">
|
|
<GridViewColumn.Header>
|
|
<GridViewColumnHeader Tag="Type" Click="listViewColumnHeader_Click">Type</GridViewColumnHeader>
|
|
</GridViewColumn.Header>
|
|
</GridViewColumn>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Path=Host}">
|
|
<GridViewColumn.Header>
|
|
<GridViewColumnHeader Tag="Host" Click="listViewColumnHeader_Click">Host</GridViewColumnHeader>
|
|
</GridViewColumn.Header>
|
|
</GridViewColumn>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Path=Port}">
|
|
<GridViewColumn.Header>
|
|
<GridViewColumnHeader Tag="Port" Click="listViewColumnHeader_Click">Port</GridViewColumnHeader>
|
|
</GridViewColumn.Header>
|
|
</GridViewColumn>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Path=Username}">
|
|
<GridViewColumn.Header>
|
|
<GridViewColumnHeader Tag="Username" Click="listViewColumnHeader_Click">Username</GridViewColumnHeader>
|
|
</GridViewColumn.Header>
|
|
</GridViewColumn>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Path=Password}">
|
|
<GridViewColumn.Header>
|
|
<GridViewColumnHeader Tag="Password" Click="listViewColumnHeader_Click">Password</GridViewColumnHeader>
|
|
</GridViewColumn.Header>
|
|
</GridViewColumn>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Path=Country}">
|
|
<GridViewColumn.Header>
|
|
<GridViewColumnHeader Tag="Country" Click="listViewColumnHeader_Click">Country</GridViewColumnHeader>
|
|
</GridViewColumn.Header>
|
|
</GridViewColumn>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Path=Working}">
|
|
<GridViewColumn.Header>
|
|
<GridViewColumnHeader Tag="Working" Click="listViewColumnHeader_Click">Working</GridViewColumnHeader>
|
|
</GridViewColumn.Header>
|
|
</GridViewColumn>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Path=Ping}">
|
|
<GridViewColumn.Header>
|
|
<GridViewColumnHeader Tag="Ping" Click="listViewColumnHeader_Click">Ping</GridViewColumnHeader>
|
|
</GridViewColumn.Header>
|
|
</GridViewColumn>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Path=HasNext}">
|
|
<GridViewColumn.Header>
|
|
<GridViewColumnHeader Tag="Type" Click="listViewColumnHeader_Click">Chain</GridViewColumnHeader>
|
|
</GridViewColumn.Header>
|
|
</GridViewColumn>
|
|
</GridView>
|
|
</ListView.View>
|
|
</ListView>
|
|
|
|
<!-- Stats Grid -->
|
|
<StackPanel Grid.Column="1" Grid.Row="1" Margin="5">
|
|
<StackPanel.Resources>
|
|
<Style TargetType="{x:Type Label}">
|
|
<Setter Property="HorizontalAlignment" Value="Center" />
|
|
<Setter Property="Foreground" Value="{DynamicResource ForegroundMain}" />
|
|
<Setter Property="Margin" Value="0 0 0 -7" />
|
|
</Style>
|
|
</StackPanel.Resources>
|
|
<Button x:Name="importButton" Click="importButton_Click" Margin="0 -5 0 0">
|
|
<StackPanel Orientation="Horizontal" Margin="0 5 0 0">
|
|
<Image Source="/Images/Icons/import.png" Width="20" />
|
|
<TextBlock VerticalAlignment="Center" Margin="5 0">Import</TextBlock>
|
|
</StackPanel>
|
|
</Button>
|
|
<Button x:Name="exportButton" Click="exportButton_Click" >
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Source="/Images/Icons/export.png" Width="20" />
|
|
<TextBlock VerticalAlignment="Center" Margin="5 0">Export</TextBlock>
|
|
</StackPanel>
|
|
</Button>
|
|
<Button x:Name="deleteButton" Click="deleteButton_Click" >
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Source="/Images/Icons/delete.png" Width="20" />
|
|
<TextBlock VerticalAlignment="Center" Margin="5 0">Delete</TextBlock>
|
|
</StackPanel>
|
|
</Button>
|
|
<Button x:Name="deleteAllButton" Click="deleteAllButton_Click" >
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Source="/Images/Icons/delete.png" Width="20" />
|
|
<TextBlock VerticalAlignment="Center" Margin="5 0">Delete All</TextBlock>
|
|
</StackPanel>
|
|
</Button>
|
|
<Expander Header="More Actions" ExpandDirection="Down" IsExpanded="False">
|
|
<StackPanel>
|
|
<Button x:Name="deleteNotWorkingButton" Click="deleteNotWorkingButton_Click" >
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Source="/Images/Icons/delete.png" Width="20" />
|
|
<TextBlock VerticalAlignment="Center" Margin="5 0">Del. Not Working</TextBlock>
|
|
</StackPanel>
|
|
</Button>
|
|
<Button x:Name="deleteDuplicatesButton" Click="deleteDuplicatesButton_Click" >
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Source="/Images/Icons/delete.png" Width="20" />
|
|
<TextBlock VerticalAlignment="Center" Margin="5 0">Del. Duplicates</TextBlock>
|
|
</StackPanel>
|
|
</Button>
|
|
<Button x:Name="deleteUntestedButton" Click="DeleteUntestedButton_Click" >
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Source="/Images/Icons/delete.png" Width="20" />
|
|
<TextBlock VerticalAlignment="Center" Margin="5 0">Del. Untested</TextBlock>
|
|
</StackPanel>
|
|
</Button>
|
|
</StackPanel>
|
|
</Expander>
|
|
<Label Content="STATISTICS" FontWeight="Bold" />
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="Total:" />
|
|
<Label Content="{Binding Total}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="Tested:" />
|
|
<Label Content="{Binding Tested}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="Working:" Foreground="{DynamicResource ForegroundGood}" />
|
|
<Label Content="{Binding Working}" Foreground="{DynamicResource ForegroundGood}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="Not Working:" Foreground="{DynamicResource ForegroundBad}" />
|
|
<Label Content="{Binding NotWorking}" Foreground="{DynamicResource ForegroundBad}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="HTTP:" />
|
|
<Label Content="{Binding Http}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="SOCKS4:" />
|
|
<Label Content="{Binding Socks4}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="SOCKS4a:" />
|
|
<Label Content="{Binding Socks4a}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="SOCKS5:" />
|
|
<Label Content="{Binding Socks5}" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="Chain:"/>
|
|
<Label Content="{Binding Chain}"/>
|
|
</StackPanel>
|
|
<Label Content="OPTIONS" FontWeight="Bold" />
|
|
<CheckBox Content="Only Untested" IsChecked="{Binding OnlyUntested}" Margin="0 5 0 0" />
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="Timeout (sec):" Margin="0 0 0 0"/>
|
|
<xctk:IntegerUpDown Name="timeoutUpDown" Background="Transparent" Value="{Binding Timeout}" Foreground="{DynamicResource ForegroundMain}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Page>
|