feat: add settings option for viewports

This commit is contained in:
goat 2021-04-12 03:13:39 +02:00
parent 4bf40ade3d
commit dbd0f09052
No known key found for this signature in database
GPG key ID: F18F057873895461

View file

@ -37,6 +37,7 @@ namespace Dalamud.Interface
this.doToggleUiHideDuringGpose = this.dalamud.Configuration.ToggleUiHideDuringGpose;
this.doDocking = this.dalamud.Configuration.IsDocking;
this.doViewport = !this.dalamud.Configuration.IsNeverViewport;
this.doPluginTest = this.dalamud.Configuration.DoPluginTest;
this.thirdRepoList = this.dalamud.Configuration.ThirdRepoList.Select(x => x.Clone()).ToList();
@ -130,6 +131,7 @@ namespace Dalamud.Interface
private bool doToggleUiHideDuringCutscenes;
private bool doToggleUiHideDuringGpose;
private bool doDocking;
private bool doViewport;
private List<ThirdRepoSetting> thirdRepoList;
private bool printPluginsWelcomeMsg;
@ -215,6 +217,9 @@ namespace Dalamud.Interface
ImGui.Dummy(new Vector2(10f, 16f) * ImGui.GetIO().FontGlobalScale);
ImGui.Checkbox(Loc.Localize("DalamudSettingToggleViewports", "Enable multi-monitor windows"), ref this.doViewport);
ImGui.TextColored(this.hintTextColor, Loc.Localize("DalamudSettingToggleViewportsHint", "This will allow you move plugin windows onto other monitors.\nWill only work in Borderless Window or Windowed mode."));
ImGui.Checkbox(Loc.Localize("DalamudSettingToggleDocking", "Enable window docking"), ref this.doDocking);
ImGui.TextColored(this.hintTextColor, Loc.Localize("DalamudSettingToggleDockingHint", "This will allow you to fuse and tab plugin windows."));
@ -369,6 +374,9 @@ namespace Dalamud.Interface
this.dalamud.Configuration.IsDocking = this.doDocking;
// This is applied every frame in InterfaceManager::CheckViewportState()
this.dalamud.Configuration.IsNeverViewport = !this.doViewport;
// Apply docking flag
if (!this.dalamud.Configuration.IsDocking)
{