Fix setting conditions not working
This commit is contained in:
@@ -112,7 +112,6 @@ internal class MessageManager : IDisposable
|
|||||||
}
|
}
|
||||||
|
|
||||||
public (SeString? Sender, SeString? Message) LastMessage = (null, null);
|
public (SeString? Sender, SeString? Message) LastMessage = (null, null);
|
||||||
|
|
||||||
private void ChatMessage(XivChatType type, uint senderId, SeString sender, SeString message)
|
private void ChatMessage(XivChatType type, uint senderId, SeString sender, SeString message)
|
||||||
{
|
{
|
||||||
var chatCode = new ChatCode((ushort)type);
|
var chatCode = new ChatCode((ushort)type);
|
||||||
|
|||||||
+12
-8
@@ -143,6 +143,16 @@ public sealed class SettingsWindow : Window
|
|||||||
if (!save)
|
if (!save)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// calculate all conditions before updating config
|
||||||
|
var hideChanged = !Mutable.HideChat && Mutable.HideChat != Plugin.Config.HideChat;
|
||||||
|
var languageChanged = Mutable.LanguageOverride != Plugin.Config.LanguageOverride;
|
||||||
|
var fontChanged = Mutable.GlobalFont != Plugin.Config.GlobalFont
|
||||||
|
|| Mutable.JapaneseFont != Plugin.Config.JapaneseFont
|
||||||
|
|| Mutable.ExtraGlyphRanges != Plugin.Config.ExtraGlyphRanges;
|
||||||
|
var fontSizeChanged = Math.Abs(Mutable.FontSize - Plugin.Config.FontSize) > 0.001
|
||||||
|
|| Math.Abs(Mutable.JapaneseFontSize - Plugin.Config.JapaneseFontSize) > 0.001
|
||||||
|
|| Math.Abs(Mutable.SymbolsFontSize - Plugin.Config.SymbolsFontSize) > 0.001;
|
||||||
|
|
||||||
Plugin.Config.UpdateFrom(Mutable);
|
Plugin.Config.UpdateFrom(Mutable);
|
||||||
|
|
||||||
// save after 60 frames have passed, which should hopefully not
|
// save after 60 frames have passed, which should hopefully not
|
||||||
@@ -150,19 +160,13 @@ public sealed class SettingsWindow : Window
|
|||||||
Plugin.DeferredSaveFrames = 60;
|
Plugin.DeferredSaveFrames = 60;
|
||||||
Plugin.MessageManager.FilterAllTabs(false);
|
Plugin.MessageManager.FilterAllTabs(false);
|
||||||
|
|
||||||
var fontChanged = Mutable.GlobalFont != Plugin.Config.GlobalFont
|
|
||||||
|| Mutable.JapaneseFont != Plugin.Config.JapaneseFont
|
|
||||||
|| Mutable.ExtraGlyphRanges != Plugin.Config.ExtraGlyphRanges;
|
|
||||||
var fontSizeChanged = Math.Abs(Mutable.FontSize - Plugin.Config.FontSize) > 0.001
|
|
||||||
|| Math.Abs(Mutable.JapaneseFontSize - Plugin.Config.JapaneseFontSize) > 0.001
|
|
||||||
|| Math.Abs(Mutable.SymbolsFontSize - Plugin.Config.SymbolsFontSize) > 0.001;
|
|
||||||
if (fontChanged || fontSizeChanged)
|
if (fontChanged || fontSizeChanged)
|
||||||
Plugin.FontManager.BuildFonts();
|
Plugin.FontManager.BuildFonts();
|
||||||
|
|
||||||
if (Mutable.LanguageOverride != Plugin.Config.LanguageOverride)
|
if (languageChanged)
|
||||||
Plugin.LanguageChanged(Plugin.Interface.UiLanguage);
|
Plugin.LanguageChanged(Plugin.Interface.UiLanguage);
|
||||||
|
|
||||||
if (!Mutable.HideChat && Mutable.HideChat != Plugin.Config.HideChat)
|
if (hideChanged)
|
||||||
GameFunctions.GameFunctions.SetChatInteractable(true);
|
GameFunctions.GameFunctions.SetChatInteractable(true);
|
||||||
|
|
||||||
Initialise();
|
Initialise();
|
||||||
|
|||||||
Reference in New Issue
Block a user