/* * GNU AFFERO GENERAL PUBLIC LICENSE * Version 3, 19 November 2007 * Copyright (C) 2007 Free Software Foundation, Inc. * Everyone is permitted to copy and distribute verbatim copies * of this license document, but changing it is not allowed. */ using System.Collections.Generic; using System.Linq; using Avalonia.Controls; namespace UVtools.WPF.Controls { public static class Helpers { public static readonly List ImagesFileFilter = new() { new() { Name = "Image Files", Extensions = new List { "png", "bmp", "jpeg", "jpg", "tif", "tiff", } }, }; public static readonly List ImagesFullFileFilter = new() { new() { Name = "PNG Files", Extensions = new List { "png" } }, new() { Name = "JPG Files", Extensions = new List { "jpg", "jpeg" } }, new() { Name = "BMP Files", Extensions = new List { "bmp", } }, new() { Name = "TIF Files", Extensions = new List { "tif", "tiff", } }, }; public static readonly List PngFileFilter = new() { new() { Name = "Image Files", Extensions = new List { "png", } } }; public static readonly List TxtFileFilter = new() { new() { Name = "Text Files", Extensions = new List { "txt", } } }; public static readonly List IniFileFilter = new() { new() { Name = "Ini Files", Extensions = new List { "ini", } } }; public static readonly List OperationSettingFileFilter = new() { new() { Name = "UVtools operation settings", Extensions = new List { "uvtop", } } }; public static readonly List ScriptsFileFilter = new() { new() { Name = "Script Files", Extensions = new List { "csx", "cs", } } }; public static List ToAvaloniaFileFilter(List>> data) { var result = new List(data.Capacity); result.AddRange(data.Select(kv => new FileDialogFilter {Name = kv.Key, Extensions = kv.Value})); return result; } public static List ToAvaloniaFilter(string name, string extension) { return new(1) { new() {Name = name, Extensions = new List(1) {extension}} }; } } }