Quantcast

- Updated TOC for 9.2.7

urnati [08-19-22 - 02:31]
- Updated TOC for 9.2.7
- Fix for someone using Bartender and only bottom bar (Turn off bottom bar adjust)
- Gold fix for non-English language
- Gold - tweaked menu a bit to make it hopefuilly more readable / usable
- New feature with caveats! Allow tooltips to show only when using a control key; Use Config > Tooltips and Frames > Use Tooltip Modifer; Currently works only if control key is pressed BEFORE mousing over Titan plugin; Control key control / alt / shift - treated as OR (can select all 3 and any will work)
Filename
Titan/LDBToTitan.lua
Titan/Titan.toc
Titan/TitanConfig.lua
Titan/TitanMovable.lua
Titan/TitanPanelTemplate.lua
Titan/TitanVariables.lua
Titan/locale/Localization.lua
TitanBag/TitanBag.toc
TitanClock/TitanClock.toc
TitanGold/TitanGold.lua
TitanGold/TitanGold.toc
TitanLocation/TitanLocation.toc
TitanLootType/TitanLootType.toc
TitanPerformance/TitanPerformance.toc
TitanRepair/TitanRepair.toc
TitanVolume/TitanVolume.toc
TitanXP/TitanXP.toc
diff --git a/Titan/LDBToTitan.lua b/Titan/LDBToTitan.lua
index 52dab47..a6d98cb 100644
--- a/Titan/LDBToTitan.lua
+++ b/Titan/LDBToTitan.lua
@@ -102,6 +102,26 @@ local iconTitanDefault = "Interface\\PVPFrame\\\PVP-ArenaPoints-Icon";
 LDBToTitan:RegisterEvent("PLAYER_LOGIN")
 LDBToTitan:RegisterEvent("PLAYER_ENTERING_WORLD")

