[ImageResizer]Fix: Deleting an Image Resizer preset deletes the wrong preset (#38476)

* [ImageResizer]Fix: Deleting an Image Resizer preset deletes the wrong preset

* update the helper

* sort items
This commit is contained in:
leileizhang
2025-04-23 09:35:40 +08:00
committed by GitHub
parent 232e1b79bd
commit e8b02cd797
5 changed files with 74 additions and 7 deletions

View File

@@ -19,6 +19,7 @@ using System.Threading;
using System.Windows.Media.Imaging;
using ImageResizer.Models;
using ManagedCommon;
namespace ImageResizer.Properties
{
@@ -63,10 +64,10 @@ namespace ImageResizer.Properties
FileName = "%1 (%2)";
Sizes = new ObservableCollection<ResizeSize>
{
new ResizeSize("$small$", ResizeFit.Fit, 854, 480, ResizeUnit.Pixel),
new ResizeSize("$medium$", ResizeFit.Fit, 1366, 768, ResizeUnit.Pixel),
new ResizeSize("$large$", ResizeFit.Fit, 1920, 1080, ResizeUnit.Pixel),
new ResizeSize("$phone$", ResizeFit.Fit, 320, 568, ResizeUnit.Pixel),
new ResizeSize(0, "$small$", ResizeFit.Fit, 854, 480, ResizeUnit.Pixel),
new ResizeSize(1, "$medium$", ResizeFit.Fit, 1366, 768, ResizeUnit.Pixel),
new ResizeSize(2, "$large$", ResizeFit.Fit, 1920, 1080, ResizeUnit.Pixel),
new ResizeSize(3, "$phone$", ResizeFit.Fit, 320, 568, ResizeUnit.Pixel),
};
KeepDateModified = false;
FallbackEncoder = new System.Guid("19e4a5aa-5662-4fc5-a0c0-1758028e1057");
@@ -480,6 +481,9 @@ namespace ImageResizer.Properties
{
Sizes.Clear();
Sizes.AddRange(jsonSettings.Sizes);
// Ensure Ids are unique and handle missing Ids
IdRecoveryHelper.RecoverInvalidIds(Sizes);
}
});