diff --git a/UI/BagFrame.lua b/UI/BagFrame.lua index 25b4573..9f79ecb 100644 --- a/UI/BagFrame.lua +++ b/UI/BagFrame.lua @@ -81,6 +81,12 @@ function Guda_BagFrame_OnShow(self) if BagFrame.UpdateLockState then BagFrame:UpdateLockState() end + + -- Apply border visibility setting + if BagFrame.UpdateBorderVisibility then + BagFrame:UpdateBorderVisibility() + end + BagFrame:Update() end @@ -1260,6 +1266,43 @@ function BagFrame:UpdateLockState() end end +-- Update border visibility based on setting +function BagFrame:UpdateBorderVisibility() + if not addon or not addon.Modules or not addon.Modules.DB then return end + + local frame = getglobal("Guda_BagFrame") + if not frame then return end + + local hideBorders = addon.Modules.DB:GetSetting("hideBorders") + if hideBorders == nil then + hideBorders = false + end + + if hideBorders then + -- Hide decorative borders but add thin white border + frame:SetBackdrop({ + bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", + tile = true, + tileSize = 32, + edgeSize = 2, + insets = { left = 0, right = 0, top = 0, bottom = 0 } + }) + frame:SetBackdropColor(0, 0, 0, 0.9) + frame:SetBackdropBorderColor(1, 1, 1, 1) + else + frame:SetBackdrop({ + bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", + tile = true, + tileSize = 32, + edgeSize = 32, + insets = { left = 11, right = 12, top = 12, bottom = 11 } + }) + frame:SetBackdropColor(0, 0, 0, 0.9) + end +end + -- Hook bag container buttons to open Guda Bag View local function HookBagContainers() -- Hook the main bag container buttons (bags 1-4) diff --git a/UI/BankFrame.lua b/UI/BankFrame.lua index f751649..f2570f4 100644 --- a/UI/BankFrame.lua +++ b/UI/BankFrame.lua @@ -33,6 +33,12 @@ function Guda_BankFrame_OnShow(self) moneyFrame:ClearAllPoints() moneyFrame:SetPoint("BOTTOMRIGHT", Guda_BankFrame, "BOTTOMRIGHT", -15, 10) end + + -- Apply border visibility setting + if BankFrame.UpdateBorderVisibility then + BankFrame:UpdateBorderVisibility() + end + BankFrame:Update() end @@ -736,6 +742,43 @@ function BankFrame:GetBankInvSlotForBagID(bagID) return invSlot, bankButtonID end +-- Update border visibility based on setting +function BankFrame:UpdateBorderVisibility() + if not addon or not addon.Modules or not addon.Modules.DB then return end + + local frame = getglobal("Guda_BankFrame") + if not frame then return end + + local hideBorders = addon.Modules.DB:GetSetting("hideBorders") + if hideBorders == nil then + hideBorders = false + end + + if hideBorders then + -- Hide decorative borders but add thin white border + frame:SetBackdrop({ + bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", + tile = true, + tileSize = 32, + edgeSize = 2, + insets = { left = 0, right = 0, top = 0, bottom = 0 } + }) + frame:SetBackdropColor(0, 0, 0, 0.9) + frame:SetBackdropBorderColor(1, 1, 1, 1) + else + frame:SetBackdrop({ + bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", + tile = true, + tileSize = 32, + edgeSize = 32, + insets = { left = 11, right = 12, top = 12, bottom = 11 } + }) + frame:SetBackdropColor(0, 0, 0, 0.9) + end +end + -- Initialize function BankFrame:Initialize() -- Hide Blizzard bank frame on load (pfUI style) diff --git a/UI/SettingsPopup.lua b/UI/SettingsPopup.lua index a8363b2..be423f0 100644 --- a/UI/SettingsPopup.lua +++ b/UI/SettingsPopup.lua @@ -38,14 +38,19 @@ function Guda_SettingsPopup_OnShow(self) if lockBags == nil then lockBags = false end + local hideBorders = Guda.Modules.DB:GetSetting("hideBorders") + if hideBorders == nil then + hideBorders = false + end - -- Update sliders + -- Update sliders and checkboxes local bagSlider = getglobal("Guda_SettingsPopup_BagColumnsSlider") local bankSlider = getglobal("Guda_SettingsPopup_BankColumnsSlider") local iconSizeSlider = getglobal("Guda_SettingsPopup_IconSizeSlider") local iconFontSizeSlider = getglobal("Guda_SettingsPopup_IconFontSizeSlider") local iconSpacingSlider = getglobal("Guda_SettingsPopup_IconSpacingSlider") local lockCheckbox = getglobal("Guda_SettingsPopup_LockBagsCheckbox") + local hideBordersCheckbox = getglobal("Guda_SettingsPopup_HideBordersCheckbox") if bagSlider then bagSlider:SetValue(bagColumns) @@ -70,6 +75,10 @@ function Guda_SettingsPopup_OnShow(self) if lockCheckbox then lockCheckbox:SetChecked(lockBags and 1 or 0) end + + if hideBordersCheckbox then + hideBordersCheckbox:SetChecked(hideBorders and 1 or 0) + end end -- Toggle visibility @@ -322,6 +331,95 @@ function Guda_SettingsPopup_LockBagsCheckbox_OnClick(self) end end +-- Hide Borders Checkbox OnLoad +function Guda_SettingsPopup_HideBordersCheckbox_OnLoad(self) + local text = getglobal(self:GetName().."Text") + if text then + text:SetText("Hide Borders") + + -- Increase font size + local font, _, flags = text:GetFont() + if font then + text:SetFont(font, 13, flags) + end + end + + local hideBorders = false + if Guda and Guda.Modules and Guda.Modules.DB then + hideBorders = Guda.Modules.DB:GetSetting("hideBorders") + if hideBorders == nil then + hideBorders = false + end + end + + self:SetChecked(hideBorders and 1 or 0) +end + +-- Hide Borders Checkbox OnClick +function Guda_SettingsPopup_HideBordersCheckbox_OnClick(self) + local isChecked = self:GetChecked() == 1 + + -- Save setting + if Guda and Guda.Modules and Guda.Modules.DB then + Guda.Modules.DB:SetSetting("hideBorders", isChecked) + end + + -- Update border visibility on both bag and bank frames + local bagFrame = getglobal("Guda_BagFrame") + if bagFrame then + if isChecked then + -- Hide decorative borders but add thin white border + bagFrame:SetBackdrop({ + bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", + tile = true, + tileSize = 12, + edgeSize = 2, + insets = { left = 0, right = 0, top = 0, bottom = 0 } + }) + bagFrame:SetBackdropColor(0, 0, 0, 0.9) + bagFrame:SetBackdropBorderColor(1, 1, 1, 1) + else + bagFrame:SetBackdrop({ + bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", + tile = true, + tileSize = 32, + edgeSize = 32, + insets = { left = 11, right = 12, top = 12, bottom = 11 } + }) + bagFrame:SetBackdropColor(0, 0, 0, 0.9) + end + end + + local bankFrame = getglobal("Guda_BankFrame") + if bankFrame then + if isChecked then + -- Hide decorative borders but add thin white border + bankFrame:SetBackdrop({ + bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", + tile = true, + tileSize = 32, + edgeSize = 2, + insets = { left = 0, right = 0, top = 0, bottom = 0 } + }) + bankFrame:SetBackdropColor(0, 0, 0, 0.9) + bankFrame:SetBackdropBorderColor(1, 1, 1, 1) + else + bankFrame:SetBackdrop({ + bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", + edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", + tile = true, + tileSize = 32, + edgeSize = 32, + insets = { left = 11, right = 12, top = 12, bottom = 11 } + }) + bankFrame:SetBackdropColor(0, 0, 0, 0.9) + end + end +end + -- Initialize function SettingsPopup:Initialize() Guda:Debug("Settings popup initialized") diff --git a/UI/SettingsPopup.xml b/UI/SettingsPopup.xml index bf642e6..f1f79a1 100644 --- a/UI/SettingsPopup.xml +++ b/UI/SettingsPopup.xml @@ -188,6 +188,25 @@ + + + + + + + + + + + + + Guda_SettingsPopup_HideBordersCheckbox_OnLoad(this) + + + Guda_SettingsPopup_HideBordersCheckbox_OnClick(this) + + +