update: hearthstone position

This commit is contained in:
Vati
2026-03-02 13:33:23 +04:00
parent 3148e80cc0
commit b8b3e291a1
+28 -5
View File
@@ -585,6 +585,7 @@ function BagFrame:UpdateBaglineLayout()
local keyring = getglobal("Guda_BagFrame_Toolbar_KeyringButton")
local soulbag = getglobal("Guda_BagFrame_Toolbar_SoulBagButton")
local info = getglobal("Guda_BagFrame_Toolbar_BagSlotsInfo")
local hearthstone = getglobal("Guda_BagFrame_HearthstoneFrame")
-- Determine last visible special button for info anchor
local lastButton = keyring
@@ -626,6 +627,12 @@ function BagFrame:UpdateBaglineLayout()
info:ClearAllPoints()
info:SetPoint("LEFT", lastButton, "RIGHT", 8, 0)
end
-- Anchor hearthstone next to info
if hearthstone then
hearthstone:ClearAllPoints()
hearthstone:SetPoint("LEFT", info, "RIGHT", 6, 0)
end
else
-- Standard horizontal layout - all bags visible
if bag1 then
@@ -664,6 +671,12 @@ function BagFrame:UpdateBaglineLayout()
info:SetPoint("LEFT", lastButton, "RIGHT", 8, 0)
end
-- Anchor hearthstone next to info
if hearthstone then
hearthstone:ClearAllPoints()
hearthstone:SetPoint("LEFT", info, "RIGHT", 6, 0)
end
-- Hide flyout when switching to full bagline
self:HideBagFlyout()
end
@@ -1624,9 +1637,13 @@ function BagFrame:UpdateBagSlotsInfo(bagData, isOtherChar)
infoText:SetText(string.format("%d / %d", regularUsed, regularTotal))
infoText:SetTextColor(0.7, 0.7, 0.7)
-- Store data for tooltip
-- Resize info frame to fit text so hearthstone anchors tightly
local infoFrame = getglobal("Guda_BagFrame_Toolbar_BagSlotsInfo")
if infoFrame then
local textWidth = infoText:GetStringWidth()
if textWidth and textWidth > 0 then
infoFrame:SetWidth(textWidth + 4)
end
infoFrame.regularTotal = regularTotal
infoFrame.regularUsed = regularUsed
infoFrame.specialBags = specialBags
@@ -1674,12 +1691,18 @@ function BagFrame:CreateHearthstoneFrame()
local frameName = "Guda_BagFrame_HearthstoneFrame"
if getglobal(frameName) then return end
local frame = CreateFrame("Button", frameName, Guda_BagFrame)
local toolbar = getglobal("Guda_BagFrame_Toolbar") or Guda_BagFrame
local frame = CreateFrame("Button", frameName, toolbar)
frame:SetWidth(20)
frame:SetHeight(20)
frame:SetPoint("BOTTOMRIGHT", Guda_BagFrame, "BOTTOMRIGHT", -150, 16)
frame:SetFrameStrata("HIGH")
frame:SetFrameLevel(10)
-- Default anchor; will be repositioned by UpdateBaglineLayout
local info = getglobal("Guda_BagFrame_Toolbar_BagSlotsInfo")
if info then
frame:SetPoint("LEFT", info, "RIGHT", 6, 0)
else
frame:SetPoint("LEFT", toolbar, "LEFT", 0, 0)
end
frame:SetFrameLevel((toolbar:GetFrameLevel() or 5) + 5)
-- Icon texture
local icon = frame:CreateTexture(frameName .. "_Icon", "ARTWORK")