diff --git a/esoui/common/gamepad/genericfooters/genericfooters.lua b/esoui/common/gamepad/genericfooters/genericfooters.lua
index a8e96d3..1097b47 100755
--- a/esoui/common/gamepad/genericfooters/genericfooters.lua
+++ b/esoui/common/gamepad/genericfooters/genericfooters.lua
@@ -4,11 +4,13 @@ ZO_GAMEPAD_FOOTER_CONTROLS =
{
DATA1 = 1,
DATA1HEADER = 2,
- DATA2 = 3,
- DATA2HEADER = 4,
- DATA3 = 5,
- DATA3HEADER = 6,
- LOADINGICON = 7,
+ DATA1LOADINGICON = 3,
+ DATA2 = 4,
+ DATA2HEADER = 5,
+ DATA2LOADINGICON = 6,
+ DATA3 = 7,
+ DATA3HEADER = 8,
+ DATA3LOADINGICON = 9,
}
local EMPTY_TABLE = {}
@@ -16,11 +18,13 @@ local EMPTY_TABLE = {}
-- Alias the control names to make the code less verbose and more readable.
local DATA1 = ZO_GAMEPAD_FOOTER_CONTROLS.DATA1
local DATA1HEADER = ZO_GAMEPAD_FOOTER_CONTROLS.DATA1HEADER
+local DATA1LOADINGICON = ZO_GAMEPAD_FOOTER_CONTROLS.DATA1LOADINGICON
local DATA2 = ZO_GAMEPAD_FOOTER_CONTROLS.DATA2
local DATA2HEADER = ZO_GAMEPAD_FOOTER_CONTROLS.DATA2HEADER
+local DATA2LOADINGICON = ZO_GAMEPAD_FOOTER_CONTROLS.DATA2LOADINGICON
local DATA3 = ZO_GAMEPAD_FOOTER_CONTROLS.DATA3
local DATA3HEADER = ZO_GAMEPAD_FOOTER_CONTROLS.DATA3HEADER
-local LOADINGICON = ZO_GAMEPAD_FOOTER_CONTROLS.LOADINGICON
+local DATA3LOADINGICON = ZO_GAMEPAD_FOOTER_CONTROLS.DATA3LOADINGICON
function GenericFooter:New(...)
local object = ZO_Object.New(self)
@@ -35,11 +39,13 @@ function GenericFooter:Initialize(control)
{
[DATA1] = control:GetNamedChild("Data1"),
[DATA1HEADER] = control:GetNamedChild("Data1Header"),
+ [DATA1LOADINGICON] = control:GetNamedChild("Data1LoadingIcon"),
[DATA2] = control:GetNamedChild("Data2"),
[DATA2HEADER] = control:GetNamedChild("Data2Header"),
+ [DATA2LOADINGICON] = control:GetNamedChild("Data2LoadingIcon"),
[DATA3] = control:GetNamedChild("Data3"),
[DATA3HEADER] = control:GetNamedChild("Data3Header"),
- [LOADINGICON] = control:GetNamedChild("LoadingIcon"),
+ [DATA3LOADINGICON] = control:GetNamedChild("Data3LoadingIcon"),
}
control.OnHidden = function()
@@ -79,17 +85,19 @@ end
function GenericFooter:Refresh(data)
local controls = self.controls
+ local loadingIcon1Offset = data.data1ShowLoading and ZO_GAMEPAD_LOADING_ICON_FOOTER_SIZE or 0
+ controls[DATA1LOADINGICON]:SetHidden(not data.data1ShowLoading)
+ local loadingIcon2Offset = data.data2ShowLoading and ZO_GAMEPAD_LOADING_ICON_FOOTER_SIZE or 0
+ controls[DATA2LOADINGICON]:SetHidden(not data.data2ShowLoading)
+ local loadingIcon3Offset = data.data3ShowLoading and ZO_GAMEPAD_LOADING_ICON_FOOTER_SIZE or 0
+ controls[DATA3LOADINGICON]:SetHidden(not data.data3ShowLoading)
+
ProcessData(controls[DATA1], data.data1Text)
- ProcessData(controls[DATA1HEADER], data.data1HeaderText, controls[DATA1], -ZO_GAMEPAD_DEFAULT_HEADER_DATA_PADDING)
+ ProcessData(controls[DATA1HEADER], data.data1HeaderText, controls[DATA1], -ZO_GAMEPAD_DEFAULT_HEADER_DATA_PADDING - loadingIcon1Offset)
ProcessData(controls[DATA2], data.data2Text, controls[DATA1HEADER], -ZO_GAMEPAD_CONTENT_INSET_X)
- ProcessData(controls[DATA2HEADER], data.data2HeaderText, controls[DATA2], -ZO_GAMEPAD_DEFAULT_HEADER_DATA_PADDING)
+ ProcessData(controls[DATA2HEADER], data.data2HeaderText, controls[DATA2], -ZO_GAMEPAD_DEFAULT_HEADER_DATA_PADDING - loadingIcon2Offset)
ProcessData(controls[DATA3], data.data3Text, controls[DATA2HEADER], -ZO_GAMEPAD_CONTENT_INSET_X)
- ProcessData(controls[DATA3HEADER], data.data3HeaderText, controls[DATA3], -ZO_GAMEPAD_DEFAULT_HEADER_DATA_PADDING)
-
- controls[DATA3HEADER]:ClearAnchors()
- local target = data.showLoading and controls[LOADINGICON] or controls[DATA3]
- controls[DATA3HEADER]:SetAnchor(BOTTOMRIGHT, target, BOTTOMLEFT, -ZO_GAMEPAD_DEFAULT_HEADER_DATA_PADDING, -1)
- controls[LOADINGICON]:SetHidden(not data.showLoading)
+ ProcessData(controls[DATA3HEADER], data.data3HeaderText, controls[DATA3], -ZO_GAMEPAD_DEFAULT_HEADER_DATA_PADDING - loadingIcon3Offset)
end
function ZO_GenericFooter_Gamepad_OnInitialized(self)