/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/Actions/Content/Archives/Compress/CompressIntoArchiveAction.cs
55 строк
1 KB
yair100
Feature: Add 7z dictionary and word size options (#18232)
11 мар 2026, 18:05
Не верифицирован
11 мар 2026, 18:05
7f77252
Код
Авторство
О чём код?
// Copyright (c) Files Community // Licensed under the MIT License. using Files.App.Dialogs; using Microsoft.UI.Xaml.Controls; using Windows.Foundation.Metadata; namespace Files.App.Actions { [GeneratedRichCommand] internal sealed partial class CompressIntoArchiveAction : BaseCompressArchiveAction { public override string Label => Strings.CreateArchive.GetLocalizedResource(); public override string Description => Strings.CompressIntoArchiveDescription.GetLocalizedFormatResource(context.SelectedItems.Count); public CompressIntoArchiveAction() { } public override async Task ExecuteAsync(object? parameter = null) { if (context.ShellPage is null) return; GetDestination(out var sources, out var directory, out var fileName); var dialog = new CreateArchiveDialog() { FileName = fileName }; if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 8)) dialog.XamlRoot = MainWindow.Instance.Content.XamlRoot; var result = await dialog.TryShowAsync(); if (!dialog.CanCreate || result != ContentDialogResult.Primary) return; ICompressArchiveModel compressionModel = new CompressArchiveModel( sources, directory, dialog.FileName, dialog.CPUThreads, dialog.Password, dialog.FileFormat, dialog.CompressionLevel, dialog.SplittingSize, dialog.DictionarySize, dialog.WordSize); await StorageArchiveService.CompressAsync(compressionModel); } } }