From 3175e78b920e8812fe8b3c69fa827cf829184a94 Mon Sep 17 00:00:00 2001 From: David Khristepher Santos Date: Sat, 20 Apr 2024 15:43:27 -0700 Subject: [PATCH] Fix issue with unsetting rating of selected images in thumbnail view #237 --- .../Controls/ThumbnailView.xaml.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Diffusion.Toolkit/Controls/ThumbnailView.xaml.cs b/Diffusion.Toolkit/Controls/ThumbnailView.xaml.cs index 18be444..4cf0b09 100644 --- a/Diffusion.Toolkit/Controls/ThumbnailView.xaml.cs +++ b/Diffusion.Toolkit/Controls/ThumbnailView.xaml.cs @@ -399,17 +399,17 @@ private void RateSelected(int rating) { var imageEntries = ThumbnailListView.SelectedItems.Cast().ToList(); + int? effectiveRating = rating; + + if (imageEntries.Count(i => i.Rating == rating) > imageEntries.Count / 2) + { + effectiveRating = null; + } + foreach (var entry in imageEntries) { + entry.Rating = effectiveRating; - if (entry.Rating == rating) - { - entry.Rating = null; - } - else - { - entry.Rating = rating; - } if (Model.CurrentImage != null && Model.CurrentImage.Path == entry.Path) { Model.CurrentImage.Rating = entry.Rating; @@ -417,7 +417,8 @@ private void RateSelected(int rating) } var ids = imageEntries.Select(x => x.Id).ToList(); - DataStore.SetRating(ids, rating); + + DataStore.SetRating(ids, effectiveRating); } }