/
githubmirror
/
PowerToys
Обзор
Документация
Войти
/
githubmirror
/
PowerToys
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/modules/peek/Peek.FilePreviewer/Controls/DriveControl.xaml.cs
82 строки
3 KB
Jeremy Sinclair
[Analyzers] Resolve StyleCop issues: SA1516 and SA1616 (#34853)
16 сен 2024, 23:09
Не верифицирован
16 сен 2024, 23:09
37f2154
Код
Авторство
О чём код?
// Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Globalization; using CommunityToolkit.Mvvm.ComponentModel; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Peek.Common.Helpers; using Peek.FilePreviewer.Previewers.Drive.Models; using Windows.Foundation; namespace Peek.FilePreviewer.Controls { [INotifyPropertyChanged] public sealed partial class DriveControl : UserControl { [ObservableProperty] private Rect _spaceBarClip; public static readonly DependencyProperty SourceProperty = DependencyProperty.Register( nameof(Source), typeof(DrivePreviewData), typeof(DriveControl), new PropertyMetadata(null, new PropertyChangedCallback((d, e) => ((DriveControl)d).UpdateSpaceBar()))); public DrivePreviewData? Source { get { return (DrivePreviewData)GetValue(SourceProperty); } set { SetValue(SourceProperty, value); } } public DriveControl() { this.InitializeComponent(); } public string FormatType(string type) { return string.Format(CultureInfo.CurrentCulture, ResourceLoaderInstance.ResourceLoader.GetString("Drive_Type"), type); } public string FormatFileSystem(string fileSystem) { return string.Format(CultureInfo.CurrentCulture, ResourceLoaderInstance.ResourceLoader.GetString("Drive_FileSystem"), fileSystem); } public string FormatCapacity(ulong capacity) { return string.Format(CultureInfo.CurrentCulture, ResourceLoaderInstance.ResourceLoader.GetString("Drive_Capacity"), ReadableStringHelper.BytesToReadableString(capacity, false)); } public string FormatFreeSpace(ulong freeSpace) { return string.Format(CultureInfo.CurrentCulture, ResourceLoaderInstance.ResourceLoader.GetString("Drive_FreeSpace"), ReadableStringHelper.BytesToReadableString(freeSpace, false)); } public string FormatUsedSpace(ulong usedSpace) { return string.Format(CultureInfo.CurrentCulture, ResourceLoaderInstance.ResourceLoader.GetString("Drive_UsedSpace"), ReadableStringHelper.BytesToReadableString(usedSpace, false)); } private void SizeChanged_Handler(object sender, SizeChangedEventArgs e) { UpdateSpaceBar(); } private void UpdateSpaceBar() { if (Source != null && Source.PercentageUsage > 0) { var usedWidth = CapacityBar.ActualWidth * Source!.PercentageUsage; SpaceBarClip = new(0, 0, usedWidth, 16); } else { SpaceBarClip = new(0, 0, 0, 0); } } } }