/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/Data/Items/AccessMaskItem.cs
54 строки
1 KB
Steve
Code Quality: Upgrade dependencies (#16741)
09 фев 2025, 05:02
Не верифицирован
09 фев 2025, 05:02
273c947
Код
Авторство
О чём код?
// Copyright (c) Files Community // Licensed under the MIT License. namespace Files.App.Data.Items { /// <summary> /// Represents an access mask details, such as its name and changeability. /// </summary> public sealed partial class AccessMaskItem : ObservableObject { public string AccessMaskName { get; set; } public AccessMaskFlags AccessMask { get; set; } public bool IsEnabled { get { return _ace.AccessMaskFlags.HasFlag(AccessMask); } set { if (IsEditable) ToggleAccess(AccessMask, value); } } public bool IsEditable { get; set; } private readonly AccessControlEntry _ace; public AccessMaskItem(AccessControlEntry ace, bool isEditable = true) { IsEditable = isEditable; _ace = ace; _ace.PropertyChanged += AccessControlEntry_PropertyChanged; } private void ToggleAccess(AccessMaskFlags accessMask, bool value) { if (value && !_ace.AccessMaskFlags.HasFlag(accessMask)) _ace.AccessMaskFlags |= accessMask; else if (!value && _ace.AccessMaskFlags.HasFlag(accessMask)) _ace.AccessMaskFlags &= ~accessMask; } private void AccessControlEntry_PropertyChanged(object? sender, PropertyChangedEventArgs e) { if (e.PropertyName == nameof(AccessControlEntry.AccessMaskFlags)) OnPropertyChanged(nameof(IsEnabled)); } } }