mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Improvements to ZipManager
This commit is contained in:
parent
91d525f906
commit
5f10e99655
2 changed files with 24 additions and 10 deletions
|
@ -97,7 +97,20 @@ public static void Compress(string source, string archivePath, CompressionLevel
|
|||
ZipFile.CreateFromDirectory(source, archivePath, compression, false);
|
||||
}
|
||||
|
||||
public static void Compress(string archivePath, List<string> files, string workingDirectory = "", CompressionLevel compression = CompressionLevel.Optimal)
|
||||
public static void Compress(string archivePath, List<string> files, CompressionLevel compression = CompressionLevel.Optimal)
|
||||
{
|
||||
Dictionary<string, string> entries = new Dictionary<string, string>();
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
string fileName = Path.GetFileName(file);
|
||||
entries.Add(file, fileName);
|
||||
}
|
||||
|
||||
Compress(archivePath, entries, compression);
|
||||
}
|
||||
|
||||
public static void Compress(string archivePath, Dictionary<string, string> files, CompressionLevel compression = CompressionLevel.Optimal)
|
||||
{
|
||||
if (File.Exists(archivePath))
|
||||
{
|
||||
|
@ -106,13 +119,14 @@ public static void Compress(string archivePath, List<string> files, string worki
|
|||
|
||||
using (ZipArchive archive = ZipFile.Open(archivePath, ZipArchiveMode.Update))
|
||||
{
|
||||
foreach (string file in files)
|
||||
foreach (KeyValuePair<string, string> file in files)
|
||||
{
|
||||
string filePath = Path.Combine(workingDirectory, file);
|
||||
string sourceFilePath = file.Key;
|
||||
|
||||
if (File.Exists(filePath))
|
||||
if (File.Exists(sourceFilePath))
|
||||
{
|
||||
archive.CreateEntryFromFile(filePath, file, compression);
|
||||
string entryName = file.Value;
|
||||
archive.CreateEntryFromFile(sourceFilePath, entryName, compression);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -352,17 +352,17 @@ public static bool Export(string archivePath, bool settings, bool history)
|
|||
|
||||
if (settings)
|
||||
{
|
||||
files.Add(ApplicationConfigFilename);
|
||||
files.Add(HotkeysConfigFilename);
|
||||
files.Add(UploadersConfigFilename);
|
||||
files.Add(ApplicationConfigFilePath);
|
||||
files.Add(HotkeysConfigFilePath);
|
||||
files.Add(UploadersConfigFilePath);
|
||||
}
|
||||
|
||||
if (history)
|
||||
{
|
||||
files.Add(Program.HistoryFilename);
|
||||
files.Add(Program.HistoryFilePath);
|
||||
}
|
||||
|
||||
ZipManager.Compress(archivePath, files, Program.PersonalFolder);
|
||||
ZipManager.Compress(archivePath, files);
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
Loading…
Reference in a new issue