Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

Commit 8e14459

Browse files
Now also stores compression for files,
GetEncoding returns null is no encoding is stored of a specific file
1 parent 9d0c717 commit 8e14459

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

NppGZipFileViewer/FileTracker.cs

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System;
1+
using NppGZipFileViewer.Settings;
2+
using System;
23
using System.Collections.Generic;
34
using System.Text;
45

@@ -9,19 +10,21 @@ public class FileTracker
910
HashSet<IntPtr> zippedFiles = new HashSet<IntPtr>();
1011
Dictionary<IntPtr, string> filePathes = new Dictionary<IntPtr, string>();
1112
Dictionary<IntPtr, Encoding> encodings = new Dictionary<IntPtr, Encoding>();
13+
Dictionary<IntPtr, CompressionSettings> compression = new Dictionary<IntPtr, CompressionSettings>();
14+
1215

1316
HashSet<IntPtr> excludedFiles = new HashSet<IntPtr> ();
14-
public void Include(IntPtr id, StringBuilder path, Encoding encoding)
17+
public void Include(IntPtr id, StringBuilder path, Encoding encoding, CompressionSettings compressor)
1518
{
16-
Include(id, path.ToString(),encoding);
19+
Include(id, path.ToString(),encoding, compressor);
1720
}
1821

1922
public void Exclude(IntPtr id, StringBuilder path)
2023
{
2124
Exclude(id, path.ToString());
2225
}
2326

24-
public void Include(IntPtr id, string path, Encoding encoding)
27+
public void Include(IntPtr id, string path, Encoding encoding, CompressionSettings compressor)
2528
{
2629
excludedFiles.Remove(id);
2730
zippedFiles.Add(id);
@@ -31,12 +34,17 @@ public void Include(IntPtr id, string path, Encoding encoding)
3134
if (!filePathes.ContainsKey(id))
3235
filePathes.Add(id, path);
3336
else filePathes[id] = path;
37+
if (!compression.ContainsKey(id))
38+
compression.Add(id, compressor);
39+
else compression[id] = compressor;
40+
3441
}
3542
public void Exclude(IntPtr id, string path)
3643
{
3744
zippedFiles.Remove(id);
3845
encodings.Remove(id);
3946
excludedFiles.Add(id);
47+
compression.Remove(id);
4048
if (!filePathes.ContainsKey(id))
4149
filePathes.Add(id, path);
4250
else filePathes[id] = path;
@@ -57,10 +65,17 @@ public void Remove(IntPtr id)
5765

5866
public string GetStoredPath(IntPtr id) { filePathes.TryGetValue(id, out string path); return path; }
5967

68+
public CompressionSettings GetCompressor(IntPtr id)
69+
{
70+
if(compression.TryGetValue(id, out CompressionSettings comp))
71+
return comp;
72+
else return null;
73+
}
74+
6075
public Encoding GetEncoding(IntPtr id)
6176
{
6277
if (encodings.TryGetValue(id, out Encoding encoding)) return encoding;
63-
else return new UTF8Encoding(false);
78+
else return null;
6479
}
6580

6681
}

0 commit comments

Comments
 (0)