@@ -125,25 +125,44 @@ public void Save()
125125 #region general
126126
127127 // todo a better name?
128- public class LastQueryMode
128+ public class LastQueryMode : BaseModel
129129 {
130130 public string Display { get ; set ; }
131131 public Infrastructure . UserSettings . LastQueryMode Value { get ; set ; }
132132 }
133+
134+ private List < LastQueryMode > _lastQueryModes = new List < LastQueryMode > ( ) ;
133135 public List < LastQueryMode > LastQueryModes
134136 {
135137 get
136138 {
137- List < LastQueryMode > modes = new List < LastQueryMode > ( ) ;
138- var enums = ( Infrastructure . UserSettings . LastQueryMode [ ] ) Enum . GetValues ( typeof ( Infrastructure . UserSettings . LastQueryMode ) ) ;
139- foreach ( var e in enums )
139+ if ( _lastQueryModes . Count == 0 )
140140 {
141- var key = $ "LastQuery{ e } ";
142- var display = _translater . GetTranslation ( key ) ;
143- var m = new LastQueryMode { Display = display , Value = e , } ;
144- modes . Add ( m ) ;
141+ _lastQueryModes = InitLastQueryModes ( ) ;
145142 }
146- return modes ;
143+ return _lastQueryModes ;
144+ }
145+ }
146+
147+ private List < LastQueryMode > InitLastQueryModes ( )
148+ {
149+ var modes = new List < LastQueryMode > ( ) ;
150+ var enums = ( Infrastructure . UserSettings . LastQueryMode [ ] ) Enum . GetValues ( typeof ( Infrastructure . UserSettings . LastQueryMode ) ) ;
151+ foreach ( var e in enums )
152+ {
153+ var key = $ "LastQuery{ e } ";
154+ var display = _translater . GetTranslation ( key ) ;
155+ var m = new LastQueryMode { Display = display , Value = e , } ;
156+ modes . Add ( m ) ;
157+ }
158+ return modes ;
159+ }
160+
161+ private void UpdateLastQueryModeDisplay ( )
162+ {
163+ foreach ( var item in LastQueryModes )
164+ {
165+ item . Display = _translater . GetTranslation ( $ "LastQuery{ item . Value } ") ;
147166 }
148167 }
149168
@@ -159,6 +178,8 @@ public string Language
159178
160179 if ( InternationalizationManager . Instance . PromptShouldUsePinyin ( value ) )
161180 ShouldUsePinyin = true ;
181+
182+ UpdateLastQueryModeDisplay ( ) ;
162183 }
163184 }
164185
@@ -305,7 +326,7 @@ public string SelectedTheme
305326 {
306327 Settings . Theme = value ;
307328 ThemeManager . Instance . ChangeTheme ( value ) ;
308-
329+
309330 if ( ThemeManager . Instance . BlurEnabled && Settings . UseDropShadowEffect )
310331 DropShadowEffect = false ;
311332 }
0 commit comments