11// Copyright (c) Richasy. All rights reserved.
22
3+ using System ;
4+ using Richasy . Bili . Controller . Uwp . Interfaces ;
5+ using Richasy . Bili . Locator . Uwp ;
6+ using Richasy . Bili . Models . App . Constants ;
7+ using Richasy . Bili . Models . Enums . App ;
8+ using Richasy . Bili . Toolkit . Interfaces ;
9+ using Richasy . Bili . ViewModels . Uwp ;
10+ using Windows . Storage ;
11+ using Windows . System ;
12+
313namespace Richasy . Bili . App . Controls
414{
515 /// <summary>
@@ -15,12 +25,29 @@ public LoggerSettingSection()
1525 this . InitializeComponent ( ) ;
1626 }
1727
18- private void OnOpenLoggerFolderButtonClick ( object sender , Windows . UI . Xaml . RoutedEventArgs e )
28+ private async void OnOpenLoggerFolderButtonClickAsync ( object sender , Windows . UI . Xaml . RoutedEventArgs e )
1929 {
30+ var folder = await ApplicationData . Current . LocalFolder . CreateFolderAsync ( ControllerConstants . Names . LoggerFolder , CreationCollisionOption . OpenIfExists ) . AsTask ( ) ;
31+ await Launcher . LaunchFolderAsync ( folder ) ;
2032 }
2133
22- private void OnCleanLoggerButtonClick ( object sender , Windows . UI . Xaml . RoutedEventArgs e )
34+ private async void OnCleanLoggerButtonClickAsync ( object sender , Windows . UI . Xaml . RoutedEventArgs e )
2335 {
36+ var folder = await ApplicationData . Current . LocalFolder . CreateFolderAsync ( ControllerConstants . Names . LoggerFolder , CreationCollisionOption . OpenIfExists ) . AsTask ( ) ;
37+ var resourceToolkit = ServiceLocator . Instance . GetService < IResourceToolkit > ( ) ;
38+ try
39+ {
40+ var logger = ServiceLocator . Instance . GetService < ILoggerModule > ( ) ;
41+ await folder . DeleteAsync ( StorageDeleteOption . PermanentDelete ) . AsTask ( ) ;
42+ await ApplicationData . Current . LocalFolder . CreateFolderAsync ( ControllerConstants . Names . LoggerFolder , CreationCollisionOption . OpenIfExists ) . AsTask ( ) ;
43+ }
44+ catch ( Exception )
45+ {
46+ }
47+ finally
48+ {
49+ AppViewModel . Instance . ShowTip ( resourceToolkit . GetLocaleString ( Models . Enums . LanguageNames . LogEmptied ) , InfoType . Success ) ;
50+ }
2451 }
2552 }
2653}
0 commit comments