@@ -38,40 +38,102 @@ public partial class Setting : ObservableObject
38
38
public bool IsShowHexSmall => IsHexMode is null ;
39
39
40
40
//分包数据的字体
41
+ ///////////数据包的字体
42
+ public FontFamily ? PacketFontFamily
43
+ {
44
+ get
45
+ {
46
+ if ( string . IsNullOrEmpty ( PacketFont ) )
47
+ PacketFont = Utils . CheckFontName ( PacketFont ) ;
48
+ return PacketFont ;
49
+ }
50
+ set
51
+ {
52
+ if ( value is null )
53
+ return ;
54
+ PacketFont = value . Name ;
55
+ OnPropertyChanged ( ) ;
56
+ }
57
+ }
58
+ //字体名称
41
59
[ ObservableProperty ]
42
- private FontFamily _packetFontFamily ;
43
-
44
- //分包数据的字体名称
45
60
private string _packetFont = Database . Get ( nameof ( PacketFont ) , "" ) . Result ;
46
- public string PacketFont => _packetFont ;
61
+ //////////Hex小字的字体
62
+ public FontFamily ? PacketHexFontFamily
63
+ {
64
+ get
65
+ {
66
+ if ( string . IsNullOrEmpty ( PacketHexFont ) )
67
+ PacketHexFont = Utils . CheckFontName ( PacketHexFont ) ;
68
+ return PacketHexFont ;
69
+ }
70
+ set
71
+ {
72
+ if ( value is null )
73
+ return ;
74
+ PacketHexFont = value . Name ;
75
+ OnPropertyChanged ( ) ;
76
+ }
77
+ }
78
+ //字体名称
79
+ [ ObservableProperty ]
80
+ private string _packetHexFont = Database . Get ( nameof ( PacketHexFont ) , "" ) . Result ;
81
+ //////////标题头的字体
82
+ public FontFamily ? PacketHeaderFontFamily
83
+ {
84
+ get
85
+ {
86
+ if ( string . IsNullOrEmpty ( PacketHeaderFont ) )
87
+ PacketHeaderFont = Utils . CheckFontName ( PacketHeaderFont ) ;
88
+ return PacketHeaderFont ;
89
+ }
90
+ set
91
+ {
92
+ if ( value is null )
93
+ return ;
94
+ PacketHeaderFont = value . Name ;
95
+ OnPropertyChanged ( ) ;
96
+ }
97
+ }
98
+ //字体名称
99
+ [ ObservableProperty ]
100
+ private string _packetHeaderFont = Database . Get ( nameof ( PacketHeaderFont ) , "" ) . Result ;
101
+ //////////时间标记的字体
102
+ public FontFamily ? PacketExtraFontFamily
103
+ {
104
+ get
105
+ {
106
+ if ( string . IsNullOrEmpty ( PacketExtraFont ) )
107
+ PacketExtraFont = Utils . CheckFontName ( PacketExtraFont ) ;
108
+ return PacketExtraFont ;
109
+ }
110
+ set
111
+ {
112
+ if ( value is null )
113
+ return ;
114
+ PacketExtraFont = value . Name ;
115
+ OnPropertyChanged ( ) ;
116
+ }
117
+ }
118
+ //字体名称
119
+ [ ObservableProperty ]
120
+ private string _packetExtraFont = Database . Get ( nameof ( PacketExtraFont ) , "" ) . Result ;
121
+
47
122
48
-
49
123
public Setting ( )
50
124
{
51
- var font = SkiaSharp . SKFontManager . Default . MatchFamily ( PacketFont ) ;
52
- font ??= SkiaSharp . SKTypeface . Default ;
53
- PacketFontFamily = font . FamilyName ;
54
- if ( string . IsNullOrEmpty ( PacketFont ) )
55
- _packetFont = font . FamilyName ;
56
-
57
125
PropertyChanged += async ( sender , e ) =>
58
126
{
59
127
//某个变量被更改
60
128
var name = e . PropertyName ;
61
129
62
- //需要特殊处理的变量
63
- switch ( name )
64
- {
65
- case nameof ( PacketFontFamily ) :
66
- _packetFont = PacketFontFamily . Name ;
67
- await Database . Set ( nameof ( PacketFont ) , PacketFont ) ;
68
- break ;
69
- }
70
-
71
130
//不需要存储的变量
72
131
string [ ] dismissList =
73
132
[
74
133
nameof ( PacketFontFamily ) ,
134
+ nameof ( PacketHexFontFamily ) ,
135
+ nameof ( PacketHeaderFontFamily ) ,
136
+ nameof ( PacketExtraFontFamily ) ,
75
137
] ;
76
138
if ( name == null || dismissList . Contains ( name ) )
77
139
return ;
0 commit comments