diff --git a/pfUI.toc b/pfUI.toc index 3518a2ff..3a130a94 100644 --- a/pfUI.toc +++ b/pfUI.toc @@ -62,6 +62,7 @@ skins\blizzard\gossip&quest.lua skins\blizzard\professions.lua skins\blizzard\auction.lua skins\blizzard\questlog.lua +skins\blizzard\mail.lua # modules modules\gui.lua diff --git a/skins/blizzard/mail.lua b/skins/blizzard/mail.lua new file mode 100644 index 00000000..81e18459 --- /dev/null +++ b/skins/blizzard/mail.lua @@ -0,0 +1,116 @@ +pfUI:RegisterSkin("MailFrame", function () + local border = tonumber(pfUI_config.appearance.border.default) + local bpad = border > 1 and border - 1 or 1 + + StripTextures(MailFrame, true) + CreateBackdrop(MailFrame, nil, nil, .75) + MailFrame.backdrop:SetPoint("TOPLEFT", 12, -12) + MailFrame.backdrop:SetPoint("BOTTOMRIGHT", -30, 72) + MailFrame:SetHitRectInsets(12,30,12,72) + EnableMovable(MailFrame) + + SkinCloseButton(InboxCloseButton, MailFrame.backdrop, -6, -6) + + SkinTab(MailFrameTab1) + MailFrameTab1:ClearAllPoints() + MailFrameTab1:SetPoint("TOPLEFT", MailFrame.backdrop, "BOTTOMLEFT", bpad, -(border + (border == 1 and 1 or 2))) + SkinTab(MailFrameTab2) + MailFrameTab2:ClearAllPoints() + MailFrameTab2:SetPoint("LEFT", MailFrameTab1, "RIGHT", border*2 + 1, 0) + + do -- InboxFrame + InboxTitleText:ClearAllPoints() + InboxTitleText:SetPoint("TOP", MailFrame.backdrop, "TOP", 0, -10) + + for i = 1, INBOXITEMS_TO_DISPLAY do + StripTextures(_G["MailItem"..i]) + CreateBackdrop(_G["MailItem"..i], nil, true) + _G["MailItem"..i]:SetBackdropColor(.87,.68,.34) + + StripTextures(_G["MailItem"..i.."Button"]) + SkinButton(_G["MailItem"..i.."Button"], nil, nil, nil, _G["MailItem"..i.."ButtonIcon"]) + end + + SkinArrowButton(InboxPrevPageButton, "left", 18) + SkinArrowButton(InboxNextPageButton, "right", 18) + end + + do -- SendMailFrame + SendMailTitleText:ClearAllPoints() + SendMailTitleText:SetPoint("TOP", MailFrame.backdrop, "TOP", 0, -10) + + StripTextures(SendMailNameEditBox, nil, "BACKGROUND") + CreateBackdrop(SendMailNameEditBox, nil, true) + StripTextures(SendMailSubjectEditBox, nil, "BACKGROUND") + CreateBackdrop(SendMailSubjectEditBox, nil, true) + + SkinButton(SendMailCancelButton) + SkinButton(SendMailMailButton) + SendMailMailButton:ClearAllPoints() + SendMailMailButton:SetPoint("RIGHT", SendMailCancelButton, "LEFT", -2*bpad, 0) + + StripTextures(SendMailFrame) + StripTextures(SendMailScrollFrame) + SkinScrollbar(SendMailScrollFrameScrollBar) + SendMailBodyEditBox:SetMaxLetters(2000) + + SkinMoneyInputFrame(SendMailMoney) + end + + do -- OpenMailFrame + StripTextures(OpenMailFrame) + CreateBackdrop(OpenMailFrame, nil, nil, .75) + OpenMailFrame.backdrop:SetPoint("TOPLEFT", 10, -10) + OpenMailFrame.backdrop:SetPoint("BOTTOMRIGHT", -32, 72) + OpenMailFrame:SetHitRectInsets(10,32,10,72) + + SkinCloseButton(OpenMailCloseButton, OpenMailFrame.backdrop, -6, -6) + + OpenMailFrame:DisableDrawLayer("BACKGROUND") + + OpenMailTitleText:ClearAllPoints() + OpenMailTitleText:SetPoint("TOP", OpenMailFrame.backdrop, "TOP", 0, -10) + + SkinButton(OpenMailCancelButton) + SkinButton(OpenMailDeleteButton) + OpenMailDeleteButton:ClearAllPoints() + OpenMailDeleteButton:SetPoint("RIGHT", OpenMailCancelButton, "LEFT", -2*bpad, 0) + SkinButton(OpenMailReplyButton) + OpenMailReplyButton:ClearAllPoints() + OpenMailReplyButton:SetPoint("RIGHT", OpenMailDeleteButton, "LEFT", -2*bpad, 0) + + SkinButton(OpenMailMoneyButton, nil, nil, nil, OpenMailMoneyButtonIconTexture) + SkinButton(OpenMailPackageButton, nil, nil, nil, OpenMailPackageButtonIconTexture) + SkinButton(OpenMailLetterButton, nil, nil, nil, OpenMailLetterButtonIconTexture) + + StripTextures(OpenMailScrollFrame) + SkinScrollbar(OpenMailScrollFrameScrollBar) + end + + -- support for addon 'Mail' + if IsAddOnLoaded("Mail") then + for i = 1, 21 do + local button = _G["MailAttachment"..i] + StripTextures(button) + SkinButton(button) + + button.icon = button:CreateTexture(button:GetName().."Icon", "ARTWORK") + HandleIcon(button, button.icon) + button.SetNormalTexture = function(self, tex) + button.icon:SetTexture(tex) + end + end + SkinButton(GetNoNameObject(InboxFrame, "Button", nil, "UI--Panel--Button--Up", OPENMAIL)) + local button = GetNoNameObject(SendMailFrame, "Button", nil, "UI--Panel--Button--Up", SEND_LABEL) -- this is SendMailMailButton + SkinButton(button) -- hack! only it happened to do it + button:ClearAllPoints() + button:SetPoint("RIGHT", SendMailCancelButton, "LEFT", -2*bpad, 0) + + else + StripTextures(SendMailPackageButton) + SkinButton(SendMailPackageButton) + hooksecurefunc("SendMailFrame_Update", function() + HandleIcon(SendMailPackageButton, SendMailPackageButton:GetNormalTexture()) + end, 1) + end +end)