- Display name even if invalid channel is selected

- Add NoMove & NoResize to tabs
This commit is contained in:
Infi
2024-12-14 14:54:20 +01:00
parent 6144631b16
commit 97a8b96326
25 changed files with 171 additions and 40 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<Version>1.29.11</Version> <Version>1.29.12</Version>
<TargetFramework>net8.0-windows</TargetFramework> <TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
+5
View File
@@ -237,6 +237,9 @@ internal class Tab
public float Opacity = 100f; public float Opacity = 100f;
public bool InputDisabled; public bool InputDisabled;
public bool CanMove = true;
public bool CanResize = true;
[NonSerialized] public uint Unread; [NonSerialized] public uint Unread;
[NonSerialized] public long LastActivity; [NonSerialized] public long LastActivity;
[NonSerialized] public MessageList Messages = new(); [NonSerialized] public MessageList Messages = new();
@@ -280,6 +283,8 @@ internal class Tab
Identifier = Identifier, Identifier = Identifier,
InputDisabled = InputDisabled, InputDisabled = InputDisabled,
CurrentChannel = CurrentChannel, CurrentChannel = CurrentChannel,
CanMove = CanMove,
CanResize = CanResize,
}; };
} }
+5 -7
View File
@@ -540,7 +540,7 @@ internal sealed unsafe class Chat : IDisposable
internal string AbbreviatePlayerName(string playerName) internal string AbbreviatePlayerName(string playerName)
{ {
if (LastPlayerNameDisplayTypeRefresh + 5 * 1000 < Environment.TickCount64) if (LastPlayerNameDisplayTypeRefresh + 5_000 < Environment.TickCount64)
{ {
LastPlayerNameDisplayTypeRefresh = Environment.TickCount64; LastPlayerNameDisplayTypeRefresh = Environment.TickCount64;
CurrentPlayerNameDisplayType = GetNameDisplayType(); CurrentPlayerNameDisplayType = GetNameDisplayType();
@@ -552,14 +552,12 @@ internal sealed unsafe class Chat : IDisposable
var split = playerName.Split(' '); var split = playerName.Split(' ');
if (split.Length != 2) if (split.Length != 2)
return playerName; return playerName;
return CurrentPlayerNameDisplayType switch return CurrentPlayerNameDisplayType switch
{ {
PlayerNameDisplayType.SurnameAbbreviated => PlayerNameDisplayType.SurnameAbbreviated => $"{split.First()} {split.Last().FirstOrDefault('A')}.",
$"{split.First()} {split.Last().FirstOrDefault('A')}.", PlayerNameDisplayType.ForenameAbbreviated => $"{split.First().FirstOrDefault('A')}. {split.Last()}",
PlayerNameDisplayType.ForenameAbbreviated => PlayerNameDisplayType.Initials => $"{split.First().FirstOrDefault('A')}. {split.Last().FirstOrDefault('A')}.",
$"{split.First().FirstOrDefault('A')}. {split.Last()}",
PlayerNameDisplayType.Initials =>
$"{split.First().FirstOrDefault('A')}. {split.Last().FirstOrDefault('A')}.",
_ => playerName _ => playerName
}; };
} }
+2 -2
View File
@@ -1914,7 +1914,7 @@ namespace ChatTwo.Resources {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to Allow moving chat. /// Looks up a localized string similar to Allow moving window.
/// </summary> /// </summary>
internal static string Options_CanMove_Name { internal static string Options_CanMove_Name {
get { get {
@@ -1923,7 +1923,7 @@ namespace ChatTwo.Resources {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to Allow resizing chat. /// Looks up a localized string similar to Allow resizing window.
/// </summary> /// </summary>
internal static string Options_CanResize_Name { internal static string Options_CanResize_Name {
get { get {
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Permetre canviar la mida del xat</value> <value>Permetre canviar la mida del xat</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Mostrar la barra del títol a la part superior esquerre del xat</value> <value>Mostrar la barra del títol a la part superior esquerre del xat</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Date</value> <value>Date</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Tipus de xat</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Sender</value> <value>Sender</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Chatfenstergröße anpassen erlauben</value> <value>Chatfenstergröße anpassen erlauben</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Titelleiste für den Chat anzeigen</value> <value>Titelleiste für den Chat anzeigen</value>
</data> </data>
@@ -1287,7 +1293,7 @@ Sie wurden gewarnt.</value>
<value>Datum / Uhrzeit</value> <value>Datum / Uhrzeit</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Typ</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Absender</value> <value>Absender</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Permitir cambiar el tamaño del chat</value> <value>Permitir cambiar el tamaño del chat</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Mostrar la barra de título en la parte superior izquierda del chat</value> <value>Mostrar la barra de título en la parte superior izquierda del chat</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Fecha</value> <value>Fecha</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Tipo de chat</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Remitente</value> <value>Remitente</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Permettre le redimensionnement du chat</value> <value>Permettre le redimensionnement du chat</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Afficher la barre de titre du chat</value> <value>Afficher la barre de titre du chat</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Date</value> <value>Date</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Type de Discussions</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Expéditeur</value> <value>Expéditeur</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Consenti il ridimensionamento della chat</value> <value>Consenti il ridimensionamento della chat</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Show title bar for chat</value> <value>Show title bar for chat</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Date</value> <value>Date</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Type</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Sender</value> <value>Sender</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Allow resizing chat</value> <value>Allow resizing chat</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Show title bar for chat</value> <value>Show title bar for chat</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Date</value> <value>Date</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Type</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Sender</value> <value>Sender</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>채팅창 크기 조절 허용</value> <value>채팅창 크기 조절 허용</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>채팅창에 타이틀바 표시</value> <value>채팅창에 타이틀바 표시</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Date</value> <value>Date</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Type</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Sender</value> <value>Sender</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Grootte van chat wijzigen toestaan</value> <value>Grootte van chat wijzigen toestaan</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Titelbalk voor chat weergeven</value> <value>Titelbalk voor chat weergeven</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Datum</value> <value>Datum</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Type</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Afzender</value> <value>Afzender</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Permitir redimensionar o bate-papo</value> <value>Permitir redimensionar o bate-papo</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Mostrar barra de título para bate-papo</value> <value>Mostrar barra de título para bate-papo</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Data</value> <value>Data</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Type</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Remetente</value> <value>Remetente</value>
+6
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Allow resizing chat</value> <value>Allow resizing chat</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Show title bar for chat</value> <value>Show title bar for chat</value>
</data> </data>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Permite redimensionarea chat-ului</value> <value>Permite redimensionarea chat-ului</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Afișează bara de titlu pentru chat</value> <value>Afișează bara de titlu pentru chat</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Date</value> <value>Date</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Type</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Sender</value> <value>Sender</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Разрешить изменение размера окна чата</value> <value>Разрешить изменение размера окна чата</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Показывать заголовок для окна чата</value> <value>Показывать заголовок для окна чата</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Date</value> <value>Date</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Type</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Sender</value> <value>Sender</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>Tillåt att ändra chattfönstrets storlek</value> <value>Tillåt att ändra chattfönstrets storlek</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>Visa titelfältet för chattfönstret</value> <value>Visa titelfältet för chattfönstret</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>Date</value> <value>Date</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Type</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>Sender</value> <value>Sender</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>允许调整聊天窗口大小</value> <value>允许调整聊天窗口大小</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>显示聊天窗口标题栏</value> <value>显示聊天窗口标题栏</value>
</data> </data>
@@ -1286,7 +1292,7 @@
<value>日期</value> <value>日期</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>对话类型</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>发送人</value> <value>发送人</value>
+7 -1
View File
@@ -187,6 +187,12 @@
<data name="Options_CanResize_Name"> <data name="Options_CanResize_Name">
<value>允許調整聊天窗口大小</value> <value>允許調整聊天窗口大小</value>
</data> </data>
<data name="Options_CanMove_Name">
<value>Allow moving window</value>
</data>
<data name="Options_CanResize_Name">
<value>Allow resizing window</value>
</data>
<data name="Options_ShowTitleBar_Name"> <data name="Options_ShowTitleBar_Name">
<value>顯示聊天視窗標題欄</value> <value>顯示聊天視窗標題欄</value>
</data> </data>
@@ -1287,7 +1293,7 @@
<value>日期</value> <value>日期</value>
</data> </data>
<data name="DbViewer_TableField_Type" xml:space="preserve"> <data name="DbViewer_TableField_Type" xml:space="preserve">
<value>Chat Type</value> <value>Channel</value>
</data> </data>
<data name="DbViewer_TableField_Sender" xml:space="preserve"> <data name="DbViewer_TableField_Sender" xml:space="preserve">
<value>發送者</value> <value>發送者</value>
+11 -13
View File
@@ -813,8 +813,7 @@ public sealed class ChatLogWindow : Window
{ {
if (!string.IsNullOrWhiteSpace(activeTab.CurrentChannel.TellTarget.Name) && activeTab.CurrentChannel.TellTarget.World != 0) if (!string.IsNullOrWhiteSpace(activeTab.CurrentChannel.TellTarget.Name) && activeTab.CurrentChannel.TellTarget.World != 0)
{ {
// Note: don't use HidePlayerInString here because // Note: don't use HidePlayerInString here because abbreviation settings do not affect this.
// abbreviation settings do not affect this.
var playerName = HashPlayer(activeTab.CurrentChannel.TellTarget.Name, activeTab.CurrentChannel.TellTarget.World); var playerName = HashPlayer(activeTab.CurrentChannel.TellTarget.Name, activeTab.CurrentChannel.TellTarget.World);
var world = Sheets.WorldSheet.TryGetRow(activeTab.CurrentChannel.TellTarget.World, out var worldRow) var world = Sheets.WorldSheet.TryGetRow(activeTab.CurrentChannel.TellTarget.World, out var worldRow)
? worldRow.Name.ExtractText() ? worldRow.Name.ExtractText()
@@ -830,14 +829,15 @@ public sealed class ChatLogWindow : Window
} }
else else
{ {
// We still need to censor the name if we couldn't read // We still need to censor the name if we couldn't read valid data.
// valid data.
channelNameChunks = [new TextChunk(ChunkSource.None, null, "Tell")]; channelNameChunks = [new TextChunk(ChunkSource.None, null, "Tell")];
} }
} }
else else
{ {
channelNameChunks = activeTab.CurrentChannel.Name.ToArray(); channelNameChunks = activeTab.CurrentChannel.Name.Count > 0
? activeTab.CurrentChannel.Name.ToArray()
: [new TextChunk(ChunkSource.None, null, activeTab.CurrentChannel.Channel.ToChatType().Name())];
} }
return channelNameChunks; return channelNameChunks;
@@ -913,8 +913,8 @@ public sealed class ChatLogWindow : Window
Plugin.Functions.Chat.SendTellUsingCommandInner(tellBytes); Plugin.Functions.Chat.SendTellUsingCommandInner(tellBytes);
TellSpecial = false; TellSpecial = false;
activeTab.CurrentChannel.ResetTempChannel();
activeTab.CurrentChannel.ResetTempChannel();
Chat = string.Empty; Chat = string.Empty;
return; return;
} }
@@ -933,6 +933,7 @@ public sealed class ChatLogWindow : Window
ChatBox.SendMessageUnsafe(tellBytes); ChatBox.SendMessageUnsafe(tellBytes);
activeTab.CurrentChannel.ResetTempChannel();
Chat = string.Empty; Chat = string.Empty;
return; return;
} }
@@ -950,9 +951,7 @@ public sealed class ChatLogWindow : Window
Plugin.Functions.Chat.SendTell(reason, target.ContentId, target.Name, (ushort) world.RowId, tellBytes, trimmed); Plugin.Functions.Chat.SendTell(reason, target.ContentId, target.Name, (ushort) world.RowId, tellBytes, trimmed);
} }
if (activeTab.CurrentChannel.TempChannel is InputChannel.Tell) activeTab.CurrentChannel.ResetTempChannel();
activeTab.CurrentChannel.TempTellTarget = null;
Chat = string.Empty; Chat = string.Empty;
return; return;
} }
@@ -969,6 +968,7 @@ public sealed class ChatLogWindow : Window
ChatBox.SendMessageUnsafe(bytes); ChatBox.SendMessageUnsafe(bytes);
} }
activeTab.CurrentChannel.ResetTempChannel();
Chat = string.Empty; Chat = string.Empty;
} }
@@ -1315,6 +1315,8 @@ public sealed class ChatLogWindow : Window
if (ImGuiUtil.IconButton(FontAwesomeIcon.TrashAlt, tooltip: Language.ChatLog_Tabs_Delete)) if (ImGuiUtil.IconButton(FontAwesomeIcon.TrashAlt, tooltip: Language.ChatLog_Tabs_Delete))
{ {
tabs.RemoveAt(i); tabs.RemoveAt(i);
Plugin.WantedTab = 0;
anyChanged = true; anyChanged = true;
} }
@@ -1746,10 +1748,6 @@ public sealed class ChatLogWindow : Window
var content = text.Content ?? ""; var content = text.Content ?? "";
if (ScreenshotMode) if (ScreenshotMode)
{ {
// TODO: the result of hashing the player name should be cached.
// Currently we recalculate the abbreviated player names, the
// hashes and the string replacements every frame when they
// never change.
if (chunk.Link is PlayerPayload playerPayload) if (chunk.Link is PlayerPayload playerPayload)
content = HidePlayerInString(content, playerPayload.PlayerName, playerPayload.World.RowId); content = HidePlayerInString(content, playerPayload.PlayerName, playerPayload.World.RowId);
else if (Plugin.ClientState.LocalPlayer is { } player) else if (Plugin.ClientState.LocalPlayer is { } player)
+23
View File
@@ -1,7 +1,11 @@
using System.Numerics; using System.Numerics;
using ChatTwo.Code;
using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility;
using Dalamud.Interface.Windowing; using Dalamud.Interface.Windowing;
using FFXIVClientStructs.FFXIV.Client.UI.Agent; using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using ImGuiNET; using ImGuiNET;
using Lumina.Text.ReadOnly;
namespace ChatTwo.Ui; namespace ChatTwo.Ui;
@@ -45,9 +49,28 @@ public class DebuggerWindow : Window
if (ImGui.Selectable($"Agent Address: {agent:X}")) if (ImGui.Selectable($"Agent Address: {agent:X}"))
ImGui.SetClipboardText(agent.ToString("X")); ImGui.SetClipboardText(agent.ToString("X"));
ImGuiHelpers.ScaledDummy(5.0f);
ImGui.TextUnformatted($"Handle Tooltips: {ChatLogWindow.PayloadHandler.HandleTooltips}"); ImGui.TextUnformatted($"Handle Tooltips: {ChatLogWindow.PayloadHandler.HandleTooltips}");
ImGui.TextUnformatted($"Hovered Item: {ChatLogWindow.PayloadHandler.HoveredItem}"); ImGui.TextUnformatted($"Hovered Item: {ChatLogWindow.PayloadHandler.HoveredItem}");
ImGui.TextUnformatted($"Hover Counter: {ChatLogWindow.PayloadHandler.HoverCounter}"); ImGui.TextUnformatted($"Hover Counter: {ChatLogWindow.PayloadHandler.HoverCounter}");
ImGui.TextUnformatted($"Last Hover Counter: {ChatLogWindow.PayloadHandler.LastHoverCounter}"); ImGui.TextUnformatted($"Last Hover Counter: {ChatLogWindow.PayloadHandler.LastHoverCounter}");
ImGuiHelpers.ScaledDummy(5.0f);
ImGui.TextColored(ImGuiColors.DalamudOrange, "Current Tab");
ImGui.TextUnformatted($"Name: {Plugin.CurrentTab.Name}");
ImGui.TextUnformatted($"Channel: {Plugin.CurrentTab.CurrentChannel.Channel.ToChatType().Name()}");
ImGui.TextUnformatted($"Tell Target: {Plugin.CurrentTab.CurrentChannel.TellTarget?.ToTargetString() ?? "Null"}");
ImGui.TextUnformatted($"Use Temp? {Plugin.CurrentTab.CurrentChannel.UseTempChannel}");
ImGui.TextUnformatted($"Temp Channel: {Plugin.CurrentTab.CurrentChannel.TempChannel.ToChatType().Name()}");
ImGui.TextUnformatted($"Temp Tell Target: {Plugin.CurrentTab.CurrentChannel.TempTellTarget?.ToTargetString() ?? "Null"}");
ImGui.TextUnformatted($"Name Set? {Plugin.CurrentTab.CurrentChannel.Name.Count > 0}");
ImGui.TextUnformatted($"Name {string.Join(" ", Plugin.CurrentTab.CurrentChannel.Name.Select(c => c.StringValue()))}");
ImGuiHelpers.ScaledDummy(5.0f);
ImGui.TextColored(ImGuiColors.DalamudOrange, "Vanilla Chat");
ImGui.TextUnformatted($"Channel: {new ReadOnlySeString(AgentChatLog.Instance()->ChannelLabel).ExtractText()}");
} }
} }
+6
View File
@@ -62,6 +62,12 @@ internal class Popout : Window
if (!Plugin.Config.ShowPopOutTitleBar) if (!Plugin.Config.ShowPopOutTitleBar)
Flags |= ImGuiWindowFlags.NoTitleBar; Flags |= ImGuiWindowFlags.NoTitleBar;
if (!Tab.CanMove)
Flags |= ImGuiWindowFlags.NoMove;
if (!Tab.CanResize)
Flags |= ImGuiWindowFlags.NoResize;
if (!ChatLogWindow.PopOutDocked[Idx]) if (!ChatLogWindow.PopOutDocked[Idx])
{ {
var alpha = Tab.IndependentOpacity ? Tab.Opacity : Plugin.Config.WindowAlpha; var alpha = Tab.IndependentOpacity ? Tab.Opacity : Plugin.Config.WindowAlpha;
+1 -1
View File
@@ -39,7 +39,7 @@ public sealed class SettingsWindow : Window
new Preview(Mutable), new Preview(Mutable),
new Fonts(Mutable), new Fonts(Mutable),
new ChatColours(Plugin, Mutable), new ChatColours(Plugin, Mutable),
new Tabs(Mutable), new Tabs(Plugin, Mutable),
new Database(Plugin, Mutable), new Database(Plugin, Mutable),
new Webinterface(Plugin, Mutable), new Webinterface(Plugin, Mutable),
new Miscellaneous(Mutable), new Miscellaneous(Mutable),
+1 -1
View File
@@ -86,8 +86,8 @@ internal sealed class ChatLog : ISettingsTab
ImGui.Spacing(); ImGui.Spacing();
ImGui.TextUnformatted(Language.Options_AdjustPosition_Name); ImGui.TextUnformatted(Language.Options_AdjustPosition_Name);
var pos = Plugin.ChatLogWindow.LastWindowPos;
ImGui.SetNextItemWidth(-1); ImGui.SetNextItemWidth(-1);
var pos = Plugin.ChatLogWindow.LastWindowPos;
if (ImGui.DragFloat2($"##{Language.Options_AdjustPosition_Name}", ref pos, 1, 0, float.MaxValue, "%.0fpx")) if (ImGui.DragFloat2($"##{Language.Options_AdjustPosition_Name}", ref pos, 1, 0, float.MaxValue, "%.0fpx"))
Plugin.ChatLogWindow.Position = pos; Plugin.ChatLogWindow.Position = pos;
ImGuiUtil.WarningText(Language.Options_AdjustPosition_Warning); ImGuiUtil.WarningText(Language.Options_AdjustPosition_Warning);
+12 -1
View File
@@ -9,14 +9,16 @@ namespace ChatTwo.Ui.SettingsTabs;
internal sealed class Tabs : ISettingsTab internal sealed class Tabs : ISettingsTab
{ {
private readonly Plugin Plugin;
private Configuration Mutable { get; } private Configuration Mutable { get; }
public string Name => Language.Options_Tabs_Tab + "###tabs-tabs"; public string Name => Language.Options_Tabs_Tab + "###tabs-tabs";
private int ToOpen = -2; private int ToOpen = -2;
internal Tabs(Configuration mutable) internal Tabs(Plugin plugin, Configuration mutable)
{ {
Plugin = plugin;
Mutable = mutable; Mutable = mutable;
} }
@@ -89,6 +91,12 @@ internal sealed class Tabs : ISettingsTab
ImGui.Checkbox(Language.Options_Tabs_IndependentOpacity, ref tab.IndependentOpacity); ImGui.Checkbox(Language.Options_Tabs_IndependentOpacity, ref tab.IndependentOpacity);
if (tab.IndependentOpacity) if (tab.IndependentOpacity)
ImGuiUtil.DragFloatVertical(Language.Options_Tabs_Opacity, ref tab.Opacity, 0.25f, 0f, 100f, $"{tab.Opacity:N2}%%", ImGuiSliderFlags.AlwaysClamp); ImGuiUtil.DragFloatVertical(Language.Options_Tabs_Opacity, ref tab.Opacity, 0.25f, 0f, 100f, $"{tab.Opacity:N2}%%", ImGuiSliderFlags.AlwaysClamp);
ImGuiUtil.OptionCheckbox(ref tab.CanMove, Language.Options_CanMove_Name);
ImGui.Spacing();
ImGuiUtil.OptionCheckbox(ref tab.CanResize, Language.Options_CanResize_Name);
ImGui.Spacing();
} }
using (var combo = ImGuiUtil.BeginComboVertical(Language.Options_Tabs_UnreadMode, tab.UnreadMode.Name())) using (var combo = ImGuiUtil.BeginComboVertical(Language.Options_Tabs_UnreadMode, tab.UnreadMode.Name()))
@@ -130,7 +138,10 @@ internal sealed class Tabs : ISettingsTab
} }
if (toRemove > -1) if (toRemove > -1)
{
Mutable.Tabs.RemoveAt(toRemove); Mutable.Tabs.RemoveAt(toRemove);
Plugin.WantedTab = 0;
}
if (doOpens) if (doOpens)
ToOpen = -2; ToOpen = -2;