/*
* 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}}
};
}
}
}