Files
MaaAssistantArknights/src/MaaWpfGui/Views/UserControl/Settings/VersionUpdateSettingsUserControl.xaml
2025-07-12 19:49:04 +08:00

431 lines
23 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: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: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
HorizontalAlignment="Center"
FontWeight="Bold"
Text="{DynamicResource GlobalConfigTip}"
TextAlignment="Center"
Visibility="{c:Binding 'ConfigurationList.Count > 1',
Source={x:Static helper:Instances.SettingsViewModel}}" />
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel
Grid.Row="0"
Grid.Column="0"
VerticalAlignment="Center">
<StackPanel VerticalAlignment="Center">
<CheckBox
Margin="8"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{DynamicResource StartupUpdateCheck}"
IsChecked="{Binding StartupUpdateCheck}"
IsEnabled="False" />
<StackPanel Margin="8" Orientation="Horizontal">
<CheckBox
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{DynamicResource UpdateAutoCheck}"
IsChecked="{Binding UpdateAutoCheck}" />
<controls:TooltipBlock TooltipText="{DynamicResource UpdateAutoCheckTip}" />
</StackPanel>
<CheckBox
Margin="8"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{DynamicResource UpdateAutoDownload}"
IsChecked="{Binding AutoDownloadUpdatePackage}" />
<CheckBox
Margin="8"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{DynamicResource AutoInstallUpdatePackage}"
IsChecked="{Binding AutoInstallUpdatePackage}" />
<StackPanel
Margin="8"
Orientation="Horizontal"
Visibility="{c:Binding 'UpdateSource == &quot;Github&quot;'}">
<CheckBox
HorizontalAlignment="Left"
VerticalAlignment="Center"
Content="{DynamicResource ForceGithubGlobalSource}"
IsChecked="{Binding ForceGithubGlobalSource}" />
<controls:TooltipBlock TooltipText="{DynamicResource ForceGithubGlobalSourceTip}" />
</StackPanel>
<StackPanel Margin="8">
<controls:TextBlock
Margin="8,0,0,5"
HorizontalAlignment="Left"
Text="{DynamicResource UpdateCheck}" />
<hc:ComboBox
Width="150"
HorizontalAlignment="Left"
VerticalAlignment="Center"
DisplayMemberPath="Display"
ItemsSource="{Binding VersionTypeList}"
SelectedValue="{Binding VersionType}"
SelectedValuePath="Value" />
</StackPanel>
<StackPanel>
<StackPanel Margin="8">
<StackPanel Margin="0,0,0,5" Orientation="Horizontal">
<controls:TextBlock
Margin="8,0,0,0"
HorizontalAlignment="Left"
Text="{DynamicResource UpdateSource}" />
<controls:TooltipBlock TooltipMaxWidth="350" TooltipText="{DynamicResource UpdateSourceTip}" />
</StackPanel>
<hc:ComboBox
Width="150"
HorizontalAlignment="Left"
VerticalAlignment="Center"
DisplayMemberPath="Display"
ItemsSource="{Binding UpdateSourceList}"
SelectedValue="{Binding UpdateSource}"
SelectedValuePath="Value" />
</StackPanel>
<StackPanel Margin="8">
<controls:TextBlock Margin="8,0,0,5" HorizontalAlignment="Left">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} CDK">
<Binding Source="{StaticResource MirrorChyan}" />
</MultiBinding>
</TextBlock.Text>
</controls:TextBlock>
<Grid Width="150">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<hc:PasswordBox
hc:InfoElement.Placeholder="{Binding MirrorChyanCdkPlaceholder}"
IsEnabled="{c:Binding 'UpdateSource == &quot;MirrorChyan&quot;'}"
IsSafeEnabled="False"
ShowEyeButton="True"
UnsafePassword="{Binding MirrorChyanCdk}" />
<Button
Grid.Column="1"
Command="{s:Action MirrorChyanCdkCopy}"
Content="{DynamicResource Copy}" />
</Grid>
</StackPanel>
<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"
HorizontalContentAlignment="Center"
Background="Transparent"
BorderThickness="0"
DisplayMemberPath="Display"
ItemsSource="{Binding ProxyTypeList}"
SelectedValue="{Binding ProxyType}"
SelectedValuePath="Value" />
<hc:TextBox
Grid.Row="1"
Width="150"
Margin="0,0,0,5"
VerticalAlignment="Center"
hc:InfoElement.Placeholder="&lt;IP&gt;:&lt;Port&gt;"
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>
<StackPanel Grid.Row="4">
<Button
Margin="5"
Command="{s:Action ManualUpdateResource}"
Content="{DynamicResource ResourceUpdate}"
IsEnabled="{c:Binding !IsCheckingForUpdates}" />
<controls:TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
<Hyperlink
Cursor="Hand"
NavigateUri="{Binding Source={x:Static constants:MaaUrls.ResourceRepository}}"
TextDecorations="None">
<TextBlock Text="{DynamicResource ResourceRepository}" />
</Hyperlink>
</controls:TextBlock>
</StackPanel>
</Grid>
</StackPanel>
</Grid>
</StackPanel>
</UserControl>