diff --git a/ChatTwo/FontManager.cs b/ChatTwo/FontManager.cs index a846a26..c0e8b95 100644 --- a/ChatTwo/FontManager.cs +++ b/ChatTwo/FontManager.cs @@ -17,6 +17,8 @@ public class FontManager internal IFontHandle RegularFont { get; private set; } internal IFontHandle? ItalicFont { get; private set; } + internal IFontHandle FontAwesome { get; private set; } + private FaceData _regularFont; private FaceData? _italicFont; private FaceData _jpFont; @@ -159,6 +161,10 @@ public class FontManager SkewStrength = Plugin.Config.FontSize / 6 }); + FontAwesome = Plugin.Interface.UiBuilder.FontAtlas.NewDelegateFontHandle(e => + e.OnPreBuild(tk => tk.AddFontAwesomeIconFont(new SafeFontConfig { SizePx = Plugin.Config.FontSize }) + )); + RegularFont = Plugin.Interface.UiBuilder.FontAtlas.NewDelegateFontHandle( e => e.OnPreBuild( tk => diff --git a/ChatTwo/MessageManager.cs b/ChatTwo/MessageManager.cs index 95199b6..76d4919 100644 --- a/ChatTwo/MessageManager.cs +++ b/ChatTwo/MessageManager.cs @@ -80,7 +80,7 @@ internal class MessageManager : IDisposable Store.UpsertMessage(entry.Item2); } - internal void AddMessage(Message message, Tab? currentTab) + private void AddMessage(Message message, Tab? currentTab) { if (Plugin.Config.DatabaseBattleMessages || !message.Code.IsBattle()) Store.UpsertMessage(message); diff --git a/ChatTwo/Plugin.cs b/ChatTwo/Plugin.cs index 6ee1b60..eb3f7fe 100755 --- a/ChatTwo/Plugin.cs +++ b/ChatTwo/Plugin.cs @@ -80,6 +80,7 @@ public sealed class Plugin : IDalamudPlugin } LanguageChanged(Interface.UiLanguage); + ImGuiUtil.Initialize(this); Commands = new Commands(this); Common = new XivCommonBase(Interface); diff --git a/ChatTwo/Util/ImGuiUtil.cs b/ChatTwo/Util/ImGuiUtil.cs index e96d8fc..f08a8d9 100755 --- a/ChatTwo/Util/ImGuiUtil.cs +++ b/ChatTwo/Util/ImGuiUtil.cs @@ -12,6 +12,13 @@ namespace ChatTwo.Util; internal static class ImGuiUtil { + private static Plugin Plugin; + + public static void Initialize(Plugin plugin) + { + Plugin = plugin; + } + private static readonly ImGuiMouseButton[] Buttons = [ ImGuiMouseButton.Left, @@ -166,22 +173,16 @@ internal static class ImGuiUtil internal static bool IconButton(FontAwesomeIcon icon, string? id = null, string? tooltip = null) { - ImGui.PushFont(UiBuilder.IconFont); - var label = icon.ToIconString(); if (id != null) label += $"##{id}"; + Plugin.FontManager.FontAwesome.Push(); var ret = ImGui.Button(label); - - ImGui.PopFont(); + Plugin.FontManager.FontAwesome.Pop(); if (tooltip != null && ImGui.IsItemHovered()) - { - ImGui.BeginTooltip(); - ImGui.TextUnformatted(tooltip); - ImGui.EndTooltip(); - } + ImGui.SetTooltip(tooltip); return ret; }