From f1384745eb55cd003e7806ab7c5e002f45c9c26a Mon Sep 17 00:00:00 2001 From: Cara Date: Sat, 25 Apr 2020 03:43:08 +0930 Subject: [PATCH 1/4] Double Click in ItemSearchWindow to link item --- Dalamud/Interface/ItemSearchWindow.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Dalamud/Interface/ItemSearchWindow.cs b/Dalamud/Interface/ItemSearchWindow.cs index 9d2d9a4cd..11ef0d63a 100644 --- a/Dalamud/Interface/ItemSearchWindow.cs +++ b/Dalamud/Interface/ItemSearchWindow.cs @@ -33,6 +33,7 @@ namespace Dalamud.Interface private int currentKind = 0; private int selectedItemIndex = -1; + private long selectedTime = 0; private TextureWrap selectedItemTex; private CancellationTokenSource searchCancelTokenSource; @@ -140,6 +141,7 @@ namespace Dalamud.Interface { if (ImGui.Selectable(this.searchTask.Result[i].Name, this.selectedItemIndex == i)) { + long nowTime = DateTimeOffset.Now.ToUnixTimeMilliseconds(); this.selectedItemIndex = i; try @@ -156,6 +158,17 @@ namespace Dalamud.Interface this.selectedItemTex?.Dispose(); this.selectedItemTex = null; } + + if (this.selectedItemIndex == i && nowTime < (selectedTime + 1000)) + { + OnItemChosen?.Invoke(this, this.searchTask.Result[i]); + if (this.closeOnChoose) + { + this.selectedItemTex?.Dispose(); + isOpen = false; + } + } + this.selectedTime = nowTime; } } } From 0968eda8567a46ca4993960ea77a9b1b1fb959f3 Mon Sep 17 00:00:00 2001 From: Cara Date: Sat, 25 Apr 2020 03:54:31 +0930 Subject: [PATCH 2/4] Use ImGui Double Click --- Dalamud/Interface/ItemSearchWindow.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Dalamud/Interface/ItemSearchWindow.cs b/Dalamud/Interface/ItemSearchWindow.cs index 11ef0d63a..f35f075f0 100644 --- a/Dalamud/Interface/ItemSearchWindow.cs +++ b/Dalamud/Interface/ItemSearchWindow.cs @@ -139,9 +139,9 @@ namespace Dalamud.Interface { for (var i = 0; i < this.searchTask.Result.Count; i++) { - if (ImGui.Selectable(this.searchTask.Result[i].Name, this.selectedItemIndex == i)) + if (ImGui.Selectable(this.searchTask.Result[i].Name, this.selectedItemIndex == i, ImGuiSelectableFlags.AllowDoubleClick)) { - long nowTime = DateTimeOffset.Now.ToUnixTimeMilliseconds(); + this.selectedItemIndex = i; try @@ -159,7 +159,7 @@ namespace Dalamud.Interface this.selectedItemTex = null; } - if (this.selectedItemIndex == i && nowTime < (selectedTime + 1000)) + if (ImGui.IsMouseDoubleClicked(0)) { OnItemChosen?.Invoke(this, this.searchTask.Result[i]); if (this.closeOnChoose) @@ -168,7 +168,6 @@ namespace Dalamud.Interface isOpen = false; } } - this.selectedTime = nowTime; } } } From 939e9c11afdd14d4e0c2a3806e7e4e98bfdc537c Mon Sep 17 00:00:00 2001 From: Cara Date: Sat, 25 Apr 2020 03:55:23 +0930 Subject: [PATCH 3/4] Remove now unused variable --- Dalamud/Interface/ItemSearchWindow.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Dalamud/Interface/ItemSearchWindow.cs b/Dalamud/Interface/ItemSearchWindow.cs index f35f075f0..8eb252806 100644 --- a/Dalamud/Interface/ItemSearchWindow.cs +++ b/Dalamud/Interface/ItemSearchWindow.cs @@ -33,7 +33,6 @@ namespace Dalamud.Interface private int currentKind = 0; private int selectedItemIndex = -1; - private long selectedTime = 0; private TextureWrap selectedItemTex; private CancellationTokenSource searchCancelTokenSource; From dced804d288c59dd779f17f5bc0d3bea40681c10 Mon Sep 17 00:00:00 2001 From: Cara Date: Sat, 25 Apr 2020 03:55:53 +0930 Subject: [PATCH 4/4] Update ItemSearchWindow.cs --- Dalamud/Interface/ItemSearchWindow.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Dalamud/Interface/ItemSearchWindow.cs b/Dalamud/Interface/ItemSearchWindow.cs index 8eb252806..f2a5e4414 100644 --- a/Dalamud/Interface/ItemSearchWindow.cs +++ b/Dalamud/Interface/ItemSearchWindow.cs @@ -140,7 +140,6 @@ namespace Dalamud.Interface { if (ImGui.Selectable(this.searchTask.Result[i].Name, this.selectedItemIndex == i, ImGuiSelectableFlags.AllowDoubleClick)) { - this.selectedItemIndex = i; try