﻿<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>
