Fix color corruption on Allied Society tab v4.8
authorLiza Carvelli <liza@carvel.li>
Mon, 16 Dec 2024 17:26:30 +0000 (18:26 +0100)
committerLiza Carvelli <liza@carvel.li>
Mon, 16 Dec 2024 17:27:08 +0000 (18:27 +0100)
Directory.Build.targets
Questionable/Windows/JournalComponents/AlliedSocietyJournalComponent.cs

index 58f58a736064463222406ce788d744712727d3de..6759af62cbb905cce22f532bb5a10b0aa8a3de88 100644 (file)
@@ -1,5 +1,5 @@
 <Project>
     <PropertyGroup>
-        <Version>4.7</Version>
+        <Version>4.8</Version>
     </PropertyGroup>
 </Project>
index 92cc96b7d461dbe7bad4b9e514ecbc29bd89c5e2..c7e506029336e4cc0d18858cda35325ecc04750f 100644 (file)
@@ -57,16 +57,28 @@ internal sealed class AlliedSocietyJournalComponent
             if (quests.Count == 0)
                 continue;
 
-            bool containsNewQuests = quests.Any(x => !_questFunctions.IsQuestComplete(x.QuestId));
-            if (containsNewQuests)
-                ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudYellow);
+            string label = $"{alliedSociety}###AlliedSociety{(int)alliedSociety}";
+#if DEBUG
+            bool isOpen;
+            if (quests.Any(x => !_questRegistry.IsKnownQuest(x.QuestId)))
+            {
+                using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange))
+                    isOpen = ImGui.CollapsingHeader(label);
+            }
+            else if (quests.Any(x => !_questFunctions.IsQuestComplete(x.QuestId)))
+            {
+                using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow))
+                    isOpen = ImGui.CollapsingHeader(label);
+            }
+            else
+                isOpen = ImGui.CollapsingHeader(label);
+#else
+            bool isOpen = ImGui.CollapsingHeader(label);
+#endif
 
-            if (!ImGui.CollapsingHeader($"{alliedSociety}###AlliedSociety{(int)alliedSociety}"))
+            if (!isOpen)
                 continue;
 
-            if (containsNewQuests)
-                ImGui.PopStyleColor();
-
             if (alliedSociety <= EAlliedSociety.Ixal)
             {
                 for (byte i = 1; i <= 8; ++i)