namespace CMM.Library.ViewModel;
///
/// Configuration for a single monitor's ports
///
public class MonitorConfig
{
public string SerialNumber { get; set; } = string.Empty;
public string MonitorName { get; set; } = string.Empty;
public List Ports { get; set; } = new();
}
///
/// Configuration for a single input port
///
public class PortConfig
{
public int VcpValue { get; set; }
public string DefaultName { get; set; } = string.Empty;
public string CustomLabel { get; set; } = string.Empty;
public bool IsHidden { get; set; }
public bool ShowInQuickSwitch { get; set; }
public string DisplayName => string.IsNullOrWhiteSpace(CustomLabel) ? DefaultName : CustomLabel;
}
///
/// Quick switch item shown in toolbar
///
public class QuickSwitchItem
{
public string MonitorSerialNumber { get; set; } = string.Empty;
public string MonitorName { get; set; } = string.Empty;
public int PortVcpValue { get; set; }
public string PortLabel { get; set; } = string.Empty;
}
///
/// Root configuration object
///
public class AppConfig
{
public List Monitors { get; set; } = new();
}