+local function If_Show_Tooltip()
+				local use_mod = TitanAllGetVar("UseTooltipModifer")
+				local use_alt = TitanAllGetVar("TooltipModiferAlt")
+				local use_ctrl = TitanAllGetVar("TooltipModiferCtrl")
+				local use_shift = TitanAllGetVar("TooltipModiferShift")
+				local ok = false
+				local tmp_txt = ""
+				if use_mod then
+					if (use_alt and IsAltKeyDown())
+					or (use_ctrl and IsControlKeyDown())
+					or (use_shift and IsShiftKeyDown())
+					then
+						ok = true
+					end
+				else
+					ok = true
+				end
+	return ok
+end
+
 --[[ Titan
 NAME: LDBToTitan:TitanLDBSetOwnerPosition
 DESC: Properly anchor tooltips of the Titan (LDB) plugin
@@ -179,7 +199,7 @@ function LDBToTitan:TitanLDBSetTooltip(name, frame, func)
 	else
 	end

-	if func then func(frame) end; -- TODO: use pcall??
+	if func and If_Show_Tooltip() then func(frame) end; -- TODO: use pcall??
 	frame:Show();
 end

@@ -245,7 +265,7 @@ function LDBToTitan:TitanLDBHandleScripts(event, name, _, func, obj)
 			if TITAN_PANEL_MOVING == 0 and func then
 				LDBToTitan:TitanLDBSetTooltip(NAME_PREFIX..name, GameTooltip, func);
 			end
-				TitanPanelButton_OnEnter(self);
+			TitanPanelButton_OnEnter(self);
 			end
 			)
 		TitanPluginframe:SetScript("OnLeave", function(self)
@@ -320,9 +340,10 @@ function LDBToTitan:TitanLDBHandleScripts(event, name, _, func, obj)
 				TitanTooltipOrigScale = GameTooltip:GetScale();
 			end
 			-- call OnEnter on LDB Object
-			if TITAN_PANEL_MOVING == 0 and func then
+			if TITAN_PANEL_MOVING == 0 and func and If_Show_Tooltip() then
 				func(self)
 			end
+
 			TitanPanelButton_OnEnter(self);
 			-- LibQTip-1.0 support code
 			if LibQTip then
diff --git a/Titan/Titan.toc b/Titan/Titan.toc
index ecb0d0e..74a953e 100644
--- a/Titan/Titan.toc
+++ b/Titan/Titan.toc
@@ -1,7 +1,7 @@
-## Interface: 90205
-## Title: Titan Panel |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel |cff00aa005.23.6.90207|r
 ## Author: Titan Panel Development Team
-## Version: 5.23.5.90205
+## Version: 5.23.6.90207
 ## SavedVariables: TitanAll, TitanSettings, TitanSkins, ServerTimeOffsets, ServerHourFormat
 ## OptionalDeps: Ace3, AceGUI-3.0-SharedMediaWidgets, LibSharedMedia-3.0, LibQTip-1.0, !LibUIDropDownMenu
 ## Notes: Adds a display bar on the top and/or bottom of the screen. Allows users to show and control information/launcher plugins.
diff --git a/Titan/TitanConfig.lua b/Titan/TitanConfig.lua
index 5fa4bad..9d00b8f 100644
--- a/Titan/TitanConfig.lua
+++ b/Titan/TitanConfig.lua
@@ -967,10 +967,66 @@ local optionsFrames = {
 		optiontooltipcombat = {
 			name = L["TITAN_PANEL_MENU_TOOLTIPS_SHOWN_IN_COMBAT"],
 --			desc = L["TITAN_PANEL_MENU_TOOLTIPS_SHOWN_IN_COMBAT"],
-			order = 201, type = "toggle", width = "full",
+			order = 210, type = "toggle", width = "full",
 			get = function() return TitanPanelGetVar("HideTipsInCombat") end,
 			set = function() TitanPanelToggleVar("HideTipsInCombat"); end,
 		},
+		conftooltipdesc = {
+			name = "Tooltip Modifier",
+			type = "group", inline = true,
+			order = 220,
+			args = {
+				confdesc = {
+					order = 110,
+					type = "description",
+					name = "",
+					cmdHidden = true,
+					},
+				advname = {
+					name = "Use Modifier to Show Tooltip", --L["TITAN_PANEL_MENU_ADV_PEW"],
+					desc = "", -- L["TITAN_PANEL_MENU_ADV_PEW_DESC"],
+					order = 120, type = "toggle", width = "full",
+					get = function() return TitanAllGetVar("UseTooltipModifer") end,
+					set = function(_, a)
+						TitanAllSetVar("UseTooltipModifer", a);
+					end,
+				},
+				tooltipmod = {
+					name = "",
+					type = "group", inline = true,
+					order = 140,
+					args = {
+						alt_key = {
+							name = ALT_KEY_TEXT,
+							desc = ALT_KEY,
+							order = 110, type = "toggle", --width = "full",
+							get = function() return TitanAllGetVar("TooltipModiferAlt") end,
+							set = function(_, a)
+								TitanAllSetVar("TooltipModiferAlt", a);
+							end,
+						},
+						ctrl_key = {
+							name = CTRL_KEY_TEXT,
+							desc = CTRL_KEY,
+							order = 120, type = "toggle", --width = "full",
+							get = function() return TitanAllGetVar("TooltipModiferCtrl") end,
+							set = function(_, a)
+								TitanAllSetVar("TooltipModiferCtrl", a);
+							end,
+						},
+						shift_key = {
+							name = SHIFT_KEY_TEXT,
+							desc = SHIFT_KEY,
+							order = 130, type = "toggle", --width = "full",
+							get = function() return TitanAllGetVar("TooltipModiferShift") end,
+							set = function(_, a)
+								TitanAllSetVar("TooltipModiferShift", a);
+							end,
+						},
+					},
+				},
+			},
+		},
 		confdesc = {
 			order = 300,
 			type = "header",
diff --git a/Titan/TitanMovable.lua b/Titan/TitanMovable.lua
index 725b81b..3968b30 100755
--- a/Titan/TitanMovable.lua
+++ b/Titan/TitanMovable.lua
@@ -926,11 +926,15 @@ function Titan_Hook_Frames() -- UIParent_ManageFramePositions hook
 	Code from ActionBarController.lua ActionBarController_UpdateAll modified for Titan
 	This hook relies on _UpdateAll calling UIParent_ManageFramePositions near the end of its processing
 	--]]
-	-- If we have a skinned vehicle bar or skinned override bar, display the OverrideActionBar
+	-- If we have a skinned vehicle bar
+	--	or skinned override bar then likely the OverrideActionBar is active
+	-- If user does not want bottom bar adjust do not hide the bottom bar for vehicles.
+	-- When a user is using an action bar replacement (Bartender or ElvUI), hiding the bottom bar may not make sense.
 	if ((HasVehicleActionBar() and UnitVehicleSkin("player") and UnitVehicleSkin("player") ~= "")
-	or (HasOverrideActionBar() and GetOverrideBarSkin() and GetOverrideBarSkin() ~= 0)) then
+	or (HasOverrideActionBar() and GetOverrideBarSkin() and GetOverrideBarSkin() ~= 0))
+	or (TitanPanelGetVar("AuxScreenAdjust") == 1)
+	then -- Override bar in place; hide Titan bottom bar(s)
 		reason = reason.."skinned override bar"
-		-- Override bar in place; hide Titan bottom bar(s)
 		TitanPanelBarButton_HideBottomBars()

 		-- Blizzard could have updated player frame or other
diff --git a/Titan/TitanPanelTemplate.lua b/Titan/TitanPanelTemplate.lua
index cc80599..b83ecfd 100644
--- a/Titan/TitanPanelTemplate.lua
+++ b/Titan/TitanPanelTemplate.lua
@@ -210,29 +210,47 @@ VAR: self - frame reference of the plugin
 VAR: id - string name of the plugin
 --]]
 local function TitanPanelButton_SetTooltip(self, id)
