Compress Emojis.xml too

This commit is contained in:
Julien Richard 2023-08-12 16:43:09 +02:00
commit 12b42774de
No known key found for this signature in database
2 changed files with 9 additions and 2 deletions

View file

@ -21,6 +21,7 @@
using System; using System;
using System.IO; using System.IO;
using System.IO.Compression;
using System.Xml; using System.Xml;
using System.Xml.Serialization; using System.Xml.Serialization;
@ -31,7 +32,7 @@ namespace Greenshot.Editor.Controls.Emoji
/// </summary> /// </summary>
public static class EmojiData public static class EmojiData
{ {
private const string EmojisXmlFilePath = "emojis.xml"; private const string EmojisXmlFilePath = "emojis.xml.gz";
public static Emojis Data { get; private set; } = new(); public static Emojis Data { get; private set; } = new();
@ -41,7 +42,12 @@ namespace Greenshot.Editor.Controls.Emoji
if (File.Exists(EmojisXmlFilePath)) if (File.Exists(EmojisXmlFilePath))
{ {
Data = (Emojis)x.Deserialize(new XmlTextReader(EmojisXmlFilePath)); using var fileStream = new FileStream(EmojisXmlFilePath, FileMode.Open, FileAccess.Read);
using var gzStream = new GZipStream(fileStream, CompressionMode.Decompress);
using var memoryStream = new MemoryStream();
gzStream.CopyTo(memoryStream);
memoryStream.Seek(0, SeekOrigin.Begin);
Data = (Emojis)x.Deserialize(new XmlTextReader(memoryStream));
} }
else else
{ {

View file

@ -70,6 +70,7 @@
<Target Name="GenerateEmojiTestTxtFile" BeforeTargets="BeforeBuild"> <Target Name="GenerateEmojiTestTxtFile" BeforeTargets="BeforeBuild">
<EmojiDataTask EmojiTestTxtFile="..\Greenshot.Editor\Controls\Emoji\emoji-test.txt" OutputFilename="$(SolutionDir)$(SolutionName)\$(OutDir)\emojis.xml" /> <EmojiDataTask EmojiTestTxtFile="..\Greenshot.Editor\Controls\Emoji\emoji-test.txt" OutputFilename="$(SolutionDir)$(SolutionName)\$(OutDir)\emojis.xml" />
<GZipTask InputFile="$(SolutionDir)$(SolutionName)\$(OutDir)\emojis.xml" OutputFile="$(SolutionDir)$(SolutionName)\$(OutDir)\emojis.xml.gz" />
</Target> </Target>
<Target Name="Generate hashes" BeforeTargets="PostBuildEvent"> <Target Name="Generate hashes" BeforeTargets="PostBuildEvent">