Files
MaaAssistantArknights/src/MaaWpfGui/Views/UserControl/Settings/VersionUpdateSettingsUserControl.xaml
2025-02-06 22:50:48 +08:00

380 lines
19 KiB
XML

<UserControl
x:Class="MaaWpfGui.Views.UserControl.Settings.VersionUpdateSettingsUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:c="clr-namespace:CalcBinding;assembly=CalcBinding"
xmlns:constants="clr-namespace:MaaWpfGui.Constants"
xmlns:controls="clr-namespace:MaaWpfGui.Styles.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dd="urn:gong-wpf-dragdrop"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:helper="clr-namespace:MaaWpfGui.Helper"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:s="https://github.com/canton7/Stylet"
xmlns:ui="clr-namespace:MaaWpfGui.ViewModels.UI"
xmlns:viewModels="clr-namespace:MaaWpfGui.ViewModels.UserControl.Settings"
d:Background="White"
d:DataContext="{d:DesignInstance {x:Type viewModels:VersionUpdateSettingsUserControlModel}}"
d:DesignWidth="550"
s:View.ActionTarget="{Binding}"
mc:Ignorable="d">
<StackPanel>
<controls:TextBlock
Grid.Row="0"
HorizontalAlignment="Center"
FontWeight="Bold"
Text="{DynamicResource GlobalConfigTip}"
TextAlignment="Center"
Visibility="{c:Binding 'ConfigurationList.Count > 1',
Source={x:Static helper:Instances.SettingsViewModel}}" />
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel
Grid.Row="0"
Grid.Column="0"
VerticalAlignment="Center">
<StackPanel VerticalAlignment="Center">
<CheckBox
Margin="10"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{DynamicResource StartupUpdateCheck}"
IsChecked="{Binding UpdateCheck}"
IsEnabled="False" />
<CheckBox
Margin="10"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{DynamicResource UpdateAutoCheck}"
IsChecked="{Binding UpdateAutoCheck}" />
<CheckBox
Margin="10"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{DynamicResource UpdateAutoDownload}"
IsChecked="{Binding AutoDownloadUpdatePackage}" />
<CheckBox
Margin="10"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{DynamicResource AutoInstallUpdatePackage}"
IsChecked="{Binding AutoInstallUpdatePackage}" />
<hc:ComboBox
Width="150"
Margin="10"
HorizontalAlignment="Left"
VerticalAlignment="Center"
hc:TitleElement.Title="{DynamicResource UpdateCheck}"
DisplayMemberPath="Display"
ItemsSource="{Binding VersionTypeList}"
SelectedValue="{Binding VersionType}"
SelectedValuePath="Value" />
<StackPanel>
<hc:ComboBox
Width="150"
Margin="10"
HorizontalAlignment="Left"
VerticalAlignment="Center"
hc:TitleElement.Title="{DynamicResource ResourceUpdateSource}"
DisplayMemberPath="Display"
ItemsSource="{Binding ResourceUpdateSourceList}"
SelectedValue="{Binding ResourceUpdateSource}"
SelectedValuePath="Value" />
<hc:PasswordBox
Width="150"
Margin="10"
HorizontalAlignment="Left"
VerticalAlignment="Center"
hc:TitleElement.Title="CDK"
IsSafeEnabled="False"
ShowEyeButton="True"
UnsafePassword="{Binding MirrorChyanCdk}"
Visibility="{c:Binding 'ResourceUpdateSource == &quot;MirrorChyan&quot;'}" />
<controls:TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
<Hyperlink
Cursor="Hand"
NavigateUri="{Binding Source={x:Static constants:MaaUrls.MirrorChyanWebsite}}"
TextDecorations="None">
<TextBlock Text="{DynamicResource MirrorChyan}" />
</Hyperlink>
</controls:TextBlock>
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel
Grid.Row="0"
Grid.Column="1"
Margin="3"
VerticalAlignment="Center">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<ComboBox
Grid.Row="0"
Width="130"
Margin="0,10,0,0"
HorizontalContentAlignment="Center"
BorderThickness="0"
DisplayMemberPath="Display"
ItemsSource="{Binding ProxyTypeList}"
SelectedValue="{Binding ProxyType}"
SelectedValuePath="Value" />
<TextBox
Grid.Row="1"
Width="150"
Margin="10,0,10,10"
VerticalAlignment="Center"
InputMethod.IsInputMethodEnabled="False"
Text="{Binding Proxy}" />
<StackPanel Grid.Row="2">
<hc:Shield
Height="NaN"
Margin="0,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
hc:FloatingBlock.Content="{Binding ResourceVersion}"
PreviewMouseDown="ResourceVersionClick"
Subject="{DynamicResource ResourceVersion}"
Color="#6969AA">
<TextBlock
MaxWidth="150"
Margin="0,3,0,3"
d:MinWidth="50"
Foreground="White"
Text="{Binding ResourceVersion, Mode=OneWay}"
TextWrapping="Wrap" />
</hc:Shield>
<Grid HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Border
Grid.Row="0"
Grid.Column="0"
Margin="0,5,0,5"
Background="#555555"
CornerRadius="3,0,0,3"
Visibility="{c:Binding 'UiVersion == CoreVersion'}">
<TextBlock
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
hc:FloatingBlock.Content="{Binding UiVersion}"
Foreground="White"
PreviewMouseDown="MaaVersionClick"
Text="{DynamicResource MaaVersion}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="0"
Grid.Column="1"
Margin="0,5,0,5"
Background="#6969AA"
CornerRadius="0,3,3,0"
Visibility="{c:Binding 'UiVersion == CoreVersion'}">
<TextBlock
MaxWidth="400"
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
d:MinWidth="50"
hc:FloatingBlock.Content="{Binding UiVersion}"
Foreground="White"
PreviewMouseDown="MaaVersionClick"
Text="{Binding UiVersionDisplay, Mode=OneWay}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="1"
Grid.Column="0"
Margin="0,5,0,5"
Background="#555555"
CornerRadius="3,0,0,3"
Visibility="{c:Binding 'UiVersion != CoreVersion'}">
<TextBlock
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
hc:FloatingBlock.Content="{Binding UiVersion}"
Foreground="White"
PreviewMouseDown="UiVersionClick"
Text="{DynamicResource UiVersion}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="1"
Grid.Column="1"
Margin="0,5,0,5"
Background="#6969AA"
CornerRadius="0,3,3,0"
Visibility="{c:Binding 'UiVersion != CoreVersion'}">
<TextBlock
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
d:MinWidth="50"
hc:FloatingBlock.Content="{Binding UiVersion}"
Foreground="White"
PreviewMouseDown="UiVersionClick"
Text="{Binding UiVersionDisplay, Mode=OneWay}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="2"
Grid.Column="0"
Margin="0,5,0,5"
Background="#555555"
CornerRadius="3,0,0,3"
Visibility="{c:Binding 'UiVersion != CoreVersion'}">
<TextBlock
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
hc:FloatingBlock.Content="{Binding CoreVersion}"
Foreground="White"
PreviewMouseDown="CoreVersionClick"
Text="{DynamicResource CoreVersion}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="2"
Grid.Column="1"
Margin="0,5,0,5"
Background="#6969AA"
CornerRadius="0,3,3,0"
Visibility="{c:Binding 'UiVersion != CoreVersion'}">
<TextBlock
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
d:MinWidth="50"
hc:FloatingBlock.Content="{Binding CoreVersion}"
Foreground="White"
PreviewMouseDown="CoreVersionClick"
Text="{Binding CoreVersionDisplay, Mode=OneWay}"
TextWrapping="Wrap" />
</Border>
</Grid>
<Grid HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Border
Grid.Row="0"
Grid.Column="0"
Margin="0,5,0,5"
Background="#555555"
CornerRadius="3,0,0,3">
<TextBlock
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
hc:FloatingBlock.Content="{Binding ResourceDateTimeCurrentCultureString}"
Foreground="White"
PreviewMouseDown="ResourceVersionClick"
Text="{DynamicResource ResourceDateTime}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="0"
Grid.Column="1"
Margin="0,5,0,5"
Background="#6969AA"
CornerRadius="0,3,3,0">
<TextBlock
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
d:MinWidth="50"
hc:FloatingBlock.Content="{Binding ResourceDateTimeCurrentCultureString}"
Foreground="White"
PreviewMouseDown="ResourceVersionClick"
Text="{Binding ResourceDateTimeCurrentCultureString, Mode=OneWay}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="1"
Grid.Column="0"
Margin="0,5,0,5"
Background="#555555"
CornerRadius="3,0,0,3">
<TextBlock
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
hc:FloatingBlock.Content="{Binding BuildDateTimeCurrentCultureString}"
Foreground="White"
PreviewMouseDown="MaaVersionClick"
Text="{DynamicResource BuildDateTime}"
TextWrapping="Wrap" />
</Border>
<Border
Grid.Row="1"
Grid.Column="1"
Margin="0,5,0,5"
Background="#6969AA"
CornerRadius="0,3,3,0">
<TextBlock
Padding="5,3,5,3"
HorizontalAlignment="Center"
VerticalAlignment="Center"
d:MinWidth="50"
hc:FloatingBlock.Content="{Binding BuildDateTimeCurrentCultureString}"
Foreground="White"
PreviewMouseDown="MaaVersionClick"
Text="{Binding BuildDateTimeCurrentCultureString, Mode=OneWay}"
TextWrapping="Wrap" />
</Border>
</Grid>
</StackPanel>
<StackPanel
Grid.Row="3"
Margin="5"
HorizontalAlignment="Center"
Orientation="Horizontal">
<Button
Margin="5"
Command="{s:Action ManualUpdate}"
Content="{DynamicResource UpdateCheckNow}"
IsEnabled="{c:Binding !IsCheckingForUpdates}" />
<Button
Margin="5"
Command="{s:Action ShowChangelog}"
Content="{DynamicResource ShowChangelog}"
IsEnabled="{c:Binding !IsCheckingForUpdates}" />
</StackPanel>
<Button
Grid.Row="4"
Margin="5"
Command="{s:Action ManualUpdateResource}"
Content="{DynamicResource ResourceUpdate}"
IsEnabled="{c:Binding !IsCheckingForUpdates}" />
</Grid>
</StackPanel>
</Grid>
</StackPanel>
</UserControl>