GPR: Fix editor window preventing ESC menu opening because of dalamud's terrible focus management
This commit is contained in:
parent
28d50dfc81
commit
69436a73bb
@ -35,6 +35,7 @@ public sealed class RendererPlugin : IDalamudPlugin
|
|||||||
private readonly EditorWindow _editorWindow;
|
private readonly EditorWindow _editorWindow;
|
||||||
|
|
||||||
private readonly List<GatheringLocationContext> _gatheringLocations = [];
|
private readonly List<GatheringLocationContext> _gatheringLocations = [];
|
||||||
|
private EClassJob _currentClassJob;
|
||||||
|
|
||||||
public RendererPlugin(IDalamudPluginInterface pluginInterface, IClientState clientState,
|
public RendererPlugin(IDalamudPluginInterface pluginInterface, IClientState clientState,
|
||||||
ICommandManager commandManager, IDataManager dataManager, ITargetManager targetManager, IChatGui chatGui,
|
ICommandManager commandManager, IDataManager dataManager, ITargetManager targetManager, IChatGui chatGui,
|
||||||
@ -56,6 +57,7 @@ public sealed class RendererPlugin : IDalamudPlugin
|
|||||||
_editorWindow = new EditorWindow(this, _editorCommands, dataManager, targetManager, clientState, objectTable)
|
_editorWindow = new EditorWindow(this, _editorCommands, dataManager, targetManager, clientState, objectTable)
|
||||||
{ IsOpen = true };
|
{ IsOpen = true };
|
||||||
_windowSystem.AddWindow(_editorWindow);
|
_windowSystem.AddWindow(_editorWindow);
|
||||||
|
_currentClassJob = (EClassJob?)_clientState.LocalPlayer?.ClassJob.Id ?? EClassJob.Adventurer;
|
||||||
|
|
||||||
_pluginInterface.GetIpcSubscriber<object>("Questionable.ReloadData")
|
_pluginInterface.GetIpcSubscriber<object>("Questionable.ReloadData")
|
||||||
.Subscribe(Reload);
|
.Subscribe(Reload);
|
||||||
@ -176,9 +178,13 @@ public sealed class RendererPlugin : IDalamudPlugin
|
|||||||
|
|
||||||
private void TerritoryChanged(ushort territoryId) => Redraw();
|
private void TerritoryChanged(ushort territoryId) => Redraw();
|
||||||
|
|
||||||
private void ClassJobChanged(uint classJobId) => Redraw((EClassJob)classJobId);
|
private void ClassJobChanged(uint classJobId)
|
||||||
|
{
|
||||||
|
_currentClassJob = (EClassJob)classJobId;
|
||||||
|
Redraw(_currentClassJob);
|
||||||
|
}
|
||||||
|
|
||||||
internal void Redraw() => Redraw((EClassJob)_clientState.LocalPlayer!.ClassJob.Id);
|
internal void Redraw() => Redraw(_currentClassJob);
|
||||||
|
|
||||||
private void Redraw(EClassJob classJob)
|
private void Redraw(EClassJob classJob)
|
||||||
{
|
{
|
||||||
|
@ -34,7 +34,8 @@ internal sealed class EditorWindow : Window
|
|||||||
|
|
||||||
public EditorWindow(RendererPlugin plugin, EditorCommands editorCommands, IDataManager dataManager,
|
public EditorWindow(RendererPlugin plugin, EditorCommands editorCommands, IDataManager dataManager,
|
||||||
ITargetManager targetManager, IClientState clientState, IObjectTable objectTable)
|
ITargetManager targetManager, IClientState clientState, IObjectTable objectTable)
|
||||||
: base("Gathering Path Editor###QuestionableGatheringPathEditor")
|
: base("Gathering Path Editor###QuestionableGatheringPathEditor",
|
||||||
|
ImGuiWindowFlags.NoFocusOnAppearing | ImGuiWindowFlags.NoNavFocus)
|
||||||
{
|
{
|
||||||
_plugin = plugin;
|
_plugin = plugin;
|
||||||
_editorCommands = editorCommands;
|
_editorCommands = editorCommands;
|
||||||
@ -47,7 +48,11 @@ internal sealed class EditorWindow : Window
|
|||||||
{
|
{
|
||||||
MinimumSize = new Vector2(300, 300),
|
MinimumSize = new Vector2(300, 300),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
RespectCloseHotkey = false;
|
||||||
ShowCloseButton = false;
|
ShowCloseButton = false;
|
||||||
|
AllowPinning = false;
|
||||||
|
AllowClickthrough = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Update()
|
public override void Update()
|
||||||
|
Loading…
Reference in New Issue
Block a user