mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-20 15:44:18 +01:00
fix(DTR): make ordering a bit nicer
This commit is contained in:
parent
30d4c8a93d
commit
bbbac0dc29
3 changed files with 45 additions and 62 deletions
|
|
@ -46,6 +46,7 @@ Aireil
|
||||||
kalilistic
|
kalilistic
|
||||||
MgAl2O4
|
MgAl2O4
|
||||||
ascclemens
|
ascclemens
|
||||||
|
r00telement
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -109,8 +110,7 @@ Copyright (c) Nate McMaster
|
||||||
Licensed under the Apache License, Version 2.0
|
Licensed under the Apache License, Version 2.0
|
||||||
See License.txt for license information.
|
See License.txt for license information.
|
||||||
|
|
||||||
Thanks to everyone in the XIVLauncher
|
Thanks to everyone in the XIVLauncher Discord server
|
||||||
Discord server
|
|
||||||
|
|
||||||
Join us at: https://discord.gg/3NMcUV5
|
Join us at: https://discord.gg/3NMcUV5
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,7 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
// DTR
|
// DTR
|
||||||
private DtrBarEntry? dtrTest1;
|
private DtrBarEntry? dtrTest1;
|
||||||
private DtrBarEntry? dtrTest2;
|
private DtrBarEntry? dtrTest2;
|
||||||
|
private DtrBarEntry? dtrTest3;
|
||||||
|
|
||||||
private uint copyButtonIndex = 0;
|
private uint copyButtonIndex = 0;
|
||||||
|
|
||||||
|
|
@ -1601,61 +1602,12 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
|
|
||||||
private void DrawDtr()
|
private void DrawDtr()
|
||||||
{
|
{
|
||||||
var dtrBar = Service<DtrBar>.Get();
|
DrawDtrTestEntry(ref this.dtrTest1, "DTR Test #1");
|
||||||
|
ImGui.Separator();
|
||||||
if (this.dtrTest1 != null)
|
DrawDtrTestEntry(ref this.dtrTest2, "DTR Test #2");
|
||||||
{
|
ImGui.Separator();
|
||||||
ImGui.Text("DtrTest1");
|
DrawDtrTestEntry(ref this.dtrTest3, "DTR Test #3");
|
||||||
|
|
||||||
var text = this.dtrTest1.Text?.TextValue ?? string.Empty;
|
|
||||||
if (ImGui.InputText("Text###dtr1t", ref text, 255))
|
|
||||||
this.dtrTest1.Text = text;
|
|
||||||
|
|
||||||
var shown = this.dtrTest1.Shown;
|
|
||||||
if (ImGui.Checkbox("Shown###dtr1s", ref shown))
|
|
||||||
this.dtrTest1.Shown = shown;
|
|
||||||
|
|
||||||
if (ImGui.Button("Remove###dtr1r"))
|
|
||||||
{
|
|
||||||
this.dtrTest1.Remove();
|
|
||||||
this.dtrTest1 = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (ImGui.Button("Add #1"))
|
|
||||||
{
|
|
||||||
this.dtrTest1 = dtrBar.Get("DTR Test #1");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ImGui.Separator();
|
ImGui.Separator();
|
||||||
|
|
||||||
if (this.dtrTest2 != null)
|
|
||||||
{
|
|
||||||
ImGui.Text("DtrTest2");
|
|
||||||
|
|
||||||
var text = this.dtrTest2.Text?.TextValue ?? string.Empty;
|
|
||||||
if (ImGui.InputText("Text###dtr2t", ref text, 255))
|
|
||||||
this.dtrTest2.Text = text;
|
|
||||||
|
|
||||||
var shown = this.dtrTest2.Shown;
|
|
||||||
if (ImGui.Checkbox("Shown###dtr2s", ref shown))
|
|
||||||
this.dtrTest2.Shown = shown;
|
|
||||||
|
|
||||||
if (ImGui.Button("Remove###dtr2r"))
|
|
||||||
{
|
|
||||||
this.dtrTest2.Remove();
|
|
||||||
this.dtrTest2 = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (ImGui.Button("Add #2"))
|
|
||||||
{
|
|
||||||
this.dtrTest2 = dtrBar.Get("DTR Test #2");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var configuration = Service<DalamudConfiguration>.Get();
|
var configuration = Service<DalamudConfiguration>.Get();
|
||||||
if (configuration.DtrOrder != null)
|
if (configuration.DtrOrder != null)
|
||||||
|
|
@ -1669,6 +1621,37 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void DrawDtrTestEntry(ref DtrBarEntry? entry, string title)
|
||||||
|
{
|
||||||
|
var dtrBar = Service<DtrBar>.Get();
|
||||||
|
|
||||||
|
if (entry != null)
|
||||||
|
{
|
||||||
|
ImGui.Text(title);
|
||||||
|
|
||||||
|
var text = entry.Text?.TextValue ?? string.Empty;
|
||||||
|
if (ImGui.InputText($"Text###{entry.Title}t", ref text, 255))
|
||||||
|
entry.Text = text;
|
||||||
|
|
||||||
|
var shown = entry.Shown;
|
||||||
|
if (ImGui.Checkbox($"Shown###{entry.Title}s", ref shown))
|
||||||
|
entry.Shown = shown;
|
||||||
|
|
||||||
|
if (ImGui.Button($"Remove###{entry.Title}r"))
|
||||||
|
{
|
||||||
|
entry.Remove();
|
||||||
|
entry = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (ImGui.Button($"Add###{title}"))
|
||||||
|
{
|
||||||
|
entry = dtrBar.Get(title, title);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private async Task TestTaskInTaskDelay()
|
private async Task TestTaskInTaskDelay()
|
||||||
{
|
{
|
||||||
await Task.Delay(5000);
|
await Task.Delay(5000);
|
||||||
|
|
|
||||||
|
|
@ -324,8 +324,10 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
var configuration = Service<DalamudConfiguration>.Get();
|
var configuration = Service<DalamudConfiguration>.Get();
|
||||||
var dtrBar = Service<DtrBar>.Get();
|
var dtrBar = Service<DtrBar>.Get();
|
||||||
|
|
||||||
var order = configuration.DtrOrder!;
|
var order = configuration.DtrOrder!.Where(x => dtrBar.HasEntry(x)).ToList();
|
||||||
var ignore = configuration.DtrIgnore!;
|
var ignore = configuration.DtrIgnore!.Where(x => dtrBar.HasEntry(x)).ToList();
|
||||||
|
var orderLeft = configuration.DtrOrder!.Where(x => !order.Contains(x)).ToList();
|
||||||
|
var ignoreLeft = configuration.DtrIgnore!.Where(x => !ignore.Contains(x)).ToList();
|
||||||
|
|
||||||
if (order.Count == 0)
|
if (order.Count == 0)
|
||||||
{
|
{
|
||||||
|
|
@ -336,8 +338,6 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
for (var i = 0; i < order.Count; i++)
|
for (var i = 0; i < order.Count; i++)
|
||||||
{
|
{
|
||||||
var title = order[i];
|
var title = order[i];
|
||||||
if (!dtrBar.HasEntry(title))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// TODO: Maybe we can also resort the rest of the bar in the future?
|
// TODO: Maybe we can also resort the rest of the bar in the future?
|
||||||
// var isRequired = search is Configuration.SearchSetting.Internal or Configuration.SearchSetting.MacroLinks;
|
// var isRequired = search is Configuration.SearchSetting.Internal or Configuration.SearchSetting.MacroLinks;
|
||||||
|
|
@ -397,8 +397,8 @@ namespace Dalamud.Interface.Internal.Windows
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
configuration.DtrOrder = order;
|
configuration.DtrOrder = order.Concat(orderLeft).ToList();
|
||||||
configuration.DtrIgnore = ignore;
|
configuration.DtrIgnore = ignore.Concat(ignoreLeft).ToList();
|
||||||
|
|
||||||
if (isOrderChange)
|
if (isOrderChange)
|
||||||
dtrBar.ApplySort();
|
dtrBar.ApplySort();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue