Add port config, quick-switch toolbar, and dark mode styling
- Add Config button to each monitor for hiding ports, custom labels, and quick-switch selection - Add quick-switch toolbar at top of popup for one-click input switching - Add dark mode styling for all controls (buttons, combobox, dropdown items) - Add loading spinner animation - Add Exit button in header - Fix dropdown selection to correctly show current input 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
44
Library/ViewModel/MonitorConfig.cs
Normal file
44
Library/ViewModel/MonitorConfig.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
namespace CMM.Library.ViewModel;
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for a single monitor's ports
|
||||
/// </summary>
|
||||
public class MonitorConfig
|
||||
{
|
||||
public string SerialNumber { get; set; } = string.Empty;
|
||||
public string MonitorName { get; set; } = string.Empty;
|
||||
public List<PortConfig> Ports { get; set; } = new();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for a single input port
|
||||
/// </summary>
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Quick switch item shown in toolbar
|
||||
/// </summary>
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Root configuration object
|
||||
/// </summary>
|
||||
public class AppConfig
|
||||
{
|
||||
public List<MonitorConfig> Monitors { get; set; } = new();
|
||||
}
|
||||
Reference in New Issue
Block a user