-	local call_success = nil
-	local tmp_txt = ""
 	-- ensure that the 'self' passed is a valid frame reference
 	if not self:GetName() then return end

+	local call_success = nil
+	local tmp_txt = ""
+	local use_mod = TitanAllGetVar("UseTooltipModifer")
+	local use_alt = TitanAllGetVar("TooltipModiferAlt")
+	local use_ctrl = TitanAllGetVar("TooltipModiferCtrl")
+	local use_shift = TitanAllGetVar("TooltipModiferShift")
+	local ok = false
+
+	if use_mod then
+		if (use_alt and IsAltKeyDown())
+		or (use_ctrl and IsControlKeyDown())
+		or (use_shift and IsShiftKeyDown())
+		then
+			ok = true
+		end
+	else
+		ok = true
+	end
+
 	self.tooltipCustomFunction = nil;
-	if (id and TitanUtils_IsPluginRegistered(id)) then
+	if ok and (id and TitanUtils_IsPluginRegistered(id)) then
 		local plugin = TitanUtils_GetPlugin(id);
 		if ( plugin.tooltipCustomFunction ) then
 			self.tooltipCustomFunction = plugin.tooltipCustomFunction;
 			TitanTooltip_SetPanelTooltip(self, id);
 		elseif ( plugin.tooltipTitle ) then
-			self.tooltipTitle = plugin.tooltipTitle;
 			local tooltipTextFunc = _G[plugin.tooltipTextFunction];
 			if ( tooltipTextFunc ) then
-				local tmp_txt = ""

-				call_success, -- for pcall
-					tmp_txt = pcall (tooltipTextFunc);
-				self.tooltipText = tmp_txt
---				self.tooltipText = tooltipTextFunc();
+				if ok then  -- display the tooltip
+					self.tooltipTitle = plugin.tooltipTitle;
+					call_success, -- for pcall
+						tmp_txt = pcall (tooltipTextFunc);
+					self.tooltipText = tmp_txt
+	--				self.tooltipText = tooltipTextFunc();
+					TitanTooltip_SetPanelTooltip(self, id);
+				end
 			end
-			TitanTooltip_SetPanelTooltip(self, id);
 		end
 	end
 end
@@ -570,6 +588,23 @@ function TitanPanelDetectPluginMethod(id, isChildButton)
 			TitanPanelButton_OnDragStop(self);
 		end
 	end)
