dynamic fix for #85

This commit is contained in:
Infi
2024-07-13 09:18:40 +02:00
parent 05495705fd
commit 58a6567f5a
2 changed files with 7 additions and 4 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<Version>1.27.5</Version> <Version>1.27.6</Version>
<TargetFramework>net8.0-windows</TargetFramework> <TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
+6 -3
View File
@@ -902,11 +902,12 @@ public sealed class ChatLogWindow : Window
private void DrawLogTableStyle(Tab tab, PayloadHandler handler, bool switchedTab) private void DrawLogTableStyle(Tab tab, PayloadHandler handler, bool switchedTab)
{ {
var compact = Plugin.Config.MoreCompactPretty;
var oldItemSpacing = ImGui.GetStyle().ItemSpacing; var oldItemSpacing = ImGui.GetStyle().ItemSpacing;
var oldCellPadding = ImGui.GetStyle().CellPadding; var oldCellPadding = ImGui.GetStyle().CellPadding;
using (ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, Vector2.Zero)) using (ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, Vector2.Zero))
using (ImRaii.PushStyle(ImGuiStyleVar.CellPadding, oldCellPadding with { Y = 0 }, Plugin.Config.MoreCompactPretty)) using (ImRaii.PushStyle(ImGuiStyleVar.CellPadding, oldCellPadding with { Y = 0 }, compact))
{ {
using var table = ImRaii.Table("timestamp-table", 2, ImGuiTableFlags.PreciseWidths); using var table = ImRaii.Table("timestamp-table", 2, ImGuiTableFlags.PreciseWidths);
if (!table.Success) if (!table.Success)
@@ -915,12 +916,14 @@ public sealed class ChatLogWindow : Window
ImGui.TableSetupColumn("timestamps", ImGuiTableColumnFlags.WidthFixed); ImGui.TableSetupColumn("timestamps", ImGuiTableColumnFlags.WidthFixed);
ImGui.TableSetupColumn("messages", ImGuiTableColumnFlags.WidthStretch); ImGui.TableSetupColumn("messages", ImGuiTableColumnFlags.WidthStretch);
DrawMessages(tab, handler, true, Plugin.Config.MoreCompactPretty, oldCellPadding.Y); DrawMessages(tab, handler, true, compact, oldCellPadding.Y);
using (ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, oldItemSpacing)) using (ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, oldItemSpacing))
using (ImRaii.PushStyle(ImGuiStyleVar.CellPadding, oldCellPadding)) using (ImRaii.PushStyle(ImGuiStyleVar.CellPadding, oldCellPadding))
{ {
if (switchedTab || ImGui.GetScrollY() >= ImGui.GetScrollMaxY()) // Custom styles can have cellPadding that go above 4, which GetScrollY isn't respecting
var cellPaddingOffset = !compact && oldCellPadding.Y > 4f ? oldCellPadding.Y - 4f : 0f;
if (switchedTab || ImGui.GetScrollY() + cellPaddingOffset >= ImGui.GetScrollMaxY())
ImGui.SetScrollHereY(1f); ImGui.SetScrollHereY(1f);
handler.Draw(); handler.Draw();