diff --git a/modules/bags.lua b/modules/bags.lua index 0007f48da..acf0deb94 100644 --- a/modules/bags.lua +++ b/modules/bags.lua @@ -983,16 +983,41 @@ pfUI:RegisterModule("bags", "vanilla:tbc", function () frame.search.edit:SetTextColor(.5,.5,.5,1) frame.search.edit:SetScript("OnEditFocusGained", function() - this:SetText("") + if this:GetText() == T["Search"] then + this:SetText("") + end end) frame.search.edit:SetScript("OnEditFocusLost", function() - this:SetText(T["Search"]) - for bag=-2, 11 do - local bagsize = GetContainerNumSlots(bag) - if bag == -2 and pfUI.bag.showKeyring == true then bagsize = GetKeyRingSize() end - for slot=1, bagsize do - pfUI.bags[bag].slots[slot].frame:SetAlpha(1) + if not pfUI.bag:IsShown() then + this:SetText(T["Search"]) + for bag=-2, 11 do + local bagsize = GetContainerNumSlots(bag) + if bag == -2 and pfUI.bag.showKeyring == true then bagsize = GetKeyRingSize() end + for slot=1, bagsize do + pfUI.bags[bag].slots[slot].frame:SetAlpha(1) + end + end + end + end) + + frame.search.edit:SetScript("OnLeave", function() + if GetMouseFocus() ~= this then + this:ClearFocus() + end + end) + + frame.search:SetScript("OnHide", function() + frame.search.edit:SetText(T["Search"]) + for bag = -2, 11 do + if pfUI.bags[bag] then + local bagsize = GetContainerNumSlots(bag) + if bag == -2 and pfUI.bag.showKeyring == true then bagsize = GetKeyRingSize() end + for slot = 1, bagsize do + if pfUI.bags[bag] then + pfUI.bags[bag].slots[slot].frame:SetAlpha(1) + end + end end end end)