/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/Actions/Show/ToggleDualPaneAction.cs
53 строки
2 KB
yair100
Code Quality: Updated headers
01 июл 2026, 06:18
01 июл 2026, 06:18
c27305a
Код
Авторство
О чём код?
// Copyright (c) Files Community // SPDX-License-Identifier: MPL-2.0 namespace Files.App.Actions { [GeneratedRichCommand] internal sealed partial class ToggleDualPaneAction : ObservableObject, IToggleAction { private readonly IContentPageContext ContentPageContext = Ioc.Default.GetRequiredService<IContentPageContext>(); private readonly IGeneralSettingsService generalSettingsService = Ioc.Default.GetRequiredService<IGeneralSettingsService>(); public string Label => Strings.ToggleDualPane.GetLocalizedResource(); public string Description => Strings.ToggleDualPaneDescription.GetLocalizedResource(); public ActionCategory Category => ActionCategory.DualPane; public HotKey HotKey => new(Keys.S, KeyModifiers.CtrlShift); public bool IsOn => ContentPageContext.IsMultiPaneActive; public ToggleDualPaneAction() { ContentPageContext.PropertyChanged += ContentPageContext_PropertyChanged; } public Task ExecuteAsync(object? parameter = null) { if (IsOn) ContentPageContext.ShellPage?.PaneHolder.CloseOtherPane(); else ContentPageContext.ShellPage?.PaneHolder.OpenSecondaryPane(ContentPageContext.ShellPage!.ShellViewModel.WorkingDirectory, generalSettingsService.ShellPaneArrangementOption); return Task.CompletedTask; } private void ContentPageContext_PropertyChanged(object? sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case nameof(IContentPageContext.ShellPage): case nameof(IContentPageContext.IsMultiPaneActive): OnPropertyChanged(nameof(IsOn)); break; } } } }