+--[[
+	-- Set the key down script - for modifiers
+	TitanPluginframe:SetScript("OnKeyDown", function(self)
+		if IsModifierKeyDown() then
+			TitanPanelButton_SetTooltip(self, id)
+		end
+	end)
+
+	-- Set the key up script - for modifiers
+	TitanPluginframe:SetScript("OnKeyUp", function(self)
+		if IsModifierKeyDown() then
+			-- ? do nothing
+		else
+			GameTooltip:Hide()
+		end
+	end)
+--]]
 end

 --[[ API
diff --git a/Titan/TitanVariables.lua b/Titan/TitanVariables.lua
index 909a79d..d1f1040 100644
--- a/Titan/TitanVariables.lua
+++ b/Titan/TitanVariables.lua
@@ -297,6 +297,10 @@ TITAN_ALL_SAVED_VARIABLES = {
 	Registered = false, -- for debug
 	-- OrderHallCommandBar Status
 	OrderHall = true,
+	UseTooltipModifer = false,
+	TooltipModiferAlt = false,
+	TooltipModiferCtrl = false,
+	TooltipModiferShift = false,
 };

 -- The skins released with Titan
diff --git a/Titan/locale/Localization.lua b/Titan/locale/Localization.lua
index 5b97413..95e52ae 100644
--- a/Titan/locale/Localization.lua
+++ b/Titan/locale/Localization.lua
@@ -529,7 +529,7 @@ L["TITAN_GOLD_COIN_ICONS"] = "Show Icon Labels";
 L["TITAN_GOLD_ONLY"] = "Show Gold Only";
 L["TITAN_GOLD_COLORS"] = "Show Gold Colors";
 L["TITAN_GOLD_MERGE"] = "Merge Servers";
-L["TITAN_GOLD_SEPARATE"] = "Separate Servers";
+L["TITAN_GOLD_SEPARATE"] = "This Server";
 L["TITAN_GOLD_ALL"] = "All Servers";
 L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
 L["TITAN_GOLD_MERGED"] = "Merged"
diff --git a/TitanBag/TitanBag.toc b/TitanBag/TitanBag.toc
index 968e4e1..aefc44d 100644
--- a/TitanBag/TitanBag.toc
+++ b/TitanBag/TitanBag.toc
@@ -1,10 +1,10 @@
-## Interface: 90205
-## Title: Titan Panel [|cffeda55fBag|r] |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel [|cffeda55fBag|r] |cff00aa005.23.6.90207|r
 ## Notes: Adds bag and free slot information to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.5.90205
+## Version: 5.23.6.90207
 ## X-Child-Of: Titan
 TitanBag.xml
diff --git a/TitanClock/TitanClock.toc b/TitanClock/TitanClock.toc
index 8a8a483..3868162 100644
--- a/TitanClock/TitanClock.toc
+++ b/TitanClock/TitanClock.toc
@@ -1,10 +1,10 @@
-## Interface: 90205
-## Title: Titan Panel [|cffeda55fClock|r] |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel [|cffeda55fClock|r] |cff00aa005.23.6.90207|r
 ## Notes: Adds a clock to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.5.90205
+## Version: 5.23.6.90207
 ## X-Child-Of: Titan
 TitanClock.xml
diff --git a/TitanGold/TitanGold.lua b/TitanGold/TitanGold.lua
index 72bf47b..41d2a30 100644
--- a/TitanGold/TitanGold.lua
+++ b/TitanGold/TitanGold.lua
@@ -202,6 +202,7 @@ function TitanPanelGoldButton_OnLoad(self)
 			IgnoreFaction = false,
 			GroupByRealm = false,
 			gold = { total = "112233", neg = false },
+			ShowSessionInfo = true
 		}
 	};

@@ -211,6 +212,8 @@ function TitanPanelGoldButton_OnLoad(self)
 	if (not GoldSave) then
 		GoldSave={};
 	end
+
+	-- Faction is English to use as index NOT display
 	GOLD_INDEX = UnitName("player").."_"..realmName.."::"..UnitFactionGroup("Player");
 end

@@ -261,11 +264,8 @@ function TitanGold_OnEvent(self, event, ...)
 	end
 end

-local function ToonInfo(info)
-	-- Take apart the created key <char>_<server name>::<faction>
-	local character, charserver, char_faction = string.match(info, '(.*)_(.*)::(.*)');
-
-	return character, charserver, char_faction
+local function GetToonInfo(info)
+	return info.name, info.realm, info.faction
 end

 --[[
@@ -279,7 +279,7 @@ function TitanPanelGoldButton_GetTooltipText()
 	local currentMoneyRichText = "";
 	local final_text = ""
 	local countelements = 0;
-	local faction = UnitFactionGroup("Player")
+	local _, faction = UnitFactionGroup("Player") -- get localized faction
 	local ignore_faction = TitanGetVar(TITAN_GOLD_ID, "IgnoreFaction")

 	for _ in pairs (realmNames) do
@@ -301,7 +301,7 @@ function TitanPanelGoldButton_GetTooltipText()
 			or TitanGetVar(TITAN_GOLD_ID, "ShowCoinIcons"))

 		for index, money in pairs(GoldSave) do
-			character, charserver, char_faction = ToonInfo(index)
+			character, charserver, char_faction = GetToonInfo(GoldSave[index])
 			if (character) then
 				if (charserver == realmName) then
 					if ignore_faction or (char_faction == faction) then
@@ -325,7 +325,7 @@ function TitanPanelGoldButton_GetTooltipText()
 				or TitanGetVar(TITAN_GOLD_ID, "ShowCoinIcons"))

 			for index, money in pairs(GoldSave) do
-				character, charserver, char_faction = ToonInfo(index)
+				character, charserver, char_faction = GetToonInfo(GoldSave[index])
 				-- GetAutoCompleteRealms removes spaces, idk why...
 				if (charserver) then
 					charserver = string.gsub(charserver, "%s", "");
@@ -354,7 +354,7 @@ function TitanPanelGoldButton_GetTooltipText()


 		for index, money in pairs(GoldSave) do
-			character, charserver, char_faction = ToonInfo(index)
+			character, charserver, char_faction = GetToonInfo(GoldSave[index])
 			if (character) then
 				if ignore_faction or (char_faction == faction) then
 					if GoldSave[index].show then
@@ -400,7 +400,7 @@ function TitanPanelGoldButton_GetTooltipText()
 	local show_realm = true
 	local character, charserver, char_faction
 	for i = 1, getn(GoldSaveSorted) do
