Skip to content

Commit bded191

Browse files
committed
use Linq and move delete log logic to the viewmodel
1 parent 02c77e8 commit bded191

File tree

2 files changed

+26
-22
lines changed

2 files changed

+26
-22
lines changed

Flow.Launcher/SettingWindow.xaml.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
using ModernWpf;
1515
using System;
1616
using System.IO;
17+
using System.Linq;
1718
using System.Windows;
1819
using System.Windows.Controls;
1920
using System.Windows.Forms;
@@ -272,20 +273,17 @@ private void OpenLogFolder(object sender, RoutedEventArgs e)
272273
}
273274
private void ClearLogFolder(object sender, RoutedEventArgs e)
274275
{
275-
var confirmResult = MessageBox.Show(InternationalizationManager.Instance.GetTranslation("clearlogfolderMessage"),InternationalizationManager.Instance.GetTranslation("clearlogfolder"), MessageBoxButton.YesNo);
276+
var confirmResult = MessageBox.Show(
277+
InternationalizationManager.Instance.GetTranslation("clearlogfolderMessage"),
278+
InternationalizationManager.Instance.GetTranslation("clearlogfolder"),
279+
MessageBoxButton.YesNo);
280+
276281
if (confirmResult == MessageBoxResult.Yes)
277282
{
278-
DirectoryInfo Di = new DirectoryInfo(Path.Combine(DataLocation.DataDirectory(), Constant.Logs, Constant.Version));
279-
foreach (FileInfo file in Di.EnumerateFiles())
280-
{
281-
file.Delete();
282-
}
283+
viewModel.ClearLogFolder();
284+
283285
ClearLogFolderBtn.Content = viewModel.CheckLogFolder;
284286
}
285-
else
286-
{
287-
}
288-
289287
}
290288

291289
private void OnPluginStoreRefreshClick(object sender, RoutedEventArgs e)

Flow.Launcher/ViewModel/SettingWindowViewModel.cs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -576,25 +576,31 @@ public FamilyTypeface SelectedResultFontFaces
576576
public string Github => Constant.GitHub;
577577
public static string Version => Constant.Version;
578578
public string ActivatedTimes => string.Format(_translater.GetTranslation("about_activate_times"), Settings.ActivateTimes);
579+
579580
public string CheckLogFolder
580581
{
581582
get
582-
{
583-
DirectoryInfo dirInfo = new DirectoryInfo(Path.Combine(DataLocation.DataDirectory(), Constant.Logs, Constant.Version));
584-
long size = 0;
585-
foreach (FileInfo fi in dirInfo.GetFiles("*", SearchOption.AllDirectories))
586-
{
587-
size += fi.Length;
588-
}
589-
return _translater.GetTranslation("clearlogfolder") + " (" + FormatBytes(size) + ")" ;
590-
}
591-
set
592583
{
584+
var dirInfo = new DirectoryInfo(Path.Combine(DataLocation.DataDirectory(), Constant.Logs, Constant.Version));
585+
long size = dirInfo.EnumerateFiles("*", SearchOption.AllDirectories).Sum(file => file.Length);
586+
587+
return _translater.GetTranslation("clearlogfolder") + " (" + FormatBytes(size) + ")" ;
593588
}
594-
595589
}
596590

597-
public string FormatBytes(long bytes)
591+
internal void ClearLogFolder()
592+
{
593+
var directory = new DirectoryInfo(
594+
Path.Combine(
595+
DataLocation.DataDirectory(),
596+
Constant.Logs,
597+
Constant.Version));
598+
599+
directory.EnumerateFiles()
600+
.ToList()
601+
.ForEach(x => x.Delete());
602+
}
603+
internal string FormatBytes(long bytes)
598604
{
599605
const int scale = 1024;
600606
string[] orders = new string[] { "GB", "MB", "KB", "Bytes" };

0 commit comments

Comments
 (0)