|
4 | 4 | using Microsoft.Extensions.Logging; |
5 | 5 | using Microsoft.UI.Xaml.Controls; |
6 | 6 | using Microsoft.Web.WebView2.Core; |
7 | | -using Newtonsoft.Json; |
8 | | -using Newtonsoft.Json.Serialization; |
9 | 7 | using System.IO; |
10 | 8 | using System.Text; |
11 | 9 | using System.Text.RegularExpressions; |
@@ -188,14 +186,14 @@ private async void WebViewControl_Loaded(object sender, Microsoft.UI.Xaml.Routed |
188 | 186 |
|
189 | 187 | private Task<TerminalSize> CreateXtermViewAsync(TerminalOptions options, TerminalColors theme, IEnumerable<KeyBinding> keyBindings) |
190 | 188 | { |
191 | | - var serializerSettings = new JsonSerializerSettings(); |
192 | | - serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); |
193 | | - var serializedOptions = JsonConvert.SerializeObject(options, serializerSettings); |
194 | | - var serializedTheme = JsonConvert.SerializeObject(theme, serializerSettings); |
195 | | - var serializedKeyBindings = JsonConvert.SerializeObject(keyBindings, serializerSettings); |
| 189 | + var serializerSettings = new JsonSerializerOptions(); |
| 190 | + serializerSettings.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; |
| 191 | + var serializedOptions = JsonSerializer.Serialize(options, serializerSettings); |
| 192 | + var serializedTheme = JsonSerializer.Serialize(theme, serializerSettings); |
| 193 | + var serializedKeyBindings = JsonSerializer.Serialize(keyBindings, serializerSettings); |
196 | 194 | return ExecuteScriptAsync( |
197 | 195 | $"createTerminal('{serializedOptions}', '{serializedTheme}', '{serializedKeyBindings}')") |
198 | | - .ContinueWith(t => JsonConvert.DeserializeObject<TerminalSize>(t.Result)!); |
| 196 | + .ContinueWith(t => JsonSerializer.Deserialize<TerminalSize>(t.Result)!); |
199 | 197 | } |
200 | 198 |
|
201 | 199 | private void WebViewControl_NavigationStarting(WebView2 sender, CoreWebView2NavigationStartingEventArgs args) |
@@ -439,14 +437,14 @@ private async void TerminalView_ActualThemeChanged(Microsoft.UI.Xaml.FrameworkEl |
439 | 437 | if (!_tcsConnected.Task.IsCompleted) |
440 | 438 | return; |
441 | 439 |
|
442 | | - var serializerSettings = new JsonSerializerSettings(); |
443 | | - serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); |
| 440 | + var serializerSettings = new JsonSerializerOptions(); |
| 441 | + serializerSettings.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; |
444 | 442 | var profile = _mainPageModel.TerminalSelectedProfile; |
445 | 443 | var theme = new DefaultValueProvider().GetPreInstalledThemes().First(x => x.Id == profile.TerminalThemeId); |
446 | 444 |
|
447 | 445 | WebViewControl.CoreWebView2.Profile.PreferredColorScheme = (ActualTheme == Microsoft.UI.Xaml.ElementTheme.Dark) ? CoreWebView2PreferredColorScheme.Dark : CoreWebView2PreferredColorScheme.Light; |
448 | 446 |
|
449 | | - var serializedTheme = JsonConvert.SerializeObject(theme.Colors, serializerSettings); |
| 447 | + var serializedTheme = JsonSerializer.Serialize(theme.Colors, serializerSettings); |
450 | 448 | await ExecuteScriptAsync($"changeTheme('{serializedTheme}')"); |
451 | 449 | } |
452 | 450 | } |
|
0 commit comments