feat: 适当修改本地 Mod 管理界面与操作逻辑

This commit is contained in:
tangge233
2024-08-05 00:22:15 +08:00
parent 462f985cc3
commit ebfed4243b
2 changed files with 18 additions and 7 deletions
@@ -8,7 +8,8 @@
<Grid x:Name="PanAllBack"> <Grid x:Name="PanAllBack">
<local:MyScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" x:Name="PanBack"> <local:MyScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" x:Name="PanBack">
<StackPanel x:Name="PanMain" Margin="25,10,25,10" Grid.IsSharedSizeScope="True"> <!-- 若显示多选模块则为 92 --> <StackPanel x:Name="PanMain" Margin="25,10,25,10" Grid.IsSharedSizeScope="True"> <!-- 若显示多选模块则为 92 -->
<local:MyCard Grid.Row="0" Margin="0,15" x:Name="PanManage"> <local:MySearchBox Margin="0,15" HintText="搜索 Mod 名称 / 描述 / 标签" x:Name="SearchBox" />
<local:MyCard Grid.Row="0" Margin="0,0,0,15" x:Name="PanManage">
<Grid Margin="15,15,0,15" Height="35"> <Grid Margin="15,15,0,15" Height="35">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" /> <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
@@ -22,7 +23,6 @@
<local:MyButton x:Name="BtnManageCheck" Grid.Column="3" MinWidth="140" Text="检查 Mod" Padding="13,0" Margin="0,0,20,0" HorizontalAlignment="Left" ToolTip="快速检查 Mod 的版本要求、重复、前置缺失等问题。&#xa;结果仅供参考,由于部分 Mod 标注的信息有误,可能并不准确。" Visibility="Collapsed" /> <local:MyButton x:Name="BtnManageCheck" Grid.Column="3" MinWidth="140" Text="检查 Mod" Padding="13,0" Margin="0,0,20,0" HorizontalAlignment="Left" ToolTip="快速检查 Mod 的版本要求、重复、前置缺失等问题。&#xa;结果仅供参考,由于部分 Mod 标注的信息有误,可能并不准确。" Visibility="Collapsed" />
</Grid> </Grid>
</local:MyCard> </local:MyCard>
<local:MySearchBox Margin="0,0,0,15" HintText="搜索 Mod 名称 / 描述 / 标签" x:Name="SearchBox" />
<local:MyCard x:Name="PanUpdateListBack" VerticalAlignment="Top" Opacity="0" Margin="0,0,0,15" Title=" " MinHeight="40" CanSwap="True"> <local:MyCard x:Name="PanUpdateListBack" VerticalAlignment="Top" Opacity="0" Margin="0,0,0,15" Title=" " MinHeight="40" CanSwap="True">
<StackPanel Margin="20,38,18,18" Name="PanUpdateList" VerticalAlignment="Top" /> <StackPanel Margin="20,38,18,18" Name="PanUpdateList" VerticalAlignment="Top" />
</local:MyCard> </local:MyCard>
@@ -312,16 +312,17 @@
Private Sub ChangeAllSelected(Value As Boolean) Private Sub ChangeAllSelected(Value As Boolean)
AniControlEnabled += 1 AniControlEnabled += 1
SelectedMods.Clear() SelectedMods.Clear()
ChangeTargetListSeleted(PanUpdateList, Value) ChangeTargetListSeleted(PanUpdateListBack, PanUpdateList, Value)
ChangeTargetListSeleted(PanDisabledList, Value) ChangeTargetListSeleted(PanDisabledListBack, PanDisabledList, Value)
ChangeTargetListSeleted(PanUnavaliableList, Value) ChangeTargetListSeleted(PanUnavaliableListBack, PanUnavaliableList, Value)
ChangeTargetListSeleted(PanDefaultList, Value) ChangeTargetListSeleted(PanDefaultListBack, PanDefaultList, Value)
AniControlEnabled -= 1 AniControlEnabled -= 1
'更新下边栏 UI '更新下边栏 UI
RefreshBottomBar() RefreshBottomBar()
End Sub End Sub
Private Sub ChangeTargetListSeleted(List As StackPanel, Value As Boolean) Private Sub ChangeTargetListSeleted(Card As MyCard, List As StackPanel, Value As Boolean)
If Value.Equals(True) Then Card.IsSwaped = False
For Each Item As MyLocalModItem In List.Children For Each Item As MyLocalModItem In List.Children
Item.Checked = Value Item.Checked = Value
If Value Then SelectedMods.Add(Item.Entry.RawFileName) If Value Then SelectedMods.Add(Item.Entry.RawFileName)
@@ -435,6 +436,16 @@
''' 记录正在进行 Mod 更新的 mods 文件夹路径。 ''' 记录正在进行 Mod 更新的 mods 文件夹路径。
''' </summary> ''' </summary>
Public Shared UpdatingVersions As New List(Of String) Public Shared UpdatingVersions As New List(Of String)
Public Sub New()
' 此调用是设计器所必需的。
InitializeComponent()
' 在 InitializeComponent() 调用之后添加任何初始化。
End Sub
Public Sub UpdateMods(ModList As IEnumerable(Of McMod)) Public Sub UpdateMods(ModList As IEnumerable(Of McMod))
'更新前警告 '更新前警告
If Not Setup.Get("HintUpdateMod") Then If Not Setup.Get("HintUpdateMod") Then