fead.Hub组件支持双击打开图片,支持三指翻页退出应用

This commit is contained in:
lincube
2026-04-02 21:12:06 +08:00
parent ff014717fa
commit 88bd92e40a
26 changed files with 1991 additions and 383 deletions

View File

@@ -116,6 +116,8 @@ public sealed class AppSettingsSnapshot
public int StatusBarCustomSpacingPercent { get; set; } = 12;
public bool EnableThreeFingerSwipe { get; set; } = false;
public List<string> DisabledPluginIds { get; set; } = [];
#region Study Settings

View File

@@ -0,0 +1,96 @@
using System;
using System.Collections.Generic;
namespace LanMountainDesktop.Models;
/// <summary>
/// 融合桌面组件放置快照 - 用于在系统桌面(负一屏)上放置组件
/// </summary>
public sealed class FusedDesktopComponentPlacementSnapshot
{
/// <summary>
/// 放置实例ID唯一标识
/// </summary>
public string PlacementId { get; set; } = string.Empty;
/// <summary>
/// 组件类型ID
/// </summary>
public string ComponentId { get; set; } = string.Empty;
/// <summary>
/// X 坐标(像素,相对于屏幕左上角)
/// </summary>
public double X { get; set; }
/// <summary>
/// Y 坐标(像素,相对于屏幕左上角)
/// </summary>
public double Y { get; set; }
/// <summary>
/// 宽度(像素)
/// </summary>
public double Width { get; set; } = 200;
/// <summary>
/// 高度(像素)
/// </summary>
public double Height { get; set; } = 200;
/// <summary>
/// Z-Index用于控制组件层叠顺序
/// </summary>
public int ZIndex { get; set; }
/// <summary>
/// 是否锁定位置(锁定后不可拖动)
/// </summary>
public bool IsLocked { get; set; }
/// <summary>
/// 创建深拷贝
/// </summary>
public FusedDesktopComponentPlacementSnapshot Clone()
{
return new FusedDesktopComponentPlacementSnapshot
{
PlacementId = PlacementId,
ComponentId = ComponentId,
X = X,
Y = Y,
Width = Width,
Height = Height,
ZIndex = ZIndex,
IsLocked = IsLocked
};
}
}
/// <summary>
/// 融合桌面布局快照 - 包含所有在系统桌面上显示的组件
/// </summary>
public sealed class FusedDesktopLayoutSnapshot
{
/// <summary>
/// 是否启用融合桌面功能
/// </summary>
public bool IsEnabled { get; set; }
/// <summary>
/// 组件放置列表
/// </summary>
public List<FusedDesktopComponentPlacementSnapshot> ComponentPlacements { get; set; } = [];
/// <summary>
/// 创建深拷贝
/// </summary>
public FusedDesktopLayoutSnapshot Clone()
{
return new FusedDesktopLayoutSnapshot
{
IsEnabled = IsEnabled,
ComponentPlacements = [.. ComponentPlacements.ConvertAll(p => p.Clone())]
};
}
}