Fix unfocused in eureka

This commit is contained in:
Infi
2024-04-11 15:31:36 +02:00
parent 4ebd072ad4
commit 1243501067
2 changed files with 19 additions and 21 deletions
+1 -2
View File
@@ -10,7 +10,6 @@ using Dalamud.Memory;
using Dalamud.Plugin.Services; using Dalamud.Plugin.Services;
using Dalamud.Utility.Signatures; using Dalamud.Utility.Signatures;
using FFXIVClientStructs.FFXIV.Client.System.Framework; using FFXIVClientStructs.FFXIV.Client.System.Framework;
using FFXIVClientStructs.FFXIV.Client.System.Memory;
using FFXIVClientStructs.FFXIV.Client.System.String; using FFXIVClientStructs.FFXIV.Client.System.String;
using FFXIVClientStructs.FFXIV.Client.UI; using FFXIVClientStructs.FFXIV.Client.UI;
using FFXIVClientStructs.FFXIV.Client.UI.Agent; using FFXIVClientStructs.FFXIV.Client.UI.Agent;
@@ -565,7 +564,7 @@ internal sealed unsafe class Chat : IDisposable {
{ {
playerName = MemoryHelper.ReadStringNullTerminated(agent + 0xDA); playerName = MemoryHelper.ReadStringNullTerminated(agent + 0xDA);
worldId = *(ushort*) (agent + 0x120); worldId = *(ushort*) (agent + 0x120);
Plugin.Log.Debug($"Detected tell target '{playerName}'@{worldId:X}"); Plugin.Log.Debug($"Detected tell target '{playerName}'@{worldId}");
} }
Channel = ((InputChannel) channel, nameChunks, playerName, worldId); Channel = ((InputChannel) channel, nameChunks, playerName, worldId);
+17 -18
View File
@@ -676,13 +676,11 @@ public sealed class ChatLogWindow : Window, IUiComponent {
HandleKeybinds(true); HandleKeybinds(true);
} }
// If we're currently using a temporary channel, switch back to the // Only trigger unfocused if we are currently not calling the auto complete
// original channel when the input loses focus *unless* the if (!Activate && !ImGui.IsItemActive() && _autoCompleteInfo == null)
// auto-translate popup is open. {
if (_tempChannel != null && !Activate && !ImGui.IsItemActive() && _autoCompleteInfo == null) { if (_tempChannel is InputChannel.Tell)
if (_tempChannel is InputChannel.Tell) {
_tellTarget = null; _tellTarget = null;
}
_tempChannel = null; _tempChannel = null;
if (Plugin.Functions.Chat.UsesTellTempChannel) if (Plugin.Functions.Chat.UsesTellTempChannel)
@@ -692,38 +690,39 @@ public sealed class ChatLogWindow : Window, IUiComponent {
} }
} }
if (ImGui.BeginPopupContextItem()) { if (ImGui.BeginPopupContextItem())
{
ImGui.PushStyleColor(ImGuiCol.Text, normalColour); ImGui.PushStyleColor(ImGuiCol.Text, normalColour);
try { try
if (ImGui.Selectable(Language.ChatLog_HideChat)) { {
if (ImGui.Selectable(Language.ChatLog_HideChat))
UserHide(); UserHide();
} }
} finally { finally
{
ImGui.PopStyleColor(); ImGui.PopStyleColor();
} }
ImGui.EndPopup(); ImGui.EndPopup();
} }
if (inputColour != null) { if (inputColour != null)
ImGui.PopStyleColor(); ImGui.PopStyleColor();
}
ImGui.SameLine(); ImGui.SameLine();
if (ImGuiUtil.IconButton(FontAwesomeIcon.Cog)) { if (ImGuiUtil.IconButton(FontAwesomeIcon.Cog))
Plugin.SettingsWindow.IsOpen ^= true; Plugin.SettingsWindow.Toggle();
}
if (showNovice) { if (showNovice)
{
ImGui.SameLine(); ImGui.SameLine();
if (ImGuiUtil.IconButton(FontAwesomeIcon.Leaf)) { if (ImGuiUtil.IconButton(FontAwesomeIcon.Leaf))
Plugin.Functions.ClickNoviceNetworkButton(); Plugin.Functions.ClickNoviceNetworkButton();
} }
} }
}
internal void SetChannel(InputChannel? channel) internal void SetChannel(InputChannel? channel)
{ {