公开更多代码
This commit is contained in:
@@ -0,0 +1,705 @@
|
||||
Public Class PageSetupUI
|
||||
|
||||
Public Shadows IsLoaded As Boolean = False
|
||||
|
||||
Private Sub PageSetupUI_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||
|
||||
'重复加载部分
|
||||
PanBack.ScrollToHome()
|
||||
ThemeCheckAll(True)
|
||||
|
||||
If ThemeDontClick <> 0 Then
|
||||
Dim NewText As String
|
||||
Select Case ThemeDontClick
|
||||
Case 1
|
||||
NewText = "眼瞎白"
|
||||
Case 2
|
||||
NewText = "真·滑稽彩"
|
||||
Case Else
|
||||
NewText = "???"
|
||||
End Select
|
||||
For Each Control In PanLauncherTheme.Children
|
||||
If (TypeOf Control Is MyRadioBox) AndAlso CType(Control, MyRadioBox).IsEnabled Then
|
||||
CType(Control, MyRadioBox).Text = NewText
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
'非重复加载部分
|
||||
If IsLoaded Then Exit Sub
|
||||
IsLoaded = True
|
||||
|
||||
AniControlEnabled += 1
|
||||
SliderLoad()
|
||||
Reload()
|
||||
AniControlEnabled -= 1
|
||||
|
||||
#If BETA Then
|
||||
PanLauncherHide.Visibility = Visibility.Visible
|
||||
#End If
|
||||
|
||||
'设置解锁
|
||||
If Not RadioLauncherTheme8.IsEnabled Then LabLauncherTheme8Copy.ToolTip = "累积赞助达到 ¥23.33 后,在爱发电私信发送【解锁码】以解锁。" & vbCrLf & "右键打开赞助页面,如果觉得 PCL 做得还不错就支持一下吧 =w=!"
|
||||
RadioLauncherTheme8.ToolTip = "累积赞助达到 ¥23.33 后,在爱发电私信发送【解锁码】以解锁"
|
||||
If Not RadioLauncherTheme9.IsEnabled Then LabLauncherTheme9Copy.ToolTip = "· 反馈一个 Bug,在 Issue 标记为 [已完成] 后回复 Issue 要求解锁(右键打开反馈页面)" & vbCrLf & "· 向帮助库提交 Pull Request,在龙猫合并后解锁"
|
||||
RadioLauncherTheme9.ToolTip = "· 反馈一个 Bug,在反馈标记为 [完成] 后回复 Issue 要求解锁" & vbCrLf & "· 向帮助库提交 Pull Request,在龙猫合并后解锁"
|
||||
'极客蓝的处理在 ThemeCheck 中
|
||||
|
||||
End Sub
|
||||
Public Sub Reload()
|
||||
Try
|
||||
|
||||
'启动器
|
||||
SliderLauncherOpacity.Value = Setup.Get("UiLauncherTransparent")
|
||||
SliderLauncherHue.Value = Setup.Get("UiLauncherHue")
|
||||
SliderLauncherSat.Value = Setup.Get("UiLauncherSat")
|
||||
SliderLauncherDelta.Value = Setup.Get("UiLauncherDelta")
|
||||
SliderLauncherLight.Value = Setup.Get("UiLauncherLight")
|
||||
If Setup.Get("UiLauncherTheme") <= 14 Then CType(FindName("RadioLauncherTheme" & Setup.Get("UiLauncherTheme")), MyRadioBox).Checked = True
|
||||
CheckLauncherLogo.Checked = Setup.Get("UiLauncherLogo")
|
||||
CheckLauncherEmail.Checked = Setup.Get("UiLauncherEmail")
|
||||
|
||||
'背景图片
|
||||
SliderBackgroundOpacity.Value = Setup.Get("UiBackgroundOpacity")
|
||||
SliderBackgroundBlur.Value = Setup.Get("UiBackgroundBlur")
|
||||
ComboBackgroundSuit.SelectedIndex = Setup.Get("UiBackgroundSuit")
|
||||
CheckBackgroundColorful.Checked = Setup.Get("UiBackgroundColorful")
|
||||
BackgroundRefresh(False, False)
|
||||
|
||||
'标题栏
|
||||
CType(FindName("RadioLogoType" & Setup.Get("UiLogoType")), MyRadioBox).Checked = True
|
||||
CheckLogoLeft.Visibility = If(RadioLogoType0.Checked, Visibility.Visible, Visibility.Collapsed)
|
||||
PanLogoText.Visibility = If(RadioLogoType2.Checked, Visibility.Visible, Visibility.Collapsed)
|
||||
PanLogoChange.Visibility = If(RadioLogoType3.Checked, Visibility.Visible, Visibility.Collapsed)
|
||||
TextLogoText.Text = Setup.Get("UiLogoText")
|
||||
CheckLogoLeft.Checked = Setup.Get("UiLogoLeft")
|
||||
|
||||
'背景音乐
|
||||
CheckMusicRandom.Checked = Setup.Get("UiMusicRandom")
|
||||
CheckMusicAuto.Checked = Setup.Get("UiMusicAuto")
|
||||
CheckMusicStop.Checked = Setup.Get("UiMusicStop")
|
||||
CheckMusicStart.Checked = Setup.Get("UiMusicStart")
|
||||
SliderMusicVolume.Value = Setup.Get("UiMusicVolume")
|
||||
MusicRefreshUI()
|
||||
|
||||
'主页
|
||||
ComboCustomPreset.SelectedIndex = Setup.Get("UiCustomPreset")
|
||||
CType(FindName("RadioCustomType" & Setup.Load("UiCustomType")), MyRadioBox).Checked = True
|
||||
TextCustomNet.Text = Setup.Get("UiCustomNet")
|
||||
|
||||
'功能隐藏
|
||||
CheckHiddenPageDownload.Checked = Setup.Get("UiHiddenPageDownload")
|
||||
CheckHiddenPageLink.Checked = Setup.Get("UiHiddenPageLink")
|
||||
CheckHiddenPageSetup.Checked = Setup.Get("UiHiddenPageSetup")
|
||||
CheckHiddenPageOther.Checked = Setup.Get("UiHiddenPageOther")
|
||||
CheckHiddenFunctionSelect.Checked = Setup.Get("UiHiddenFunctionSelect")
|
||||
CheckHiddenFunctionHidden.Checked = Setup.Get("UiHiddenFunctionHidden")
|
||||
CheckHiddenSetupLaunch.Checked = Setup.Get("UiHiddenSetupLaunch")
|
||||
CheckHiddenSetupUI.Checked = Setup.Get("UiHiddenSetupUi")
|
||||
CheckHiddenSetupLink.Checked = Setup.Get("UiHiddenSetupLink")
|
||||
CheckHiddenSetupSystem.Checked = Setup.Get("UiHiddenSetupSystem")
|
||||
CheckHiddenOtherAbout.Checked = Setup.Get("UiHiddenOtherAbout")
|
||||
CheckHiddenOtherFeedback.Checked = Setup.Get("UiHiddenOtherFeedback")
|
||||
CheckHiddenOtherVote.Checked = Setup.Get("UiHiddenOtherVote")
|
||||
CheckHiddenOtherHelp.Checked = Setup.Get("UiHiddenOtherHelp")
|
||||
CheckHiddenOtherTest.Checked = Setup.Get("UiHiddenOtherTest")
|
||||
|
||||
Catch ex As NullReferenceException
|
||||
Log(ex, "个性化设置项存在异常,已被自动重置", LogLevel.Msgbox)
|
||||
Reset()
|
||||
Catch ex As Exception
|
||||
Log(ex, "重载个性化设置时出错", LogLevel.Feedback)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'初始化
|
||||
Public Sub Reset()
|
||||
Try
|
||||
Setup.Reset("UiLauncherTransparent")
|
||||
Setup.Reset("UiLauncherTheme")
|
||||
Setup.Reset("UiLauncherLogo")
|
||||
Setup.Reset("UiLauncherHue")
|
||||
Setup.Reset("UiLauncherSat")
|
||||
Setup.Reset("UiLauncherDelta")
|
||||
Setup.Reset("UiLauncherLight")
|
||||
Setup.Reset("UiLauncherEmail")
|
||||
Setup.Reset("UiBackgroundColorful")
|
||||
Setup.Reset("UiBackgroundOpacity")
|
||||
Setup.Reset("UiBackgroundBlur")
|
||||
Setup.Reset("UiBackgroundSuit")
|
||||
Setup.Reset("UiLogoType")
|
||||
Setup.Reset("UiLogoText")
|
||||
Setup.Reset("UiLogoLeft")
|
||||
Setup.Reset("UiMusicVolume")
|
||||
Setup.Reset("UiMusicStop")
|
||||
Setup.Reset("UiMusicStart")
|
||||
Setup.Reset("UiMusicRandom")
|
||||
Setup.Reset("UiMusicAuto")
|
||||
Setup.Reset("UiCustomType")
|
||||
Setup.Reset("UiCustomPreset")
|
||||
Setup.Reset("UiCustomNet")
|
||||
Setup.Reset("UiHiddenPageDownload")
|
||||
Setup.Reset("UiHiddenPageLink")
|
||||
Setup.Reset("UiHiddenPageSetup")
|
||||
Setup.Reset("UiHiddenPageOther")
|
||||
Setup.Reset("UiHiddenFunctionSelect")
|
||||
Setup.Reset("UiHiddenFunctionHidden")
|
||||
Setup.Reset("UiHiddenSetupLaunch")
|
||||
Setup.Reset("UiHiddenSetupUi")
|
||||
Setup.Reset("UiHiddenSetupLink")
|
||||
Setup.Reset("UiHiddenSetupSystem")
|
||||
Setup.Reset("UiHiddenOtherAbout")
|
||||
Setup.Reset("UiHiddenOtherFeedback")
|
||||
Setup.Reset("UiHiddenOtherVote")
|
||||
Setup.Reset("UiHiddenOtherHelp")
|
||||
Setup.Reset("UiHiddenOtherTest")
|
||||
|
||||
Log("[Setup] 已初始化个性化设置!")
|
||||
Hint("已初始化个性化设置", HintType.Finish, False)
|
||||
Catch ex As Exception
|
||||
Log(ex, "初始化个性化设置失败", LogLevel.Msgbox)
|
||||
End Try
|
||||
|
||||
Reload()
|
||||
End Sub
|
||||
|
||||
'将控件改变路由到设置改变
|
||||
Private Shared Sub SliderChange(sender As MySlider, e As Object) Handles SliderBackgroundOpacity.Change, SliderBackgroundBlur.Change, SliderLauncherOpacity.Change, SliderMusicVolume.Change, SliderLauncherHue.Change, SliderLauncherLight.Change, SliderLauncherSat.Change, SliderLauncherDelta.Change
|
||||
If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.Value)
|
||||
End Sub
|
||||
Private Shared Sub ComboChange(sender As MyComboBox, e As Object) Handles ComboBackgroundSuit.SelectionChanged, ComboCustomPreset.SelectionChanged
|
||||
If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.SelectedIndex)
|
||||
End Sub
|
||||
Private Shared Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckMusicStop.Change, CheckMusicRandom.Change, CheckMusicAuto.Change, CheckBackgroundColorful.Change, CheckLogoLeft.Change, CheckLauncherLogo.Change, CheckHiddenFunctionHidden.Change, CheckHiddenFunctionSelect.Change, CheckHiddenPageDownload.Change, CheckHiddenPageLink.Change, CheckHiddenPageOther.Change, CheckHiddenPageSetup.Change, CheckHiddenSetupLaunch.Change, CheckHiddenSetupSystem.Change, CheckHiddenSetupLink.Change, CheckHiddenSetupUI.Change, CheckHiddenOtherAbout.Change, CheckHiddenOtherFeedback.Change, CheckHiddenOtherVote.Change, CheckHiddenOtherHelp.Change, CheckHiddenOtherTest.Change, CheckMusicStart.Change, CheckLauncherEmail.Change
|
||||
If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.Checked)
|
||||
End Sub
|
||||
Private Shared Sub TextBoxChange(sender As MyTextBox, e As Object) Handles TextLogoText.ValidatedTextChanged, TextCustomNet.ValidatedTextChanged
|
||||
If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.Text)
|
||||
End Sub
|
||||
Private Shared Sub RadioBoxChange(sender As MyRadioBox, e As Object) Handles RadioLogoType0.Check, RadioLogoType1.Check, RadioLogoType2.Check, RadioLogoType3.Check, RadioLauncherTheme0.Check, RadioLauncherTheme1.Check, RadioLauncherTheme2.Check, RadioLauncherTheme3.Check, RadioLauncherTheme4.Check, RadioLauncherTheme5.Check, RadioLauncherTheme6.Check, RadioLauncherTheme7.Check, RadioLauncherTheme8.Check, RadioLauncherTheme9.Check, RadioLauncherTheme10.Check, RadioLauncherTheme11.Check, RadioLauncherTheme12.Check, RadioLauncherTheme13.Check, RadioLauncherTheme14.Check, RadioCustomType0.Check, RadioCustomType1.Check, RadioCustomType2.Check, RadioCustomType3.Check
|
||||
If AniControlEnabled = 0 Then Setup.Set(sender.Tag.ToString.Split("/")(0), Val(sender.Tag.ToString.Split("/")(1)))
|
||||
End Sub
|
||||
|
||||
'背景图片
|
||||
Private Sub BtnUIBgOpen_Click(sender As Object, e As EventArgs) Handles BtnBackgroundOpen.Click
|
||||
OpenExplorer("""" & Path & "PCL\Pictures""")
|
||||
End Sub
|
||||
Private Sub BtnBackgroundRefresh_Click(sender As Object, e As EventArgs) Handles BtnBackgroundRefresh.Click
|
||||
BackgroundRefresh(True, True)
|
||||
End Sub
|
||||
Public Sub BackgroundRefreshUI(Show As Boolean, Count As Integer)
|
||||
If IsNothing(PanBackgroundOpacity) Then Exit Sub
|
||||
If Show Then
|
||||
PanBackgroundOpacity.Visibility = Visibility.Visible
|
||||
PanBackgroundBlur.Visibility = Visibility.Visible
|
||||
PanBackgroundSuit.Visibility = Visibility.Visible
|
||||
BtnBackgroundClear.Visibility = Visibility.Visible
|
||||
CardBackground.Title = "背景图片(" & Count & " 张)"
|
||||
Else
|
||||
PanBackgroundOpacity.Visibility = Visibility.Collapsed
|
||||
PanBackgroundBlur.Visibility = Visibility.Collapsed
|
||||
PanBackgroundSuit.Visibility = Visibility.Collapsed
|
||||
BtnBackgroundClear.Visibility = Visibility.Collapsed
|
||||
CardBackground.Title = "背景图片"
|
||||
End If
|
||||
CardBackground.TriggerForceResize()
|
||||
End Sub
|
||||
Private Sub BtnBackgroundClear_Click(sender As Object, e As EventArgs) Handles BtnBackgroundClear.Click
|
||||
If MyMsgBox("即将删除背景图片文件夹中的所有文件。" & vbCrLf & "此操作不可撤销,是否确定?", "警告",, "取消", IsWarn:=True) = 1 Then
|
||||
DeleteDirectory(Path & "PCL\Pictures")
|
||||
BackgroundRefresh(False, True)
|
||||
Hint("背景图片已清空!", HintType.Finish)
|
||||
End If
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' 刷新背景图片及设置页 UI。
|
||||
''' </summary>
|
||||
''' <param name="IsHint">是否显示刷新提示。</param>
|
||||
''' <param name="Refresh">是否刷新图片显示。</param>
|
||||
Public Shared Sub BackgroundRefresh(IsHint As Boolean, Refresh As Boolean)
|
||||
Try
|
||||
|
||||
'获取可用的图片文件
|
||||
Directory.CreateDirectory(Path & "PCL\Pictures\")
|
||||
Dim Pic As New List(Of String)
|
||||
For Each File In EnumerateFiles(Path & "PCL\Pictures\")
|
||||
If File.Extension.ToLower <> ".ini" AndAlso File.Extension.ToLower <> ".db" Then '文件夹可能会被加入 .ini 和 thumbs.db
|
||||
Pic.Add(File.FullName)
|
||||
End If
|
||||
Next
|
||||
'加载
|
||||
If Not Pic.Any() Then
|
||||
If Refresh Then
|
||||
If FrmMain.ImgBack.Visibility = Visibility.Collapsed Then
|
||||
If IsHint Then Hint("未检测到可用背景图片!", HintType.Critical)
|
||||
Else
|
||||
FrmMain.ImgBack.Visibility = Visibility.Collapsed
|
||||
If IsHint Then Hint("背景图片已清除!", HintType.Finish)
|
||||
End If
|
||||
End If
|
||||
If Not IsNothing(FrmSetupUI) Then FrmSetupUI.BackgroundRefreshUI(False, 0)
|
||||
Else
|
||||
If Refresh Then
|
||||
Dim Address As String = RandomOne(Pic)
|
||||
Try
|
||||
Log("[UI] 加载背景图片:" & Address)
|
||||
FrmMain.ImgBack.Background = New MyBitmap(Address)
|
||||
Setup.Load("UiBackgroundSuit", True)
|
||||
FrmMain.ImgBack.Visibility = Visibility.Visible
|
||||
If IsHint Then Hint("背景图片已刷新:" & GetFileNameFromPath(Address), HintType.Finish, False)
|
||||
Catch ex As Exception
|
||||
If ex.Message.Contains("参数无效") Then
|
||||
Log("刷新背景图片失败,该图片文件可能并非标准格式。" & vbCrLf &
|
||||
"你可以尝试使用画图打开该文件并重新保存,这会让图片变为标准格式。" & vbCrLf &
|
||||
"文件:" & Address, LogLevel.Msgbox)
|
||||
Else
|
||||
Log(ex, "刷新背景图片失败(" & Address & ")", LogLevel.Msgbox)
|
||||
End If
|
||||
End Try
|
||||
End If
|
||||
If Not IsNothing(FrmSetupUI) Then FrmSetupUI.BackgroundRefreshUI(True, Pic.Count)
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
Log(ex, "刷新背景图片时出现未知错误", LogLevel.Feedback)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
'顶部栏
|
||||
Private Sub BtnLogoChange_Click(sender As Object, e As EventArgs) Handles BtnLogoChange.Click
|
||||
Dim FileName As String = SelectFile("常用图片文件(*.png;*.jpg;*.gif)|*.png;*.jpg;*.gif", "选择图片")
|
||||
If FileName = "" Then Exit Sub
|
||||
Try
|
||||
'拷贝文件
|
||||
File.Delete(Path & "PCL\Logo.png")
|
||||
CopyFile(FileName, Path & "PCL\Logo.png")
|
||||
'设置当前显示
|
||||
FrmMain.ImageTitleLogo.Source = New MyBitmap(Path & "PCL\Logo.png")
|
||||
Catch ex As Exception
|
||||
If ex.Message.Contains("参数无效") Then
|
||||
Log("改变标题栏图片失败,该图片文件可能并非标准格式。" & vbCrLf &
|
||||
"你可以尝试使用画图打开该文件并重新保存,这会让图片变为标准格式。", LogLevel.Msgbox)
|
||||
Else
|
||||
Log(ex, "设置标题栏图片失败", LogLevel.Msgbox)
|
||||
End If
|
||||
FrmMain.ImageTitleLogo.Source = Nothing
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub RadioLogoType3_Check(sender As Object, e As RouteEventArgs) Handles RadioLogoType3.PreviewCheck
|
||||
If Not (AniControlEnabled = 0 AndAlso e.RaiseByMouse) Then Exit Sub
|
||||
Refresh:
|
||||
'已有图片则不再选择
|
||||
If File.Exists(Path & "PCL\Logo.png") Then
|
||||
Try
|
||||
FrmMain.ImageTitleLogo.Source = New MyBitmap(Path & "PCL\Logo.png")
|
||||
Catch ex As Exception
|
||||
If ex.Message.Contains("参数无效") Then
|
||||
Log("调整标题栏图片失败,该图片文件可能并非标准格式。" & vbCrLf &
|
||||
"你可以尝试使用画图打开该文件并重新保存,这会让图片变为标准格式。", LogLevel.Msgbox)
|
||||
Else
|
||||
Log(ex, "调整标题栏图片失败", LogLevel.Msgbox)
|
||||
End If
|
||||
FrmMain.ImageTitleLogo.Source = Nothing
|
||||
e.Handled = True
|
||||
Try
|
||||
File.Delete(Path & "PCL\Logo.png")
|
||||
Catch exx As Exception
|
||||
Log(exx, "清理错误的标题栏图片失败", LogLevel.Msgbox)
|
||||
End Try
|
||||
End Try
|
||||
Exit Sub
|
||||
End If
|
||||
'没有图片则要求选择
|
||||
Dim FileName As String = SelectFile("常用图片文件(*.png;*.jpg;*.gif)|*.png;*.jpg;*.gif", "选择图片")
|
||||
If FileName = "" Then
|
||||
FrmMain.ImageTitleLogo.Source = Nothing
|
||||
e.Handled = True
|
||||
Else
|
||||
Try
|
||||
'拷贝文件
|
||||
File.Delete(Path & "PCL\Logo.png")
|
||||
CopyFile(FileName, Path & "PCL\Logo.png")
|
||||
GoTo Refresh
|
||||
Catch ex As Exception
|
||||
Log(ex, "复制标题栏图片失败", LogLevel.Msgbox)
|
||||
End Try
|
||||
End If
|
||||
End Sub
|
||||
Private Sub BtnLogoDelete_Click(sender As Object, e As EventArgs) Handles BtnLogoDelete.Click
|
||||
Try
|
||||
File.Delete(Path & "PCL\Logo.png")
|
||||
RadioLogoType1.SetChecked(True, True, True)
|
||||
Hint("标题栏图片已清空!", HintType.Finish)
|
||||
Catch ex As Exception
|
||||
Log(ex, "清空标题栏图片失败", LogLevel.Msgbox)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'背景音乐
|
||||
Private Sub BtnMusicOpen_Click(sender As Object, e As EventArgs) Handles BtnMusicOpen.Click
|
||||
OpenExplorer("""" & Path & "PCL\Musics""")
|
||||
End Sub
|
||||
Private Sub BtnMusicRefresh_Click(sender As Object, e As EventArgs) Handles BtnMusicRefresh.Click
|
||||
MusicRefreshPlay(True)
|
||||
End Sub
|
||||
Public Sub MusicRefreshUI()
|
||||
If PanBackgroundOpacity Is Nothing Then Exit Sub
|
||||
If MusicAllList.Any Then
|
||||
PanMusicVolume.Visibility = Visibility.Visible
|
||||
PanMusicDetail.Visibility = Visibility.Visible
|
||||
BtnMusicClear.Visibility = Visibility.Visible
|
||||
CardMusic.Title = "背景音乐(" & EnumerateFiles(Path & "PCL\Musics\").Count & " 首)"
|
||||
Else
|
||||
PanMusicVolume.Visibility = Visibility.Collapsed
|
||||
PanMusicDetail.Visibility = Visibility.Collapsed
|
||||
BtnMusicClear.Visibility = Visibility.Collapsed
|
||||
CardMusic.Title = "背景音乐"
|
||||
End If
|
||||
CardMusic.TriggerForceResize()
|
||||
End Sub
|
||||
Private Sub BtnMusicClear_Click(sender As Object, e As EventArgs) Handles BtnMusicClear.Click
|
||||
If MyMsgBox("即将删除背景音乐文件夹中的所有文件。" & vbCrLf & "此操作不可撤销,是否确定?", "警告",, "取消", IsWarn:=True) = 1 Then
|
||||
RunInThread(Sub()
|
||||
Hint("正在删除背景音乐……")
|
||||
'停止播放音乐
|
||||
MusicNAudio = Nothing
|
||||
MusicWaitingList = New List(Of String)
|
||||
MusicAllList = New List(Of String)
|
||||
Thread.Sleep(200)
|
||||
'删除文件
|
||||
Try
|
||||
DeleteDirectory(Path & "PCL\Musics")
|
||||
Hint("背景音乐已删除!", HintType.Finish)
|
||||
Catch ex As Exception
|
||||
Log(ex, "删除背景音乐失败", LogLevel.Msgbox)
|
||||
End Try
|
||||
Try
|
||||
Directory.CreateDirectory(Path & "PCL\Musics")
|
||||
RunInUi(Sub() MusicRefreshPlay(False))
|
||||
Catch ex As Exception
|
||||
Log(ex, "重建背景音乐文件夹失败", LogLevel.Msgbox)
|
||||
End Try
|
||||
End Sub)
|
||||
End If
|
||||
End Sub
|
||||
Private Sub CheckMusicStart_Change() Handles CheckMusicStart.Change
|
||||
If AniControlEnabled <> 0 Then Exit Sub
|
||||
If CheckMusicStart.Checked Then CheckMusicStop.Checked = False
|
||||
End Sub
|
||||
Private Sub CheckMusicStop_Change() Handles CheckMusicStop.Change
|
||||
If AniControlEnabled <> 0 Then Exit Sub
|
||||
If CheckMusicStop.Checked Then CheckMusicStart.Checked = False
|
||||
End Sub
|
||||
|
||||
'主页
|
||||
Private Sub BtnCustomFile_Click(sender As Object, e As EventArgs) Handles BtnCustomFile.Click
|
||||
Try
|
||||
If File.Exists(Path & "PCL\Custom.xaml") Then
|
||||
If MyMsgBox("当前已存在布局文件,继续生成教学文件将会覆盖现有布局文件!", "覆盖确认", "继续", "取消", IsWarn:=True) = 2 Then Exit Sub
|
||||
End If
|
||||
WriteFile(Path & "PCL\Custom.xaml", GetResources("Custom"))
|
||||
Hint("教学文件已生成!", HintType.Finish)
|
||||
OpenExplorer("/select,""" & Path & "PCL\Custom.xaml""")
|
||||
Catch ex As Exception
|
||||
Log(ex, "生成教学文件失败", LogLevel.Feedback)
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub BtnCustomRefresh_Click() Handles BtnCustomRefresh.Click
|
||||
FrmLaunchRight.ForceRefresh()
|
||||
Hint("已刷新主页!", HintType.Finish)
|
||||
End Sub
|
||||
Private Sub BtnCustomTutorial_Click(sender As Object, e As EventArgs) Handles BtnCustomTutorial.Click
|
||||
MyMsgBox("1. 点击 生成教学文件 按钮,这会在 PCL 文件夹下生成 Custom.xaml 布局文件。" & vbCrLf &
|
||||
"2. 使用记事本等工具打开这个文件并进行修改,修改完记得保存。" & vbCrLf &
|
||||
"3. 点击 刷新主页 按钮,查看主页现在长啥样了。" & vbCrLf &
|
||||
vbCrLf &
|
||||
"你可以在生成教学文件后直接刷新主页,对照着进行修改,更有助于理解。" & vbCrLf &
|
||||
"直接将自定义主页文件拖进 PCL 窗口也可以快捷加载。", "主页自定义教程")
|
||||
End Sub
|
||||
|
||||
'主题
|
||||
Private Sub LabLauncherTheme5Unlock_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs) Handles LabLauncherTheme5Unlock.MouseLeftButtonUp
|
||||
RadioLauncherTheme5Gray.Opacity -= 0.23
|
||||
RadioLauncherTheme5.Opacity += 0.23
|
||||
AniStart({
|
||||
AaOpacity(RadioLauncherTheme5Gray, 1, 1000),
|
||||
AaOpacity(RadioLauncherTheme5, -1, 1000)
|
||||
}, "ThemeUnlock")
|
||||
If RadioLauncherTheme5Gray.Opacity < 0.08 Then
|
||||
ThemeUnlock(5, UnlockHint:="隐藏主题 玄素黑 已解锁!")
|
||||
AniStop("ThemeUnlock")
|
||||
RadioLauncherTheme5.Checked = True
|
||||
End If
|
||||
End Sub
|
||||
Private Sub LabLauncherTheme11Click_MouseLeftButtonUp() Handles LabLauncherTheme11Click.MouseLeftButtonUp, RadioLauncherTheme11.MouseRightButtonUp
|
||||
If LabLauncherTheme11Click.Visibility = Visibility.Collapsed OrElse LabLauncherTheme11Click.ToolTip.ToString.Contains("点击") Then
|
||||
If MyMsgBox(
|
||||
"1. 不爬取或攻击相关服务或网站,不盗取相关账号,没有谜题可以或需要以此来解决。" & vbCrLf &
|
||||
"2. 不得篡改或损毁相关公开信息,请尽量让它们保持原状。" & vbCrLf &
|
||||
"3. 在你感到迷茫的时候,看看回声洞可能会给你带来惊喜。" & vbCrLf & vbCrLf &
|
||||
"若违规,可能会被从任意相关群中踢出!",
|
||||
"解密游戏的基本规则", "我知道了", "恕我拒绝") = 1 Then
|
||||
MyMsgBox("你需要用自己的智慧来找到下一步的线索……" & vbCrLf &
|
||||
"初始线索:gnp.dorC61\60\20\0202\moc.x1xa.2s\\:sp" & "T".ToLower & "th", "解密游戏") '防止触发病毒检测规则
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Sub LabLauncherTheme8Copy_MouseRightButtonUp() Handles LabLauncherTheme8Copy.MouseRightButtonUp
|
||||
OpenWebsite("https://afdian.net/a/LTCat")
|
||||
End Sub
|
||||
Private Sub LabLauncherTheme9Copy_MouseRightButtonUp() Handles LabLauncherTheme9Copy.MouseRightButtonUp
|
||||
PageOtherLeft.TryFeedback()
|
||||
End Sub
|
||||
|
||||
'主题自定义
|
||||
Private Sub RadioLauncherTheme14_Change(sender As Object, e As RouteEventArgs) Handles RadioLauncherTheme14.Changed
|
||||
If RadioLauncherTheme14.Checked Then
|
||||
If LabLauncherHue.Visibility = Visibility.Visible Then Exit Sub
|
||||
LabLauncherHue.Visibility = Visibility.Visible
|
||||
SliderLauncherHue.Visibility = Visibility.Visible
|
||||
LabLauncherSat.Visibility = Visibility.Visible
|
||||
SliderLauncherSat.Visibility = Visibility.Visible
|
||||
LabLauncherDelta.Visibility = Visibility.Visible
|
||||
SliderLauncherDelta.Visibility = Visibility.Visible
|
||||
LabLauncherLight.Visibility = Visibility.Visible
|
||||
SliderLauncherLight.Visibility = Visibility.Visible
|
||||
Else
|
||||
If LabLauncherHue.Visibility = Visibility.Collapsed Then Exit Sub
|
||||
LabLauncherHue.Visibility = Visibility.Collapsed
|
||||
SliderLauncherHue.Visibility = Visibility.Collapsed
|
||||
LabLauncherSat.Visibility = Visibility.Collapsed
|
||||
SliderLauncherSat.Visibility = Visibility.Collapsed
|
||||
LabLauncherDelta.Visibility = Visibility.Collapsed
|
||||
SliderLauncherDelta.Visibility = Visibility.Collapsed
|
||||
LabLauncherLight.Visibility = Visibility.Collapsed
|
||||
SliderLauncherLight.Visibility = Visibility.Collapsed
|
||||
End If
|
||||
CardLauncher.TriggerForceResize()
|
||||
End Sub
|
||||
Private Sub HSL_Change() Handles SliderLauncherHue.Change, SliderLauncherLight.Change, SliderLauncherSat.Change, SliderLauncherDelta.Change
|
||||
If AniControlEnabled <> 0 OrElse SliderLauncherSat Is Nothing OrElse Not SliderLauncherSat.IsLoaded Then Exit Sub
|
||||
ThemeRefresh()
|
||||
End Sub
|
||||
|
||||
#Region "功能隐藏"
|
||||
|
||||
Private Shared _HiddenForceShow As Boolean = False
|
||||
''' <summary>
|
||||
''' 是否强制显示被禁用的功能。
|
||||
''' </summary>
|
||||
Public Shared Property HiddenForceShow As Boolean
|
||||
Get
|
||||
Return _HiddenForceShow
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
_HiddenForceShow = value
|
||||
HiddenRefresh()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 更新功能隐藏带来的显示变化。
|
||||
''' </summary>
|
||||
Public Shared Sub HiddenRefresh() Handles Me.Loaded
|
||||
If FrmMain.PanTitleSelect Is Nothing OrElse Not FrmMain.PanTitleSelect.IsLoaded Then Exit Sub
|
||||
Try
|
||||
'顶部栏
|
||||
If Not HiddenForceShow AndAlso Setup.Get("UiHiddenPageDownload") AndAlso Setup.Get("UiHiddenPageLink") AndAlso Setup.Get("UiHiddenPageSetup") AndAlso Setup.Get("UiHiddenPageOther") Then
|
||||
'顶部栏已被全部隐藏
|
||||
FrmMain.PanTitleSelect.Visibility = Visibility.Collapsed
|
||||
Else
|
||||
'顶部栏未被全部隐藏
|
||||
FrmMain.PanTitleSelect.Visibility = Visibility.Visible
|
||||
FrmMain.BtnTitleSelect1.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenPageDownload"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmMain.BtnTitleSelect2.Visibility = Visibility.Collapsed 'If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenPageLink"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmMain.BtnTitleSelect3.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenPageSetup"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmMain.BtnTitleSelect4.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenPageOther"), Visibility.Collapsed, Visibility.Visible)
|
||||
End If
|
||||
'功能
|
||||
FrmLaunchLeft.RefreshButtonsUI()
|
||||
If FrmSetupUI IsNot Nothing Then
|
||||
FrmSetupUI.CardSwitch.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenFunctionHidden"), Visibility.Collapsed, Visibility.Visible)
|
||||
End If
|
||||
'设置子页面
|
||||
If FrmSetupLeft IsNot Nothing Then
|
||||
FrmSetupLeft.ItemLaunch.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenSetupLaunch"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmSetupLeft.ItemUI.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenSetupUi"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmSetupLeft.ItemLink.Visibility = Visibility.Collapsed 'If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenSetupLink"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmSetupLeft.ItemSystem.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenSetupSystem"), Visibility.Collapsed, Visibility.Visible)
|
||||
'隐藏左边选择卡
|
||||
Dim AvaliableCount As Integer = 0
|
||||
If Not Setup.Get("UiHiddenSetupLaunch") Then AvaliableCount += 1
|
||||
If Not Setup.Get("UiHiddenSetupUi") Then AvaliableCount += 1
|
||||
If Not Setup.Get("UiHiddenSetupLink") Then AvaliableCount += 1
|
||||
If Not Setup.Get("UiHiddenSetupSystem") Then AvaliableCount += 1
|
||||
FrmSetupLeft.PanItem.Visibility = If(AvaliableCount < 2 AndAlso Not HiddenForceShow, Visibility.Collapsed, Visibility.Visible)
|
||||
End If
|
||||
'更多子页面
|
||||
Dim OtherAvaliableCount As Integer = 0
|
||||
If Not Setup.Get("UiHiddenOtherHelp") Then OtherAvaliableCount += 1
|
||||
If Not Setup.Get("UiHiddenOtherAbout") Then OtherAvaliableCount += 1
|
||||
If Not Setup.Get("UiHiddenOtherTest") Then OtherAvaliableCount += 1
|
||||
If Not Setup.Get("UiHiddenOtherFeedback") Then OtherAvaliableCount += 1
|
||||
If Not Setup.Get("UiHiddenOtherVote") Then OtherAvaliableCount += 1
|
||||
If FrmOtherLeft IsNot Nothing Then
|
||||
FrmOtherLeft.ItemHelp.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenOtherHelp"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmOtherLeft.ItemFeedback.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenOtherFeedback"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmOtherLeft.ItemVote.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenOtherVote"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmOtherLeft.ItemAbout.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenOtherAbout"), Visibility.Collapsed, Visibility.Visible)
|
||||
FrmOtherLeft.ItemTest.Visibility = If(Not HiddenForceShow AndAlso Setup.Get("UiHiddenOtherTest"), Visibility.Collapsed, Visibility.Visible)
|
||||
'隐藏左边选择卡
|
||||
FrmOtherLeft.PanItem.Visibility = If(OtherAvaliableCount < 2 AndAlso Not HiddenForceShow, Visibility.Collapsed, Visibility.Visible)
|
||||
End If
|
||||
If OtherAvaliableCount = 1 AndAlso Not HiddenForceShow Then
|
||||
If Not Setup.Get("UiHiddenOtherHelp") Then
|
||||
FrmMain.BtnTitleSelect4.Text = "帮助"
|
||||
ElseIf Not Setup.Get("UiHiddenOtherAbout") Then
|
||||
FrmMain.BtnTitleSelect4.Text = "关于"
|
||||
Else
|
||||
FrmMain.BtnTitleSelect4.Text = "百宝箱"
|
||||
End If
|
||||
Else
|
||||
FrmMain.BtnTitleSelect4.Text = "更多"
|
||||
End If
|
||||
'各个页面的入口
|
||||
If FrmMain.PageCurrent = FormMain.PageType.VersionSelect Then FrmSelectRight.BtnEmptyDownload_Loaded()
|
||||
If FrmMain.PageCurrent = FormMain.PageType.Launch Then FrmLaunchLeft.RefreshButtonsUI()
|
||||
If FrmMain.PageCurrent = FormMain.PageType.VersionSetup AndAlso FrmVersionModDisabled IsNot Nothing Then FrmVersionModDisabled.BtnDownload_Loaded()
|
||||
'备注
|
||||
If FrmSetupUI IsNot Nothing Then FrmSetupUI.CardSwitch.Title = If(HiddenForceShow, "功能隐藏(已暂时关闭,按 F12 以重新启用)", "功能隐藏")
|
||||
Catch ex As Exception
|
||||
Log(ex, "刷新功能隐藏项目失败", LogLevel.Feedback)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'UI 协同改变
|
||||
Private Sub HiddenSetupMain() Handles CheckHiddenPageSetup.Change
|
||||
'设置主页面
|
||||
If CheckHiddenPageSetup.Checked Then
|
||||
'开启
|
||||
CheckHiddenSetupLaunch.Checked = True
|
||||
CheckHiddenSetupSystem.Checked = True
|
||||
CheckHiddenSetupLink.Checked = True
|
||||
CheckHiddenSetupUI.Checked = True
|
||||
Else
|
||||
'关闭
|
||||
If Setup.Get("UiHiddenSetupLaunch") AndAlso Setup.Get("UiHiddenSetupUi") AndAlso Setup.Get("UiHiddenSetupSystem") AndAlso Setup.Get("UiHiddenSetupLink") Then
|
||||
CheckHiddenSetupLaunch.Checked = False
|
||||
CheckHiddenSetupSystem.Checked = False
|
||||
CheckHiddenSetupLink.Checked = False
|
||||
CheckHiddenSetupUI.Checked = False
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Sub HiddenSetupSub() Handles CheckHiddenSetupLaunch.Change, CheckHiddenSetupSystem.Change, CheckHiddenSetupLink.Change, CheckHiddenSetupUI.Change
|
||||
'设置子页面
|
||||
If Setup.Get("UiHiddenSetupLaunch") AndAlso Setup.Get("UiHiddenSetupUi") AndAlso Setup.Get("UiHiddenSetupSystem") AndAlso Setup.Get("UiHiddenSetupLink") Then
|
||||
'已被全部隐藏
|
||||
CheckHiddenPageSetup.Checked = True
|
||||
Else
|
||||
'未被全部隐藏
|
||||
CheckHiddenPageSetup.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
Private Sub HiddenOtherMain() Handles CheckHiddenPageOther.Change
|
||||
'更多主页面
|
||||
If CheckHiddenPageOther.Checked Then
|
||||
'开启
|
||||
CheckHiddenOtherAbout.Checked = True
|
||||
CheckHiddenOtherTest.Checked = True
|
||||
CheckHiddenOtherFeedback.Checked = True
|
||||
CheckHiddenOtherVote.Checked = True
|
||||
CheckHiddenOtherHelp.Checked = True
|
||||
Else
|
||||
'关闭
|
||||
If Setup.Get("UiHiddenOtherHelp") AndAlso Setup.Get("UiHiddenOtherAbout") AndAlso Setup.Get("UiHiddenOtherTest") AndAlso
|
||||
Setup.Get("UiHiddenOtherVote") AndAlso Setup.Get("UiHiddenOtherFeedback") Then
|
||||
CheckHiddenOtherAbout.Checked = False
|
||||
CheckHiddenOtherTest.Checked = False
|
||||
CheckHiddenOtherFeedback.Checked = False
|
||||
CheckHiddenOtherVote.Checked = False
|
||||
CheckHiddenOtherHelp.Checked = False
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Sub HiddenOtherSub(sender As Object, user As Boolean) Handles CheckHiddenOtherHelp.Change, CheckHiddenOtherAbout.Change, CheckHiddenOtherTest.Change
|
||||
'更多子页面(有具体内容的)
|
||||
If Setup.Get("UiHiddenOtherHelp") AndAlso Setup.Get("UiHiddenOtherAbout") AndAlso Setup.Get("UiHiddenOtherTest") Then
|
||||
'已被全部隐藏
|
||||
CheckHiddenPageOther.Checked = True
|
||||
Else
|
||||
'未被全部隐藏
|
||||
CheckHiddenPageOther.Checked = False
|
||||
End If
|
||||
'修改无具体内容的项
|
||||
If Not user Then Exit Sub
|
||||
If Setup.Get("UiHiddenOtherHelp") AndAlso Setup.Get("UiHiddenOtherAbout") AndAlso Setup.Get("UiHiddenOtherTest") Then
|
||||
CheckHiddenOtherFeedback.Checked = True
|
||||
CheckHiddenOtherVote.Checked = True
|
||||
End If
|
||||
End Sub
|
||||
Private Sub HiddenOtherNet(sender As Object, user As Boolean) Handles CheckHiddenOtherFeedback.Change, CheckHiddenOtherVote.Change
|
||||
'更多子页面(无具体内容的)
|
||||
If Not user Then Exit Sub
|
||||
If Setup.Get("UiHiddenOtherHelp") AndAlso Setup.Get("UiHiddenOtherAbout") AndAlso Setup.Get("UiHiddenOtherTest") AndAlso
|
||||
(Not Setup.Get("UiHiddenOtherFeedback") OrElse Not Setup.Get("UiHiddenOtherVote")) Then
|
||||
CheckHiddenOtherAbout.Checked = False
|
||||
CheckHiddenOtherTest.Checked = False
|
||||
CheckHiddenOtherHelp.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'警告提示
|
||||
Private Sub HiddenHint(sender As Object, user As Boolean) Handles CheckHiddenFunctionHidden.Change, CheckHiddenPageSetup.Change, CheckHiddenSetupUI.Change
|
||||
If AniControlEnabled = 0 AndAlso sender.Checked Then Hint("按 F12 即可暂时关闭功能隐藏设置。千万别忘了,要不然设置就改不回来了……")
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
'公开预览版
|
||||
Private Sub BtnLauncherDonate_Click(sender As Object, e As EventArgs) Handles BtnLauncherDonate.Click
|
||||
OpenWebsite("https://afdian.net/a/LTCat")
|
||||
End Sub
|
||||
|
||||
'滑动条
|
||||
Private Sub SliderLoad()
|
||||
SliderMusicVolume.GetHintText = Function(Value As Integer)
|
||||
Return Math.Ceiling(Value * 0.1) & "%"
|
||||
End Function
|
||||
SliderLauncherOpacity.GetHintText = Function(Value As Integer)
|
||||
Return Math.Round(40 + Value * 0.1) & "%"
|
||||
End Function
|
||||
SliderLauncherHue.GetHintText = Function(Value As Integer)
|
||||
Return Value & "°"
|
||||
End Function
|
||||
SliderLauncherSat.GetHintText = Function(Value As Integer)
|
||||
Return Value & "%"
|
||||
End Function
|
||||
SliderLauncherDelta.GetHintText = Function(Value As Integer)
|
||||
If Value > 90 Then
|
||||
Return "+" & (Value - 90)
|
||||
ElseIf Value = 90 Then
|
||||
Return 0
|
||||
Else
|
||||
Return Value - 90
|
||||
End If
|
||||
End Function
|
||||
SliderLauncherLight.GetHintText = Function(Value As Integer)
|
||||
If Value > 20 Then
|
||||
Return "+" & (Value - 20)
|
||||
ElseIf Value = 20 Then
|
||||
Return 0
|
||||
Else
|
||||
Return Value - 20
|
||||
End If
|
||||
End Function
|
||||
SliderBackgroundOpacity.GetHintText = Function(Value As Integer)
|
||||
Return Math.Round(Value * 0.1) & "%"
|
||||
End Function
|
||||
SliderBackgroundBlur.GetHintText = Function(Value As Integer)
|
||||
Return Value & " 像素"
|
||||
End Function
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user