feat(statusbar): wire status bar into ChatLogWindow render pipeline
This commit is contained in:
@@ -64,6 +64,7 @@ public sealed class Plugin : IDalamudPlugin
|
|||||||
internal TypingIpc TypingIpc { get; }
|
internal TypingIpc TypingIpc { get; }
|
||||||
internal FontManager FontManager { get; }
|
internal FontManager FontManager { get; }
|
||||||
internal Themes.ThemeRegistry ThemeRegistry { get; private set; } = null!;
|
internal Themes.ThemeRegistry ThemeRegistry { get; private set; } = null!;
|
||||||
|
internal Ui.StatusBar StatusBar { get; private set; } = null!;
|
||||||
|
|
||||||
internal int DeferredSaveFrames = -1;
|
internal int DeferredSaveFrames = -1;
|
||||||
|
|
||||||
@@ -296,6 +297,8 @@ public sealed class Plugin : IDalamudPlugin
|
|||||||
ThemeRegistry = new Themes.ThemeRegistry(customThemesDir);
|
ThemeRegistry = new Themes.ThemeRegistry(customThemesDir);
|
||||||
ThemeRegistry.Switch(Config.Theme);
|
ThemeRegistry.Switch(Config.Theme);
|
||||||
|
|
||||||
|
StatusBar = new Ui.StatusBar();
|
||||||
|
|
||||||
MessageManager = new MessageManager(this); // Does it require UI?
|
MessageManager = new MessageManager(this); // Does it require UI?
|
||||||
|
|
||||||
// Hellion Chat — Auto-Tell-Tabs service. Subscribes to the
|
// Hellion Chat — Auto-Tell-Tabs service. Subscribes to the
|
||||||
|
|||||||
@@ -375,6 +375,9 @@ public sealed class ChatLogWindow : Window
|
|||||||
// weil der Cursor schon weiter unten steht — kein eigener Abzug.
|
// weil der Cursor schon weiter unten steht — kein eigener Abzug.
|
||||||
height -= ImGui.GetFrameHeightWithSpacing();
|
height -= ImGui.GetFrameHeightWithSpacing();
|
||||||
|
|
||||||
|
// v1.2.0 — Status-Bar am Window-Boden reserviert 22 px + 2 px Spacing.
|
||||||
|
height -= StatusBar.Height + 2;
|
||||||
|
|
||||||
return height;
|
return height;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -790,15 +793,19 @@ public sealed class ChatLogWindow : Window
|
|||||||
if (ImGui.IsWindowHovered(ImGuiHoveredFlags.ChildWindows))
|
if (ImGui.IsWindowHovered(ImGuiHoveredFlags.ChildWindows))
|
||||||
LastActivityTime = FrameTime;
|
LastActivityTime = FrameTime;
|
||||||
|
|
||||||
if (!showNovice)
|
if (showNovice)
|
||||||
return;
|
{
|
||||||
|
|
||||||
ImGui.SameLine();
|
ImGui.SameLine();
|
||||||
|
|
||||||
if (ImGuiUtil.IconButton(FontAwesomeIcon.Leaf))
|
if (ImGuiUtil.IconButton(FontAwesomeIcon.Leaf))
|
||||||
GameFunctions.GameFunctions.ClickNoviceNetworkButton();
|
GameFunctions.GameFunctions.ClickNoviceNetworkButton();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// v1.2.0 — Bottom-Status-Bar. Letzter Render-Step in DrawChatLog,
|
||||||
|
// damit alle Zeilen-Operationen davor keine Layout-Sprünge auslösen.
|
||||||
|
Plugin.StatusBar.Draw(Plugin);
|
||||||
|
}
|
||||||
|
|
||||||
internal Dictionary<string, InputChannel> GetValidChannels()
|
internal Dictionary<string, InputChannel> GetValidChannels()
|
||||||
{
|
{
|
||||||
var channels = new Dictionary<string, InputChannel>();
|
var channels = new Dictionary<string, InputChannel>();
|
||||||
|
|||||||
Reference in New Issue
Block a user