From 164a43eb979d0bb17d182f26176ce0bb4a9fb8ac Mon Sep 17 00:00:00 2001 From: Anna Clemens Date: Sat, 21 Nov 2020 14:15:01 -0500 Subject: [PATCH] fix(desktop): make text rendering nicer --- XIVChat Desktop/App.xaml.cs | 16 +++++--- XIVChat Desktop/ConfigWindow.xaml | 35 +++++++++-------- XIVChat Desktop/ConnectDialog.xaml | 35 +++++++++-------- XIVChat Desktop/Export.xaml | 34 ++++++++--------- XIVChat Desktop/FriendList.xaml | 36 +++++++++--------- XIVChat Desktop/LicenceWindow.xaml | 29 +++++++------- XIVChat Desktop/MainWindow.xaml | 44 ++++++++++----------- XIVChat Desktop/ManageServer.xaml | 29 +++++++------- XIVChat Desktop/ManageTab.xaml | 30 +++++++-------- XIVChat Desktop/ManageTabs.xaml | 61 ++++++++++++++++++++---------- XIVChat Desktop/ServerScan.xaml | 42 ++++++++++---------- XIVChat Desktop/ServerScan.xaml.cs | 1 - XIVChat Desktop/TrustDialog.xaml | 27 +++++++------ XIVChat Desktop/Util.cs | 1 - XIVChat Desktop/XivChatWindow.cs | 20 ++++++++++ 15 files changed, 237 insertions(+), 203 deletions(-) create mode 100644 XIVChat Desktop/XivChatWindow.cs diff --git a/XIVChat Desktop/App.xaml.cs b/XIVChat Desktop/App.xaml.cs index 3fc973a..4e5f202 100644 --- a/XIVChat Desktop/App.xaml.cs +++ b/XIVChat Desktop/App.xaml.cs @@ -67,12 +67,7 @@ namespace XIVChat_Desktop { this.UpdateTheme(); - FrameworkElement.LanguageProperty.OverrideMetadata( - typeof(FrameworkElement), - new FrameworkPropertyMetadata( - XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag) - ) - ); + LocaliseAllElements(); // I guess this gets initialised where you call it the first time, so initialise it on the UI thread this.Dispatcher.Invoke(() => { }); @@ -88,6 +83,15 @@ namespace XIVChat_Desktop { this.InitialiseWindow(); } + private static void LocaliseAllElements() { + FrameworkElement.LanguageProperty.OverrideMetadata( + typeof(FrameworkElement), + new FrameworkPropertyMetadata( + XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag) + ) + ); + } + public void InitialiseWindow() { var wnd = new MainWindow(); this.Window = wnd; diff --git a/XIVChat Desktop/ConfigWindow.xaml b/XIVChat Desktop/ConfigWindow.xaml index 692168e..a5caf7e 100644 --- a/XIVChat Desktop/ConfigWindow.xaml +++ b/XIVChat Desktop/ConfigWindow.xaml @@ -1,20 +1,19 @@ - + - + diff --git a/XIVChat Desktop/ConnectDialog.xaml b/XIVChat Desktop/ConnectDialog.xaml index 8b7b905..2be86f0 100644 --- a/XIVChat Desktop/ConnectDialog.xaml +++ b/XIVChat Desktop/ConnectDialog.xaml @@ -1,20 +1,19 @@ - + @@ -41,4 +40,4 @@ - + diff --git a/XIVChat Desktop/Export.xaml b/XIVChat Desktop/Export.xaml index a9a1f6a..3582e8d 100644 --- a/XIVChat Desktop/Export.xaml +++ b/XIVChat Desktop/Export.xaml @@ -1,20 +1,18 @@ - + @@ -149,4 +147,4 @@ HorizontalAlignment="Right" /> - + diff --git a/XIVChat Desktop/FriendList.xaml b/XIVChat Desktop/FriendList.xaml index 4f6223e..fb124a5 100644 --- a/XIVChat Desktop/FriendList.xaml +++ b/XIVChat Desktop/FriendList.xaml @@ -1,20 +1,20 @@ - + @@ -85,4 +85,4 @@ Margin="0,8,0,0" Click="Refresh_Click" /> - + diff --git a/XIVChat Desktop/LicenceWindow.xaml b/XIVChat Desktop/LicenceWindow.xaml index 998d838..a4984f6 100644 --- a/XIVChat Desktop/LicenceWindow.xaml +++ b/XIVChat Desktop/LicenceWindow.xaml @@ -1,17 +1,16 @@ - + @@ -29,4 +28,4 @@ IsEnabled="False" /> - + diff --git a/XIVChat Desktop/MainWindow.xaml b/XIVChat Desktop/MainWindow.xaml index f48d1d7..920df7b 100644 --- a/XIVChat Desktop/MainWindow.xaml +++ b/XIVChat Desktop/MainWindow.xaml @@ -1,24 +1,24 @@ - + @@ -208,4 +208,4 @@ Visibility="Collapsed" /> - + diff --git a/XIVChat Desktop/ManageServer.xaml b/XIVChat Desktop/ManageServer.xaml index d68fb4e..2ac1ac9 100644 --- a/XIVChat Desktop/ManageServer.xaml +++ b/XIVChat Desktop/ManageServer.xaml @@ -1,17 +1,16 @@ - + @@ -75,4 +74,4 @@ - + diff --git a/XIVChat Desktop/ManageTab.xaml b/XIVChat Desktop/ManageTab.xaml index b152c40..13b7dfb 100644 --- a/XIVChat Desktop/ManageTab.xaml +++ b/XIVChat Desktop/ManageTab.xaml @@ -1,17 +1,17 @@ - + @@ -38,4 +38,4 @@ Content="Save" Click="Save_Click" /> - + diff --git a/XIVChat Desktop/ManageTabs.xaml b/XIVChat Desktop/ManageTabs.xaml index 0ca4b78..6fb7ed8 100644 --- a/XIVChat Desktop/ManageTabs.xaml +++ b/XIVChat Desktop/ManageTabs.xaml @@ -1,31 +1,50 @@ - + - - + + - + - + - - - - + + + + - + diff --git a/XIVChat Desktop/ServerScan.xaml b/XIVChat Desktop/ServerScan.xaml index a8d5571..a945baa 100644 --- a/XIVChat Desktop/ServerScan.xaml +++ b/XIVChat Desktop/ServerScan.xaml @@ -1,23 +1,23 @@ - + @@ -41,4 +41,4 @@ Add - + diff --git a/XIVChat Desktop/ServerScan.xaml.cs b/XIVChat Desktop/ServerScan.xaml.cs index e840105..ea9a5a9 100644 --- a/XIVChat Desktop/ServerScan.xaml.cs +++ b/XIVChat Desktop/ServerScan.xaml.cs @@ -94,7 +94,6 @@ namespace XIVChat_Desktop { } private void ServerScan_OnContentRendered(object? sender, EventArgs e) { - this.InvalidateVisual(); this.udpThread ??= Task.Run(this.Scanner); } diff --git a/XIVChat Desktop/TrustDialog.xaml b/XIVChat Desktop/TrustDialog.xaml index aded4b5..7a9af43 100644 --- a/XIVChat Desktop/TrustDialog.xaml +++ b/XIVChat Desktop/TrustDialog.xaml @@ -1,16 +1,15 @@ - + @@ -139,4 +138,4 @@ - + diff --git a/XIVChat Desktop/Util.cs b/XIVChat Desktop/Util.cs index 945aea6..e695418 100644 --- a/XIVChat Desktop/Util.cs +++ b/XIVChat Desktop/Util.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Windows.Threading; -using Windows.UI.Xaml.Data; namespace XIVChat_Desktop { public static class Util { diff --git a/XIVChat Desktop/XivChatWindow.cs b/XIVChat Desktop/XivChatWindow.cs new file mode 100644 index 0000000..914b115 --- /dev/null +++ b/XIVChat Desktop/XivChatWindow.cs @@ -0,0 +1,20 @@ +using System; +using System.Windows; +using System.Windows.Media; + +namespace XIVChat_Desktop { + public class XivChatWindow : Window { + // ReSharper disable once MemberCanBeProtected.Global + public XivChatWindow() { + this.SetValue(TextOptions.TextRenderingModeProperty, TextRenderingMode.Auto); + this.SetValue(TextOptions.TextFormattingModeProperty, TextFormattingMode.Display); + this.SetValue(TextOptions.TextHintingModeProperty, TextHintingMode.Fixed); + + this.ContentRendered += this.FixRendering; + } + + private void FixRendering(object? sender, EventArgs eventArgs) { + this.InvalidateVisual(); + } + } +}