-		character, charserver, char_faction = ToonInfo(GoldSaveSorted[i])
+		character, charserver, char_faction = GetToonInfo(GoldSave[GoldSaveSorted[i]])
 		coin_str = NiceCash(GoldSave[GoldSaveSorted[i]].gold, false, false)
 		show_dash = false
 		show_realm = true
@@ -476,30 +476,36 @@ print("TG"
 	local perhour = math.floor(sesstotal / sesslength * 3600);

 	coin_str = NiceCash(GOLD_STARTINGGOLD, false, false)
-	local sessionMoneyRichText = "\n\n"..TitanUtils_GetHighlightText(L["TITAN_GOLD_STATS_TITLE"])
-		.."\n"..L["TITAN_GOLD_START_GOLD"].."\t"..coin_str.."\n"
-
-	if (negative) then
-		GOLD_COLOR = TITAN_GOLD_RED;
-		GOLD_SESS_STATUS = L["TITAN_GOLD_SESS_LOST"];
-		GOLD_PERHOUR_STATUS = L["TITAN_GOLD_PERHOUR_LOST"];
-	else
-		GOLD_COLOR = TITAN_GOLD_GREEN;
-		GOLD_SESS_STATUS = L["TITAN_GOLD_SESS_EARNED"];
-		GOLD_PERHOUR_STATUS = L["TITAN_GOLD_PERHOUR_EARNED"];
-	end
-
-	coin_str = NiceCash(sesstotal, true, true)
---		..TitanUtils_GetColoredText(GOLD_SESS_STATUS,GOLD_COLOR)
-	sessionMoneyRichText = sessionMoneyRichText
-		..TitanUtils_GetColoredText(GOLD_SESS_STATUS,GOLD_COLOR)
-		.."\t"..coin_str.."\n";
+
+	local sessionMoneyRichText = ""
+	if TitanGetVar(TITAN_GOLD_ID, "ShowSessionInfo") then
+		sessionMoneyRichText = "\n\n"..TitanUtils_GetHighlightText(L["TITAN_GOLD_STATS_TITLE"])
+			.."\n"..L["TITAN_GOLD_START_GOLD"].."\t"..coin_str.."\n"
+
+		if (negative) then
+			GOLD_COLOR = TITAN_GOLD_RED;
+			GOLD_SESS_STATUS = L["TITAN_GOLD_SESS_LOST"];
+			GOLD_PERHOUR_STATUS = L["TITAN_GOLD_PERHOUR_LOST"];
+		else
+			GOLD_COLOR = TITAN_GOLD_GREEN;
+			GOLD_SESS_STATUS = L["TITAN_GOLD_SESS_EARNED"];
+			GOLD_PERHOUR_STATUS = L["TITAN_GOLD_PERHOUR_EARNED"];
+		end

-	if TitanGetVar(TITAN_GOLD_ID, "DisplayGoldPerHour") then
-		coin_str = NiceCash(perhour, true, true)
+		coin_str = NiceCash(sesstotal, true, true)
+	--		..TitanUtils_GetColoredText(GOLD_SESS_STATUS,GOLD_COLOR)
 		sessionMoneyRichText = sessionMoneyRichText
-			..TitanUtils_GetColoredText(GOLD_PERHOUR_STATUS,GOLD_COLOR)
+			..TitanUtils_GetColoredText(GOLD_SESS_STATUS,GOLD_COLOR)
 			.."\t"..coin_str.."\n";
+
+		if TitanGetVar(TITAN_GOLD_ID, "DisplayGoldPerHour") then
+			coin_str = NiceCash(perhour, true, true)
+			sessionMoneyRichText = sessionMoneyRichText
+				..TitanUtils_GetColoredText(GOLD_PERHOUR_STATUS,GOLD_COLOR)
+				.."\t"..coin_str.."\n";
+		end
+	else
+		-- Do not display session info
 	end

 	local final_tooltip = TitanUtils_GetGoldText(L["TITAN_GOLD_TOOLTIPTEXT"].." : ")
@@ -596,7 +602,7 @@ function TitanPanelGoldButton_TotalGold()
 		GoldSave[GOLD_INDEX].gold = GetMoney("player")

 		for index, money in pairs(GoldSave) do
-			character, charserver, char_faction = ToonInfo(index)
+			character, charserver, char_faction = GetToonInfo(GoldSave[index])
 			if (character) and (charserver == realmName) then
 				if ignore_faction or (char_faction == faction) then
 					ttlgold = ToonAdd(GoldSave[index].show, GoldSave[index].gold, ttlgold)
@@ -613,7 +619,7 @@ function TitanPanelGoldButton_TotalGold()
 			GoldSave[GOLD_INDEX].gold = GetMoney("player")

 			for index, money in pairs(GoldSave) do
-				character, charserver, char_faction = ToonInfo(index)
+				character, charserver, char_faction = GetToonInfo(GoldSave[index])
 				-- GetAutoCompleteRealms removes spaces, idk why...
 				if (charserver) then
 					charserver = string.gsub(charserver, "%s", "");
@@ -635,7 +641,7 @@ function TitanPanelGoldButton_TotalGold()
 		GoldSave[GOLD_INDEX].gold = GetMoney("player")

 		for index, money in pairs(GoldSave) do
-			character, charserver, char_faction = ToonInfo(index)
+			character, charserver, char_faction = GetToonInfo(GoldSave[index])
 			if (character) then
 				if ignore_faction or (char_faction == faction) then
 					ttlgold = ToonAdd(GoldSave[index].show, GoldSave[index].gold, ttlgold)
@@ -757,6 +763,119 @@ local function Merger(chosen)
 	TitanPanelButton_UpdateButton(TITAN_GOLD_ID);
 end

+local function DisplayOptions()
+
+	-- Option to ignore faction - per 9.2.5 changes
+	local info = {};
+	info.text = L["TITAN_GOLD_IGNORE_FACTION"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "IgnoreFaction");
+	info.func = function()
+		TitanToggleVar(TITAN_GOLD_ID, "IgnoreFaction");
+		TitanPanelButton_UpdateButton(TITAN_GOLD_ID);
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	TitanPanelRightClickMenu_AddSeparator(TitanPanelRightClickMenu_GetDropdownLevel());
+
+	-- What lables to show next to money none / text / icon
+	local info = {};
+	info.text = L["TITAN_GOLD_COIN_NONE"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowCoinNone");
+	info.func = function()
+		ShowProperLabels("ShowCoinNone")
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	local info = {};
+	info.text = L["TITAN_GOLD_COIN_LABELS"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowCoinLabels");
+	info.func = function()
+		ShowProperLabels("ShowCoinLabels")
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	local info = {};
+	info.text = L["TITAN_GOLD_COIN_ICONS"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowCoinIcons");
+	info.func = function()
+		ShowProperLabels("ShowCoinIcons")
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	TitanPanelRightClickMenu_AddSeparator(TitanPanelRightClickMenu_GetDropdownLevel());
+
+	-- Use comma or period as separater on gold
+	local info = {};
+	info.text = L["TITAN_USE_COMMA"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "UseSeperatorComma");
+	info.func = function()
+		Seperator("UseSeperatorComma")
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	local info = {};
+	info.text = L["TITAN_USE_PERIOD"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "UseSeperatorPeriod");
+	info.func = function()
+		Seperator("UseSeperatorPeriod")
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	TitanPanelRightClickMenu_AddSeparator(TitanPanelRightClickMenu_GetDropdownLevel());
+
+	-- Which characters to show
+	--  - Separate : this server
+	--  - Merge : connected / merged servers
+	--  - All : any server
+	local info = {};
+	info.text = L["TITAN_GOLD_SEPARATE"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "SeparateServers");
+	info.func = function()
+		Merger("SeparateServers")
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	local info = {};
+	info.text = L["TITAN_GOLD_MERGE"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "MergeServers");
+	info.func = function()
+		Merger("MergeServers")
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	local info = {};
+	info.text = L["TITAN_GOLD_ALL"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "AllServers");
+	info.func = function()
+		Merger("AllServers")
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	TitanPanelRightClickMenu_AddSeparator(TitanPanelRightClickMenu_GetDropdownLevel());
+
+	-- Show gold only option - no silver, no copper
+	info = {};
+	info.text = L["TITAN_GOLD_ONLY"];
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowGoldOnly");
+	info.func = function()
+		TitanToggleVar(TITAN_GOLD_ID, "ShowGoldOnly");
+		TitanPanelButton_UpdateButton(TITAN_GOLD_ID);
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+	TitanPanelRightClickMenu_AddSeparator(TitanPanelRightClickMenu_GetDropdownLevel());
+
+	-- Show session info
+	info = {};
+	info.text = SHOW.." "..L["TITAN_GOLD_STATS_TITLE"]
+	info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowSessionInfo");
+	info.func = function()
+		TitanToggleVar(TITAN_GOLD_ID, "ShowSessionInfo");
+	end
+	TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+end
+
 --[[
 -- *******************************************************************************************
 -- NAME: TitanPanelRightClickMenu_PrepareGoldMenu
@@ -791,102 +910,12 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()

 		TitanPanelRightClickMenu_AddSeparator();

-		-- Option to ignore faction - per 9.2.5 changes
-		local info = {};
-		info.text = L["TITAN_GOLD_IGNORE_FACTION"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "IgnoreFaction");
-		info.func = function()
-			TitanToggleVar(TITAN_GOLD_ID, "IgnoreFaction");
-			TitanPanelButton_UpdateButton(TITAN_GOLD_ID);
-		end
-		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-
-		TitanPanelRightClickMenu_AddSeparator();
-
-		-- What lables to show next to money none / text / icon
-		local info = {};
-		info.text = L["TITAN_GOLD_COIN_NONE"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowCoinNone");
-		info.func = function()
-			ShowProperLabels("ShowCoinNone")
-		end
-		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-
-		local info = {};
-		info.text = L["TITAN_GOLD_COIN_LABELS"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowCoinLabels");
-		info.func = function()
-			ShowProperLabels("ShowCoinLabels")
-		end
-		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-
-		local info = {};
-		info.text = L["TITAN_GOLD_COIN_ICONS"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowCoinIcons");
-		info.func = function()
-			ShowProperLabels("ShowCoinIcons")
-		end
-		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-
-		TitanPanelRightClickMenu_AddSeparator();
-
-		-- Use comma or period as separater on gold
-		local info = {};
-		info.text = L["TITAN_USE_COMMA"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "UseSeperatorComma");
-		info.func = function()
-			Seperator("UseSeperatorComma")
-		end
-		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-
-		local info = {};
-		info.text = L["TITAN_USE_PERIOD"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "UseSeperatorPeriod");
-		info.func = function()
-			Seperator("UseSeperatorPeriod")
-		end
-		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-
-		TitanPanelRightClickMenu_AddSeparator();
-
-		-- Which characters to show
-		--  - Separate : this server
-		--  - Merge : connected / merged servers
-		--  - All : any server
-		local info = {};
-		info.text = L["TITAN_GOLD_MERGE"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "MergeServers");
-		info.func = function()
-			Merger("MergeServers")
-		end
-		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-
-		local info = {};
-		info.text = L["TITAN_GOLD_SEPARATE"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "SeparateServers");
-		info.func = function()
-			Merger("SeparateServers")
-		end
-		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-
-		local info = {};
-		info.text = L["TITAN_GOLD_ALL"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "AllServers");
-		info.func = function()
-			Merger("AllServers")
-		end
-		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-
-		TitanPanelRightClickMenu_AddSeparator();
-
-		-- Show gold only option - no silver, no copper
+		-- Display options
 		info = {};
-		info.text = L["TITAN_GOLD_ONLY"];
-		info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowGoldOnly");
-		info.func = function()
-			TitanToggleVar(TITAN_GOLD_ID, "ShowGoldOnly");
-			TitanPanelButton_UpdateButton(TITAN_GOLD_ID);
-		end
+		info.notCheckable = true
+		info.text = DISPLAY_OPTIONS
+		info.value = "Display_Options";
+		info.hasArrow = 1;
 		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());

 		TitanPanelRightClickMenu_AddSeparator();
@@ -982,6 +1011,9 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()
 			TitanToggleVar(TITAN_GOLD_ID, "GroupByRealm")
 		end
 		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+	elseif TitanPanelRightClickMenu_GetDropdownLevel() == 2
+		and TitanPanelRightClickMenu_GetDropdMenuValue() == "Display_Options" then
+		DisplayOptions()
 	end

 	-- Third (3rd) level for the list of characters / toons
@@ -1030,7 +1062,7 @@ function TitanPanelGoldButton_Initialize_Array(self)

 	-- Ensure the saved vars are usable
 	for index, money in pairs(GoldSave) do
-		local character, charserver = string.match(index, "(.*)_(.*)::")
+		local character, charserver, char_faction = string.match(index, '(.*)_(.*)::(.*)')

 		-- Could be a new toon to Gold or an updated Gold
 		local show_toon = GoldSave[index].show
@@ -1039,6 +1071,17 @@ function TitanPanelGoldButton_Initialize_Array(self)
 		end
 		GoldSave[index].show = show_toon
 		GoldSave[index].realm = charserver  -- added July 2022
+
+		-- added Aug 2022 for #1332.
+		-- Faction in index was not set for display in tool tip.
+		-- Created localized faction as a field
+		if char_faction == "Alliance" then
+			GoldSave[index].faction = FACTION_ALLIANCE
+		elseif char_faction == "Horde" then
+			GoldSave[index].faction = FACTION_HORDE
+		else
+			GoldSave[index].faction = FACTION_OTHER
+		end
 --[[
 		if character == UnitName("player") and charserver == realmName then
 			local rementry = character.."_"..charserver.."::"..UnitFactionGroup("Player");
diff --git a/TitanGold/TitanGold.toc b/TitanGold/TitanGold.toc
index ab188c8..fb5d6f2 100644
--- a/TitanGold/TitanGold.toc
+++ b/TitanGold/TitanGold.toc
@@ -1,10 +1,10 @@
-## Interface: 90205
-## Title: Titan Panel [|cffeda55fGold|r] |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel [|cffeda55fGold|r] |cff00aa005.23.6.90207|r
 ## Notes: Keeps track of all gold held by a player's toons on a per server/faction basis.
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables: GoldSave
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.5.90200
+## Version: 5.23.6.90200
 ## X-Child-Of: Titan
 TitanGold.xml
diff --git a/TitanLocation/TitanLocation.toc b/TitanLocation/TitanLocation.toc
index c386e1b..41c9c8a 100644
--- a/TitanLocation/TitanLocation.toc
+++ b/TitanLocation/TitanLocation.toc
@@ -1,10 +1,10 @@
-## Interface: 90205
-## Title: Titan Panel [|cffeda55fLocation|r] |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel [|cffeda55fLocation|r] |cff00aa005.23.6.90207|r
 ## Notes: Adds coordinates and location information to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.5.90200
+## Version: 5.23.6.90200
 ## X-Child-Of: Titan
 TitanLocation.xml
diff --git a/TitanLootType/TitanLootType.toc b/TitanLootType/TitanLootType.toc
index e8d3af2..836c78a 100644
--- a/TitanLootType/TitanLootType.toc
+++ b/TitanLootType/TitanLootType.toc
@@ -1,10 +1,10 @@
-## Interface: 90205
-## Title: Titan Panel [|cffeda55fLootType|r] |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel [|cffeda55fLootType|r] |cff00aa005.23.6.90207|r
 ## Notes: Adds group loot and instance difficulty information to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.5.90200
+## Version: 5.23.6.90200
 ## X-Child-Of: Titan
 TitanLootType.xml
diff --git a/TitanPerformance/TitanPerformance.toc b/TitanPerformance/TitanPerformance.toc
index 8925926..3fec859 100644
--- a/TitanPerformance/TitanPerformance.toc
+++ b/TitanPerformance/TitanPerformance.toc
@@ -1,10 +1,10 @@
-## Interface: 90205
-## Title: Titan Panel [|cffeda55fPerformance|r] |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel [|cffeda55fPerformance|r] |cff00aa005.23.6.90207|r
 ## Notes: Adds FPS and Garbage collection information to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.5.90200
+## Version: 5.23.6.90200
 ## X-Child-Of: Titan
 TitanPerformance.xml
diff --git a/TitanRepair/TitanRepair.toc b/TitanRepair/TitanRepair.toc
index a46ed30..c680767 100644
--- a/TitanRepair/TitanRepair.toc
+++ b/TitanRepair/TitanRepair.toc
@@ -1,10 +1,10 @@
-## Interface: 90205
-## Title: Titan Panel [|cffeda55fRepair|r] |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel [|cffeda55fRepair|r] |cff00aa005.23.6.90207|r
 ## Notes: Provides a configurable durability display. Also adds the ability to auto repair items and inventory at vendors
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.5.90200
+## Version: 5.23.6.90200
 ## X-Child-Of: Titan
 TitanRepair.xml
diff --git a/TitanVolume/TitanVolume.toc b/TitanVolume/TitanVolume.toc
index 347140c..bd55c98 100644
--- a/TitanVolume/TitanVolume.toc
+++ b/TitanVolume/TitanVolume.toc
@@ -1,10 +1,10 @@
-## Interface: 90205
-## Title: Titan Panel [|cffeda55fVolume|r] |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel [|cffeda55fVolume|r] |cff00aa005.23.6.90207|r
 ## Notes: Adds a volume control icon on your Titan Bar
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.5.90200
+## Version: 5.23.6.90200
 ## X-Child-Of: Titan
 TitanVolume.xml
diff --git a/TitanXP/TitanXP.toc b/TitanXP/TitanXP.toc
index df4ba29..eea4fe5 100644
--- a/TitanXP/TitanXP.toc
+++ b/TitanXP/TitanXP.toc
@@ -1,10 +1,10 @@
-## Interface: 90205
-## Title: Titan Panel [|cffeda55fXP|r] |cff00aa005.23.5.90205|r
+## Interface: 90207
+## Title: Titan Panel [|cffeda55fXP|r] |cff00aa005.23.6.90207|r
 ## Notes: Adds information to Titan Panel about XP earned and time to level
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.5.90200
+## Version: 5.23.6.90200
 ## X-Child-Of: Titan
 TitanXP.xml