You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
237 lines
8.0 KiB
237 lines
8.0 KiB
|
3 years ago
|
local E, L, V, P, G = unpack(ElvUI)
|
||
|
|
local S = E:GetModule('Skins')
|
||
|
|
|
||
|
|
local _G = _G
|
||
|
|
local next, pairs, unpack = next, pairs, unpack
|
||
|
|
|
||
|
|
local CreateFrame = CreateFrame
|
||
|
|
local hooksecurefunc = hooksecurefunc
|
||
|
|
local C_GuildInfo_CanViewOfficerNote = C_GuildInfo.CanViewOfficerNote
|
||
|
|
|
||
|
|
function S:Blizzard_GuildUI()
|
||
|
|
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.guild) then return end
|
||
|
|
|
||
|
|
local GuildFrame = _G.GuildFrame
|
||
|
|
S:HandlePortraitFrame(GuildFrame)
|
||
|
|
S:HandleCloseButton(_G.GuildMemberDetailCloseButton)
|
||
|
|
|
||
|
|
local striptextures = {
|
||
|
|
'GuildFrameInset',
|
||
|
|
'GuildFrameBottomInset',
|
||
|
|
'GuildAllPerksFrame',
|
||
|
|
'GuildMemberDetailFrame',
|
||
|
|
'GuildMemberNoteBackground',
|
||
|
|
'GuildInfoFrameInfo',
|
||
|
|
'GuildLogFrame',
|
||
|
|
'GuildRewardsFrame',
|
||
|
|
'GuildMemberOfficerNoteBackground',
|
||
|
|
'GuildTextEditFrame',
|
||
|
|
'GuildNewsBossModel',
|
||
|
|
'GuildNewsBossModelTextFrame',
|
||
|
|
}
|
||
|
|
|
||
|
|
_G.GuildRewardsFrameVisitText:ClearAllPoints()
|
||
|
|
_G.GuildRewardsFrameVisitText:Point('TOP', _G.GuildRewardsFrame, 'TOP', 0, 30)
|
||
|
|
for _, frame in pairs(striptextures) do
|
||
|
|
_G[frame]:StripTextures()
|
||
|
|
end
|
||
|
|
|
||
|
|
_G.GuildNewsBossModel:SetTemplate('Transparent')
|
||
|
|
_G.GuildNewsBossModelTextFrame:CreateBackdrop()
|
||
|
|
_G.GuildNewsBossModelTextFrame.backdrop:Point('TOPLEFT', _G.GuildNewsBossModel.backdrop, 'BOTTOMLEFT', 0, -1)
|
||
|
|
_G.GuildNewsBossModel:Point('TOPLEFT', GuildFrame, 'TOPRIGHT', 4, -43)
|
||
|
|
|
||
|
|
local buttons = {
|
||
|
|
'GuildMemberRemoveButton',
|
||
|
|
'GuildMemberGroupInviteButton',
|
||
|
|
'GuildAddMemberButton',
|
||
|
|
'GuildViewLogButton',
|
||
|
|
'GuildControlButton',
|
||
|
|
'GuildTextEditFrameAcceptButton',
|
||
|
|
}
|
||
|
|
|
||
|
|
for i, button in pairs(buttons) do
|
||
|
|
if i == 1 then
|
||
|
|
S:HandleButton(_G[button])
|
||
|
|
else
|
||
|
|
S:HandleButton(_G[button], true)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
for i = 1, 5 do
|
||
|
|
S:HandleTab(_G['GuildFrameTab'..i])
|
||
|
|
end
|
||
|
|
|
||
|
|
S:HandleScrollBar(_G.GuildPerksContainerScrollBar)
|
||
|
|
|
||
|
|
local GuildFactionBar = _G.GuildFactionBar
|
||
|
|
GuildFactionBar:StripTextures()
|
||
|
|
GuildFactionBar.progress:SetTexture(E.media.normTex)
|
||
|
|
E:RegisterStatusBar(GuildFactionBar.progress)
|
||
|
|
GuildFactionBar:CreateBackdrop()
|
||
|
|
GuildFactionBar.backdrop:Point('TOPLEFT', GuildFactionBar.progress, 'TOPLEFT', -E.Border, E.Border)
|
||
|
|
GuildFactionBar.backdrop:Point('BOTTOMRIGHT', GuildFactionBar, 'BOTTOMRIGHT', E.Spacing, E.PixelMode and 1 or 0)
|
||
|
|
|
||
|
|
--Roster
|
||
|
|
S:HandleScrollBar(_G.GuildRosterContainerScrollBar)
|
||
|
|
S:HandleCheckBox(_G.GuildRosterShowOfflineButton)
|
||
|
|
|
||
|
|
for i = 1, 4 do
|
||
|
|
_G['GuildRosterColumnButton'..i]:StripTextures(true)
|
||
|
|
end
|
||
|
|
|
||
|
|
S:HandleDropDownBox(_G.GuildRosterViewDropdown, 200)
|
||
|
|
|
||
|
|
for i = 1, 14 do
|
||
|
|
local button = _G['GuildRosterContainerButton'..i]
|
||
|
|
local header = button and button.header
|
||
|
|
if header then
|
||
|
|
S:HandleButton(header, true)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
--Detail Frame
|
||
|
|
_G.GuildMemberDetailFrame:SetTemplate('Transparent')
|
||
|
|
_G.GuildMemberNoteBackground.NineSlice:SetTemplate('Transparent')
|
||
|
|
_G.GuildMemberOfficerNoteBackground.NineSlice:SetTemplate('Transparent')
|
||
|
|
_G.GuildMemberRankDropdown:SetFrameLevel(_G.GuildMemberRankDropdown:GetFrameLevel() + 5)
|
||
|
|
S:HandleDropDownBox(_G.GuildMemberRankDropdown, 175)
|
||
|
|
|
||
|
|
--Increase height of GuildMemberDetailFrame by changing global variables
|
||
|
|
local GuildMemberDetailFrame = _G.GuildMemberDetailFrame
|
||
|
|
local GuildMemberDetailName = _G.GuildMemberDetailName
|
||
|
|
local GuildMemberDetailRankLabel = _G.GuildMemberDetailRankLabel
|
||
|
|
hooksecurefunc(GuildMemberDetailFrame, 'SetHeight', function(_, _, breakLoop)
|
||
|
|
if breakLoop then return end
|
||
|
|
if C_GuildInfo_CanViewOfficerNote() then
|
||
|
|
GuildMemberDetailFrame:Height(_G.GUILD_DETAIL_OFFICER_HEIGHT + 50 + GuildMemberDetailName:GetHeight() + GuildMemberDetailRankLabel:GetHeight(), true)
|
||
|
|
else
|
||
|
|
GuildMemberDetailFrame:Height(_G.GUILD_DETAIL_NORM_HEIGHT + 50 + GuildMemberDetailName:GetHeight() + GuildMemberDetailRankLabel:GetHeight(), true)
|
||
|
|
end
|
||
|
|
end)
|
||
|
|
|
||
|
|
--News
|
||
|
|
_G.GuildNewsFrame:StripTextures()
|
||
|
|
for i = 1, 17 do
|
||
|
|
local button = _G['GuildNewsContainerButton'..i]
|
||
|
|
if button and button.header then
|
||
|
|
button.header:Kill()
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
_G.GuildNewsFiltersFrame:StripTextures()
|
||
|
|
_G.GuildNewsFiltersFrame:SetTemplate('Transparent')
|
||
|
|
S:HandleCloseButton(_G.GuildNewsFiltersFrameCloseButton)
|
||
|
|
|
||
|
|
for i = 1, #_G.GuildNewsFiltersFrame.GuildNewsFilterButtons do
|
||
|
|
S:HandleCheckBox(_G.GuildNewsFiltersFrame.GuildNewsFilterButtons[i])
|
||
|
|
end
|
||
|
|
|
||
|
|
_G.GuildNewsFiltersFrame:Point('TOPLEFT', GuildFrame, 'TOPRIGHT', 4, -20)
|
||
|
|
S:HandleScrollBar(_G.GuildNewsContainerScrollBar)
|
||
|
|
|
||
|
|
--Info Frame
|
||
|
|
S:HandleScrollBar(_G.GuildInfoDetailsFrameScrollBar)
|
||
|
|
S:HandleScrollBar(_G.GuildInfoFrameInfoMOTDScrollFrameScrollBar)
|
||
|
|
|
||
|
|
_G.GuildInfoFrameTab1:StripTextures()
|
||
|
|
_G.GuildInfoFrameTab1:SetTemplate('Transparent')
|
||
|
|
|
||
|
|
local GuildInfoFrameInfo = _G.GuildInfoFrameInfo
|
||
|
|
local backdrop1 = CreateFrame('Frame', nil, GuildInfoFrameInfo)
|
||
|
|
backdrop1:SetTemplate('Transparent')
|
||
|
|
backdrop1:SetFrameLevel(GuildInfoFrameInfo:GetFrameLevel() - 1)
|
||
|
|
backdrop1:Point('TOPLEFT', GuildInfoFrameInfo, 'TOPLEFT', 2, -22)
|
||
|
|
backdrop1:Point('BOTTOMRIGHT', GuildInfoFrameInfo, 'BOTTOMRIGHT', 0, 200)
|
||
|
|
|
||
|
|
local backdrop2 = CreateFrame('Frame', nil, GuildInfoFrameInfo)
|
||
|
|
backdrop2:SetTemplate('Transparent')
|
||
|
|
backdrop2:SetFrameLevel(GuildInfoFrameInfo:GetFrameLevel() - 1)
|
||
|
|
backdrop2:Point('TOPLEFT', GuildInfoFrameInfo, 'TOPLEFT', 2, -158)
|
||
|
|
backdrop2:Point('BOTTOMRIGHT', GuildInfoFrameInfo, 'BOTTOMRIGHT', 0, 118)
|
||
|
|
|
||
|
|
local backdrop3 = CreateFrame('Frame', nil, GuildInfoFrameInfo)
|
||
|
|
backdrop3:SetTemplate('Transparent')
|
||
|
|
backdrop3:SetFrameLevel(GuildInfoFrameInfo:GetFrameLevel() - 1)
|
||
|
|
backdrop3:Point('TOPLEFT', GuildInfoFrameInfo, 'TOPLEFT', 2, -233)
|
||
|
|
backdrop3:Point('BOTTOMRIGHT', GuildInfoFrameInfo, 'BOTTOMRIGHT', 0, 3)
|
||
|
|
|
||
|
|
--Text Edit Frame
|
||
|
|
_G.GuildTextEditFrame:SetTemplate('Transparent')
|
||
|
|
_G.GuildLogContainer.NineSlice:SetTemplate('Transparent')
|
||
|
|
_G.GuildTextEditContainer.NineSlice:SetTemplate('Transparent')
|
||
|
|
S:HandleScrollBar(_G.GuildTextEditScrollFrameScrollBar)
|
||
|
|
|
||
|
|
for _, child in next, { _G.GuildTextEditFrame:GetChildren() } do
|
||
|
|
local name = child:GetName()
|
||
|
|
if name == 'GuildTextEditFrameCloseButton' and child:GetWidth() < 33 then
|
||
|
|
S:HandleCloseButton(child)
|
||
|
|
elseif name == 'GuildTextEditFrameCloseButton' then
|
||
|
|
S:HandleButton(child, true)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
--Guild Log
|
||
|
|
local GuildLogFrame = _G.GuildLogFrame
|
||
|
|
S:HandleScrollBar(_G.GuildLogScrollFrameScrollBar)
|
||
|
|
GuildLogFrame:SetTemplate('Transparent')
|
||
|
|
|
||
|
|
--Blizzard has two buttons with the same name, this is a fucked up way of determining that it isn't the other button
|
||
|
|
for _, child in next, { GuildLogFrame:GetChildren() } do
|
||
|
|
local name = child:GetName()
|
||
|
|
if name == 'GuildLogFrameCloseButton' and child:GetWidth() < 33 then
|
||
|
|
S:HandleCloseButton(child)
|
||
|
|
elseif name == 'GuildLogFrameCloseButton' then
|
||
|
|
S:HandleButton(child, true)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
--Perks
|
||
|
|
for i = 1, 9 do
|
||
|
|
local button = _G['GuildPerksContainerButton'..i]
|
||
|
|
button:StripTextures()
|
||
|
|
button:SetTemplate('Transparent')
|
||
|
|
|
||
|
|
button.icon:SetTexCoord(unpack(E.TexCoords))
|
||
|
|
button.icon:Point('LEFT', 3, 0)
|
||
|
|
end
|
||
|
|
|
||
|
|
--Rewards
|
||
|
|
S:HandleScrollBar(_G.GuildRewardsContainerScrollBar)
|
||
|
|
|
||
|
|
for i = 1, 8 do
|
||
|
|
local button = _G['GuildRewardsContainerButton'..i]
|
||
|
|
button:StripTextures()
|
||
|
|
|
||
|
|
if button.icon then
|
||
|
|
button.icon:SetTexCoord(unpack(E.TexCoords))
|
||
|
|
button.icon:ClearAllPoints()
|
||
|
|
button.icon:Point('TOPLEFT', 2, -2)
|
||
|
|
button:CreateBackdrop()
|
||
|
|
button.backdrop:SetOutside(button.icon)
|
||
|
|
button.icon:SetParent(button.backdrop)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function S:GuildInviteFrame()
|
||
|
|
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.guild) then return end
|
||
|
|
|
||
|
|
local GuildInviteFrame = _G.GuildInviteFrame
|
||
|
|
GuildInviteFrame:StripTextures()
|
||
|
|
GuildInviteFrame:SetTemplate('Transparent')
|
||
|
|
GuildInviteFrame.Points:ClearAllPoints()
|
||
|
|
GuildInviteFrame.Points:Point('TOP', GuildInviteFrame, 'CENTER', 15, -25)
|
||
|
|
S:HandleButton(_G.GuildInviteFrameJoinButton)
|
||
|
|
S:HandleButton(_G.GuildInviteFrameDeclineButton)
|
||
|
|
GuildInviteFrame:Height(225)
|
||
|
|
GuildInviteFrame:HookScript('OnEvent', function()
|
||
|
|
GuildInviteFrame:Height(225)
|
||
|
|
end)
|
||
|
|
|
||
|
|
_G.GuildInviteFrameWarningText:Kill()
|
||
|
|
end
|
||
|
|
|
||
|
|
S:AddCallbackForAddon('Blizzard_GuildUI')
|
||
|
|
S:AddCallback('GuildInviteFrame')
|