From ced4ea6c17d3a20d2136723b18e6efcc46938322 Mon Sep 17 00:00:00 2001 From: MBucari Date: Tue, 15 Jul 2025 22:50:53 -0600 Subject: [PATCH] Improve sorting by Liberate status by grouping books with PDFs --- Source/LibationUiBase/GridView/EntryStatus.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/LibationUiBase/GridView/EntryStatus.cs b/Source/LibationUiBase/GridView/EntryStatus.cs index 95a5dc17..e2354372 100644 --- a/Source/LibationUiBase/GridView/EntryStatus.cs +++ b/Source/LibationUiBase/GridView/EntryStatus.cs @@ -101,7 +101,13 @@ namespace LibationUiBase.GridView else if (!IsUnavailable && second.IsUnavailable) return -1; else if (BookStatus == LiberatedStatus.Liberated && second.BookStatus != LiberatedStatus.Liberated) return -1; else if (BookStatus != LiberatedStatus.Liberated && second.BookStatus == LiberatedStatus.Liberated) return 1; - else return BookStatus.CompareTo(second.BookStatus); + + var statusCompare = BookStatus.CompareTo(second.BookStatus); + if (statusCompare != 0) return statusCompare; + else if (PdfStatus is null && second.PdfStatus is null) return 0; + else if (PdfStatus is null && second.PdfStatus is not null) return 1; + else if (PdfStatus is not null && second.PdfStatus is null) return -1; + else return PdfStatus.Value.CompareTo(second.PdfStatus.Value); } private object GetLiberateIcon()