emby-toolbox/EmbyToolbox/Models/MergeFileItem.cs
Emby Toolbox 6264b487fe Initial commit: Emby Toolbox (conversion scroll fix, bulk Del for tracks).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 21:33:47 +05:00

87 lines
1.9 KiB
C#

using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace EmbyToolbox.Models;
public sealed class MergeFileItem : INotifyPropertyChanged
{
private int _number;
private string _partName = string.Empty;
private string _status = "Готов";
private bool _partNameUserOverride;
public string FullPath { get; init; } = string.Empty;
public string FileName { get; init; } = string.Empty;
public int SizeMb { get; init; }
public int Number
{
get => _number;
set
{
if (_number == value)
{
return;
}
_number = value;
OnPropertyChanged();
}
}
public string PartName
{
get => _partName;
set
{
if (_partName == value)
{
return;
}
_partName = value;
_partNameUserOverride = true;
OnPropertyChanged();
}
}
/// <summary>Авто-подпись части при перестановке строк; не затирает имя, если пользователь правил вручную.</summary>
public void SyncAutoPartName(string value)
{
if (_partNameUserOverride)
{
return;
}
if (_partName == value)
{
return;
}
_partName = value;
OnPropertyChanged();
}
public string Status
{
get => _status;
set
{
if (_status == value)
{
return;
}
_status = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler? PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string? propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}