/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/Actions/Global/ToggleCompactOverlayAction.cs
63 строки
1 KB
yair100
Code Quality: Add Category, ExtendedLabel, AutomationId and AccessKey to actions (#18308)
27 мар 2026, 00:40
Не верифицирован
27 мар 2026, 00:40
6ef1f17
Код
Авторство
О чём код?
// Copyright (c) Files Community // Licensed under the MIT License. using Microsoft.UI.Windowing; using Windows.Graphics; namespace Files.App.Actions { [GeneratedRichCommand] internal sealed partial class ToggleCompactOverlayAction : ObservableObject, IToggleAction { private readonly IWindowContext windowContext; public string Label => Strings.ToggleCompactOverlay.GetLocalizedResource(); public HotKey HotKey => new(Keys.F12); public string Description => Strings.ToggleCompactOverlayDescription.GetLocalizedResource(); public ActionCategory Category => ActionCategory.Window; public bool IsOn => windowContext.IsCompactOverlay; public ToggleCompactOverlayAction() { windowContext = Ioc.Default.GetRequiredService<IWindowContext>(); windowContext.PropertyChanged += WindowContext_PropertyChanged; } public Task ExecuteAsync(object? parameter = null) { var appWindow = MainWindow.Instance.AppWindow; if (windowContext.IsCompactOverlay) { appWindow.SetPresenter(AppWindowPresenterKind.Overlapped); } else { appWindow.SetPresenter(AppWindowPresenterKind.CompactOverlay); appWindow.Resize(new SizeInt32(400, 350)); } return Task.CompletedTask; } private void WindowContext_PropertyChanged(object? sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case nameof(IWindowContext.IsCompactOverlay): OnPropertyChanged(nameof(IsOn)); break; } } } }