add settings ui for status icon priorizer settings
This commit is contained in:
@@ -10,6 +10,8 @@ using ImGuiNET;
|
||||
using Lumina.Excel.GeneratedSheets;
|
||||
using Pilz.Dalamud.ActivityContexts;
|
||||
using Pilz.Dalamud.Icons;
|
||||
using Pilz.Dalamud.Nameplates.Model;
|
||||
using Pilz.Dalamud.Nameplates.Tools;
|
||||
using PlayerTags.Data;
|
||||
using PlayerTags.Inheritables;
|
||||
using PlayerTags.PluginStrings;
|
||||
@@ -246,6 +248,79 @@ namespace PlayerTags.Configuration
|
||||
ImGui.EndTabItem();
|
||||
}
|
||||
|
||||
if (ImGui.BeginTabItem(Strings.Loc_Static_StatusIconPrioList))
|
||||
{
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
|
||||
var isPriorizerEnabled = m_PluginConfiguration.StatusIconPriorizerSettings.UsePriorizedIcons;
|
||||
DrawCheckbox(nameof(StatusIconPriorizerSettings.UsePriorizedIcons), true, ref isPriorizerEnabled, () =>
|
||||
{
|
||||
m_PluginConfiguration.StatusIconPriorizerSettings.UsePriorizedIcons = isPriorizerEnabled;
|
||||
SaveSettings();
|
||||
});
|
||||
|
||||
if (isPriorizerEnabled)
|
||||
{
|
||||
var statusIcons = Enum.GetValues<StatusIcons>();
|
||||
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
|
||||
if (ImGui.Button(Strings.Loc_StatusIconPriorizer_ResetToDefault))
|
||||
{
|
||||
m_PluginConfiguration.StatusIconPriorizerSettings.ResetToDefault();
|
||||
SaveSettings();
|
||||
}
|
||||
else if (ImGui.IsItemHovered())
|
||||
ImGui.SetTooltip(Strings.Loc_StatusIconPriorizer_ResetToDefault_Description);
|
||||
|
||||
ImGui.SameLine();
|
||||
|
||||
if (ImGui.Button(Strings.Loc_StatusIconPriorizer_ResetToEmpty))
|
||||
{
|
||||
m_PluginConfiguration.StatusIconPriorizerSettings.ResetToEmpty();
|
||||
SaveSettings();
|
||||
}
|
||||
else if (ImGui.IsItemHovered())
|
||||
ImGui.SetTooltip(Strings.Loc_StatusIconPriorizer_ResetToEmpty_Description);
|
||||
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
|
||||
foreach (var conditionSetName in Enum.GetValues<StatusIconPriorizerConditionSets>())
|
||||
{
|
||||
if (ImGui.CollapsingHeader(Localizer.GetString(conditionSetName, false)))
|
||||
{
|
||||
var conditionSet = m_PluginConfiguration.StatusIconPriorizerSettings.GetConditionSet(conditionSetName);
|
||||
|
||||
if (ImGui.IsItemHovered())
|
||||
ImGui.SetTooltip(Localizer.GetString(conditionSetName, true));
|
||||
|
||||
foreach (var statusIcon in statusIcons)
|
||||
{
|
||||
var isChecked = conditionSet.Contains(statusIcon);
|
||||
DrawCheckbox(Localizer.GetName(statusIcon), true, ref isChecked, () =>
|
||||
{
|
||||
if (isChecked)
|
||||
{
|
||||
if (!conditionSet.Contains(statusIcon))
|
||||
conditionSet.Add(statusIcon);
|
||||
}
|
||||
else if (conditionSet.Contains(statusIcon))
|
||||
conditionSet.Remove(statusIcon);
|
||||
SaveSettings();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
ImGui.Spacing();
|
||||
}
|
||||
}
|
||||
|
||||
ImGui.EndTabItem();
|
||||
}
|
||||
|
||||
ImGui.EndTabBar();
|
||||
}
|
||||
|
||||
|
||||
262
PlayerTags/Resources/Strings.Designer.cs
generated
262
PlayerTags/Resources/Strings.Designer.cs
generated
@@ -1491,6 +1491,15 @@ namespace PlayerTags.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Status Icon Priorizer ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_Static_StatusIconPrioList {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_Static_StatusIconPrioList", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Tagged Players ähnelt.
|
||||
/// </summary>
|
||||
@@ -1518,6 +1527,240 @@ namespace PlayerTags.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Reset to default ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizer_ResetToDefault {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizer_ResetToDefault", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Resets all condition sets to the default settings ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizer_ResetToDefault_Description {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizer_ResetToDefault_Description", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Reset to empty ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizer_ResetToEmpty {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizer_ResetToEmpty", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Clears all condition sets to an empty collection. None status icons will be priorized. ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizer_ResetToEmpty_Description {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizer_ResetToEmpty_Description", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die In Duty ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizerConditionSets_InDuty {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizerConditionSets_InDuty", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Status icons that should get priorized within duties. ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizerConditionSets_InDuty_Description {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizerConditionSets_InDuty_Description", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die In Foray ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizerConditionSets_InForay {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizerConditionSets_InForay", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Status icons that should get priorized within foraies. ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizerConditionSets_InForay_Description {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizerConditionSets_InForay_Description", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Overworld ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizerConditionSets_Overworld {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizerConditionSets_Overworld", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Status icons that should get priorized at overworld. ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIconPriorizerConditionSets_Overworld_Description {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIconPriorizerConditionSets_Overworld_Description", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Busy ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_Busy {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_Busy", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Disconnecting ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_Disconnecting {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_Disconnecting", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Duty Finder ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_DutyFinder {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_DutyFinder", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Group Pose ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_GroupPose {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_GroupPose", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Idle ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_Idle {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_Idle", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die In Duty ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_InDuty {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_InDuty", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Mentor ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_Mentor {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_Mentor", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Mentor Crafting ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_MentorCrafting {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_MentorCrafting", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Mentor PvE ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_MentorPvE {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_MentorPvE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Mentor PvP ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_MentorPvP {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_MentorPvP", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die New Adventurer ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_NewAdventurer {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_NewAdventurer", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Party Leader ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_PartyLeader {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_PartyLeader", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Party Member ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_PartyMember {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_PartyMember", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Returner ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_Returner {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_Returner", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Role Playing ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_RolePlaying {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_RolePlaying", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Viewing Cutscene ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_StatusIcons_ViewingCutscene {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_StatusIcons_ViewingCutscene", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die After ähnelt.
|
||||
/// </summary>
|
||||
@@ -1706,5 +1949,24 @@ namespace PlayerTags.Resources {
|
||||
return ResourceManager.GetString("Loc_TextGlowColor_Description", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die Use priorized icons ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_UsePriorizedIcons {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_UsePriorizedIcons", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Zeichenfolge, die This option checked will force a set of status icons to be priorized over job icons, if you enabled job icons.
|
||||
///When disabled, only the disconnected status icon is priorized. ähnelt.
|
||||
/// </summary>
|
||||
public static string Loc_UsePriorizedIcons_Description {
|
||||
get {
|
||||
return ResourceManager.GetString("Loc_UsePriorizedIcons_Description", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -666,4 +666,92 @@
|
||||
<data name="Loc_TargetChatTypes_Description" xml:space="preserve">
|
||||
<value>Defines for which chat type the chat features of this tag should be enabled for.</value>
|
||||
</data>
|
||||
<data name="Loc_Static_StatusIconPrioList" xml:space="preserve">
|
||||
<value>Status Icon Priorizer</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizerConditionSets_InDuty" xml:space="preserve">
|
||||
<value>In Duty</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizerConditionSets_InDuty_Description" xml:space="preserve">
|
||||
<value>Status icons that should get priorized within duties.</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizerConditionSets_InForay" xml:space="preserve">
|
||||
<value>In Foray</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizerConditionSets_InForay_Description" xml:space="preserve">
|
||||
<value>Status icons that should get priorized within foraies.</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizerConditionSets_Overworld" xml:space="preserve">
|
||||
<value>Overworld</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizerConditionSets_Overworld_Description" xml:space="preserve">
|
||||
<value>Status icons that should get priorized at overworld.</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizer_ResetToDefault" xml:space="preserve">
|
||||
<value>Reset to default</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizer_ResetToDefault_Description" xml:space="preserve">
|
||||
<value>Resets all condition sets to the default settings</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizer_ResetToEmpty" xml:space="preserve">
|
||||
<value>Reset to empty</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIconPriorizer_ResetToEmpty_Description" xml:space="preserve">
|
||||
<value>Clears all condition sets to an empty collection. None status icons will be priorized.</value>
|
||||
</data>
|
||||
<data name="Loc_UsePriorizedIcons" xml:space="preserve">
|
||||
<value>Use priorized icons</value>
|
||||
</data>
|
||||
<data name="Loc_UsePriorizedIcons_Description" xml:space="preserve">
|
||||
<value>This option checked will force a set of status icons to be priorized over job icons, if you enabled job icons.
|
||||
When disabled, only the disconnected status icon is priorized.</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_Busy" xml:space="preserve">
|
||||
<value>Busy</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_Disconnecting" xml:space="preserve">
|
||||
<value>Disconnecting</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_DutyFinder" xml:space="preserve">
|
||||
<value>Duty Finder</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_GroupPose" xml:space="preserve">
|
||||
<value>Group Pose</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_Idle" xml:space="preserve">
|
||||
<value>Idle</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_InDuty" xml:space="preserve">
|
||||
<value>In Duty</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_Mentor" xml:space="preserve">
|
||||
<value>Mentor</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_MentorCrafting" xml:space="preserve">
|
||||
<value>Mentor Crafting</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_MentorPvE" xml:space="preserve">
|
||||
<value>Mentor PvE</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_MentorPvP" xml:space="preserve">
|
||||
<value>Mentor PvP</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_NewAdventurer" xml:space="preserve">
|
||||
<value>New Adventurer</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_PartyLeader" xml:space="preserve">
|
||||
<value>Party Leader</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_PartyMember" xml:space="preserve">
|
||||
<value>Party Member</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_Returner" xml:space="preserve">
|
||||
<value>Returner</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_RolePlaying" xml:space="preserve">
|
||||
<value>Role Playing</value>
|
||||
</data>
|
||||
<data name="Loc_StatusIcons_ViewingCutscene" xml:space="preserve">
|
||||
<value>Viewing Cutscene</value>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user