Quantcast

- Config: fix Addon Compartment

urnati [03-14-26 - 01:56]
- Config: fix Addon Compartment
- Gold: Update button on show/hide and add server to name
Filename
Titan/TitanConfig.lua
TitanGold/TitanGold.lua
diff --git a/Titan/TitanConfig.lua b/Titan/TitanConfig.lua
index 0746d08..370a5e2 100644
--- a/Titan/TitanConfig.lua
+++ b/Titan/TitanConfig.lua
@@ -3750,5 +3750,5 @@ function Titan_Config.OpenConfig(reason)
 	Titan_Debug.Out('titan', 'config_flow', "Open : " .. reason)

 	TitanUpdateConfig("init")
-	AceConfigDialog:Open("Titan")
+	AceConfigDialog:Open(config_parent)
 end
diff --git a/TitanGold/TitanGold.lua b/TitanGold/TitanGold.lua
index 62a8049..16b1a7a 100644
--- a/TitanGold/TitanGold.lua
+++ b/TitanGold/TitanGold.lua
@@ -790,26 +790,42 @@ end
 ---@param faction string
 ---@param level table Menu description to attach to
 local function ShowMenuButtons(faction, level)
+	-- create the list and sort by alpha with server
+	local list_alpha = {}
 	for index, money in pairs(TitanSettings.Players) do
 		local char = EvalIndexInfo(index)
 		if char.valid and char.faction == faction then
-			Titan_Menu.AddSelectorGeneric(level, char.char_name,
-				function(data)
-					local toon_info = TitanSettings.Players[data.c_name].Info ---@class CharInfo
-					local toon_gold = toon_info[TITAN_GOLD_ID] ---@class GoldData
-					return toon_gold.show
-				end,
-				function(data)
-					local toon_info = TitanSettings.Players[index].Info ---@class CharInfo
-					local toon_gold = toon_info[TITAN_GOLD_ID] ---@class GoldData
-					toon_gold.show = not toon_gold.show
-				end,
-				{ c_name = index }
-			)
+			table.insert(list_alpha, index);
 		else
 			-- ignore custom profiles or toons not logged into yet
 		end
 	end
+	table.sort(list_alpha, function(key1, key2)
+--		return key1.char_name < key2.char_name
+		return key1 < key2
+	end)
+
+	for i = 1, #list_alpha do
+		local toon = list_alpha[i]
+		--character = toon.char_name
+		--charserver = toon.server
+		--char_faction = toon.faction
+
+		Titan_Menu.AddSelectorGeneric(level, toon,
+			function(data)
+				local toon_info = TitanSettings.Players[data.c_name].Info ---@class CharInfo
+				local toon_gold = toon_info[TITAN_GOLD_ID] ---@class GoldData
+				return toon_gold.show
+			end,
+			function(data)
+				local toon_info = TitanSettings.Players[data.c_name].Info ---@class CharInfo
+				local toon_gold = toon_info[TITAN_GOLD_ID] ---@class GoldData
+				toon_gold.show = not toon_gold.show
+				TitanPanelButton_UpdateButton(TITAN_GOLD_ID);
+			end,
+			{ c_name = toon }
+		)
+	end
 end

 local function GeneratorFunction(owner, rootDescription)
@@ -879,8 +895,8 @@ local function GeneratorFunction(owner, rootDescription)
 	end
 	Titan_Menu.AddDivider(root)

-	local opts_show = Titan_Menu.AddButton(root, L["TITAN_GOLD_SHOW_PLAYER"]
-		.." : "..L["TITAN_GOLD_FACTION_PLAYER_ALLY"])
+	local opts_show = Titan_Menu.AddButton(root, L["TITAN_GOLD_SHOW_PLAYER"])
+--		.." : "..L["TITAN_GOLD_FACTION_PLAYER_ALLY"])
 	do
 	local opts_alliance = Titan_Menu.AddButton(opts_show, L["TITAN_GOLD_FACTION_PLAYER_ALLY"])
 		ShowMenuButtons(TITAN_ALLIANCE, opts_alliance)