Skip to content

Commit

Permalink
20230805 support sheet sorting
Browse files Browse the repository at this point in the history
  • Loading branch information
der3318 committed Aug 5, 2023
1 parent b369e0b commit d96e155
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
2 changes: 2 additions & 0 deletions PianoSheetViewer/MainPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@
OverflowButtonVisibility="Collapsed"
DefaultLabelPosition="Right">
<AppBarButton Icon="Scan" Label="{x:Bind SearchFolderPath, Mode=OneWay}" Click="OnSearchFolderClick" />
<AppBarButton Icon="Sort" Label="Name" Click="OnNameSortClick" />
<AppBarButton Icon="Sort" Label="Type" Click="OnTypeSortClick" />
<AppBarButton Icon="Zoom" Label="Item Size" Flyout="{StaticResource ZoomFlyout}" />
</CommandBar>
<GridView
Expand Down
58 changes: 58 additions & 0 deletions PianoSheetViewer/MainPage.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,64 @@ private async void OnSearchFolderClick(object sender, RoutedEventArgs e)
}
}

private async void OnNameSortClick(object sender, RoutedEventArgs e)
{
lock (_syncIsBusy)
{
if (IsBusy)
{
return;
}
else
{
IsBusy = true;
}
}

LoadingMsg = "Loading...";
List<PianoSheetInfo> 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<PianoSheetInfo> 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)
Expand Down

0 comments on commit d96e155

Please sign in to comment.