fix(v0.5.0): defaults and coupling issues from first walkthrough
- Configuration.cs: ShowTitleBar defaults to true so a fresh install shows the window header instead of leaving the user without a drag handle and hide button - Configuration.cs: MaxLinesToRender default drops from 10000 to 5000 to match the slider's intended ceiling and the previous user-tuned baseline - ChatLogWindow.cs: 24h-clock checkbox now actually flips the format. The Bestand path passed null culture which on a German system locale always rendered 24h regardless of the toggle - Appearance.cs + ChatLogWindow.cs + Popout.cs: when Hellion theme is enabled the global theme opacity drives the chat-window BgAlpha and the legacy WindowAlpha slider is disabled, so the two opacity controls no longer fight each other - Appearance.cs: ticking UseHellionFont now flips FontsEnabled off so the two mutually-exclusive font stacks no longer appear active at the same time
This commit is contained in:
@@ -451,7 +451,9 @@ public sealed class ChatLogWindow : Window
|
||||
Flags |= ImGuiWindowFlags.NoTitleBar;
|
||||
|
||||
if (LastViewport == ImGuiHelpers.MainViewport.Handle && !WasDocked)
|
||||
BgAlpha = Plugin.Config.WindowAlpha / 100f;
|
||||
BgAlpha = Plugin.Config.HellionThemeEnabled
|
||||
? Plugin.Config.HellionThemeWindowOpacity
|
||||
: Plugin.Config.WindowAlpha / 100f;
|
||||
|
||||
LastViewport = ImGui.GetWindowViewport().Handle;
|
||||
WasDocked = ImGui.IsWindowDocked();
|
||||
@@ -1188,7 +1190,13 @@ public sealed class ChatLogWindow : Window
|
||||
if (tab.DisplayTimestamp)
|
||||
{
|
||||
var localTime = message.Date.ToLocalTime();
|
||||
var timestamp = localTime.ToString("t", !Plugin.Config.Use24HourClock ? null : CultureInfo.CreateSpecificCulture("de-DE"));
|
||||
// Force the format explicitly per setting. Relying on the
|
||||
// current culture meant a German system locale always
|
||||
// produced 24h regardless of the toggle, so the checkbox
|
||||
// looked dead.
|
||||
var timestamp = Plugin.Config.Use24HourClock
|
||||
? localTime.ToString("HH:mm", CultureInfo.InvariantCulture)
|
||||
: localTime.ToString("h:mm tt", CultureInfo.InvariantCulture);
|
||||
if (isTable)
|
||||
{
|
||||
if (!Plugin.Config.HideSameTimestamps || timestamp != lastTimestamp)
|
||||
|
||||
+10
-2
@@ -70,8 +70,16 @@ internal class Popout : Window
|
||||
|
||||
if (!ChatLogWindow.PopOutDocked[Idx])
|
||||
{
|
||||
var alpha = Tab.IndependentOpacity ? Tab.Opacity : Plugin.Config.WindowAlpha;
|
||||
BgAlpha = alpha / 100f;
|
||||
if (Tab.IndependentOpacity)
|
||||
{
|
||||
BgAlpha = Tab.Opacity / 100f;
|
||||
}
|
||||
else
|
||||
{
|
||||
BgAlpha = Plugin.Config.HellionThemeEnabled
|
||||
? Plugin.Config.HellionThemeWindowOpacity
|
||||
: Plugin.Config.WindowAlpha / 100f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,15 @@ internal sealed class Appearance : ISettingsTab
|
||||
DrawStyleCombo();
|
||||
}
|
||||
|
||||
ImGuiUtil.DragFloatVertical(Language.Options_WindowOpacity_Name, ref Mutable.WindowAlpha, .25f, 0f, 100f, $"{Mutable.WindowAlpha:N2}%%", ImGuiSliderFlags.AlwaysClamp);
|
||||
// The Bestand-Slider WindowAlpha targets the chat log window's
|
||||
// background only. The Hellion theme opacity above already covers
|
||||
// every plugin window globally, so the two sliders fight each
|
||||
// other when the theme is active. Disable the legacy slider in
|
||||
// that case to make Hellion theme the single source of truth.
|
||||
using (ImRaii.Disabled(Mutable.HellionThemeEnabled))
|
||||
{
|
||||
ImGuiUtil.DragFloatVertical(Language.Options_WindowOpacity_Name, ref Mutable.WindowAlpha, .25f, 0f, 100f, $"{Mutable.WindowAlpha:N2}%%", ImGuiSliderFlags.AlwaysClamp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,14 +119,18 @@ internal sealed class Appearance : ISettingsTab
|
||||
|
||||
using (ImRaii.PushIndent(ImGui.GetStyle().IndentSpacing, false))
|
||||
{
|
||||
ImGui.Checkbox(HellionStrings.Theme_UseHellionFont_Name, ref Mutable.UseHellionFont);
|
||||
if (ImGui.Checkbox(HellionStrings.Theme_UseHellionFont_Name, ref Mutable.UseHellionFont))
|
||||
{
|
||||
// Mutex with the Bestand custom-font stack. Leaving FontsEnabled
|
||||
// checked alongside UseHellionFont made both checkboxes look
|
||||
// active even though the lower stack was greyed out, which
|
||||
// confused the user during the v0.5.0 walkthrough.
|
||||
if (Mutable.UseHellionFont)
|
||||
Mutable.FontsEnabled = false;
|
||||
}
|
||||
ImGuiUtil.HelpMarker(HellionStrings.Theme_UseHellionFont_Description);
|
||||
ImGui.Spacing();
|
||||
|
||||
// Hellion-Font und der Custom-Font-Stack schließen sich aus:
|
||||
// wenn Exo 2 erzwungen wird, sind die ChatTwo-Font-Picker
|
||||
// ohne Wirkung, also UI-seitig ausgrauen statt versteckt
|
||||
// weiterzuwerken.
|
||||
using var fontDisabled = ImRaii.Disabled(Mutable.UseHellionFont);
|
||||
|
||||
ImGui.Checkbox(Language.Options_FontsEnabled, ref Mutable.FontsEnabled);
|
||||
|
||||
Reference in New Issue
Block a user