feat: 统一项目命名并补充路径失效报告
将内部项目目录、命名空间、配置目录、自启注册表值和设计/开发文档统一为 PersonalToolbox。 扩展路径校验服务,输出失效工具、字段、原因和路径,并在启动日志、设置页路径检查与导入配置流程中展示明细报告。 验证:dotnet build PersonalToolbox.sln
This commit is contained in:
55
src/PersonalToolbox/ViewModels/CombinationMemberViewModel.cs
Normal file
55
src/PersonalToolbox/ViewModels/CombinationMemberViewModel.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using PersonalToolbox.Models;
|
||||
|
||||
namespace PersonalToolbox.ViewModels;
|
||||
|
||||
public sealed class CombinationMemberViewModel : ObservableObject
|
||||
{
|
||||
private readonly Func<string, ToolItem?> _toolResolver;
|
||||
private bool _enabled;
|
||||
private int _intervalAfterMs;
|
||||
|
||||
public CombinationMemberViewModel(CombinationMember member, Func<string, ToolItem?> toolResolver)
|
||||
{
|
||||
Member = member;
|
||||
_toolResolver = toolResolver;
|
||||
_enabled = member.Enabled;
|
||||
_intervalAfterMs = member.IntervalAfterMs;
|
||||
}
|
||||
|
||||
public CombinationMember Member { get; }
|
||||
public string ToolId => Member.ToolId;
|
||||
public string ToolName => _toolResolver(Member.ToolId)?.Name ?? "引用不存在";
|
||||
public string ToolTypeLabel => _toolResolver(Member.ToolId)?.Type switch
|
||||
{
|
||||
ToolType.System => "系统",
|
||||
ToolType.Local => "本地",
|
||||
ToolType.Url => "网址",
|
||||
ToolType.Combination => "组合",
|
||||
_ => "未知"
|
||||
};
|
||||
|
||||
public bool Enabled
|
||||
{
|
||||
get => _enabled;
|
||||
set
|
||||
{
|
||||
if (SetProperty(ref _enabled, value))
|
||||
{
|
||||
Member.Enabled = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int IntervalAfterMs
|
||||
{
|
||||
get => _intervalAfterMs;
|
||||
set
|
||||
{
|
||||
var normalized = Math.Max(0, value);
|
||||
if (SetProperty(ref _intervalAfterMs, normalized))
|
||||
{
|
||||
Member.IntervalAfterMs = normalized;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user