Skip to content

feat: 配置方案(Profile)系统 #492

@Thejomos

Description

@Thejomos

概述

希望新增配置方案(Profile)系统,允许用户保存和切换多套不同的配置方案,实现一键切换布局/监控项/外观等设置。

功能说明

核心能力

  • 多方案管理:右键菜单中新增「配置方案」子菜单,支持新建、切换、重命名、删除方案
  • 默认方案:首次使用自动创建「日常监控」和「游戏模式」两套预设方案
    • 日常监控:全部监控项可见(垂直布局、半透明面板)
    • 游戏模式:仅显示 CPU/GPU/FPS 等核心硬件指标(横条布局、较低透明度)
  • 方案切换:切换方案时加载目标方案的配置覆盖到当前 Settings,各方案保持独立互不干扰
  • 新建方案:将当前配置保存为新方案文件并立即切换
  • 重命名/删除:支持对方案文件的重命名和删除操作
  • 无方案模式:可选择「无」回到不使用 Profile 的默认状态

技术实现

  • 数据存储:每个方案保存为 profiles/{name}.json 独立文件,使用 ProfileData 数据模型
  • 字段范围:方案仅存储与布局/外观/监控项相关的 profile-specific 字段(如主题、横竖模式、宽度、透明度、缩放、置顶、自动隐藏、穿透、监控项可见性、任务栏设置、阈值、分组别名等),不包含语言、网络/磁盘偏好等全局设置
  • 单例管理ProfileManager 采用懒加载单例模式,统一管理方案的 CRUD 操作
  • 内存修改ApplyProfileToSettings 只修改内存中的 Settings 单例,由调用方(SwitchProfile/LoadProfile)统一执行一次 Save() 写盘,避免重复写盘竞态
  • 自动迁移:启动时检测 profiles 目录是否存在方案文件,若有则自动加载

涉及文件

  • src/Core/ProfileManager.cs — 方案管理器核心(数据模型、CRUD、序列化)
  • src/UI/MenuManager.cs — 右键菜单中的「配置方案」子菜单 UI

使用方法

  1. 右键托盘图标 → 「配置方案」
  2. 点击预设方案名(日常监控/游戏模式)即可切换
  3. 点击「新建方案...」将当前设置保存为新方案
  4. 点击「重命名方案...」或「删除方案...」管理方案文件

我使用AI编写有一些问题,议题看下有增加这个功能的打算吗?

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions