diff --git a/esoui/ingame/quickslot/quickslot.lua b/esoui/ingame/quickslot/quickslot.lua
index 73b2b4d..8d30a42 100755
--- a/esoui/ingame/quickslot/quickslot.lua
+++ b/esoui/ingame/quickslot/quickslot.lua
@@ -99,7 +99,7 @@ function ZO_QuickslotManager:New(container)
manager.sortHeaders:RegisterCallback(ZO_SortHeaderGroup.HEADER_CLICKED, OnSortHeaderClicked)
manager.sortHeaders:AddHeadersFromContainer()
- manager.sortHeaders:SelectHeaderByKey("name", ZO_SortHeaderGroup.SUPPRESS_CALLBACKS)
+ manager.sortHeaders:SelectHeaderByKey("name")
local function RefreshQuickslotWindow()
if not container:IsHidden() then
@@ -205,6 +205,10 @@ function ZO_QuickslotManager:New(container)
end
end
+ local function HandleCooldownUpdates()
+ ZO_ScrollList_RefreshVisible(manager.list, nil, ZO_InventorySlot_UpdateCooldowns)
+ end
+
ZO_QuickSlot:RegisterForEvent(EVENT_MONEY_UPDATE, OnMoneyUpdated)
ZO_QuickSlot:RegisterForEvent(EVENT_INVENTORY_FULL_UPDATE, HandleInventoryChanged)
ZO_QuickSlot:RegisterForEvent(EVENT_INVENTORY_SINGLE_SLOT_UPDATE, HandleInventoryChanged)
@@ -215,6 +219,7 @@ function ZO_QuickslotManager:New(container)
ZO_QuickSlot:RegisterForEvent(EVENT_CURSOR_DROPPED, HandleCursorCleared)
ZO_QuickSlot:RegisterForEvent(EVENT_INVENTORY_SLOT_LOCKED, HandleInventorySlotLocked)
ZO_QuickSlot:RegisterForEvent(EVENT_INVENTORY_SLOT_UNLOCKED, HandleInventorySlotUnlocked)
+ ZO_QuickSlot:RegisterForEvent(EVENT_ABILITY_COOLDOWN_UPDATED, HandleCooldownUpdates)
manager:InitializeKeybindDescriptor()
@@ -439,6 +444,13 @@ function ZO_QuickslotManager:RefreshCurrency(value)
ZO_CurrencyControl_SetSimpleCurrency(self.money, CURT_MONEY, value, ZO_KEYBOARD_CARRIED_CURRENCY_OPTIONS)
end
+function ZO_QuickslotManager:ValidateOrClearAllQuickslots()
+ for i = ACTION_BAR_FIRST_UTILITY_BAR_SLOT + 1, ACTION_BAR_FIRST_UTILITY_BAR_SLOT + ACTION_BAR_UTILITY_BAR_SIZE do
+ ZO_QuickslotRadialManager:ValidateOrClearQuickslot(i)
+ self:DoQuickSlotUpdate(i)
+ end
+end
+
function ZO_QuickslotManager:UpdateList()
local scrollData = ZO_ScrollList_GetDataList(self.list)
ZO_ScrollList_Clear(self.list)
@@ -455,7 +467,7 @@ function ZO_QuickslotManager:UpdateList()
end
self:ApplySort()
-
+ self:ValidateOrClearAllQuickslots()
self.sortHeadersControl:SetHidden(#scrollData == 0)
end
@@ -533,6 +545,9 @@ function ZO_QuickslotManager:SetUpCollectionSlot(control, data)
slot.collectibleId = data.collectibleId
slot.active = data.active
slot.categoryType = data.categoryType
+ slot.inCooldown = false
+ slot.cooldown = GetControl(slot, "Cooldown")
+ slot.cooldown:SetTexture(iconFile)
ZO_InventorySlot_SetType(slot, SLOT_TYPE_COLLECTIONS_INVENTORY)
ZO_ItemSlot_SetupSlotBase(slot, 1, data.iconFile)
end