From d96e155156120a96b3381a3dd53beace11026105 Mon Sep 17 00:00:00 2001 From: Der Chien Date: Sat, 5 Aug 2023 20:48:05 +0800 Subject: [PATCH] 20230805 support sheet sorting --- PianoSheetViewer/MainPage.xaml | 2 ++ PianoSheetViewer/MainPage.xaml.cs | 58 +++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/PianoSheetViewer/MainPage.xaml b/PianoSheetViewer/MainPage.xaml index bdf235c..2de5c69 100644 --- a/PianoSheetViewer/MainPage.xaml +++ b/PianoSheetViewer/MainPage.xaml @@ -73,6 +73,8 @@ OverflowButtonVisibility="Collapsed" DefaultLabelPosition="Right"> + + sortedSheets = PianoSheets.OrderBy(sheet => sheet.Name).ToList(); + PianoSheets.Clear(); + foreach (PianoSheetInfo pianoSheetInfo in sortedSheets) + { + PianoSheets.Add(pianoSheetInfo); + await Task.Delay(100); + } + + lock (_syncIsBusy) + { + IsBusy = false; + } + } + + private async void OnTypeSortClick(object sender, RoutedEventArgs e) + { + lock (_syncIsBusy) + { + if (IsBusy) + { + return; + } + else + { + IsBusy = true; + } + } + + LoadingMsg = "Loading..."; + List sortedSheets = PianoSheets.OrderBy(sheet => sheet.FileType).ToList(); + PianoSheets.Clear(); + foreach (PianoSheetInfo pianoSheetInfo in sortedSheets) + { + PianoSheets.Add(pianoSheetInfo); + await Task.Delay(100); + } + + lock (_syncIsBusy) + { + IsBusy = false; + } + } + private async void UpdatePianoSheetsFromFolder(StorageFolder searchFolder) { lock (_syncIsBusy)