mirror of
https://github.com/yaobiao131/downkyicore.git
synced 2025-08-10 00:52:31 +00:00
496 lines
26 KiB
XML
496 lines
26 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
x:Class="DownKyi.Views.Settings.ViewNetwork"
|
|
xmlns:vms="clr-namespace:DownKyi.ViewModels.Settings"
|
|
x:DataType="vms:ViewNetworkViewModel"
|
|
xmlns:i="using:Avalonia.Xaml.Interactivity"
|
|
xmlns:ia="clr-namespace:Avalonia.Xaml.Interactions.Core;assembly=Avalonia.Xaml.Interactions"
|
|
xmlns:iac="clr-namespace:DownKyi.CustomAction">
|
|
<ScrollViewer>
|
|
<StackPanel Margin="50,0" Orientation="Vertical">
|
|
<StackPanel Margin="0,20,0,0" Orientation="Horizontal">
|
|
<TextBlock
|
|
FontSize="18"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource Network}" />
|
|
</StackPanel>
|
|
|
|
<CheckBox
|
|
Name="NameUseSsl"
|
|
Margin="0,20,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top"
|
|
Command="{Binding UseSSLCommand}"
|
|
Content="{DynamicResource UseSSL}"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
IsChecked="{Binding UseSSL, Mode=TwoWay}" />
|
|
|
|
<TextBlock
|
|
Margin="0,20,0,0"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource UserAgent}" />
|
|
|
|
<TextBox
|
|
Name="NameUserAgent"
|
|
Margin="0,10,0,0"
|
|
HorizontalAlignment="Stretch"
|
|
Text="{Binding UserAgent}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding UserAgentCommand}"
|
|
CommandParameter="{Binding ElementName=NameUserAgent,Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
|
|
<StackPanel Margin="0,20,0,0" Orientation="Vertical">
|
|
<TextBlock
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource SelectDownloader}" />
|
|
|
|
<StackPanel Margin="0,20,0,0" Orientation="Horizontal">
|
|
<RadioButton
|
|
Command="{Binding SelectDownloaderCommand}"
|
|
CommandParameter="Builtin"
|
|
Content="{DynamicResource BuiltinDownloader}"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
IsChecked="{Binding Builtin}" />
|
|
<RadioButton
|
|
Margin="20,0,0,0"
|
|
Command="{Binding SelectDownloaderCommand}"
|
|
CommandParameter="Aria2c"
|
|
Content="{DynamicResource Aria2cDownloader}"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
IsChecked="{Binding Aria2c}" />
|
|
<RadioButton
|
|
Margin="20,0,0,0"
|
|
Command="{Binding SelectDownloaderCommand}"
|
|
CommandParameter="CustomAria2c"
|
|
Content="{DynamicResource CustomAria2cDownloader}"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
IsChecked="{Binding CustomAria2c}" />
|
|
</StackPanel>
|
|
</StackPanel>
|
|
<TextBlock
|
|
Height="1"
|
|
Margin="0,20,0,0"
|
|
Background="{DynamicResource BrushBorder}" />
|
|
|
|
<StackPanel x:Name="NameBuiltin" IsVisible="{Binding Builtin}">
|
|
<StackPanel Margin="0,20,0,0" Orientation="Horizontal">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource MaxCurrentDownloads}" />
|
|
<ComboBox
|
|
Name="NameMaxCurrentDownloads"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
ItemsSource="{Binding MaxCurrentDownloads}"
|
|
SelectedValue="{Binding SelectedMaxCurrentDownload,Mode=TwoWay}">
|
|
<i:Interaction.Behaviors>
|
|
<ia:EventTriggerBehavior EventName="SelectionChanged">
|
|
<ia:InvokeCommandAction Command="{Binding MaxCurrentDownloadsCommand}"
|
|
CommandParameter="{Binding ElementName=NameMaxCurrentDownloads, Path=SelectedValue}" />
|
|
</ia:EventTriggerBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</ComboBox>
|
|
</StackPanel>
|
|
|
|
<StackPanel Margin="0,20,0,0" Orientation="Horizontal">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource Split}" />
|
|
<ComboBox
|
|
Name="NameSplits"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
ItemsSource="{Binding Splits}"
|
|
SelectedValue="{Binding SelectedSplit}">
|
|
<i:Interaction.Behaviors>
|
|
<ia:EventTriggerBehavior EventName="SelectionChanged">
|
|
<ia:InvokeCommandAction Command="{Binding SplitsCommand}"
|
|
CommandParameter="{Binding ElementName=NameSplits, Path=SelectedValue}" />
|
|
</ia:EventTriggerBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</ComboBox>
|
|
</StackPanel>
|
|
|
|
<CheckBox
|
|
Name="NameIsHttpProxy"
|
|
Margin="0,20,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top"
|
|
Command="{Binding IsHttpProxyCommand}"
|
|
Content="{DynamicResource IsHttpProxy}"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
IsChecked="{Binding IsHttpProxy, Mode=TwoWay}" />
|
|
</StackPanel>
|
|
|
|
<StackPanel x:Name="NameAria" IsVisible="{Binding Aria2c}">
|
|
<!--<StackPanel.Style>
|
|
<Style TargetType="{x:Type StackPanel}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Aria2c}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Aria2c}" Value="False">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</StackPanel.Style>-->
|
|
|
|
<!--<StackPanel
|
|
Margin="0,20,0,0"
|
|
Orientation="Horizontal"
|
|
ToolTip.Tip="{DynamicResource PressEnterToApplySettingTip}">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaServerHost}" />
|
|
<TextBox
|
|
Name="NameAriaLocalHost"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
IsReadOnly="True"
|
|
Text="{Binding AriaHost}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding AriaHostCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaLocalHost, Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</StackPanel>-->
|
|
|
|
<StackPanel
|
|
Margin="0,20,0,0"
|
|
Orientation="Horizontal"
|
|
ToolTip.Tip="{DynamicResource PressEnterToApplySettingTip}">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaServerPort}" />
|
|
<TextBox
|
|
Name="NameAriaListenPort"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
Text="{Binding AriaListenPort}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding AriaListenPortCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaListenPort, Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</StackPanel>
|
|
|
|
<StackPanel Margin="0,20,0,0" Orientation="Horizontal">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaLogLevel}" />
|
|
<ComboBox
|
|
Name="NameAriaLogLevels"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
ItemsSource="{Binding AriaLogLevels}"
|
|
SelectedValue="{Binding SelectedAriaLogLevel}">
|
|
<i:Interaction.Behaviors>
|
|
<ia:EventTriggerBehavior EventName="SelectionChanged">
|
|
<ia:InvokeCommandAction Command="{Binding AriaLogLevelsCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaLogLevels, Path=SelectedValue}" />
|
|
</ia:EventTriggerBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</ComboBox>
|
|
</StackPanel>
|
|
|
|
<StackPanel Margin="0,20,0,0" Orientation="Horizontal">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaMaxConcurrentDownloads}" />
|
|
<ComboBox
|
|
Name="NameAriaMaxConcurrentDownloads"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
ItemsSource="{Binding AriaMaxConcurrentDownloads}"
|
|
SelectedValue="{Binding SelectedAriaMaxConcurrentDownload}">
|
|
<i:Interaction.Behaviors>
|
|
<ia:EventTriggerBehavior EventName="SelectionChanged">
|
|
<ia:InvokeCommandAction Command="{Binding AriaMaxConcurrentDownloadsCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaMaxConcurrentDownloads, Path=SelectedValue}" />
|
|
</ia:EventTriggerBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</ComboBox>
|
|
</StackPanel>
|
|
|
|
<StackPanel Margin="0,20,0,0" Orientation="Horizontal">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaSplit}" />
|
|
<ComboBox
|
|
Name="NameAriaSplits"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
ItemsSource="{Binding AriaSplits}"
|
|
SelectedValue="{Binding SelectedAriaSplit}">
|
|
<i:Interaction.Behaviors>
|
|
<ia:EventTriggerBehavior EventName="SelectionChanged">
|
|
<ia:InvokeCommandAction Command="{Binding AriaSplitsCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaSplits, Path=SelectedValue}" />
|
|
</ia:EventTriggerBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</ComboBox>
|
|
</StackPanel>
|
|
|
|
<HeaderedContentControl
|
|
Margin="0,20,0,0"
|
|
Padding="10,5"
|
|
HorizontalAlignment="Left"
|
|
FontSize="12"
|
|
Background="LightGray"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Header="{DynamicResource AriaDownloadLimit}">
|
|
|
|
<StackPanel Margin="10">
|
|
<StackPanel Margin="0,10,0,0" Orientation="Horizontal">
|
|
<TextBlock
|
|
Width="300"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaMaxOverallDownloadLimit}" />
|
|
<TextBox
|
|
Name="NameAriaMaxOverallDownloadLimit"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
Text="{Binding AriaMaxOverallDownloadLimit}"
|
|
ToolTip.Tip="{DynamicResource PressEnterToApplySettingTip}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding AriaMaxOverallDownloadLimitCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaMaxOverallDownloadLimit, Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</StackPanel>
|
|
<StackPanel Margin="0,10,0,5" Orientation="Horizontal">
|
|
<TextBlock
|
|
Width="300"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaMaxDownloadLimit}" />
|
|
<TextBox
|
|
Name="NameAriaMaxDownloadLimit"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
Text="{Binding AriaMaxDownloadLimit}"
|
|
ToolTip.Tip="{DynamicResource PressEnterToApplySettingTip}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding AriaMaxDownloadLimitCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaMaxDownloadLimit, Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</HeaderedContentControl>
|
|
|
|
<CheckBox
|
|
Name="NameIsAriaHttpProxy"
|
|
Margin="0,20,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top"
|
|
Command="{Binding IsAriaHttpProxyCommand}"
|
|
Content="{DynamicResource IsHttpProxy}"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
IsChecked="{Binding IsAriaHttpProxy, Mode=TwoWay}" />
|
|
|
|
<StackPanel
|
|
Name="NameAriaHttpProxyPanel"
|
|
Margin="0,20,0,0"
|
|
Orientation="Horizontal"
|
|
ToolTip.Tip="{DynamicResource PressEnterToApplySettingTip}"
|
|
IsVisible="{Binding ElementName=NameIsAriaHttpProxy,Path=IsChecked}">
|
|
<!--<StackPanel.Style>
|
|
<Style TargetType="{x:Type StackPanel}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding ElementName=nameIsAriaHttpProxy, Path=IsChecked}"
|
|
Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding ElementName=nameIsAriaHttpProxy, Path=IsChecked}"
|
|
Value="true">
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</StackPanel.Style>-->
|
|
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource HttpProxy}" />
|
|
<TextBox
|
|
Name="NameAriaHttpProxy"
|
|
Width="200"
|
|
VerticalContentAlignment="Center"
|
|
Text="{Binding AriaHttpProxy}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding AriaHttpProxyCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaHttpProxy, Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</StackPanel>
|
|
<StackPanel Margin="30,0,0,0" Orientation="Horizontal">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource HttpProxyPort}" />
|
|
<TextBox
|
|
Name="NameAriaHttpProxyPort"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
Text="{Binding AriaHttpProxyPort}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding AriaHttpProxyPortCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaHttpProxyPort, Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
<StackPanel Margin="0,20,0,0" Orientation="Horizontal">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaFileAllocation}" />
|
|
<ComboBox
|
|
Name="NameAriaFileAllocations"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
ItemsSource="{Binding AriaFileAllocations}"
|
|
SelectedValue="{Binding SelectedAriaFileAllocation}">
|
|
<i:Interaction.Behaviors>
|
|
<ia:EventTriggerBehavior EventName="SelectionChanged">
|
|
<InvokeCommandAction Command="{Binding AriaFileAllocationsCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaFileAllocations, Path=SelectedValue}" />
|
|
</ia:EventTriggerBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</ComboBox>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
<StackPanel x:Name="NameCustomAria" IsVisible="{Binding CustomAria2c}">
|
|
<StackPanel
|
|
Margin="0,20,0,0"
|
|
Orientation="Horizontal"
|
|
ToolTip.Tip="{DynamicResource PressEnterToApplySettingTip}">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaServerHost}" />
|
|
<TextBox
|
|
Name="NameAriaHost"
|
|
Width="300"
|
|
VerticalContentAlignment="Center"
|
|
Text="{Binding AriaHost}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding AriaHostCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaHost, Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</StackPanel>
|
|
<StackPanel
|
|
Margin="0,20,0,0"
|
|
Orientation="Horizontal"
|
|
ToolTip.Tip="{DynamicResource PressEnterToApplySettingTip}">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaServerPort}" />
|
|
<TextBox
|
|
Name="NameAriaPort"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
Text="{Binding AriaListenPort}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding AriaListenPortCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaPort, Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</StackPanel>
|
|
<StackPanel
|
|
Margin="0,20,0,0"
|
|
Orientation="Horizontal"
|
|
ToolTip.Tip="{DynamicResource PressEnterToApplySettingTip}">
|
|
<TextBlock
|
|
Width="100"
|
|
VerticalAlignment="Center"
|
|
FontSize="12"
|
|
Foreground="{DynamicResource BrushTextDark}"
|
|
Text="{DynamicResource AriaServerToken}" />
|
|
<TextBox
|
|
Name="NameAriaToken"
|
|
Width="100"
|
|
VerticalContentAlignment="Center"
|
|
Text="{Binding AriaToken}">
|
|
<i:Interaction.Behaviors>
|
|
<iac:KeyUpBehavior Key="Enter">
|
|
<ia:InvokeCommandAction Command="{Binding AriaTokenCommand}"
|
|
CommandParameter="{Binding ElementName=NameAriaToken, Path=Text}" />
|
|
</iac:KeyUpBehavior>
|
|
</i:Interaction.Behaviors>
|
|
</TextBox>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
|
|
<StackPanel Margin="10" />
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</UserControl> |