From c1cbc91052a2ccf4905784062a75af6c690ec13b Mon Sep 17 00:00:00 2001 From: Crum Date: Tue, 7 Aug 2018 15:09:15 -0500 Subject: [PATCH] update --- ElvUI/Core/core.lua | 44 +++++++++++------------ ElvUI/Media/Textures/INV_Pet_Broom.blp | Bin 0 -> 3916 bytes ElvUI/Media/Textures/INV_Pet_RatCage.blp | Bin 6676 -> 0 bytes ElvUI/Modules/Bags/Bags.lua | 37 +++++++++++-------- ElvUI/Modules/Skins/Blizzard/Bags.lua | 12 +++++-- 5 files changed, 53 insertions(+), 40 deletions(-) create mode 100644 ElvUI/Media/Textures/INV_Pet_Broom.blp delete mode 100644 ElvUI/Media/Textures/INV_Pet_RatCage.blp diff --git a/ElvUI/Core/core.lua b/ElvUI/Core/core.lua index 0d609ad..321a1a6 100644 --- a/ElvUI/Core/core.lua +++ b/ElvUI/Core/core.lua @@ -341,20 +341,24 @@ function E:UpdateFrameTemplates() end function E:UpdateBorderColors() - for frame in pairs(self["frames"]) do - if(frame) then - if(frame.template == "Default" or frame.template == "Transparent" or frame.template == nil) then - frame:SetBackdropBorderColor(unpack(self["media"].bordercolor)) + for frame, _ in pairs(self["frames"]) do + if frame and not frame.ignoreUpdates then + if not frame.ignoreBorderColors then + if frame.template == "Default" or frame.template == "Transparent" or frame.template == nil then + frame:SetBackdropBorderColor(unpack(self["media"].bordercolor)) + end end else self["frames"][frame] = nil end end - for frame in pairs(self["unitFrameElements"]) do + for frame, _ in pairs(self["unitFrameElements"]) do if frame and not frame.ignoreUpdates then - if frame.template == "Default" or frame.template == "Transparent" or frame.template == nil then - frame:SetBackdropBorderColor(unpack(self["media"].unitframeBorderColor)) + if not frame.ignoreBorderColors then + if frame.template == "Default" or frame.template == "Transparent" or frame.template == nil then + frame:SetBackdropBorderColor(unpack(self["media"].unitframeBorderColor)) + end end else self["unitFrameElements"][frame] = nil @@ -364,15 +368,13 @@ end function E:UpdateBackdropColors() for frame, _ in pairs(self["frames"]) do - if(frame) then - if(frame.template == "Default" or frame.template == nil) then - if(frame.backdropTexture) then - frame.backdropTexture:SetVertexColor(unpack(self["media"].backdropcolor)) - else + if frame then + if not frame.ignoreBackdropColors then + if frame.template == "Default" or frame.template == nil then frame:SetBackdropColor(unpack(self["media"].backdropcolor)) + elseif frame.template == "Transparent" then + frame:SetBackdropColor(unpack(self["media"].backdropfadecolor)) end - elseif(frame.template == "Transparent") then - frame:SetBackdropColor(unpack(self["media"].backdropfadecolor)) end else self["frames"][frame] = nil @@ -381,14 +383,12 @@ function E:UpdateBackdropColors() for frame, _ in pairs(self["unitFrameElements"]) do if frame then - if frame.template == "Default" or frame.template == nil then - if frame.backdropTexture then - frame.backdropTexture:SetVertexColor(unpack(self["media"].backdropcolor)) - else + if not frame.ignoreBackdropColors then + if frame.template == "Default" or frame.template == nil then frame:SetBackdropColor(unpack(self["media"].backdropcolor)) + elseif frame.template == "Transparent" then + frame:SetBackdropColor(unpack(self["media"].backdropfadecolor)) end - elseif frame.template == "Transparent" then - frame:SetBackdropColor(unpack(self["media"].backdropfadecolor)) end else self["unitFrameElements"][frame] = nil @@ -412,9 +412,9 @@ end function E:UpdateStatusBars() for _, statusBar in pairs(self.statusBars) do - if(statusBar and statusBar:GetObjectType() == "StatusBar") then + if (statusBar and statusBar:GetObjectType() == "StatusBar") then statusBar:SetStatusBarTexture(self.media.normTex) - elseif(statusBar and statusBar:GetObjectType() == "Texture") then + elseif (statusBar and statusBar:GetObjectType() == "Texture") then statusBar:SetTexture(self.media.normTex) end end diff --git a/ElvUI/Media/Textures/INV_Pet_Broom.blp b/ElvUI/Media/Textures/INV_Pet_Broom.blp new file mode 100644 index 0000000000000000000000000000000000000000..964469a613e8e52608ccf9bf62eec4f83a67f4d2 GIT binary patch literal 3916 zcmeHJ-A^Oe6~7)chB0ZIYQu_6UI2RxW97wFA39PW7=I8YSu;G;jBVBo{gU?$ zUcCNd4N|gMdngNA$#^`*9-NoP4^`t;S{M)PDy~pe_AO`wX4vK-{dmasL)z&zBz>#Y zKVXk^^z*rQX3jZ3pL6bY{>b+|0{{RqfbWh%>}b9V>MKyc4Zv&P0pR;ke+bnL_5YF{ z_!I&_9Krz9j`@wkpD*Pl11}kP$-w_);NPDOAiA!9>?WQ+)Ne4ToA}2=ou+|@=vO;f zCgD27bL!Im236_@7yBxCiD}2>e&lOZE}xI@D3|+hLBS+BE?EzSt+} z4}LLYvF!H0_Uq1U9PKHSK$hj%S1)m^-|Z;SG;JZq{hjr#ewC7;Z6qWT2m-x3a87mB zi~Uvt!1ZE(!~uAg36t}UpfA8|i&;ewa8z1c-o$V$+r|E^Hi{r%n5CtEo*f)`9Iu4l zfO0wzc2p_>#@hMrh)iE#T&BYgiHrw>yhN&0AixGxN~6k>EK8(DnW04BzS)csRwC?J zu}hIO>8*o!(AQI|DpR!3XG&(3Dq*+doR*;baIA|{<#_OJe}w40b#~Tnr@!_O^P!>v zhG|kZf1$#&DntY(Dv`r5ZwaDG@jOkJA;L7Vj*Ux#-3|R$B^(Vq<~R@^4dUEb8-xL%>@_N12B z*tkEbOg1|sdru^bR2Nu|^TK+vlxhep{6!q)AC`76o+dhH8t z2FfzGAB#i3`?2w4CHlH)Keqh9>C4m7rmHqoiAJ5PNE68XJQt(tph{1>C_@vGWg+QJ z=7NY_3Q>>#B*<~Z%4a{}1u1y8($h!;*y(bjr-7JpTW0auhj*EYV4Ae8!V8FDtN+cA z2IU!PUYNN)bNzh!d{vh1PBpgQjNdKKD~sn1TEMfZT=OWnUYbwVxz?+d+lAT2Y%A`( zoBzBKZ)Kdo$>pdfMl-Y+GqeCA2_Z@mgJ!wfo`&^j0|4iG>iIPx;Niy`al{7e6y-1i z!&JzB8~y<@+x^67bh)HO)05zuM9r=oTt;tFKOub zbTQGS;9S|Q7hBZ5b%v{zj_f9iD>f2GS8>egs=1B|Hq6i#!*!Zi8EsFuMGW>EoEkCA zfDtK&N)b3N?DoHM!T&xvu>k3xIg6nW(sR*h*sE$@u2?*4Z0oaEt)uRmrUwJn*Y^?` zJ^h<2e6Ddr@meqm>Gp)LOR8 z*jOqz_gsj~-V3!511n?=voW9$u>^5_>VNB@7PP#au?uuQ4mGQbZ5lyM~Ghw+3mb?j@|vjjK4CCc`l_ zdzDPd-wW(_e7UF{jvDR4yMVC3$zd)U94Li z-^%MWJYRCZZ0ds9oZ;yY^sf$oZ-H@kcQ0>S3DX3S89L%HO%y6JocA4`h5KP>0|aq4 zz4Hy<6a(k>frt|r5^?OWJkdTsX;M|TcX@f+26>7XqO8fET>?%&JI6m0duX|=c=yFb zT9(o=zMcZeK$FTO=KF9{*zxYIr%=Y&M||({_Kp46a2^bd`>b472@nF^#kv}N+$yj4W`tMkQ^MT+u9ES%B3EXewXIe~ z_P&oK4NXjt=n!90?gC7(atAxMs{hy8ee|UKKR3$6?uf+HC6uc+c zg*83m=vtZz#`OqmeDMB#prg0k#~b6YKG;*mfB;>Cb&29;_}s|Er%(T-pAKkV-6+mj z36;_-4D3ImuEYC_hkv%CKl;P2$zNGDCdGw0t}PZSalylH?+g{OfJBXLKHlAJMv~f* zxU=KhYn&d%@1&&C;)w#=4F3P7)#l^Jk0naU%_MtuH|IHC;|qF(548x~rbo!P*grpd wq{DkoQa3K#D0!j3_7`8EOV)=oH?Her+==oC?xRUpQ{Ov>^=bgHT>p#z0lNvXApigX literal 0 HcmV?d00001 diff --git a/ElvUI/Media/Textures/INV_Pet_RatCage.blp b/ElvUI/Media/Textures/INV_Pet_RatCage.blp deleted file mode 100644 index cd16708cedda3c595e1d016074e7423681cca011..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6676 zcmeI0e^67|6~}Lafk2kUU1g;E&nDCe;zC^4Xl<(!)a8f$L+v~Q8N@(!Fmbj+GP4W9 zRP#gJl5~GeSZBAU9YYdUd@mTMkkwXxijF)6S>@0AFCm%ECe;W4R^o--? zw$oPZ-)qo6&!bpbU8xQL=X#7Od{O)dz!R>XbhK^@$osr@8wps#CNQL|>vnooh# z+WMGhxB-u~KB_4xs;mV5xmAL&`^5jZaJ~x!b#`-kwrjNoUjd(Xjp|-McZaN3Y};-V62CkKdLQ$#KF}S|17Ff3v=2An zSFrzeb#-L@8;|#Cu=gbY__iJ$!!RVj%WcE;UT;$ejJJ4lY>7A_I8Jv@PfwG2q4DIo z!*g?l>pk&qSvX91?~S#pnuz^?_t!Rm7BYanJWsCz|DGzW_JrpIqChQx=vGJ=NBz>+G2GfzH;0 z4c<&CaK9_nCinTtdTBiZD~{hUKtI;ER!h@CGT%J+3O#Zt=Rg;FoEn4DOX9J|<aU0n_OU_QJ4 zMJiyn9$@#0Kk{0quBcLd4fJ87Q74nhT7cPlz+9A(dd9aL(Fd}-)u0O+B>S&?kwo^x z5oWDEv>^e%WZ}38*R_t>{4}?|r&^`1gAAYe*WY@C(M&R3Tz~P|$n`*Hd6t=(nG(=> zmc805mo9wyrxx4K%7=KfLU6Uw~lJk3?N*s0m#jeNej}HLopTEt#Qslkt2mVMOw?4t!LgKNx zHeEX>@{;plv-uruG73}Bf0emjfeb;S)3=Y+B*n**d=Czlw>pBIm!W_ClRdYsX2u81 zOpi`woWVE1#d>jm-gWiC(PyMSq)vTVtW?eiK>vd_U7P9ik@2g|rn0|&^G|Z#CD)GX zwr<_J6Z+rMi`o1q=ij(E+W$VWLTKr{N7hHn#-qbe=3`a3Q}Fr`rdbYhJXze6o^f$5 z1n*mS`@SxzrR4%}%pho*@#ButWnepBD8 zJ2w6OEbvA<5*|39BIh6L-xzM7n=l{3Es`lEMe<=mzr*FH5$Dg&ogKvg?rV)3Wtkl$ zKe7iDWdRfI2Yce)GL0yK4g-H4;@M;}?;Nn}TgP!jGfm#_9O%w=%$^|ccinPq968Co zKUZN8Cy2Q7=$G2q^&(lC5A5aDg!GANX*+=nuCn)k&i_*j{`ZmfU+_=K`7aS7#Gc$R zp4F*?)Vsi}{~_O$$FraCU3X6)a4 z5%FE>|59e-p`^I+3-R$sbJe@i?5~REdrS1HaI}uQ6MtFz*nAX+o^s6IZ)9GMKhjE2 z!Um2X)v)`Y;{tqJrTF;5vRH3(+p|+BOF{;4KZC!w`7sH=9=ke)dJrJ>cj@@_DQqv| zK0m==doiMyVf;6P*j_Lg1h(3Ls4^NG$@j)M2usx-Ii^JR&3Tf1eL8zQ=MK z@c+m7d;{#4+y({9Cg2LYwA^KO-T-cP9nlXDKgZ`~WU%nx|8vY9Y6w{das8(k>mlY? z_Um2DGX5Re{*A*)tgN|?5dOfScIR(Yv;Q_4I~0?`G|_Zw+Ka)1U1G#6)Wa7HKmP^M CENFQE diff --git a/ElvUI/Modules/Bags/Bags.lua b/ElvUI/Modules/Bags/Bags.lua index 2e19a37..4f3ed36 100644 --- a/ElvUI/Modules/Bags/Bags.lua +++ b/ElvUI/Modules/Bags/Bags.lua @@ -247,6 +247,7 @@ function B:UpdateSlot(bagID, slotID) if B.ProfessionColors[bagType] then slot:SetBackdropBorderColor(unpack(B.ProfessionColors[bagType])) + slot.ignoreBorderColors = true elseif clink then local _, iLvl, itemEquipLoc slot.name, _, slot.rarity, iLvl, _, _, _, itemEquipLoc = GetItemInfo(match(clink, "item:(%d+)")) @@ -266,13 +267,16 @@ function B:UpdateSlot(bagID, slotID) end -- color slot according to item quality - if slot.rarity then + if slot.rarity and slot.rarity > 1 then slot:SetBackdropBorderColor(r, g, b) + slot.ignoreBorderColors = true else slot:SetBackdropBorderColor(unpack(E.media.bordercolor)) + slot.ignoreBorderColors = true end else slot:SetBackdropBorderColor(unpack(E.media.bordercolor)) + slot.ignoreBorderColors = true end if texture then @@ -674,11 +678,14 @@ function B:UpdateKeySlot(slotID) if slot.rarity and slot.rarity > 1 then slot:SetBackdropBorderColor(r, g, b) + slot.ignoreBorderColors = true else slot:SetBackdropBorderColor(unpack(E.media.bordercolor)) + slot.ignoreBorderColors = true end else slot:SetBackdropBorderColor(unpack(E.media.bordercolor)) + slot.ignoreBorderColors = true end if texture then @@ -709,15 +716,14 @@ function B:UpdateAll() end function B:OnEvent() + local bag, slot = arg1, arg2 if event == "ITEM_LOCK_CHANGED" or event == "ITEM_UNLOCKED" then - local bag, slot = arg1, arg2 if bag == KEYRING_CONTAINER then B:UpdateKeySlot(slot) else this:UpdateSlot(bag, slot) end elseif event == "BAG_UPDATE" then - local bag = arg1 if bag == KEYRING_CONTAINER then if not _G["ElvUIKeyFrameItem"..GetKeyRingSize()] then B:Layout(false) @@ -735,7 +741,9 @@ function B:OnEvent() end end - this:UpdateBagSlots(arg1, arg2) + this:UpdateBagSlots(bag, slot) + + --Refresh search in case we moved items around if B:IsSearching() then B:SetSearch(SEARCH_STRING) end @@ -915,13 +923,13 @@ function B:ContructContainerFrame(name, isBank) E:Size(f.sortButton, 16 + E.Border) E:SetTemplate(f.sortButton) E:Point(f.sortButton, "RIGHT", f.bagText, "LEFT", -5, E.Border * 2) - f.sortButton:SetNormalTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_RatCage") + f.sortButton:SetNormalTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_Broom") f.sortButton:GetNormalTexture():SetTexCoord(unpack(E.TexCoords)) E:SetInside(f.sortButton:GetNormalTexture()) - f.sortButton:SetPushedTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_RatCage") + f.sortButton:SetPushedTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_Broom") f.sortButton:GetPushedTexture():SetTexCoord(unpack(E.TexCoords)) E:SetInside(f.sortButton:GetPushedTexture()) - f.sortButton:SetDisabledTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_RatCage") + f.sortButton:SetDisabledTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_Broom") f.sortButton:GetDisabledTexture():SetTexCoord(unpack(E.TexCoords)) E:SetInside(f.sortButton:GetDisabledTexture()) f.sortButton:GetDisabledTexture():SetDesaturated(true) @@ -1026,13 +1034,13 @@ function B:ContructContainerFrame(name, isBank) E:Size(f.sortButton, 16 + E.Border) E:SetTemplate(f.sortButton) E:Point(f.sortButton, "RIGHT", f.goldText, "LEFT", -5, E.Border * 2) - f.sortButton:SetNormalTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_RatCage") + f.sortButton:SetNormalTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_Broom") f.sortButton:GetNormalTexture():SetTexCoord(unpack(E.TexCoords)) E:SetInside(f.sortButton:GetNormalTexture()) - f.sortButton:SetPushedTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_RatCage") + f.sortButton:SetPushedTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_Broom") f.sortButton:GetPushedTexture():SetTexCoord(unpack(E.TexCoords)) E:SetInside(f.sortButton:GetPushedTexture()) - f.sortButton:SetDisabledTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_RatCage") + f.sortButton:SetDisabledTexture("Interface\\AddOns\\ElvUI\\media\\textures\\INV_Pet_Broom") f.sortButton:GetDisabledTexture():SetTexCoord(unpack(E.TexCoords)) E:SetInside(f.sortButton:GetDisabledTexture()) f.sortButton:GetDisabledTexture():SetDesaturated(true) @@ -1371,11 +1379,10 @@ function B:Initialize() self.BagFrame = self:ContructContainerFrame("ElvUI_ContainerFrame") --Hook onto Blizzard Functions - self:RawHook("ToggleBag", "ToggleBags") - self:RawHook("OpenBackpack", "OpenBags") - self:RawHook("CloseAllBags", "CloseBags") - self:RawHook("CloseBackpack", "CloseBags") - self:RawHook("ToggleBackpack", "ToggleBags") + self:RawHook("ToggleBag", "ToggleBags", true) + self:RawHook("OpenBackpack", "OpenBags", true) + self:RawHook("CloseAllBags", "CloseBags", true) + self:RawHook("CloseBackpack", "CloseBags", true) self:RawHook("OpenAllBags", "OpenAllBags", true) self:Layout() diff --git a/ElvUI/Modules/Skins/Blizzard/Bags.lua b/ElvUI/Modules/Skins/Blizzard/Bags.lua index 396132a..3ff6260 100644 --- a/ElvUI/Modules/Skins/Blizzard/Bags.lua +++ b/ElvUI/Modules/Skins/Blizzard/Bags.lua @@ -23,13 +23,16 @@ function S:ContainerFrame_Update() itemLink = GetContainerItemLink(id, itemButton:GetID()) if itemLink then _, _, quality = GetItemInfo(match(itemLink, "item:(%d+)")) - if quality then + if quality and quality > 1 then itemButton:SetBackdropBorderColor(GetItemQualityColor(quality)) + itemButton.ignoreBorderColors = true else itemButton:SetBackdropBorderColor(unpack(E["media"].bordercolor)) + itemButton.ignoreBorderColors = true end else itemButton:SetBackdropBorderColor(unpack(E["media"].bordercolor)) + itemButton.ignoreBorderColors = true end end end @@ -39,13 +42,16 @@ function S:BankFrameItemButton_OnUpdate() local itemLink = GetContainerItemLink(BANK_CONTAINER, this:GetID()) if itemLink then local _, _, quality = GetItemInfo(match(itemLink, "item:(%d+)")) - if quality then + if quality and quality > 1 then this:SetBackdropBorderColor(GetItemQualityColor(quality)) + this.ignoreBorderColors = true else this:SetBackdropBorderColor(unpack(E["media"].bordercolor)) + this.ignoreBorderColors = true end else this:SetBackdropBorderColor(unpack(E["media"].bordercolor)) + this.ignoreBorderColors = true end end end @@ -97,7 +103,7 @@ local function LoadSkin() E:StripTextures(BankFrame, true) - S:HandleCloseButton(BankCloseButton) + S:HandleCloseButton(BankCloseButton, BankFrame.backdrop) local button, buttonIcon for i = 1, NUM_BANKGENERIC_SLOTS, 1 do