<Page x:Class="XFEToolBox.Views.Pages.SettingPage"
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:viewmodel="clr-namespace:XFEToolBox.ViewModel.Pages"
xmlns:model="clr-namespace:XFEToolBox.Model"
xmlns:ctr="clr-namespace:XFEToolBox.Views.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:XFEToolBox.Views.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="SettingPage" d:DataContext="{d:DesignInstance Type=viewmodel:SettingPageViewModel}" Loaded="Page_Loaded">
<Border Background="{DynamicResource BackgroundColor}" CornerRadius="15" Margin="15,5,15,15">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="33"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border Grid.Column="1" Background="{DynamicResource BackgroundColor}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Hidden" VerticalAlignment="Center">
<StackPanel x:Name="tabUnderLinePanel" Orientation="Horizontal">
<ctr:TabUnderLineButton x:Name="generalTabUnderLineButton" Margin="0,0,10,0" Tag="general" Command="{Binding TabClickedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}">
<TextBlock Text="常规" Style="{StaticResource TabUnderLineText}"/>
</ctr:TabUnderLineButton>
<ctr:TabUnderLineButton Tag="console" Command="{Binding TabClickedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}">
<TextBlock Text="控制台" Style="{StaticResource TabUnderLineText}"/>
</ctr:TabUnderLineButton>
<ctr:TabUnderLineButton Tag="download" Command="{Binding TabClickedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}">
<TextBlock Text="下载" Style="{StaticResource TabUnderLineText}"/>
</ctr:TabUnderLineButton>
<ctr:TabUnderLineButton Tag="performance" Command="{Binding TabClickedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}">
<TextBlock Text="性能" Style="{StaticResource TabUnderLineText}"/>
</ctr:TabUnderLineButton>
</StackPanel>
</ScrollViewer>
<Border Background="{DynamicResource MainColor}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="1">
</Border>
</Grid>
</Border>
<ctr:SmoothScrollViewer x:Name="scrollViewer" Grid.Row="1" Grid.ColumnSpan="3" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Disabled" ScrollChanged="ScrollViewer_ScrollChanged">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1">
<Grid Margin="0,20">
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock x:Name="generalSettingBlock" VerticalAlignment="Center" Text="常规" Style="{StaticResource TabUnderLineText}"/>
<Border Background="{DynamicResource MainColor}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="1" Tag="常规"/>
<StackPanel Grid.Row="1">
<ctr:SwitchButton x:Name="autoSelfLaunchSwitch" Command="{Binding SwitchedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Tag="XFEToolBox.Profiles.CrossVersionProfiles.SystemProfile.AutoSelfLaunch">
<TextBlock Text="开机自启动"/>
</ctr:SwitchButton>
<ctr:SwitchButton x:Name="startWithMaximize" Command="{Binding SwitchedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Tag="XFEToolBox.Profiles.CrossVersionProfiles.SystemProfile.StartWithMaximize">
<TextBlock Text="最大化窗口启动"/>
</ctr:SwitchButton>
</StackPanel>
</Grid>
<Grid Margin="0,20">
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock x:Name="consoleSettingBlock" VerticalAlignment="Center" Text="控制台" Style="{StaticResource TabUnderLineText}"/>
<Border Background="{DynamicResource MainColor}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="1"/>
<StackPanel Grid.Row="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Margin="0,10" Text="控制台端口:" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<ctr:TextEditor Grid.Column="1" CaretBrush="{DynamicResource MainColor}" SelectionBrush="{DynamicResource MainColor}" Margin="10,0,0,0" Padding="5" HintText="3280" HintTextHorizontalAlignment="Center" Width="80" HorizontalAlignment="Left" TextChanged="TextEditor_TextChanged" Tag="XFEToolBox.Profiles.CrossVersionProfiles.ConsoleProfile.ConsolePort" VerticalAlignment="Center"/>
<TextBlock Margin="0,10" Grid.Row="1" Text="连接密码:" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<ctr:PasswordHintTextBox Grid.Row="1" Grid.Column="1" CaretBrush="{DynamicResource MainColor}" SelectionBrush="{DynamicResource MainColor}" Margin="10,0,0,0" Padding="0" HintText="默认为空" Width="120" HorizontalAlignment="Left" PasswordChange="PasswordHintTextBox_PasswordChange" Tag="XFEToolBox.Profiles.CrossVersionProfiles.ConsoleProfile.ConsolePassword" VerticalAlignment="Center"/>
</Grid>
<ctr:SwitchButton Command="{Binding SwitchedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Tag="XFEToolBox.Profiles.CrossVersionProfiles.ConsoleProfile.LocalHostOnly">
<TextBlock Text="只对本地回环开放(localhost)"/>
</ctr:SwitchButton>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Margin="0,10" Text="控制台最大显示行数 (-1为不设上限):" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<ctr:TextEditor Grid.Column="1" CaretBrush="{DynamicResource MainColor}" SelectionBrush="{DynamicResource MainColor}" Margin="10,0,0,0" Padding="5" HintText="8000" HintTextHorizontalAlignment="Center" Width="80" HorizontalAlignment="Left" TextChanged="TextEditor_TextChanged" Tag="XFEToolBox.Profiles.CrossVersionProfiles.ConsoleProfile.MaxLine" VerticalAlignment="Center"/>
</Grid>
</StackPanel>
</Grid>
<Grid Margin="0,20">
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock x:Name="downloadSettingBlock" VerticalAlignment="Center" Text="下载" Style="{StaticResource TabUnderLineText}"/>
<Border Background="{DynamicResource MainColor}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="1" Tag="下载"/>
<StackPanel Grid.Row="1">
<ctr:SwitchButton Command="{Binding SwitchedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Tag="XFEToolBox.Profiles.CrossVersionProfiles.DownloadProfile.UseNormalDownloader">
<TextBlock Text="使用普通下载模式(不加速)"/>
</ctr:SwitchButton>
<Grid Margin="0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MaxWidth="300"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding DownloadDirectory}" VerticalAlignment="Center" HorizontalAlignment="Left" TextTrimming="CharacterEllipsis"/>
<ctr:RoundButton Grid.Column="1" Command="{Binding OpenDownloadDirectoryCommand}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="5,0">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="打开目录" Margin="4" Foreground="{DynamicResource MainColor}"/>
</ctr:RoundButton>
<ctr:RoundButton Grid.Column="2" Command="{Binding ChoiceDownloadDirectoryCommand}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="5,0">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="更改目录" Margin="4" Foreground="{DynamicResource MainColor}"/>
</ctr:RoundButton>
</Grid>
<Grid Margin="0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="加速下载线程数量:" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<ctr:TextEditor Grid.Column="1" CaretBrush="{DynamicResource MainColor}" SelectionBrush="{DynamicResource MainColor}" Margin="10,0,0,0" Padding="5" HintText="9" HintTextHorizontalAlignment="Center" MinWidth="30" HorizontalAlignment="Left" TextChanged="TextEditor_TextChanged" Tag="XFEToolBox.Profiles.CrossVersionProfiles.DownloadProfile.DownloadThread" VerticalAlignment="Center"/>
</Grid>
<ctr:SwitchButton Command="{Binding SwitchedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Tag="XFEToolBox.Profiles.CrossVersionProfiles.DownloadProfile.AutoRunWhenComplete">
<TextBlock Text="下载完成后自动运行下载的文件(仅限exe)"/>
</ctr:SwitchButton>
<ctr:SwitchButton Command="{Binding SwitchedCommand}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" Tag="XFEToolBox.Profiles.CrossVersionProfiles.DownloadProfile.OpenFolderWhenComplete">
<TextBlock Text="下载完成后打开目录"/>
</ctr:SwitchButton>
</StackPanel>
</Grid>
<Grid Margin="0,20">
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock x:Name="performanceSettingBlock" VerticalAlignment="Center" Text="性能" Style="{StaticResource TabUnderLineText}"/>
<Border Background="{DynamicResource MainColor}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="1" Tag="性能"/>
<StackPanel Grid.Row="1">
<TextBlock Text="储存使用" FontWeight="Bold" Margin="0,10,0,5"/>
<Border BorderBrush="{DynamicResource MainColor}" BorderThickness="1" Padding="10" CornerRadius="10" HorizontalAlignment="Left">
<UniformGrid Columns="2" Rows="5">
<TextBlock Text="缓存配置文件:" Margin="5" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding CacheProfileSize}" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<ctr:RoundButton Margin="10,0,0,0" Command="{Binding ClearCacheCommand}">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="清理缓存" Margin="5,0" Foreground="{DynamicResource MainColor}"/>
</ctr:RoundButton>
</StackPanel>
<TextBlock Text="跨版本配置文件:" Margin="5" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<TextBlock Text="{Binding CrossVersionProfileSize}" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<TextBlock Text="当前版本配置文件:" Margin="5" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<TextBlock Text="{Binding CurrentVersionProfileSize}" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<TextBlock Text="同步配置文件:" Margin="5" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<TextBlock Text="{Binding SynchronizeProfileSize}" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<TextBlock Text="总配置文件:" Margin="5" VerticalAlignment="Center" HorizontalAlignment="Left"/>
<TextBlock Text="{Binding TotalProfileSize}" VerticalAlignment="Center" HorizontalAlignment="Left"/>
</UniformGrid>
</Border>
</StackPanel>
</Grid>
</StackPanel>
</Grid>
</ctr:SmoothScrollViewer>
</Grid>
</Border>
</Page>