mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-08-18 15:20:47 +08:00
47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using System;
|
|
|
|
namespace LanMountainDesktop.AirAppSdk;
|
|
|
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
|
|
public sealed class AirAppSettingsPageInfoAttribute : Attribute
|
|
{
|
|
public AirAppSettingsPageInfoAttribute(
|
|
string id,
|
|
string name,
|
|
AirAppSettingsPageCategory category)
|
|
{
|
|
ArgumentException.ThrowIfNullOrWhiteSpace(id);
|
|
ArgumentException.ThrowIfNullOrWhiteSpace(name);
|
|
|
|
Id = id.Trim();
|
|
Name = name.Trim();
|
|
Category = category;
|
|
}
|
|
|
|
public string Id { get; }
|
|
|
|
public string Name { get; }
|
|
|
|
public AirAppSettingsPageCategory Category { get; }
|
|
|
|
public string? TitleLocalizationKey { get; init; }
|
|
|
|
public string? DescriptionLocalizationKey { get; init; }
|
|
|
|
public string IconKey { get; init; } = "Settings";
|
|
|
|
public string? SelectedIconKey { get; init; }
|
|
|
|
public int SortOrder { get; init; }
|
|
|
|
public bool HideDefault { get; init; }
|
|
|
|
public bool HidePageTitle { get; init; }
|
|
|
|
public bool UseFullWidth { get; init; }
|
|
|
|
public string? GroupId { get; init; }
|
|
|
|
public AirAppSettingsScope Scope { get; init; } = AirAppSettingsScope.App;
|
|
}
|