287 changed files with 6461 additions and 12287 deletions
@ -1,16 +0,0 @@ |
|||
## Title: |cff1784d1ElvUI|r |cfd9b9b9bTBC|r |
|||
## Notes: User Interface Replacement |
|||
## Author: Elv, Simpy |
|||
## Version: 12.97 |
|||
## SavedVariables: ElvDB, ElvPrivateDB |
|||
## SavedVariablesPerCharacter: ElvCharacterDB |
|||
## OptionalDeps: SharedMedia, Tukui, Masque |
|||
## Interface: 20504 |
|||
## X-Interface: 20504 |
|||
## X-oUF: ElvUF |
|||
|
|||
TBC\Libs.xml |
|||
|
|||
Core\Load.xml |
|||
|
|||
TBC\Load.xml |
|||
File diff suppressed because it is too large
@ -1,3 +0,0 @@ |
|||
<Ui xmlns='http://www.blizzard.com/wow/ui/'> |
|||
<Script file='Filters.lua'/> |
|||
</Ui> |
|||
@ -1,40 +0,0 @@ |
|||
<Ui xmlns='http://www.blizzard.com/wow/ui/'> |
|||
<Script file='..\Libraries\Core\Ace\LibStub\LibStub.lua'/> |
|||
<Script file='..\Libraries\Core\Ace\CallbackHandler-1.0\CallbackHandler-1.0.lua'/> |
|||
|
|||
<Include file='..\Libraries\Core\Ace\AceAddon-3.0\AceAddon-3.0.xml'/> |
|||
<Include file='..\Libraries\Core\Ace\AceEvent-3.0\AceEvent-3.0.xml'/> |
|||
<Include file='..\Libraries\Core\Ace\AceConsole-3.0\AceConsole-3.0.xml'/> |
|||
<Include file='..\Libraries\Core\Ace\AceDB-3.0\AceDB-3.0.xml'/> |
|||
<Include file='..\Libraries\Core\Ace\AceLocale-3.0\AceLocale-3.0.xml'/> |
|||
<Include file='..\Libraries\Core\Ace\AceComm-3.0\AceComm-3.0.xml'/> |
|||
<Include file='..\Libraries\Core\Ace\AceSerializer-3.0\AceSerializer-3.0.xml'/> |
|||
<Include file='..\Libraries\Core\Ace\AceTimer-3.0\AceTimer-3.0.xml'/> |
|||
<Include file='..\Libraries\Core\Ace\AceHook-3.0\AceHook-3.0.xml'/> |
|||
|
|||
<Script file='..\Libraries\Core\LibCompress\LibCompress.lua'/> |
|||
<Script file='..\Libraries\Core\LibBase64-1.0\LibBase64-1.0.lua'/> |
|||
<Script file='..\Libraries\Core\LibSharedMedia-3.0\LibSharedMedia-3.0.lua'/> |
|||
<Include file='..\Libraries\Core\Taintless\Taintless.xml'/> |
|||
<Include file='..\Libraries\Core\UTF8\UTF8.xml'/> |
|||
|
|||
<Include file='..\Libraries\TBC\LibQuestXP\LibQuestXP.xml'/> |
|||
<Script file='..\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua'/> |
|||
<Script file='..\Libraries\TBC\LibClassicSpecs\LibClassicSpecs.lua'/> |
|||
|
|||
<Include file='..\Libraries\Core\LibItemSearch-1.2\LibItemSearch-1.2.xml'/> |
|||
<Include file='..\Libraries\Core\LibRangeCheck-2.0\LibRangeCheck-2.0.lua'/> |
|||
<Script file='..\Libraries\Core\LibAceConfigHelper\LibAceConfigHelper.lua'/> |
|||
<Script file='..\Libraries\Core\LibCustomGlow-1.0\LibCustomGlow-1.0.lua'/> |
|||
<Script file='..\Libraries\Core\LibActionButton-1.0\LibActionButton-1.0.lua'/> |
|||
<Script file='..\Libraries\Core\LibDataBroker\LibDataBroker-1.1.lua'/> |
|||
<Script file='..\Libraries\Core\LibDualSpec-1.0\LibDualSpec-1.0.lua'/> |
|||
<Script file='..\Libraries\Core\LibElvUIPlugin-1.0\LibElvUIPlugin-1.0.lua'/> |
|||
<Script file='..\Libraries\Core\LibSimpleSticky\LibSimpleSticky.lua'/> |
|||
<Script file='..\Libraries\Core\LibTranslit-1.0\LibTranslit-1.0.lua'/> |
|||
<Script file='..\Libraries\Core\LibAnim\LibAnim.lua'/> |
|||
|
|||
<Script file='..\Libraries\Core\LibDispel\LibDispel.lua'/> <!-- keep over oUF --> |
|||
<Include file='..\Libraries\Core\oUF\oUF_TBC.xml'/> |
|||
<Include file='..\Libraries\Core\oUF_Plugins\oUF_Plugins.xml'/> |
|||
</Ui> |
|||
@ -1,4 +0,0 @@ |
|||
<Ui xmlns='http://www.blizzard.com/wow/ui/'> |
|||
<Include file='Modules\Load_Modules.xml'/> |
|||
<Include file='Filters\Load_Filters.xml'/> |
|||
</Ui> |
|||
@ -1,3 +0,0 @@ |
|||
<Ui xmlns='http://www.blizzard.com/wow/ui/'> |
|||
<Script file='..\..\..\Core\Modules\Blizzard\QuestWatch.lua'/> |
|||
</Ui> |
|||
@ -1,3 +0,0 @@ |
|||
<Ui xmlns='http://www.blizzard.com/wow/ui/'> |
|||
<Script file='..\..\..\Core\Modules\DataBars\PetExperience.lua'/> |
|||
</Ui> |
|||
@ -1,11 +0,0 @@ |
|||
<Ui xmlns='http://www.blizzard.com/wow/ui/'> |
|||
<Script file='..\..\..\Core\Modules\DataTexts\Ammo.lua'/> |
|||
<Script file='..\..\..\Core\Modules\DataTexts\Avoidance.lua'/> |
|||
<Script file='..\..\..\Core\Modules\DataTexts\HealPower.lua'/> |
|||
<Script file='..\..\..\Core\Modules\DataTexts\Hit.lua'/> |
|||
<Script file='..\..\..\Core\Modules\DataTexts\Speed.lua'/> |
|||
<Script file='..\..\..\Core\Modules\DataTexts\SpellCrit.lua'/> |
|||
<Script file='..\..\..\Core\Modules\DataTexts\SpellHit.lua'/> |
|||
<Script file='..\..\..\Core\Modules\DataTexts\SpellHaste.lua'/> |
|||
<Script file='..\..\..\Core\Modules\DataTexts\SpellPower.lua'/> |
|||
</Ui> |
|||
@ -1,7 +0,0 @@ |
|||
<Ui xmlns='http://www.blizzard.com/wow/ui/'> |
|||
<Include file='Blizzard\Load_Blizzard.xml'/> |
|||
<Include file='DataTexts\Load_DataTexts.xml'/> |
|||
<Include file='DataBars\Load_DataBars.xml'/> |
|||
<Include file='Misc\Load_Misc.xml'/> |
|||
<Include file='Skins\Load_Skins.xml'/> |
|||
</Ui> |
|||
@ -1,3 +0,0 @@ |
|||
<Ui xmlns='http://www.blizzard.com/wow/ui/'> |
|||
<Script file='..\..\..\Core\Modules\Misc\TotemTracker.lua'/> |
|||
</Ui> |
|||
@ -1,102 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local gsub = gsub |
|||
local GetNumAddOns = GetNumAddOns |
|||
local GetAddOnInfo = GetAddOnInfo |
|||
local GetAddOnEnableState = GetAddOnEnableState |
|||
local UIDropDownMenu_GetSelectedValue = UIDropDownMenu_GetSelectedValue |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:AddonList() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.addonManager) then return end |
|||
|
|||
local AddonList = _G.AddonList |
|||
local maxShown = _G.MAX_ADDONS_DISPLAYED |
|||
local AddonCharacterDropDown = _G.AddonCharacterDropDown |
|||
|
|||
S:HandleFrame(AddonList, true) |
|||
S:HandleButton(AddonList.EnableAllButton, true) |
|||
S:HandleButton(AddonList.DisableAllButton, true) |
|||
S:HandleButton(AddonList.OkayButton, true) |
|||
S:HandleButton(AddonList.CancelButton, true) |
|||
S:HandleDropDownBox(AddonCharacterDropDown, 165) |
|||
S:HandleScrollBar(_G.AddonListScrollFrameScrollBar) |
|||
S:HandleCheckBox(_G.AddonListForceLoad) |
|||
|
|||
_G.AddonListForceLoad:Size(26, 26) |
|||
|
|||
S:HandleFrame(_G.AddonListScrollFrame, true, nil, -14, 0, 0, -1) |
|||
|
|||
for i = 1, maxShown do |
|||
S:HandleCheckBox(_G['AddonListEntry'..i..'Enabled'], nil, nil, true) |
|||
S:HandleButton(_G['AddonListEntry'..i].LoadAddonButton) |
|||
end |
|||
|
|||
local font = E.Libs.LSM:Fetch('font', 'Expressway') |
|||
hooksecurefunc('AddonList_Update', function() |
|||
local numEntrys = GetNumAddOns() |
|||
for i = 1, maxShown do |
|||
local index = AddonList.offset + i |
|||
if index <= numEntrys then |
|||
local entry = _G['AddonListEntry'..i] |
|||
local string = _G['AddonListEntry'..i..'Title'] |
|||
local checkbox = _G['AddonListEntry'..i..'Enabled'] |
|||
local name, title, _, loadable, reason = GetAddOnInfo(index) |
|||
|
|||
-- Get the character from the current list (nil is all characters) |
|||
local checkall |
|||
local character = UIDropDownMenu_GetSelectedValue(AddonCharacterDropDown) |
|||
if character == true then |
|||
character = nil |
|||
else |
|||
checkall = GetAddOnEnableState(nil, index) |
|||
end |
|||
|
|||
local checkstate = GetAddOnEnableState(character, index) |
|||
local enabled = checkstate > 0 |
|||
|
|||
string:FontTemplate(font, 13, 'NONE') |
|||
entry.Status:FontTemplate(font, 11, 'NONE') |
|||
entry.Reload:FontTemplate(font, 11, 'NONE') |
|||
entry.Reload:SetTextColor(1.0, 0.3, 0.3) |
|||
entry.LoadAddonButton.Text:FontTemplate(font, 11, 'NONE') |
|||
|
|||
local enabledForSome = not character and checkstate == 1 |
|||
local disabled = not enabled or enabledForSome |
|||
|
|||
if disabled then |
|||
entry.Status:SetTextColor(0.4, 0.4, 0.4) |
|||
else |
|||
entry.Status:SetTextColor(0.7, 0.7, 0.7) |
|||
end |
|||
|
|||
if disabled or reason == 'DEP_DISABLED' then |
|||
string:SetText(gsub(title or name, '|c%x%x%x%x%x%x%x%x(.-)|?r?','%1')) |
|||
end |
|||
|
|||
if enabledForSome then |
|||
string:SetTextColor(0.5, 0.5, 0.5) |
|||
elseif enabled and (loadable or reason == 'DEP_DEMAND_LOADED' or reason == 'DEMAND_LOADED') then |
|||
string:SetTextColor(0.9, 0.9, 0.9) |
|||
elseif enabled and reason ~= 'DEP_DISABLED' then |
|||
string:SetTextColor(1.0, 0.2, 0.2) |
|||
else |
|||
string:SetTextColor(0.3, 0.3, 0.3) |
|||
end |
|||
|
|||
local checktex = checkbox:GetCheckedTexture() |
|||
if not enabled and checkall == 1 then |
|||
checktex:SetVertexColor(0.3, 0.3, 0.3) |
|||
checktex:SetDesaturated(false) |
|||
checktex:Show() |
|||
elseif checkstate == 0 then |
|||
checktex:Hide() |
|||
end |
|||
end |
|||
end |
|||
end) |
|||
end |
|||
|
|||
S:AddCallback('AddonList') |
|||
@ -1,27 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
function S:SkinArena() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.arena) then return end |
|||
|
|||
local ArenaFrame = _G.ArenaFrame |
|||
ArenaFrame:StripTextures(true) |
|||
ArenaFrame:CreateBackdrop('Transparent') |
|||
ArenaFrame.backdrop:Point('TOPLEFT', 10, -12) |
|||
ArenaFrame.backdrop:Point('BOTTOMRIGHT', -32, 73) |
|||
|
|||
S:HandleButton(_G.ArenaFrameCancelButton) |
|||
S:HandleButton(_G.ArenaFrameJoinButton) |
|||
S:HandleButton(_G.ArenaFrameGroupJoinButton) |
|||
|
|||
_G.ArenaFrameZoneDescription:SetTextColor(1, 1, 1) |
|||
|
|||
_G.ArenaFrameNameHeader:Point('TOPLEFT', _G.ArenaZone1, 'TOPLEFT', 8, 24) |
|||
_G.ArenaFrameGroupJoinButton:Point('RIGHT', _G.ArenaFrameJoinButton, 'LEFT', -2, 0) |
|||
|
|||
S:HandleCloseButton(_G.ArenaFrameCloseButton) |
|||
end |
|||
|
|||
S:AddCallback('SkinArena') |
|||
@ -1,85 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local select = select |
|||
|
|||
local MAX_TEAM_BORDERS = MAX_TEAM_BORDERS |
|||
|
|||
function S:SkinArenaRegistrar() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.arenaRegistrar) then return end |
|||
|
|||
local ArenaRegistrarFrame = _G.ArenaRegistrarFrame |
|||
ArenaRegistrarFrame:CreateBackdrop('Transparent') |
|||
ArenaRegistrarFrame.backdrop:Point('TOPLEFT', 14, -18) |
|||
ArenaRegistrarFrame.backdrop:Point('BOTTOMRIGHT', -30, 67) |
|||
|
|||
ArenaRegistrarFrame:StripTextures(true) |
|||
|
|||
local ArenaRegistrarFrameCloseButton = _G.ArenaRegistrarFrameCloseButton |
|||
S:HandleCloseButton(ArenaRegistrarFrameCloseButton) |
|||
|
|||
local ArenaRegistrarGreetingFrame = _G.ArenaRegistrarGreetingFrame |
|||
ArenaRegistrarGreetingFrame:StripTextures() |
|||
|
|||
select(1, ArenaRegistrarGreetingFrame:GetRegions()):SetTextColor(1, 0.80, 0.10) |
|||
_G.RegistrationText:SetTextColor(1, 0.80, 0.10) |
|||
|
|||
local ArenaRegistrarFrameGoodbyeButton = _G.ArenaRegistrarFrameGoodbyeButton |
|||
S:HandleButton(ArenaRegistrarFrameGoodbyeButton) |
|||
|
|||
for i = 1, MAX_TEAM_BORDERS do |
|||
local button = _G['ArenaRegistrarButton'..i] |
|||
local obj = select(3, button:GetRegions()) |
|||
|
|||
S:HandleButtonHighlight(button) |
|||
|
|||
obj:SetTextColor(1, 1, 1) |
|||
end |
|||
|
|||
_G.ArenaRegistrarPurchaseText:SetTextColor(1, 1, 1) |
|||
|
|||
S:HandleButton(_G.ArenaRegistrarFrameCancelButton) |
|||
S:HandleButton(_G.ArenaRegistrarFramePurchaseButton) |
|||
|
|||
S:HandleEditBox(_G.ArenaRegistrarFrameEditBox) |
|||
_G.ArenaRegistrarFrameEditBox:Height(18) |
|||
|
|||
local PVPBannerFrame = _G.PVPBannerFrame |
|||
PVPBannerFrame:CreateBackdrop('Transparent') |
|||
PVPBannerFrame.backdrop:Point('TOPLEFT', 10, -12) |
|||
PVPBannerFrame.backdrop:Point('BOTTOMRIGHT', -33, 73) |
|||
|
|||
PVPBannerFrame:StripTextures() |
|||
|
|||
_G.PVPBannerFramePortrait:Kill() |
|||
_G.PVPBannerFrameCustomizationFrame:StripTextures() |
|||
|
|||
for i = 1, 2 do |
|||
local customization = _G['PVPBannerFrameCustomization'..i] |
|||
local customizationLeft = _G['PVPBannerFrameCustomization'..i..'LeftButton'] |
|||
local customizationRight = _G['PVPBannerFrameCustomization'..i..'RightButton'] |
|||
|
|||
customization:StripTextures() |
|||
S:HandleNextPrevButton(customizationLeft) |
|||
S:HandleNextPrevButton(customizationRight) |
|||
end |
|||
|
|||
for i = 1, 3 do |
|||
local pickerButton = _G['PVPColorPickerButton'..i] |
|||
S:HandleButton(pickerButton) |
|||
|
|||
if i == 2 then |
|||
pickerButton:Point('TOP', _G.PVPBannerFrameCustomization2, 'BOTTOM', 0, -33) |
|||
elseif i == 3 then |
|||
pickerButton:Point('TOP', _G.PVPBannerFrameCustomization2, 'BOTTOM', 0, -59) |
|||
end |
|||
end |
|||
|
|||
S:HandleButton(_G.PVPBannerFrameAcceptButton) |
|||
S:HandleButton(_G.PVPBannerFrameCancelButton) |
|||
S:HandleButton(select(4, PVPBannerFrame:GetChildren())) |
|||
S:HandleCloseButton(_G.PVPBannerFrameCloseButton) |
|||
end |
|||
|
|||
S:AddCallback('SkinArenaRegistrar') |
|||
@ -1,292 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local pairs, unpack = pairs, unpack |
|||
|
|||
local hooksecurefunc = hooksecurefunc |
|||
local GetAuctionSellItemInfo = GetAuctionSellItemInfo |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local CreateFrame = CreateFrame |
|||
|
|||
function S:Blizzard_AuctionUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.auctionhouse) then return end |
|||
|
|||
local AuctionFrame = _G.AuctionFrame |
|||
AuctionFrame:StripTextures(true) |
|||
S:HandleFrame(AuctionFrame, true, nil, 10) |
|||
|
|||
local Buttons = { |
|||
_G.BrowseSearchButton, |
|||
_G.BrowseBidButton, |
|||
_G.BrowseBuyoutButton, |
|||
_G.BrowseCloseButton, |
|||
_G.BrowseResetButton, |
|||
_G.BidBidButton, |
|||
_G.BidBuyoutButton, |
|||
_G.BidCloseButton, |
|||
_G.AuctionsCreateAuctionButton, |
|||
_G.AuctionsCancelAuctionButton, |
|||
_G.AuctionsStackSizeMaxButton, |
|||
_G.AuctionsNumStacksMaxButton, |
|||
_G.AuctionsCloseButton |
|||
} |
|||
|
|||
local CheckBoxes = { |
|||
_G.IsUsableCheckButton, |
|||
_G.ShowOnPlayerCheckButton |
|||
} |
|||
|
|||
local EditBoxes = { |
|||
_G.BrowseName, |
|||
_G.BrowseMinLevel, |
|||
_G.BrowseMaxLevel, |
|||
_G.BrowseBidPriceGold, |
|||
_G.BrowseBidPriceSilver, |
|||
_G.BrowseBidPriceCopper, |
|||
_G.BidBidPriceGold, |
|||
_G.BidBidPriceSilver, |
|||
_G.BidBidPriceCopper, |
|||
_G.AuctionsStackSizeEntry, |
|||
_G.AuctionsNumStacksEntry, |
|||
_G.StartPriceGold, |
|||
_G.StartPriceSilver, |
|||
_G.StartPriceCopper, |
|||
_G.BuyoutPriceGold, |
|||
_G.BuyoutPriceCopper, |
|||
_G.BuyoutPriceSilver |
|||
} |
|||
|
|||
local SortTabs = { |
|||
_G.BrowseQualitySort, |
|||
_G.BrowseLevelSort, |
|||
_G.BrowseDurationSort, |
|||
_G.BrowseHighBidderSort, |
|||
_G.BrowseCurrentBidSort, |
|||
_G.BidQualitySort, |
|||
_G.BidLevelSort, |
|||
_G.BidDurationSort, |
|||
_G.BidBuyoutSort, |
|||
_G.BidStatusSort, |
|||
_G.BidBidSort, |
|||
_G.AuctionsQualitySort, |
|||
_G.AuctionsDurationSort, |
|||
_G.AuctionsHighBidderSort, |
|||
_G.AuctionsBidSort, |
|||
} |
|||
|
|||
for _, Button in pairs(Buttons) do |
|||
S:HandleButton(Button, true) |
|||
end |
|||
|
|||
for _, CheckBox in pairs(CheckBoxes) do |
|||
S:HandleCheckBox(CheckBox) |
|||
end |
|||
|
|||
for _, EditBox in pairs(EditBoxes) do |
|||
S:HandleEditBox(EditBox) |
|||
EditBox:SetTextInsets(1, 1, -1, 1) |
|||
end |
|||
|
|||
for i = 1, AuctionFrame.numTabs do |
|||
local tab = _G['AuctionFrameTab'..i] |
|||
|
|||
S:HandleTab(tab) |
|||
|
|||
if i == 1 then |
|||
tab:ClearAllPoints() |
|||
tab:Point('BOTTOMLEFT', AuctionFrame, 'BOTTOMLEFT', 20, -30) |
|||
tab.SetPoint = E.noop |
|||
end |
|||
end |
|||
|
|||
for _, Tab in pairs(SortTabs) do |
|||
Tab:StripTextures() |
|||
Tab:SetNormalTexture([[Interface\Buttons\UI-SortArrow]]) |
|||
Tab:StyleButton() |
|||
end |
|||
|
|||
for _, Filter in pairs(_G.AuctionFrameBrowse.FilterButtons) do |
|||
Filter:StripTextures() |
|||
Filter:StyleButton() |
|||
|
|||
Filter = Filter:GetName() |
|||
_G[Filter..'Lines']:SetAlpha(0) |
|||
_G[Filter..'Lines'].SetAlpha = E.noop |
|||
_G[Filter..'NormalTexture']:SetAlpha(0) |
|||
_G[Filter..'NormalTexture'].SetAlpha = E.noop |
|||
end |
|||
|
|||
_G.BrowseLevelHyphen:Point('RIGHT', 13, 0) |
|||
|
|||
S:HandleCloseButton(_G.AuctionFrameCloseButton, AuctionFrame.backdrop) |
|||
|
|||
_G.AuctionFrameMoneyFrame:Point('BOTTOMRIGHT', AuctionFrame, 'BOTTOMLEFT', 181, 11) |
|||
|
|||
-- Browse Frame |
|||
_G.BrowseTitle:ClearAllPoints() |
|||
_G.BrowseTitle:Point('TOP', AuctionFrame, 'TOP', 0, -5) |
|||
|
|||
_G.BrowseScrollFrame:StripTextures() |
|||
|
|||
_G.BrowseFilterScrollFrame:StripTextures() |
|||
|
|||
_G.BrowseBidText:ClearAllPoints() |
|||
_G.BrowseBidText:Point('RIGHT', _G.BrowseBidButton, 'LEFT', -270, 2) |
|||
|
|||
_G.BrowseCloseButton:Point('BOTTOMRIGHT', 66, 6) |
|||
_G.BrowseBuyoutButton:Point('RIGHT', _G.BrowseCloseButton, 'LEFT', -4, 0) |
|||
_G.BrowseBidButton:Point('RIGHT', _G.BrowseBuyoutButton, 'LEFT', -4, 0) |
|||
|
|||
_G.BrowseBidPrice:Point('BOTTOM', 25, 10) |
|||
|
|||
S:HandleScrollBar(_G.BrowseFilterScrollFrameScrollBar) |
|||
S:HandleScrollBar(_G.BrowseScrollFrameScrollBar) |
|||
S:HandleNextPrevButton(_G.BrowsePrevPageButton, nil, nil, true) |
|||
S:HandleNextPrevButton(_G.BrowseNextPageButton, nil, nil, true) |
|||
|
|||
-- Bid Frame |
|||
_G.BidTitle:ClearAllPoints() |
|||
_G.BidTitle:Point('TOP', _G.AuctionFrame, 'TOP', 0, -5) |
|||
|
|||
_G.BidScrollFrame:StripTextures() |
|||
|
|||
_G.BidBidText:ClearAllPoints() |
|||
_G.BidBidText:Point('RIGHT', _G.BidBidButton, 'LEFT', -270, 2) |
|||
|
|||
_G.BidCloseButton:Point('BOTTOMRIGHT', 66, 6) |
|||
_G.BidBuyoutButton:Point('RIGHT', _G.BidCloseButton, 'LEFT', -4, 0) |
|||
_G.BidBidButton:Point('RIGHT', _G.BidBuyoutButton, 'LEFT', -4, 0) |
|||
|
|||
_G.BidBidPrice:Point('BOTTOM', 25, 10) |
|||
|
|||
S:HandleScrollBar(_G.BidScrollFrameScrollBar) |
|||
_G.BidScrollFrameScrollBar:ClearAllPoints() |
|||
_G.BidScrollFrameScrollBar:Point('TOPRIGHT', _G.BidScrollFrame, 'TOPRIGHT', 23, -18) |
|||
_G.BidScrollFrameScrollBar:Point('BOTTOMRIGHT', _G.BidScrollFrame, 'BOTTOMRIGHT', 0, 16) |
|||
|
|||
--Auctions Frame |
|||
_G.AuctionsTitle:ClearAllPoints() |
|||
_G.AuctionsTitle:Point('TOP', AuctionFrame, 'TOP', 0, -5) |
|||
|
|||
_G.AuctionsScrollFrame:StripTextures() |
|||
|
|||
S:HandleScrollBar(_G.AuctionsScrollFrameScrollBar) |
|||
_G.AuctionsScrollFrameScrollBar:ClearAllPoints() |
|||
_G.AuctionsScrollFrameScrollBar:Point('TOPRIGHT', _G.AuctionsScrollFrame, 'TOPRIGHT', 23, -20) |
|||
_G.AuctionsScrollFrameScrollBar:Point('BOTTOMRIGHT', _G.AuctionsScrollFrame, 'BOTTOMRIGHT', 0, 18) |
|||
|
|||
_G.AuctionsCloseButton:Point('BOTTOMRIGHT', 66, 6) |
|||
_G.AuctionsCancelAuctionButton:Point('RIGHT', _G.AuctionsCloseButton, 'LEFT', -4, 0) |
|||
|
|||
_G.AuctionsStackSizeEntry.backdrop:SetAllPoints() |
|||
_G.AuctionsNumStacksEntry.backdrop:SetAllPoints() |
|||
|
|||
_G.AuctionsItemButton:StripTextures() |
|||
_G.AuctionsItemButton:SetTemplate(nil, true) |
|||
_G.AuctionsItemButton:StyleButton() |
|||
|
|||
_G.AuctionsItemButton:HookScript('OnEvent', function(button, event) |
|||
local normal = event == 'NEW_AUCTION_UPDATE' and button:GetNormalTexture() |
|||
if normal then |
|||
normal:SetTexCoord(unpack(E.TexCoords)) |
|||
normal:SetInside() |
|||
|
|||
local _, _, _, quality = GetAuctionSellItemInfo() |
|||
if quality and quality > 1 then |
|||
button:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end) |
|||
|
|||
S:HandleRadioButton(_G.AuctionsShortAuctionButton) |
|||
S:HandleRadioButton(_G.AuctionsMediumAuctionButton) |
|||
S:HandleRadioButton(_G.AuctionsLongAuctionButton) |
|||
|
|||
S:HandleDropDownBox(_G.BrowseDropDown, 155) |
|||
S:HandleDropDownBox(_G.PriceDropDown) |
|||
|
|||
-- Progress Frame |
|||
_G.AuctionProgressFrame:StripTextures() |
|||
_G.AuctionProgressFrame:SetTemplate('Transparent') |
|||
|
|||
local AuctionProgressFrameCancelButton = _G.AuctionProgressFrameCancelButton |
|||
S:HandleButton(AuctionProgressFrameCancelButton) |
|||
AuctionProgressFrameCancelButton:SetHitRectInsets(0, 0, 0, 0) |
|||
AuctionProgressFrameCancelButton:GetNormalTexture():SetTexture(E.Media.Textures.Close) |
|||
AuctionProgressFrameCancelButton:GetNormalTexture():SetInside() |
|||
AuctionProgressFrameCancelButton:Size(28) |
|||
AuctionProgressFrameCancelButton:Point('LEFT', _G.AuctionProgressBar, 'RIGHT', 8, 0) |
|||
|
|||
for Frame, NumButtons in pairs({['Browse'] = _G.NUM_BROWSE_TO_DISPLAY, ['Auctions'] = _G.NUM_AUCTIONS_TO_DISPLAY, ['Bid'] = _G.NUM_BIDS_TO_DISPLAY}) do |
|||
for i = 1, NumButtons do |
|||
local Button = _G[Frame..'Button'..i] |
|||
local ItemButton = _G[Frame..'Button'..i..'Item'] |
|||
local Texture = _G[Frame..'Button'..i..'ItemIconTexture'] |
|||
local Name = _G[Frame..'Button'..i..'Name'] |
|||
|
|||
ItemButton:SetTemplate() |
|||
ItemButton:StyleButton() |
|||
ItemButton.IconBorder:SetAlpha(0) |
|||
|
|||
Button:StripTextures() |
|||
Button:SetHighlightTexture(E.media.blankTex) |
|||
Button:GetHighlightTexture():SetVertexColor(1, 1, 1, .2) |
|||
|
|||
ItemButton:GetNormalTexture():SetTexture() |
|||
Button:GetHighlightTexture():Point('TOPLEFT', ItemButton, 'TOPRIGHT', 2, 0) |
|||
Button:GetHighlightTexture():Point('BOTTOMRIGHT', Button, 'BOTTOMRIGHT', -2, 5) |
|||
|
|||
S:HandleIcon(Texture) |
|||
Texture:SetInside() |
|||
|
|||
if Name then |
|||
hooksecurefunc(Name, 'SetVertexColor', function(_, r, g, b) |
|||
if not (r == g) then |
|||
ItemButton:SetBackdropBorderColor(r, g, b) |
|||
else |
|||
ItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc(Name, 'Hide', function() ItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor)) end) |
|||
end |
|||
end |
|||
end |
|||
|
|||
-- Custom Backdrops |
|||
for _, Frame in pairs({_G.AuctionFrameBrowse, _G.AuctionFrameAuctions}) do |
|||
Frame.LeftBackground = CreateFrame('Frame', nil, Frame) |
|||
Frame.LeftBackground:SetTemplate('Transparent') |
|||
Frame.LeftBackground:SetFrameLevel(Frame:GetFrameLevel() - 1) |
|||
|
|||
Frame.RightBackground = CreateFrame('Frame', nil, Frame) |
|||
Frame.RightBackground:SetTemplate('Transparent') |
|||
Frame.RightBackground:SetFrameLevel(Frame:GetFrameLevel() - 1) |
|||
end |
|||
|
|||
local AuctionFrameAuctions = _G.AuctionFrameAuctions |
|||
AuctionFrameAuctions.LeftBackground:Point('TOPLEFT', 15, -72) |
|||
AuctionFrameAuctions.LeftBackground:Point('BOTTOMRIGHT', -545, 34) |
|||
|
|||
AuctionFrameAuctions.RightBackground:Point('TOPLEFT', AuctionFrameAuctions.LeftBackground, 'TOPRIGHT', 3, 0) |
|||
AuctionFrameAuctions.RightBackground:Point('BOTTOMRIGHT', AuctionFrame, -8, 34) |
|||
|
|||
local AuctionFrameBrowse = _G.AuctionFrameBrowse |
|||
AuctionFrameBrowse.LeftBackground:Point('TOPLEFT', 20, -103) |
|||
AuctionFrameBrowse.LeftBackground:Point('BOTTOMRIGHT', -575, 34) |
|||
|
|||
AuctionFrameBrowse.RightBackground:Point('TOPLEFT', AuctionFrameBrowse.LeftBackground, 'TOPRIGHT', 4, 0) |
|||
AuctionFrameBrowse.RightBackground:Point('BOTTOMRIGHT', AuctionFrame, 'BOTTOMRIGHT', -8, 34) |
|||
|
|||
local AuctionFrameBid = _G.AuctionFrameBid |
|||
AuctionFrameBid.Background = CreateFrame('Frame', nil, AuctionFrameBid) |
|||
S:HandleFrame(AuctionFrameBid.Background, true, nil, 22, -72, 66, 34) |
|||
AuctionFrameBid.Background:SetFrameLevel(AuctionFrameBid:GetFrameLevel() - 1) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_AuctionUI') |
|||
@ -1,94 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local function GetOpacity() |
|||
return 1 - (_G.BattlefieldMapOptions and _G.BattlefieldMapOptions.opacity or 1) |
|||
end |
|||
|
|||
local function InitializeOptionsDropDown() |
|||
_G.BattlefieldMapTab:InitializeOptionsDropDown() |
|||
end |
|||
|
|||
local function setBackdropAlpha() |
|||
if _G.BattlefieldMapFrame.backdrop then |
|||
_G.BattlefieldMapFrame.backdrop:SetBackdropColor(0, 0, 0, GetOpacity()) |
|||
end |
|||
end |
|||
|
|||
-- alpha stuff |
|||
local oldAlpha = 0 |
|||
local function setOldAlpha() |
|||
if oldAlpha then |
|||
_G.BattlefieldMapFrame:SetGlobalAlpha(oldAlpha) |
|||
oldAlpha = nil |
|||
end |
|||
end |
|||
|
|||
local function setRealAlpha() |
|||
oldAlpha = GetOpacity() |
|||
_G.BattlefieldMapFrame:SetGlobalAlpha(1) |
|||
end |
|||
|
|||
local function refreshAlpha() |
|||
oldAlpha = GetOpacity() |
|||
end |
|||
|
|||
function S:Blizzard_BattlefieldMap() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.bgmap) then return end |
|||
|
|||
local BattlefieldMapFrame = _G.BattlefieldMapFrame |
|||
local BattlefieldMapTab = _G.BattlefieldMapTab |
|||
|
|||
S:HandleFrame(BattlefieldMapFrame, true) |
|||
|
|||
refreshAlpha() -- will need this soon |
|||
BattlefieldMapFrame:SetClampedToScreen(true) |
|||
BattlefieldMapFrame:SetFrameStrata('LOW') |
|||
BattlefieldMapFrame.backdrop:SetOutside(BattlefieldMapFrame.ScrollContainer) |
|||
BattlefieldMapFrame.backdrop:SetBackdropColor(0, 0, 0, oldAlpha) |
|||
|
|||
BattlefieldMapFrame:EnableMouse(true) |
|||
BattlefieldMapFrame:SetMovable(true) |
|||
|
|||
BattlefieldMapFrame.BorderFrame:StripTextures() |
|||
BattlefieldMapFrame.BorderFrame.CloseButton:SetFrameLevel(BattlefieldMapFrame.BorderFrame.CloseButton:GetFrameLevel()+1) |
|||
S:HandleCloseButton(BattlefieldMapFrame.BorderFrame.CloseButton) |
|||
BattlefieldMapTab:Kill() |
|||
|
|||
BattlefieldMapFrame.ScrollContainer:HookScript('OnMouseUp', function(_, btn) |
|||
if btn == 'LeftButton' then |
|||
BattlefieldMapTab:StopMovingOrSizing() |
|||
if not _G.BattlefieldMapOptions.position then _G.BattlefieldMapOptions.position = {} end |
|||
_G.BattlefieldMapOptions.position.x, _G.BattlefieldMapOptions.position.y = BattlefieldMapTab:GetCenter() |
|||
elseif btn == 'RightButton' then |
|||
_G.UIDropDownMenu_Initialize(BattlefieldMapTab.OptionsDropDown, InitializeOptionsDropDown, 'MENU') |
|||
_G.ToggleDropDownMenu(1, nil, BattlefieldMapTab.OptionsDropDown, BattlefieldMapFrame:GetName(), 0, -4) |
|||
end |
|||
|
|||
if _G.OpacityFrame:IsShown() then |
|||
_G.OpacityFrame:Hide() |
|||
end |
|||
end) |
|||
|
|||
BattlefieldMapFrame.ScrollContainer:HookScript('OnMouseDown', function(_, btn) |
|||
if btn == 'LeftButton' and (_G.BattlefieldMapOptions and not _G.BattlefieldMapOptions.locked) then |
|||
BattlefieldMapTab:StartMoving() |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc(BattlefieldMapFrame, 'SetGlobalAlpha', setBackdropAlpha) |
|||
hooksecurefunc(BattlefieldMapFrame, 'RefreshAlpha', refreshAlpha) |
|||
|
|||
BattlefieldMapFrame:HookScript('OnShow', setBackdropAlpha) |
|||
BattlefieldMapFrame.ScrollContainer:HookScript('OnLeave', setOldAlpha) |
|||
BattlefieldMapFrame.ScrollContainer:HookScript('OnEnter', setRealAlpha) |
|||
BattlefieldMapFrame.BorderFrame.CloseButton:HookScript('OnLeave', setOldAlpha) |
|||
BattlefieldMapFrame.BorderFrame.CloseButton:HookScript('OnEnter', setRealAlpha) |
|||
|
|||
S:HandleSliderFrame(_G.OpacityFrameSlider) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_BattlefieldMap') |
|||
@ -1,36 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
function S:SkinWorldStateScore() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.bgscore) then return end |
|||
|
|||
local WorldStateScoreFrame = _G.WorldStateScoreFrame |
|||
S:HandleFrame(WorldStateScoreFrame, true, nil, 0, -5, -70, 25) |
|||
|
|||
_G.WorldStateScoreScrollFrame:StripTextures() |
|||
_G.WorldStateScoreScrollFrameScrollBar:SetPoint('RIGHT', 110, 40) |
|||
S:HandleScrollBar(_G.WorldStateScoreScrollFrameScrollBar) |
|||
|
|||
for i = 1, 3 do |
|||
S:HandleTab(_G['WorldStateScoreFrameTab'..i]) |
|||
_G['WorldStateScoreFrameTab'..i..'Text']:SetPoint('CENTER', 0, 2) |
|||
end |
|||
|
|||
S:HandleButton(_G.WorldStateScoreFrameLeaveButton) |
|||
S:HandleCloseButton(_G.WorldStateScoreFrameCloseButton) |
|||
_G.WorldStateScoreFrameCloseButton:SetPoint('TOPRIGHT', -68, 0) |
|||
|
|||
_G.WorldStateScoreFrameKB:StyleButton() |
|||
_G.WorldStateScoreFrameDeaths:StyleButton() |
|||
_G.WorldStateScoreFrameHK:StyleButton() |
|||
_G.WorldStateScoreFrameHonorGained:StyleButton() |
|||
_G.WorldStateScoreFrameName:StyleButton() |
|||
|
|||
for i = 1, 7 do |
|||
_G['WorldStateScoreColumn'..i]:StyleButton() |
|||
end |
|||
end |
|||
|
|||
S:AddCallback('SkinWorldStateScore') |
|||
@ -1,237 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
local B = E:GetModule('Bags') |
|||
|
|||
local _G = _G |
|||
local select, unpack = select, unpack |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local ContainerIDToInventoryID = ContainerIDToInventoryID |
|||
local GetContainerItemLink = GetContainerItemLink |
|||
local GetContainerNumFreeSlots = GetContainerNumFreeSlots |
|||
local GetInventoryItemLink = GetInventoryItemLink |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local GetInventoryItemID = GetInventoryItemID |
|||
local GetItemInfo = GetItemInfo |
|||
local CreateFrame = CreateFrame |
|||
|
|||
local BANK_CONTAINER = BANK_CONTAINER |
|||
local LE_ITEM_CLASS_QUESTITEM = LE_ITEM_CLASS_QUESTITEM |
|||
|
|||
local bagIconCache = { |
|||
[-2] = [[Interface\ICONS\INV_Misc_Key_03]], |
|||
[0] = E.Media.Textures.Backpack |
|||
} |
|||
|
|||
local function setBagIcon(frame, texture) |
|||
if not frame.BagIcon then |
|||
local portraitButton = _G[frame:GetName()..'PortraitButton'] |
|||
|
|||
portraitButton:CreateBackdrop() |
|||
portraitButton:Size(32) |
|||
portraitButton:Point('TOPLEFT', 12, -7) |
|||
portraitButton:StyleButton(nil, true) |
|||
portraitButton.hover:SetAllPoints() |
|||
|
|||
frame.BagIcon = portraitButton:CreateTexture() |
|||
frame.BagIcon:SetTexCoord(unpack(E.TexCoords)) |
|||
frame.BagIcon:SetAllPoints() |
|||
end |
|||
|
|||
frame.BagIcon:SetTexture(texture) |
|||
end |
|||
|
|||
function S:ContainerFrame() |
|||
if E.private.bags.enable or not (E.private.skins.blizzard.enable and E.private.skins.blizzard.bags) then return end |
|||
|
|||
-- ContainerFrame |
|||
for i = 1, _G.NUM_CONTAINER_FRAMES do |
|||
local frame = _G['ContainerFrame'..i] |
|||
local closeButton = _G['ContainerFrame'..i..'CloseButton'] |
|||
|
|||
frame:StripTextures(true) |
|||
S:HandleFrame(frame, true, nil, 9, -4, -4, 2) |
|||
|
|||
S:HandleCloseButton(closeButton, frame.backdrop) |
|||
|
|||
for j = 1, _G.MAX_CONTAINER_ITEMS do |
|||
local item = _G['ContainerFrame'..i..'Item'..j] |
|||
local icon = _G['ContainerFrame'..i..'Item'..j..'IconTexture'] |
|||
local questIcon = _G['ContainerFrame'..i..'Item'..j..'IconQuestTexture'] |
|||
local cooldown = _G['ContainerFrame'..i..'Item'..j..'Cooldown'] |
|||
|
|||
item:SetNormalTexture(E.ClearTexture) |
|||
item:SetTemplate(nil, true) |
|||
item:StyleButton() |
|||
|
|||
icon:SetInside() |
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
questIcon:SetTexture(E.Media.Textures.BagQuestIcon) |
|||
questIcon.SetTexture = E.noop |
|||
questIcon:SetTexCoord(0, 1, 0, 1) |
|||
questIcon:SetInside() |
|||
|
|||
E:RegisterCooldown(cooldown, 'bags') |
|||
end |
|||
end |
|||
|
|||
hooksecurefunc('ContainerFrame_GenerateFrame', function(frame) |
|||
local id = frame:GetID() |
|||
|
|||
if id > 0 then |
|||
local itemID = GetInventoryItemID('player', ContainerIDToInventoryID(id)) |
|||
|
|||
if not bagIconCache[itemID] then |
|||
bagIconCache[itemID] = select(10, GetItemInfo(itemID)) |
|||
end |
|||
|
|||
setBagIcon(frame, bagIconCache[itemID]) |
|||
else |
|||
setBagIcon(frame, bagIconCache[id]) |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('ContainerFrame_Update', function(frame) |
|||
local frameName = frame:GetName() |
|||
local id = frame:GetID() |
|||
local _, bagType = GetContainerNumFreeSlots(id) |
|||
|
|||
for i = 1, frame.size do |
|||
local item = _G[frameName..'Item'..i] |
|||
local questIcon = _G[frameName..'Item'..i..'IconQuestTexture'] |
|||
local link = GetContainerItemLink(id, item:GetID()) |
|||
|
|||
questIcon:Hide() |
|||
|
|||
if B.ProfessionColors[bagType] then |
|||
item:SetBackdropBorderColor(unpack(B.ProfessionColors[bagType])) |
|||
item.ignoreBorderColors = true |
|||
elseif link then |
|||
local _, _, quality, _, _, _, _, _, _, _, _, itemClassID = GetItemInfo(link) |
|||
|
|||
if itemClassID == LE_ITEM_CLASS_QUESTITEM then |
|||
item:SetBackdropBorderColor(unpack(B.QuestColors.questItem)) |
|||
item.ignoreBorderColors = true |
|||
|
|||
if questIcon then |
|||
questIcon:Show() |
|||
end |
|||
elseif quality and quality > 1 then |
|||
item:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
item.ignoreBorderColors = true |
|||
else |
|||
item:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
item.ignoreBorderColors = nil |
|||
end |
|||
else |
|||
item:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
item.ignoreBorderColors = nil |
|||
end |
|||
end |
|||
end) |
|||
|
|||
-- BankFrame |
|||
local BankFrame = _G.BankFrame |
|||
BankFrame:StripTextures(true) |
|||
S:HandleFrame(BankFrame, true, nil, 12, 0, 10, 80) |
|||
|
|||
S:HandleCloseButton(_G.BankCloseButton, BankFrame.backdrop) |
|||
|
|||
_G.BankSlotsFrame:StripTextures() |
|||
|
|||
_G.BankFrameMoneyFrame:Point('RIGHT', 0, 0) |
|||
|
|||
for i = 1, _G.NUM_BANKGENERIC_SLOTS do |
|||
local button = _G['BankFrameItem'..i] |
|||
local icon = _G['BankFrameItem'..i..'IconTexture'] |
|||
local cooldown = _G['BankFrameItem'..i..'Cooldown'] |
|||
|
|||
button:SetNormalTexture(E.ClearTexture) |
|||
button:SetTemplate(nil, true) |
|||
button:StyleButton() |
|||
button.IconBorder:StripTextures() |
|||
button.IconOverlay:StripTextures() |
|||
|
|||
icon:SetInside() |
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
button.IconQuestTexture:SetTexture(E.Media.Textures.BagQuestIcon) |
|||
button.IconQuestTexture.SetTexture = E.noop |
|||
button.IconQuestTexture:SetTexCoord(0, 1, 0, 1) |
|||
button.IconQuestTexture:SetInside() |
|||
|
|||
E:RegisterCooldown(cooldown, 'bags') |
|||
end |
|||
|
|||
BankFrame.itemBackdrop = CreateFrame('Frame', 'BankFrameItemBackdrop', BankFrame) |
|||
BankFrame.itemBackdrop:SetTemplate() |
|||
BankFrame.itemBackdrop:SetFrameLevel(BankFrame:GetFrameLevel()) |
|||
|
|||
BankFrame.bagBackdrop = CreateFrame('Frame', 'BankFrameBagBackdrop', BankFrame) |
|||
BankFrame.bagBackdrop:SetTemplate() |
|||
BankFrame.bagBackdrop:SetFrameLevel(BankFrame:GetFrameLevel()) |
|||
|
|||
S:HandleButton(_G.BankFramePurchaseButton) |
|||
|
|||
hooksecurefunc('BankFrameItemButton_Update', function(button) |
|||
local id = button:GetID() |
|||
|
|||
if button.isBag then |
|||
button:SetNormalTexture(E.ClearTexture) |
|||
button:SetTemplate(nil, true) |
|||
button:StyleButton() |
|||
|
|||
button.icon:SetInside() |
|||
button.icon:SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
button.HighlightFrame.HighlightTexture:SetInside() |
|||
button.HighlightFrame.HighlightTexture:SetTexture(unpack(E.media.rgbvaluecolor), 0.3) |
|||
|
|||
local link = GetInventoryItemLink('player', ContainerIDToInventoryID(id)) |
|||
if link then |
|||
local _, _, quality = GetItemInfo(link) |
|||
if quality and quality > 1 then |
|||
button:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
button.ignoreBorderColors = true |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
button.ignoreBorderColors = nil |
|||
end |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
button.ignoreBorderColors = nil |
|||
end |
|||
else |
|||
local questIcon = button.IconQuestTexture |
|||
if questIcon then |
|||
questIcon:Hide() |
|||
end |
|||
|
|||
local link = GetContainerItemLink(BANK_CONTAINER, id) |
|||
if link then |
|||
local _, _, quality, _, _, _, _, _, _, _, _, itemClassID = GetItemInfo(link) |
|||
|
|||
if itemClassID == LE_ITEM_CLASS_QUESTITEM then |
|||
button:SetBackdropBorderColor(unpack(B.QuestColors.questItem)) |
|||
button.ignoreBorderColors = true |
|||
|
|||
if questIcon then |
|||
questIcon:Show() |
|||
end |
|||
elseif quality and quality > 1 then |
|||
button:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
button.ignoreBorderColors = true |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
button.ignoreBorderColors = nil |
|||
end |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
button.ignoreBorderColors = nil |
|||
end |
|||
end |
|||
end) |
|||
end |
|||
|
|||
S:AddCallback('ContainerFrame') |
|||
@ -1,30 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
function S:SkinBattlefield() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.battlefield) then return end |
|||
|
|||
local BattlefieldFrame = _G.BattlefieldFrame |
|||
|
|||
BattlefieldFrame:StripTextures(true) |
|||
BattlefieldFrame:CreateBackdrop('Transparent') |
|||
BattlefieldFrame.backdrop:Point('TOPLEFT', 10, -12) |
|||
BattlefieldFrame.backdrop:Point('BOTTOMRIGHT', -32, 73) |
|||
|
|||
_G.BattlefieldListScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.BattlefieldListScrollFrameScrollBar) |
|||
|
|||
_G.BattlefieldFrameZoneDescription:SetTextColor(1, 1, 1) |
|||
|
|||
S:HandleButton(_G.BattlefieldFrameCancelButton) |
|||
S:HandleButton(_G.BattlefieldFrameJoinButton) |
|||
S:HandleButton(_G.BattlefieldFrameGroupJoinButton) |
|||
|
|||
_G.BattlefieldFrameGroupJoinButton:Point('RIGHT', _G.BattlefieldFrameJoinButton, 'LEFT', -2, 0) |
|||
|
|||
S:HandleCloseButton(_G.BattlefieldFrameCloseButton) |
|||
end |
|||
|
|||
S:AddCallback('SkinBattlefield') |
|||
@ -1,48 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local next = next |
|||
|
|||
function S:BattleNetFrames() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.misc) then return end |
|||
|
|||
local skins = { |
|||
_G.BNToastFrame, |
|||
_G.TimeAlertFrame, |
|||
_G.TicketStatusFrameButton, |
|||
} |
|||
|
|||
for i = 1, #skins do |
|||
skins[i]:SetTemplate('Transparent') |
|||
end |
|||
|
|||
local PlayerReportFrame = _G.PlayerReportFrame |
|||
S:HandleFrame(PlayerReportFrame, true) |
|||
|
|||
PlayerReportFrame.Comment:StripTextures() |
|||
S:HandleEditBox(PlayerReportFrame.Comment) |
|||
|
|||
S:HandleButton(PlayerReportFrame.ReportButton) |
|||
S:HandleButton(PlayerReportFrame.CancelButton) |
|||
|
|||
S:HandleFrame(_G.ReportCheatingDialog, true) |
|||
|
|||
_G.ReportCheatingDialogCommentFrame:StripTextures() |
|||
|
|||
S:HandleButton(_G.ReportCheatingDialogReportButton) |
|||
S:HandleButton(_G.ReportCheatingDialogCancelButton) |
|||
|
|||
S:HandleEditBox(_G.ReportCheatingDialogCommentFrameEditBox) |
|||
|
|||
local BattleTagInviteFrame = _G.BattleTagInviteFrame |
|||
S:HandleFrame(BattleTagInviteFrame, true) |
|||
|
|||
for _, child in next, { BattleTagInviteFrame:GetChildren() } do |
|||
if child:IsObjectType('Button') then |
|||
S:HandleButton(child) |
|||
end |
|||
end |
|||
end |
|||
|
|||
S:AddCallback('BattleNetFrames') |
|||
@ -1,53 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local next = next |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:Blizzard_BindingUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.binding) then return end |
|||
|
|||
local KB = _G.KeyBindingFrame |
|||
for _, v in next, { 'defaultsButton', 'unbindButton', 'okayButton', 'cancelButton' } do |
|||
S:HandleButton(KB[v]) |
|||
end |
|||
|
|||
S:HandleFrame(KB, true) |
|||
S:HandleFrame(KB.categoryList, true) |
|||
S:HandleFrame(KB.bindingsContainer, true) |
|||
|
|||
KB.header:StripTextures() |
|||
KB.header:ClearAllPoints() |
|||
KB.header:Point('TOP', KB, 'TOP', 0, -4) |
|||
|
|||
_G.KeyBindingFrameScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.KeyBindingFrameScrollFrameScrollBar) |
|||
|
|||
S:HandleCheckBox(KB.characterSpecificButton) |
|||
|
|||
for i = 1, _G.KEY_BINDINGS_DISPLAYED, 1 do |
|||
local button1 = _G['KeyBindingFrameKeyBinding'..i..'Key1Button'] |
|||
local button2 = _G['KeyBindingFrameKeyBinding'..i..'Key2Button'] |
|||
button2:Point('LEFT', button1, 'RIGHT', 1, 0) -- Needed for new Pixel Perfect |
|||
end |
|||
|
|||
hooksecurefunc('BindingButtonTemplate_SetupBindingButton', function(_, button) |
|||
if not button.IsSkinned then |
|||
local selected = button.selectedHighlight |
|||
selected:SetTexture(E.media.normTex) |
|||
selected:Point('TOPLEFT', 1, -1) |
|||
selected:Point('BOTTOMRIGHT', -1, 1) |
|||
selected:SetColorTexture(1, 1, 1, .25) |
|||
S:HandleButton(button) |
|||
|
|||
button.IsSkinned = true |
|||
end |
|||
end) |
|||
|
|||
KB.okayButton:Point('BOTTOMLEFT', KB.unbindButton, 'BOTTOMRIGHT', 3, 0) |
|||
KB.cancelButton:Point('BOTTOMLEFT', KB.okayButton, 'BOTTOMRIGHT', 3, 0) |
|||
KB.unbindButton:Point('BOTTOMRIGHT', KB, 'BOTTOMRIGHT', -211, 16) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_BindingUI') |
|||
@ -1,342 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local next = next |
|||
local pairs = pairs |
|||
local ipairs = ipairs |
|||
|
|||
local hooksecurefunc = hooksecurefunc |
|||
local InCombatLockdown = InCombatLockdown |
|||
|
|||
local function HandlePushToTalkButton(button) |
|||
button:Size(button:GetSize()) |
|||
|
|||
button.TopLeft:Hide() |
|||
button.TopRight:Hide() |
|||
button.BottomLeft:Hide() |
|||
button.BottomRight:Hide() |
|||
button.TopMiddle:Hide() |
|||
button.MiddleLeft:Hide() |
|||
button.MiddleRight:Hide() |
|||
button.BottomMiddle:Hide() |
|||
button.MiddleMiddle:Hide() |
|||
button:SetHighlightTexture(E.ClearTexture) |
|||
|
|||
button:SetTemplate(nil, true) |
|||
button:HookScript('OnEnter', S.SetModifiedBackdrop) |
|||
button:HookScript('OnLeave', S.SetOriginalBackdrop) |
|||
end |
|||
|
|||
local function Skin_InterfaceOptions_Buttons() |
|||
for i = 1, #_G.INTERFACEOPTIONS_ADDONCATEGORIES do |
|||
local button = _G['InterfaceOptionsFrameAddOnsButton'..i..'Toggle'] |
|||
if button and not button.IsSkinned then |
|||
S:HandleCollapseTexture(button, true) |
|||
button.IsSkinned = true |
|||
end |
|||
end |
|||
end |
|||
|
|||
function S.AudioOptionsVoicePanel_InitializeCommunicationModeUI(btn) |
|||
HandlePushToTalkButton(btn.PushToTalkKeybindButton) |
|||
end |
|||
|
|||
function S:BlizzardOptions() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.blizzardOptions) then return end |
|||
|
|||
_G.InterfaceOptionsFrame:SetClampedToScreen(true) |
|||
_G.InterfaceOptionsFrame:SetMovable(true) |
|||
_G.InterfaceOptionsFrame:EnableMouse(true) |
|||
_G.InterfaceOptionsFrame:RegisterForDrag('LeftButton', 'RightButton') |
|||
_G.InterfaceOptionsFrame:SetScript('OnDragStart', function(frame) |
|||
if InCombatLockdown() then return end |
|||
frame:StartMoving() |
|||
frame.isMoving = true |
|||
end) |
|||
_G.InterfaceOptionsFrame:SetScript('OnDragStop', function(frame) |
|||
frame:StopMovingOrSizing() |
|||
frame.isMoving = false |
|||
end) |
|||
|
|||
--Chat Config |
|||
local ChatConfigFrame = _G.ChatConfigFrame |
|||
|
|||
hooksecurefunc(_G.ChatConfigFrameChatTabManager, 'UpdateWidth', function(frame) |
|||
for tab in frame.tabPool:EnumerateActive() do |
|||
if not tab.IsSkinned then |
|||
tab:StripTextures() |
|||
|
|||
tab.IsSkinned = true |
|||
end |
|||
end |
|||
end) |
|||
|
|||
-- Chat Config |
|||
local ChatFrames = { |
|||
_G.ChatConfigFrame, |
|||
_G.ChatConfigCategoryFrame, |
|||
_G.ChatConfigBackgroundFrame, |
|||
_G.ChatConfigCombatSettingsFilters, |
|||
_G.ChatConfigCombatSettingsFiltersScrollFrame, |
|||
_G.CombatConfigColorsHighlighting, |
|||
_G.CombatConfigColorsColorizeUnitName, |
|||
_G.CombatConfigColorsColorizeSpellNames, |
|||
_G.CombatConfigColorsColorizeDamageNumber, |
|||
_G.CombatConfigColorsColorizeDamageSchool, |
|||
_G.CombatConfigColorsColorizeEntireLine, |
|||
_G.ChatConfigChatSettingsLeft, |
|||
_G.ChatConfigOtherSettingsCombat, |
|||
_G.ChatConfigOtherSettingsPVP, |
|||
_G.ChatConfigOtherSettingsSystem, |
|||
_G.ChatConfigOtherSettingsCreature, |
|||
_G.ChatConfigChannelSettingsAvailable, |
|||
_G.ChatConfigChannelSettingsAvailableBox, |
|||
_G.ChatConfigChannelSettingsLeft, |
|||
_G.CombatConfigMessageSourcesDoneBy, |
|||
_G.CombatConfigColorsUnitColors, |
|||
_G.CombatConfigMessageSourcesDoneTo, |
|||
} |
|||
|
|||
local ChatButtons = { |
|||
_G.ChatConfigFrameDefaultButton, |
|||
_G.ChatConfigFrameRedockButton, |
|||
_G.ChatConfigFrameOkayButton, |
|||
_G.ChatConfigFrame.ToggleChatButton, |
|||
_G.ChatConfigCombatSettingsFiltersDeleteButton, |
|||
_G.ChatConfigCombatSettingsFiltersAddFilterButton, |
|||
_G.ChatConfigCombatSettingsFiltersCopyFilterButton, |
|||
_G.CombatConfigSettingsSaveButton, |
|||
_G.CombatLogDefaultButton, |
|||
} |
|||
|
|||
local ChatCheckBoxs = { |
|||
_G.CombatConfigColorsHighlightingLine, |
|||
_G.CombatConfigColorsHighlightingAbility, |
|||
_G.CombatConfigColorsHighlightingDamage, |
|||
_G.CombatConfigColorsHighlightingSchool, |
|||
_G.CombatConfigColorsColorizeUnitNameCheck, |
|||
_G.CombatConfigColorsColorizeSpellNamesCheck, |
|||
_G.CombatConfigColorsColorizeSpellNamesSchoolColoring, |
|||
_G.CombatConfigColorsColorizeDamageNumberCheck, |
|||
_G.CombatConfigColorsColorizeDamageNumberSchoolColoring, |
|||
_G.CombatConfigColorsColorizeDamageSchoolCheck, |
|||
_G.CombatConfigColorsColorizeEntireLineCheck, |
|||
_G.CombatConfigFormattingShowTimeStamp, |
|||
_G.CombatConfigFormattingShowBraces, |
|||
_G.CombatConfigFormattingUnitNames, |
|||
_G.CombatConfigFormattingSpellNames, |
|||
_G.CombatConfigFormattingItemNames, |
|||
_G.CombatConfigFormattingFullText, |
|||
_G.CombatConfigSettingsShowQuickButton, |
|||
_G.CombatConfigSettingsSolo, |
|||
_G.CombatConfigSettingsParty, |
|||
_G.CombatConfigSettingsRaid, |
|||
} |
|||
|
|||
for _, Frame in pairs(ChatFrames) do |
|||
Frame:StripTextures() |
|||
Frame:SetTemplate('Transparent') |
|||
end |
|||
|
|||
for _, CheckBox in pairs(ChatCheckBoxs) do |
|||
S:HandleCheckBox(CheckBox) |
|||
end |
|||
|
|||
for _, Button in pairs(ChatButtons) do |
|||
S:HandleButton(Button) |
|||
end |
|||
|
|||
for i in pairs(_G.COMBAT_CONFIG_TABS) do |
|||
S:HandleTab(_G['CombatConfigTab'..i]) |
|||
_G['CombatConfigTab'..i].backdrop:Point('TOPLEFT', 0, -10) |
|||
_G['CombatConfigTab'..i].backdrop:Point('BOTTOMRIGHT', -2, 3) |
|||
_G['CombatConfigTab'..i..'Text']:Point('BOTTOM', 0, 10) |
|||
end |
|||
|
|||
_G.CombatConfigTab1:ClearAllPoints() |
|||
_G.CombatConfigTab1:Point('BOTTOMLEFT', _G.ChatConfigBackgroundFrame, 'TOPLEFT', 6, -2) |
|||
|
|||
S:HandleEditBox(_G.CombatConfigSettingsNameEditBox) |
|||
S:HandleNextPrevButton(_G.ChatConfigMoveFilterUpButton) |
|||
S:HandleNextPrevButton(_G.ChatConfigMoveFilterDownButton) |
|||
_G.ChatConfigMoveFilterUpButton:Size(19, 19) |
|||
_G.ChatConfigMoveFilterDownButton:Size(19, 19) |
|||
_G.ChatConfigMoveFilterUpButton:Point('TOPLEFT', '$parent', 'BOTTOMLEFT', 0, -3) |
|||
_G.ChatConfigMoveFilterDownButton:Point('LEFT', _G.ChatConfigMoveFilterUpButton, 'RIGHT', 3, 0) |
|||
|
|||
_G.ChatConfigFrameOkayButton:Point('RIGHT', '$parentCancelButton', 'RIGHT', -1, -3) |
|||
_G.ChatConfigFrameDefaultButton:Point('BOTTOMLEFT', 12, 10) |
|||
_G.ChatConfigCombatSettingsFiltersDeleteButton:Point('TOPRIGHT', '$parent', 'BOTTOMRIGHT', -3, -1) |
|||
_G.ChatConfigCombatSettingsFiltersAddFilterButton:Point('RIGHT', '$parentDeleteButton', 'LEFT', -2, 0) |
|||
_G.ChatConfigCombatSettingsFiltersCopyFilterButton:Point('RIGHT', '$parentAddFilterButton', 'LEFT', -2, 0) |
|||
|
|||
ChatConfigFrame:HookScript('OnShow', function() |
|||
for tab in _G.ChatConfigFrameChatTabManager.tabPool:EnumerateActive() do |
|||
S:HandleButton(tab, true) |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('ChatConfig_UpdateCheckboxes', function(frame) |
|||
if not _G.FCF_GetCurrentChatFrame() then |
|||
return |
|||
end |
|||
for index in ipairs(frame.checkBoxTable) do |
|||
local checkBoxNameString = frame:GetName()..'CheckBox' |
|||
local checkBoxName = checkBoxNameString..index |
|||
local checkBox = _G[checkBoxName] |
|||
local check = _G[checkBoxName..'Check'] |
|||
if checkBox and not checkBox.isSkinned then |
|||
checkBox:StripTextures() |
|||
S:HandleCheckBox(check) |
|||
if _G[checkBoxName..'ColorClasses'] then |
|||
S:HandleCheckBox(_G[checkBoxName..'ColorClasses']) |
|||
end |
|||
checkBox.isSkinned = true |
|||
end |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('ChatConfig_UpdateTieredCheckboxes', function(frame, index) |
|||
local group = frame.checkBoxTable[index] |
|||
local checkBox = _G[frame:GetName()..'CheckBox'..index] |
|||
if checkBox then |
|||
S:HandleCheckBox(checkBox) |
|||
end |
|||
if group.subTypes then |
|||
for k in ipairs(group.subTypes) do |
|||
S:HandleCheckBox(_G[frame:GetName()..'CheckBox'..index..'_'..k]) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('ChatConfig_UpdateSwatches', function(frame) |
|||
if not _G.FCF_GetCurrentChatFrame() then |
|||
return |
|||
end |
|||
for index in ipairs(frame.swatchTable) do |
|||
_G[frame:GetName()..'Swatch'..index]:StripTextures() |
|||
end |
|||
end) |
|||
|
|||
local OptionsFrames = { _G.InterfaceOptionsFrame, _G.InterfaceOptionsFrameCategories, _G.InterfaceOptionsFramePanelContainer, _G.InterfaceOptionsFrameAddOns, _G.VideoOptionsFrame, _G.VideoOptionsFrameCategoryFrame, _G.VideoOptionsFramePanelContainer, _G.Display_, _G.Graphics_, _G.RaidGraphics_ } |
|||
local OptionsFrameBackdrops = { _G.AudioOptionsSoundPanelHardware, _G.AudioOptionsSoundPanelVolume, _G.AudioOptionsSoundPanelPlayback, _G.AudioOptionsVoicePanelTalking, _G.AudioOptionsVoicePanelListening, _G.AudioOptionsVoicePanelBinding } |
|||
local OptionsButtons = { _G.GraphicsButton, _G.RaidButton } |
|||
|
|||
local InterfaceOptions = { |
|||
_G.InterfaceOptionsFrame, |
|||
_G.InterfaceOptionsControlsPanel, |
|||
_G.InterfaceOptionsCombatPanel, |
|||
_G.InterfaceOptionsDisplayPanel, |
|||
_G.InterfaceOptionsSocialPanel, |
|||
_G.InterfaceOptionsActionBarsPanel, |
|||
_G.InterfaceOptionsNamesPanel, |
|||
_G.InterfaceOptionsNamesPanelFriendly, |
|||
_G.InterfaceOptionsNamesPanelEnemy, |
|||
_G.InterfaceOptionsNamesPanelUnitNameplates, |
|||
_G.InterfaceOptionsCameraPanel, |
|||
_G.InterfaceOptionsMousePanel, |
|||
_G.InterfaceOptionsAccessibilityPanel, |
|||
_G.VideoOptionsFrame, |
|||
_G.Display_, |
|||
_G.Graphics_, |
|||
_G.RaidGraphics_, |
|||
_G.Advanced_, |
|||
_G.NetworkOptionsPanel, |
|||
_G.InterfaceOptionsLanguagesPanel, |
|||
_G.AudioOptionsSoundPanel, |
|||
_G.AudioOptionsSoundPanelHardware, |
|||
_G.AudioOptionsSoundPanelVolume, |
|||
_G.AudioOptionsSoundPanelPlayback, |
|||
_G.AudioOptionsVoicePanel, |
|||
_G.CompactUnitFrameProfiles, |
|||
_G.CompactUnitFrameProfilesGeneralOptionsFrame, |
|||
} |
|||
|
|||
for _, Frame in pairs(OptionsFrames) do |
|||
Frame:StripTextures() |
|||
Frame:SetTemplate('Transparent') |
|||
end |
|||
|
|||
for _, Frame in pairs(OptionsFrameBackdrops) do |
|||
Frame:StripTextures() |
|||
Frame:CreateBackdrop('Transparent') |
|||
end |
|||
|
|||
for _, Tab in pairs(OptionsButtons) do |
|||
S:HandleButton(Tab, true) |
|||
end |
|||
|
|||
for _, Panel in pairs(InterfaceOptions) do |
|||
if Panel then |
|||
for _, Child in next, { Panel:GetChildren() } do |
|||
if Child:IsObjectType('CheckButton') then |
|||
S:HandleCheckBox(Child) |
|||
elseif Child:IsObjectType('Button') then |
|||
S:HandleButton(Child, true) |
|||
elseif Child:IsObjectType('Slider') then |
|||
S:HandleSliderFrame(Child) |
|||
elseif Child:IsObjectType('Tab') then |
|||
S:HandleTab(Child) |
|||
elseif Child:IsObjectType('Frame') and Child.Left and Child.Middle and Child.Right then |
|||
S:HandleDropDownBox(Child) |
|||
end |
|||
end |
|||
end |
|||
end |
|||
|
|||
_G.InterfaceOptionsFrameTab1:Point('BOTTOMLEFT', _G.InterfaceOptionsFrameCategories, 'TOPLEFT', 6, 1) |
|||
_G.InterfaceOptionsFrameTab1:StripTextures() |
|||
_G.InterfaceOptionsFrameTab2:Point('TOPLEFT', _G.InterfaceOptionsFrameTab1, 'TOPRIGHT', 1, 0) |
|||
_G.InterfaceOptionsFrameTab2:StripTextures() |
|||
_G.InterfaceOptionsSocialPanel.EnableTwitter.Logo:SetAtlas('WoWShare-TwitterLogo') |
|||
|
|||
-- Plus minus buttons in addons category |
|||
hooksecurefunc('InterfaceOptions_AddCategory', Skin_InterfaceOptions_Buttons) |
|||
Skin_InterfaceOptions_Buttons() |
|||
|
|||
--Create New Raid Profle |
|||
local newProfileDialog = _G.CompactUnitFrameProfilesNewProfileDialog |
|||
if newProfileDialog then |
|||
newProfileDialog:StripTextures() |
|||
newProfileDialog:CreateBackdrop('Transparent') |
|||
|
|||
S:HandleDropDownBox(_G.CompactUnitFrameProfilesNewProfileDialogBaseProfileSelector) |
|||
S:HandleButton(_G.CompactUnitFrameProfilesNewProfileDialogCreateButton) |
|||
S:HandleButton(_G.CompactUnitFrameProfilesNewProfileDialogCancelButton) |
|||
|
|||
if newProfileDialog.editBox then |
|||
S:HandleEditBox(newProfileDialog.editBox) |
|||
newProfileDialog.editBox:Size(210, 25) |
|||
end |
|||
end |
|||
|
|||
--Delete Raid Profile |
|||
local deleteProfileDialog = _G.CompactUnitFrameProfilesDeleteProfileDialog |
|||
if deleteProfileDialog then |
|||
deleteProfileDialog:StripTextures() |
|||
deleteProfileDialog:CreateBackdrop('Transparent') |
|||
|
|||
S:HandleButton(_G.CompactUnitFrameProfilesDeleteProfileDialogDeleteButton) |
|||
S:HandleButton(_G.CompactUnitFrameProfilesDeleteProfileDialogCancelButton) |
|||
end |
|||
|
|||
-- Toggle Test Audio Button - Wow 8.0 |
|||
S:HandleButton(_G.AudioOptionsVoicePanel.TestInputDevice.ToggleTest) |
|||
|
|||
local VUMeter = _G.AudioOptionsVoicePanelTestInputDevice.VUMeter |
|||
VUMeter.NineSlice:Hide() |
|||
VUMeter.Status:CreateBackdrop() |
|||
VUMeter.Status:SetStatusBarTexture(E.media.normTex) |
|||
E:RegisterStatusBar(VUMeter.Status) |
|||
|
|||
-- PushToTalk KeybindButton - Wow 8.0 |
|||
hooksecurefunc('AudioOptionsVoicePanel_InitializeCommunicationModeUI', S.AudioOptionsVoicePanel_InitializeCommunicationModeUI) |
|||
|
|||
-- New Voice Sliders |
|||
S:HandleSliderFrame(_G.UnitPopupVoiceSpeakerVolume.Slider) |
|||
S:HandleSliderFrame(_G.UnitPopupVoiceMicrophoneVolume.Slider) |
|||
S:HandleSliderFrame(_G.UnitPopupVoiceUserVolume.Slider) |
|||
end |
|||
|
|||
S:AddCallback('BlizzardOptions') |
|||
@ -1,50 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:Blizzard_Channels() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.channels) then return end |
|||
|
|||
local ChannelFrame = _G.ChannelFrame |
|||
S:HandleFrame(ChannelFrame, true, nil, -5) |
|||
|
|||
S:HandleButton(ChannelFrame.NewButton) |
|||
S:HandleButton(ChannelFrame.SettingsButton) |
|||
|
|||
S:HandlePointXY(ChannelFrame.NewButton, -1, 4) |
|||
S:HandlePointXY(_G.ChannelFrameCloseButton, 2, 2) |
|||
|
|||
S:HandleScrollBar(ChannelFrame.ChannelRoster.ScrollFrame.scrollBar) |
|||
ChannelFrame.ChannelRoster.ScrollFrame.scrollBar:Point('TOPLEFT', ChannelFrame.ChannelRoster.ScrollFrame, 'TOPRIGHT', 1, -13) |
|||
ChannelFrame.ChannelRoster.ScrollFrame.scrollBar:Point('BOTTOMLEFT', ChannelFrame.ChannelRoster.ScrollFrame, 'BOTTOMRIGHT', 1, 13) |
|||
|
|||
S:HandleScrollBar(ChannelFrame.ChannelList.ScrollBar) |
|||
ChannelFrame.ChannelList.ScrollBar:Point('BOTTOMLEFT', ChannelFrame.ChannelList, 'BOTTOMRIGHT', 0, 15) |
|||
|
|||
local CreateChannelPopup = _G.CreateChannelPopup |
|||
S:HandleFrame(CreateChannelPopup, true) |
|||
|
|||
S:HandleButton(CreateChannelPopup.OKButton) |
|||
S:HandleButton(CreateChannelPopup.CancelButton) |
|||
|
|||
S:HandleEditBox(CreateChannelPopup.Name) |
|||
S:HandleEditBox(CreateChannelPopup.Password) |
|||
|
|||
S:HandlePointXY(CreateChannelPopup.CloseButton, 2, 2) |
|||
|
|||
local VoiceChatPromptActivateChannel = _G.VoiceChatPromptActivateChannel |
|||
S:HandleFrame(VoiceChatPromptActivateChannel, true) |
|||
S:HandleButton(VoiceChatPromptActivateChannel.AcceptButton) |
|||
S:HandleCloseButton(VoiceChatPromptActivateChannel.CloseButton, VoiceChatPromptActivateChannel.backrop) |
|||
|
|||
-- Hide the Channel Header Textures |
|||
hooksecurefunc(_G.ChannelButtonHeaderMixin, 'Update', function(s) |
|||
s:SetTemplate('Transparent') |
|||
s.NormalTexture:SetTexture() |
|||
end) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_Channels') |
|||
@ -1,338 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack = unpack |
|||
local pairs = pairs |
|||
local strfind = strfind |
|||
|
|||
local HasPetUI = HasPetUI |
|||
local GetPetHappiness = GetPetHappiness |
|||
local GetInventoryItemQuality = GetInventoryItemQuality |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local GetNumFactions = GetNumFactions |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local MAX_ARENA_TEAMS = MAX_ARENA_TEAMS |
|||
local NUM_FACTIONS_DISPLAYED = NUM_FACTIONS_DISPLAYED |
|||
local CHARACTERFRAME_SUBFRAMES = CHARACTERFRAME_SUBFRAMES |
|||
local FauxScrollFrame_GetOffset = FauxScrollFrame_GetOffset |
|||
|
|||
local ResistanceCoords = { |
|||
[1] = { 0.21875, 0.8125, 0.25, 0.32421875 }, --Arcane |
|||
[2] = { 0.21875, 0.8125, 0.0234375, 0.09765625 }, --Fire |
|||
[3] = { 0.21875, 0.8125, 0.13671875, 0.2109375 }, --Nature |
|||
[4] = { 0.21875, 0.8125, 0.36328125, 0.4375}, --Frost |
|||
[5] = { 0.21875, 0.8125, 0.4765625, 0.55078125}, --Shadow |
|||
} |
|||
|
|||
local function HandleResistanceFrame(frameName) |
|||
for i = 1, 5 do |
|||
local frame, icon, text = _G[frameName..i], _G[frameName..i]:GetRegions() |
|||
frame:Size(24) |
|||
frame:SetTemplate() |
|||
|
|||
if i ~= 1 then |
|||
frame:ClearAllPoints() |
|||
frame:Point('TOP', _G[frameName..i - 1], 'BOTTOM', 0, -1) |
|||
end |
|||
|
|||
if icon then |
|||
icon:SetInside() |
|||
icon:SetTexCoord(unpack(ResistanceCoords[i])) |
|||
icon:SetDrawLayer('ARTWORK') |
|||
end |
|||
|
|||
if text then |
|||
text:SetDrawLayer('OVERLAY') |
|||
end |
|||
end |
|||
end |
|||
|
|||
function S:CharacterFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.character) then return end |
|||
|
|||
-- Character Frame |
|||
local CharacterFrame = _G.CharacterFrame |
|||
S:HandleFrame(CharacterFrame, true, nil, 11, -12, -32, 76) |
|||
|
|||
S:HandleCloseButton(_G.CharacterFrameCloseButton, CharacterFrame.backdrop) |
|||
|
|||
S:HandleDropDownBox(_G.PlayerStatFrameRightDropDown, 145) |
|||
S:HandleDropDownBox(_G.PlayerStatFrameLeftDropDown, 147) |
|||
S:HandleDropDownBox(_G.PlayerTitleDropDown, 200) |
|||
_G.PlayerStatFrameRightDropDown:Point('TOP', -2, 24) |
|||
_G.PlayerStatFrameLeftDropDown:Point('LEFT', -25, 24) |
|||
_G.PlayerTitleDropDown:Point('TOP', -7, -51) |
|||
|
|||
for i = 1, #CHARACTERFRAME_SUBFRAMES do |
|||
S:HandleTab(_G['CharacterFrameTab'..i]) |
|||
end |
|||
|
|||
_G.PaperDollFrame:StripTextures() |
|||
|
|||
S:HandleRotateButton(_G.CharacterModelFrameRotateLeftButton) |
|||
_G.CharacterModelFrameRotateLeftButton:Point('TOPLEFT', 3, -3) |
|||
S:HandleRotateButton(_G.CharacterModelFrameRotateRightButton) |
|||
_G.CharacterModelFrameRotateRightButton:Point('TOPLEFT', _G.CharacterModelFrameRotateLeftButton, 'TOPRIGHT', 3, 0) |
|||
|
|||
_G.CharacterAttributesFrame:StripTextures() |
|||
|
|||
HandleResistanceFrame('MagicResFrame') |
|||
|
|||
for _, slot in pairs({ _G.PaperDollItemsFrame:GetChildren() }) do |
|||
if slot:IsObjectType('Button') then |
|||
local icon = _G[slot:GetName()..'IconTexture'] |
|||
local cooldown = _G[slot:GetName()..'Cooldown'] |
|||
|
|||
slot:StripTextures() |
|||
slot:SetTemplate(nil, true, true) |
|||
slot:StyleButton() |
|||
|
|||
S:HandleIcon(icon) |
|||
icon:SetInside() |
|||
|
|||
if cooldown then |
|||
E:RegisterCooldown(cooldown) |
|||
end |
|||
end |
|||
end |
|||
|
|||
hooksecurefunc('PaperDollItemSlotButton_Update', function(frame) |
|||
if frame.SetBackdropBorderColor then |
|||
local rarity = GetInventoryItemQuality('player', frame:GetID()) |
|||
if rarity and rarity > 1 then |
|||
frame:SetBackdropBorderColor(GetItemQualityColor(rarity)) |
|||
else |
|||
frame:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
-- PetPaperDollFrame |
|||
_G.PetPaperDollFrame:StripTextures() |
|||
|
|||
S:HandleButton(_G.PetPaperDollCloseButton) |
|||
|
|||
S:HandleRotateButton(_G.PetModelFrameRotateLeftButton) |
|||
_G.PetModelFrameRotateLeftButton:ClearAllPoints() |
|||
_G.PetModelFrameRotateLeftButton:Point('TOPLEFT', 3, -3) |
|||
S:HandleRotateButton(_G.PetModelFrameRotateRightButton) |
|||
_G.PetModelFrameRotateRightButton:ClearAllPoints() |
|||
_G.PetModelFrameRotateRightButton:Point('TOPLEFT', _G.PetModelFrameRotateLeftButton, 'TOPRIGHT', 3, 0) |
|||
|
|||
_G.PetAttributesFrame:StripTextures() |
|||
|
|||
_G.PetResistanceFrame:CreateBackdrop() |
|||
_G.PetResistanceFrame.backdrop:SetOutside(_G.PetMagicResFrame1, nil, nil, _G.PetMagicResFrame5) |
|||
|
|||
HandleResistanceFrame('PetMagicResFrame') |
|||
|
|||
_G.PetPaperDollFrameExpBar:StripTextures() |
|||
_G.PetPaperDollFrameExpBar:SetStatusBarTexture(E.media.normTex) |
|||
E:RegisterStatusBar(_G.PetPaperDollFrameExpBar) |
|||
_G.PetPaperDollFrameExpBar:CreateBackdrop() |
|||
|
|||
local function updHappiness(frame) |
|||
local happiness = GetPetHappiness() |
|||
local _, isHunterPet = HasPetUI() |
|||
if not (happiness and isHunterPet) then return end |
|||
|
|||
local texture = frame:GetRegions() |
|||
if happiness == 1 then |
|||
texture:SetTexCoord(0.41, 0.53, 0.06, 0.30) |
|||
elseif happiness == 2 then |
|||
texture:SetTexCoord(0.22, 0.345, 0.06, 0.30) |
|||
elseif happiness == 3 then |
|||
texture:SetTexCoord(0.04, 0.15, 0.06, 0.30) |
|||
end |
|||
end |
|||
|
|||
local PetPaperDollPetInfo = _G.PetPaperDollPetInfo |
|||
PetPaperDollPetInfo:Point('TOPLEFT', _G.PetModelFrameRotateLeftButton, 'BOTTOMLEFT', 9, -3) |
|||
PetPaperDollPetInfo:GetRegions():SetTexCoord(0.04, 0.15, 0.06, 0.30) |
|||
PetPaperDollPetInfo:SetFrameLevel(_G.PetModelFrame:GetFrameLevel() + 2) |
|||
PetPaperDollPetInfo:CreateBackdrop() |
|||
PetPaperDollPetInfo:Size(24) |
|||
|
|||
PetPaperDollPetInfo:RegisterEvent('UNIT_HAPPINESS') |
|||
PetPaperDollPetInfo:SetScript('OnEvent', updHappiness) |
|||
PetPaperDollPetInfo:SetScript('OnShow', updHappiness) |
|||
|
|||
-- Reputation Frame |
|||
_G.ReputationFrame:StripTextures() |
|||
|
|||
for i = 1, NUM_FACTIONS_DISPLAYED do |
|||
local factionBar = _G['ReputationBar'..i] |
|||
local factionHeader = _G['ReputationHeader'..i] |
|||
local factionName = _G['ReputationBar'..i..'FactionName'] |
|||
local factionWar = _G['ReputationBar'..i..'AtWarCheck'] |
|||
|
|||
factionBar:StripTextures() |
|||
factionBar:CreateBackdrop() |
|||
factionBar:SetStatusBarTexture(E.media.normTex) |
|||
factionBar:Size(108, 13) |
|||
E:RegisterStatusBar(factionBar) |
|||
|
|||
if i == 1 then |
|||
factionBar:Point('TOPLEFT', 190, -86) |
|||
end |
|||
|
|||
factionName:Width(140) |
|||
factionName:Point('LEFT', factionBar, 'LEFT', -150, 0) |
|||
factionName.SetWidth = E.noop |
|||
|
|||
factionHeader:GetNormalTexture():Size(14) |
|||
factionHeader:SetHighlightTexture(E.ClearTexture) |
|||
factionHeader:Point('TOPLEFT', factionBar, 'TOPLEFT', -175, 0) |
|||
|
|||
factionWar:StripTextures() |
|||
factionWar:Point('LEFT', factionBar, 'RIGHT', 0, 0) |
|||
|
|||
factionWar.Icon = factionWar:CreateTexture(nil, 'OVERLAY') |
|||
factionWar.Icon:Point('LEFT', 6, -8) |
|||
factionWar.Icon:Size(32) |
|||
factionWar.Icon:SetTexture([[Interface\Buttons\UI-CheckBox-SwordCheck]]) |
|||
end |
|||
|
|||
hooksecurefunc('ReputationFrame_Update', function() |
|||
local numFactions = GetNumFactions() |
|||
local factionIndex, factionHeader |
|||
local factionOffset = FauxScrollFrame_GetOffset(_G.ReputationListScrollFrame) |
|||
|
|||
for i = 1, NUM_FACTIONS_DISPLAYED, 1 do |
|||
factionHeader = _G['ReputationHeader'..i] |
|||
factionIndex = factionOffset + i |
|||
if factionIndex <= numFactions then |
|||
if factionHeader.isCollapsed then |
|||
factionHeader:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
else |
|||
factionHeader:SetNormalTexture(E.Media.Textures.MinusButton) |
|||
end |
|||
end |
|||
end |
|||
end) |
|||
|
|||
_G.ReputationListScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.ReputationListScrollFrameScrollBar) |
|||
|
|||
_G.ReputationDetailFrame:StripTextures() |
|||
_G.ReputationDetailFrame:SetTemplate('Transparent') |
|||
_G.ReputationDetailFrame:Point('TOPLEFT', _G.ReputationFrame, 'TOPRIGHT', -31, -12) |
|||
|
|||
S:HandleCloseButton(_G.ReputationDetailCloseButton) |
|||
_G.ReputationDetailCloseButton:Point('TOPRIGHT', 2, 2) |
|||
|
|||
S:HandleCheckBox(_G.ReputationDetailAtWarCheckBox) |
|||
S:HandleCheckBox(_G.ReputationDetailInactiveCheckBox) |
|||
S:HandleCheckBox(_G.ReputationDetailMainScreenCheckBox) |
|||
|
|||
-- Skill Frame |
|||
_G.SkillFrame:StripTextures() |
|||
|
|||
_G.SkillFrameExpandButtonFrame:DisableDrawLayer('BACKGROUND') |
|||
_G.SkillFrameCollapseAllButton:GetNormalTexture():Size(15) |
|||
_G.SkillFrameCollapseAllButton:Point('LEFT', _G.SkillFrameExpandTabLeft, 'RIGHT', -40, -3) |
|||
|
|||
_G.SkillFrameCollapseAllButton:SetHighlightTexture(E.ClearTexture) |
|||
|
|||
hooksecurefunc('SkillFrame_UpdateSkills', function() |
|||
if strfind(_G.SkillFrameCollapseAllButton:GetNormalTexture():GetTexture(), 'MinusButton') then |
|||
_G.SkillFrameCollapseAllButton:SetNormalTexture(E.Media.Textures.MinusButton) |
|||
else |
|||
_G.SkillFrameCollapseAllButton:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
end |
|||
end) |
|||
|
|||
S:HandleButton(_G.SkillFrameCancelButton) |
|||
|
|||
for i = 1, _G.SKILLS_TO_DISPLAY do |
|||
local bar = _G['SkillRankFrame'..i] |
|||
local label = _G['SkillTypeLabel'..i] |
|||
local border = _G['SkillRankFrame'..i..'Border'] |
|||
local background = _G['SkillRankFrame'..i..'Background'] |
|||
|
|||
bar:CreateBackdrop() |
|||
bar:SetStatusBarTexture(E.media.normTex) |
|||
E:RegisterStatusBar(bar) |
|||
|
|||
border:StripTextures() |
|||
background:SetTexture(nil) |
|||
|
|||
label:GetNormalTexture():Size(14) |
|||
label:SetHighlightTexture(E.ClearTexture) |
|||
end |
|||
|
|||
hooksecurefunc('SkillFrame_SetStatusBar', function(statusBarID) |
|||
local skillLine = _G['SkillTypeLabel'..statusBarID] |
|||
if strfind(skillLine:GetNormalTexture():GetTexture(), 'MinusButton') then |
|||
skillLine:SetNormalTexture(E.Media.Textures.MinusButton) |
|||
else |
|||
skillLine:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
end |
|||
end) |
|||
|
|||
_G.SkillListScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.SkillListScrollFrameScrollBar) |
|||
|
|||
_G.SkillDetailScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.SkillDetailScrollFrameScrollBar) |
|||
|
|||
_G.SkillDetailStatusBar:StripTextures() |
|||
_G.SkillDetailStatusBar:SetParent(_G.SkillDetailScrollFrame) |
|||
_G.SkillDetailStatusBar:CreateBackdrop() |
|||
_G.SkillDetailStatusBar:SetStatusBarTexture(E.media.normTex) |
|||
E:RegisterStatusBar(_G.SkillDetailStatusBar) |
|||
|
|||
S:HandleCloseButton(_G.SkillDetailStatusBarUnlearnButton) |
|||
S:HandleButton(_G.SkillDetailStatusBarUnlearnButton) |
|||
_G.SkillDetailStatusBarUnlearnButton:Size(24) |
|||
_G.SkillDetailStatusBarUnlearnButton:Point('LEFT', _G.SkillDetailStatusBarBorder, 'RIGHT', 5, 0) |
|||
_G.SkillDetailStatusBarUnlearnButton:SetHitRectInsets(0, 0, 0, 0) |
|||
|
|||
-- Honor/Arena/PvP Tab |
|||
local PVPFrame = _G.PVPFrame |
|||
PVPFrame:StripTextures(true) |
|||
|
|||
for i = 1, MAX_ARENA_TEAMS do |
|||
local pvpTeam = _G['PVPTeam'..i] |
|||
|
|||
pvpTeam:StripTextures() |
|||
pvpTeam:CreateBackdrop() |
|||
pvpTeam.backdrop:Point('TOPLEFT', 9, -4) |
|||
pvpTeam.backdrop:Point('BOTTOMRIGHT', -24, 3) |
|||
|
|||
pvpTeam:HookScript('OnEnter', S.SetModifiedBackdrop) |
|||
pvpTeam:HookScript('OnLeave', S.SetOriginalBackdrop) |
|||
|
|||
_G['PVPTeam'..i..'Highlight']:Kill() |
|||
end |
|||
|
|||
local PVPTeamDetails = _G.PVPTeamDetails |
|||
PVPTeamDetails:StripTextures() |
|||
PVPTeamDetails:SetTemplate('Transparent') |
|||
PVPTeamDetails:Point('TOPLEFT', PVPFrame, 'TOPRIGHT', -30, -12) |
|||
|
|||
local PVPFrameToggleButton = _G.PVPFrameToggleButton |
|||
S:HandleNextPrevButton(PVPFrameToggleButton) |
|||
PVPFrameToggleButton:Point('BOTTOMRIGHT', PVPFrame, 'BOTTOMRIGHT', -48, 81) |
|||
PVPFrameToggleButton:Size(14) |
|||
|
|||
for i = 1, 5 do |
|||
local header = _G['PVPTeamDetailsFrameColumnHeader'..i] |
|||
header:StripTextures() |
|||
header:StyleButton() |
|||
end |
|||
|
|||
for i = 1, 10 do |
|||
local button = _G['PVPTeamDetailsButton'..i] |
|||
button:Width(335) |
|||
S:HandleButtonHighlight(button) |
|||
end |
|||
|
|||
S:HandleButton(_G.PVPTeamDetailsAddTeamMember) |
|||
S:HandleNextPrevButton(_G.PVPTeamDetailsToggleButton) |
|||
S:HandleCloseButton(_G.PVPTeamDetailsCloseButton) |
|||
end |
|||
|
|||
S:AddCallback('CharacterFrame') |
|||
@ -1,48 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local ipairs = ipairs |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
-- credit: Aftermathh |
|||
function S:Blizzard_CombatLog() |
|||
if E.private.chat.enable ~= true then return end |
|||
-- this is always on with the chat module, it's only handle the top bar in combat log chat frame |
|||
|
|||
local Button = _G.CombatLogQuickButtonFrame_Custom |
|||
Button:StripTextures() |
|||
Button:SetTemplate('Transparent') |
|||
|
|||
local FontContainer = _G.ChatFrame2.FontStringContainer |
|||
if FontContainer then |
|||
local point1, point2 = E.PixelMode and 2 or 1, E.PixelMode and 0 or 1 |
|||
Button:ClearAllPoints() |
|||
Button:Point('BOTTOMLEFT', FontContainer, 'TOPLEFT', -point1, point2) |
|||
Button:Point('BOTTOMRIGHT', FontContainer, 'TOPRIGHT', point1, point2) |
|||
end |
|||
|
|||
hooksecurefunc('Blizzard_CombatLog_Update_QuickButtons', function() |
|||
for index in ipairs(_G.Blizzard_CombatLog_Filters.filters) do |
|||
local button = _G['CombatLogQuickButtonFrameButton'..index] |
|||
if button then |
|||
local text = button:GetFontString() |
|||
if text then |
|||
text:FontTemplate(nil, nil, 'OUTLINE') |
|||
end |
|||
end |
|||
end |
|||
end) |
|||
|
|||
local ProgressBar = _G.CombatLogQuickButtonFrame_CustomProgressBar |
|||
ProgressBar:SetStatusBarTexture(E.media.normTex) |
|||
ProgressBar:SetInside(Button) |
|||
|
|||
S:HandleNextPrevButton(_G.CombatLogQuickButtonFrame_CustomAdditionalFilterButton) |
|||
|
|||
_G.CombatLogQuickButtonFrame_CustomAdditionalFilterButton:Size(20, 22) |
|||
_G.CombatLogQuickButtonFrame_CustomAdditionalFilterButton:Point('TOPRIGHT', Button, 'TOPRIGHT', 0, -1) |
|||
_G.CombatLogQuickButtonFrame_CustomTexture:Hide() |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_CombatLog') |
|||
@ -1,303 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local next = next |
|||
local ipairs, select = ipairs, select |
|||
|
|||
local C_CreatureInfo_GetClassInfo = C_CreatureInfo.GetClassInfo |
|||
local BATTLENET_FONT_COLOR = BATTLENET_FONT_COLOR |
|||
local FRIENDS_BNET_BACKGROUND_COLOR = FRIENDS_BNET_BACKGROUND_COLOR |
|||
local FRIENDS_WOW_BACKGROUND_COLOR = FRIENDS_WOW_BACKGROUND_COLOR |
|||
local GREEN_FONT_COLOR = GREEN_FONT_COLOR |
|||
local CreateFrame = CreateFrame |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local ClubTypeGuild = Enum.ClubType.Guild |
|||
local ClubTypeBattleNet = Enum.ClubType.BattleNet |
|||
|
|||
local function UpdateNames(button) |
|||
if not button.expanded then return end |
|||
|
|||
local memberInfo = button:GetMemberInfo() |
|||
if memberInfo and memberInfo.classID then |
|||
local classInfo = C_CreatureInfo_GetClassInfo(memberInfo.classID) |
|||
if classInfo then |
|||
local tcoords = _G.CLASS_ICON_TCOORDS[classInfo.classFile] |
|||
button.Class:SetTexCoord(tcoords[1] + .022, tcoords[2] - .025, tcoords[3] + .022, tcoords[4] - .025) |
|||
end |
|||
end |
|||
end |
|||
|
|||
local function HandleCommunitiesButtons(button, color) |
|||
button.Background:Hide() |
|||
button.CircleMask:Hide() |
|||
button:SetFrameLevel(button:GetFrameLevel() + 5) |
|||
|
|||
S:HandleIcon(button.Icon) |
|||
button.Icon:ClearAllPoints() |
|||
button.Icon:Point('TOPLEFT', 15, -18) |
|||
button.IconRing:Hide() |
|||
|
|||
if not button.bg then |
|||
button.bg = CreateFrame('Frame', nil, button) |
|||
button.bg:CreateBackdrop('Transparent') |
|||
button.bg:Point('TOPLEFT', 7, -16) |
|||
button.bg:Point('BOTTOMRIGHT', -10, 12) |
|||
end |
|||
|
|||
if button.IconBorder then |
|||
button.IconBorder:Hide() |
|||
end |
|||
|
|||
if color then |
|||
button.Selection:ClearAllPoints() |
|||
button.Selection:SetAllPoints(button.bg) |
|||
|
|||
if color == 1 then |
|||
button.Selection:SetAtlas(nil) |
|||
button.Selection:SetColorTexture(GREEN_FONT_COLOR.r, GREEN_FONT_COLOR.g, GREEN_FONT_COLOR.b, 0.2) |
|||
else |
|||
button.Selection:SetAtlas(nil) |
|||
button.Selection:SetColorTexture(BATTLENET_FONT_COLOR.r, BATTLENET_FONT_COLOR.g, BATTLENET_FONT_COLOR.b, 0.2) |
|||
end |
|||
end |
|||
|
|||
local highlight = button:GetHighlightTexture() |
|||
highlight:SetColorTexture(1, 1, 1, 0.3) |
|||
highlight:SetInside(button.bg) |
|||
end |
|||
|
|||
function S:Blizzard_Communities() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.communities) then return end |
|||
|
|||
local CommunitiesFrame = _G.CommunitiesFrame |
|||
CommunitiesFrame:StripTextures() |
|||
_G.CommunitiesFrameInset.Bg:Hide() |
|||
CommunitiesFrame.CommunitiesList.InsetFrame:StripTextures() |
|||
|
|||
S:HandlePortraitFrame(CommunitiesFrame) |
|||
|
|||
local CommunitiesFrameCommunitiesList = _G.CommunitiesFrameCommunitiesList |
|||
CommunitiesFrameCommunitiesList.FilligreeOverlay:Hide() |
|||
CommunitiesFrameCommunitiesList.Bg:Hide() |
|||
CommunitiesFrameCommunitiesList.TopFiligree:Hide() |
|||
CommunitiesFrameCommunitiesList.BottomFiligree:Hide() |
|||
_G.CommunitiesFrameCommunitiesListListScrollFrame:StripTextures() |
|||
|
|||
hooksecurefunc(_G.CommunitiesListEntryMixin, 'SetClubInfo', function(s, clubInfo, isInvitation, isTicket) |
|||
if clubInfo then |
|||
s.Background:Hide() |
|||
s.CircleMask:Hide() |
|||
|
|||
s.Icon:ClearAllPoints() |
|||
s.Icon:Point('TOPLEFT', 8, -17) |
|||
S:HandleIcon(s.Icon) |
|||
s.IconRing:Hide() |
|||
|
|||
if not s.IconBorder then |
|||
s.IconBorder = s:CreateTexture(nil, 'BORDER') |
|||
s.IconBorder:SetOutside(s.Icon) |
|||
s.IconBorder:Hide() |
|||
end |
|||
|
|||
if not s.bg then |
|||
s.bg = CreateFrame('Frame', nil, s) |
|||
s.bg:CreateBackdrop('Transparent') |
|||
s.bg:Point('TOPLEFT', 7, -16) |
|||
s.bg:Point('BOTTOMRIGHT', -10, 12) |
|||
end |
|||
|
|||
local isGuild = clubInfo.clubType == ClubTypeGuild |
|||
if isGuild then |
|||
s.Background:SetAtlas(nil) |
|||
s.Selection:SetAtlas(nil) |
|||
s.Selection:SetAllPoints(s.bg) |
|||
s.Selection:SetColorTexture(0, 1, 0, 0.2) |
|||
else |
|||
s.Background:SetAtlas(nil) |
|||
s.Selection:SetAtlas(nil) |
|||
s.Selection:SetAllPoints(s.bg) |
|||
s.Selection:SetColorTexture(FRIENDS_BNET_BACKGROUND_COLOR.r, FRIENDS_BNET_BACKGROUND_COLOR.g, FRIENDS_BNET_BACKGROUND_COLOR.b, 0.2) |
|||
end |
|||
|
|||
if not isInvitation and not isGuild and not isTicket then |
|||
if clubInfo.clubType == ClubTypeBattleNet then |
|||
s.IconBorder:SetColorTexture(FRIENDS_BNET_BACKGROUND_COLOR.r, FRIENDS_BNET_BACKGROUND_COLOR.g, FRIENDS_BNET_BACKGROUND_COLOR.b) |
|||
else |
|||
s.IconBorder:SetColorTexture(FRIENDS_WOW_BACKGROUND_COLOR.r, FRIENDS_WOW_BACKGROUND_COLOR.g, FRIENDS_WOW_BACKGROUND_COLOR.b) |
|||
end |
|||
s.IconBorder:Show() |
|||
else |
|||
s.IconBorder:Hide() |
|||
end |
|||
|
|||
local highlight = s:GetHighlightTexture() |
|||
highlight:SetColorTexture(1, 1, 1, 0.3) |
|||
highlight:SetAllPoints(s.bg) |
|||
end |
|||
end) |
|||
|
|||
-- Add Community Button |
|||
hooksecurefunc(_G.CommunitiesListEntryMixin, 'SetAddCommunity', function(s) HandleCommunitiesButtons(s, 1) end) |
|||
|
|||
S:HandleItemButton(CommunitiesFrame.ChatTab) |
|||
CommunitiesFrame.ChatTab:Point('TOPLEFT', '$parent', 'TOPRIGHT', E.PixelMode and 0 or E.Border + E.Spacing, -36) |
|||
S:HandleItemButton(CommunitiesFrame.RosterTab) |
|||
|
|||
S:HandleInsetFrame(CommunitiesFrame.CommunitiesList) |
|||
S:HandleMaxMinFrame(CommunitiesFrame.MaximizeMinimizeFrame) |
|||
CommunitiesFrame.MaximizeMinimizeFrame:ClearAllPoints() |
|||
CommunitiesFrame.MaximizeMinimizeFrame:Point('RIGHT', CommunitiesFrame.CloseButton, 'LEFT', 12, 0) |
|||
|
|||
S:HandleButton(CommunitiesFrame.InviteButton) |
|||
S:HandleNextPrevButton(CommunitiesFrame.AddToChatButton) |
|||
|
|||
S:HandleScrollBar(CommunitiesFrame.MemberList.ListScrollFrame.scrollBar) |
|||
S:HandleScrollBar(CommunitiesFrame.Chat.MessageFrame.ScrollBar) |
|||
S:HandleScrollBar(_G.CommunitiesFrameCommunitiesListListScrollFrame.ScrollBar) |
|||
|
|||
S:HandleDropDownBox(CommunitiesFrame.StreamDropDownMenu) |
|||
S:HandleDropDownBox(CommunitiesFrame.CommunitiesListDropDownMenu) |
|||
|
|||
hooksecurefunc(_G.CommunitiesNotificationSettingsStreamEntryMixin, 'SetFilter', function(s) |
|||
s.ShowNotificationsButton:Size(20, 20) |
|||
s.HideNotificationsButton:Size(20, 20) |
|||
S:HandleCheckBox(s.ShowNotificationsButton) |
|||
S:HandleCheckBox(s.HideNotificationsButton) |
|||
end) |
|||
|
|||
-- Chat Tab |
|||
CommunitiesFrame.MemberList:StripTextures() |
|||
CommunitiesFrame.MemberList.InsetFrame:Hide() |
|||
|
|||
CommunitiesFrame.Chat:StripTextures() |
|||
CommunitiesFrame.Chat.InsetFrame:CreateBackdrop('Transparent') |
|||
|
|||
S:HandleEditBox(CommunitiesFrame.ChatEditBox) |
|||
CommunitiesFrame.ChatEditBox:Size(120, 20) |
|||
|
|||
-- [[ ROSTER TAB ]] |
|||
local MemberList = CommunitiesFrame.MemberList |
|||
local ColumnDisplay = MemberList.ColumnDisplay |
|||
ColumnDisplay:StripTextures() |
|||
ColumnDisplay.InsetBorderLeft:Hide() |
|||
ColumnDisplay.InsetBorderBottomLeft:Hide() |
|||
ColumnDisplay.InsetBorderTopLeft:Hide() |
|||
ColumnDisplay.InsetBorderTop:Hide() |
|||
|
|||
S:HandleInsetFrame(CommunitiesFrame.MemberList.InsetFrame) |
|||
S:HandleButton(CommunitiesFrame.CommunitiesControlFrame.CommunitiesSettingsButton) |
|||
CommunitiesFrame.CommunitiesControlFrame.CommunitiesSettingsButton:Size(129, 19) |
|||
S:HandleCheckBox(CommunitiesFrame.MemberList.ShowOfflineButton) |
|||
CommunitiesFrame.MemberList.ShowOfflineButton:Size(25, 25) |
|||
|
|||
hooksecurefunc(CommunitiesFrame.MemberList, 'RefreshListDisplay', function(s) |
|||
for _, child in next, { s.ColumnDisplay:GetChildren() } do |
|||
child:StripTextures() |
|||
child:CreateBackdrop('Transparent') |
|||
end |
|||
|
|||
for _, button in ipairs(s.ListScrollFrame.buttons or {}) do |
|||
if button and not button.hooked then |
|||
hooksecurefunc(button, 'RefreshExpandedColumns', UpdateNames) |
|||
if button.ProfessionHeader then |
|||
local header = button.ProfessionHeader |
|||
for i = 1, 3 do |
|||
select(i, header:GetRegions()):Hide() |
|||
end |
|||
|
|||
header:CreateBackdrop('Transparent') |
|||
end |
|||
|
|||
button.hooked = true |
|||
end |
|||
if button and button.bg then |
|||
button.bg:SetShown(button.Class:IsShown()) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
-- Notification Settings Dialog |
|||
local NotificationSettings = _G.CommunitiesFrame.NotificationSettingsDialog |
|||
NotificationSettings:StripTextures() |
|||
NotificationSettings:CreateBackdrop('Transparent', nil, nil, nil, nil, nil, true) |
|||
|
|||
S:HandleDropDownBox(CommunitiesFrame.NotificationSettingsDialog.CommunitiesListDropDownMenu) |
|||
S:HandleCheckBox(CommunitiesFrame.NotificationSettingsDialog.ScrollFrame.Child.QuickJoinButton) |
|||
S:HandleButton(CommunitiesFrame.NotificationSettingsDialog.ScrollFrame.Child.AllButton) |
|||
S:HandleButton(CommunitiesFrame.NotificationSettingsDialog.ScrollFrame.Child.NoneButton) |
|||
S:HandleButton(CommunitiesFrame.NotificationSettingsDialog.OkayButton) |
|||
S:HandleButton(CommunitiesFrame.NotificationSettingsDialog.CancelButton) |
|||
S:HandleScrollBar(CommunitiesFrame.NotificationSettingsDialog.ScrollFrame.ScrollBar) -- Adjust me |
|||
|
|||
-- Create Channel Dialog |
|||
local EditStreamDialog = CommunitiesFrame.EditStreamDialog |
|||
EditStreamDialog:StripTextures() |
|||
EditStreamDialog:CreateBackdrop('Transparent', nil, nil, nil, nil, nil, true) |
|||
|
|||
S:HandleEditBox(EditStreamDialog.NameEdit) |
|||
EditStreamDialog.NameEdit:Size(280, 20) |
|||
S:HandleEditBox(EditStreamDialog.Description) |
|||
S:HandleCheckBox(EditStreamDialog.TypeCheckBox) |
|||
|
|||
S:HandleButton(EditStreamDialog.Accept) |
|||
S:HandleButton(EditStreamDialog.Cancel) |
|||
|
|||
-- Communities Settings |
|||
local Settings = _G.CommunitiesSettingsDialog |
|||
Settings:CreateBackdrop('Transparent', nil, nil, nil, nil, nil, true) |
|||
S:HandleIcon(Settings.IconPreview) |
|||
Settings.IconPreviewRing:Hide() |
|||
|
|||
S:HandleEditBox(Settings.NameEdit) |
|||
S:HandleEditBox(Settings.ShortNameEdit) |
|||
S:HandleEditBox(Settings.Description) |
|||
S:HandleEditBox(Settings.MessageOfTheDay) |
|||
|
|||
S:HandleButton(Settings.ChangeAvatarButton) |
|||
S:HandleButton(Settings.Accept) |
|||
S:HandleButton(Settings.Delete) |
|||
S:HandleButton(Settings.Cancel) |
|||
|
|||
-- Avatar Picker |
|||
local Avatar = _G.CommunitiesAvatarPickerDialog |
|||
Avatar:StripTextures() |
|||
Avatar:CreateBackdrop('Transparent', nil, nil, nil, nil, nil, true) |
|||
|
|||
Avatar.ScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.CommunitiesAvatarPickerDialogScrollBar) |
|||
|
|||
S:HandleButton(Avatar.OkayButton) |
|||
S:HandleButton(Avatar.CancelButton) |
|||
|
|||
-- Invite Frame |
|||
local TicketManager = _G.CommunitiesTicketManagerDialog |
|||
TicketManager:StripTextures() |
|||
TicketManager.InviteManager.ArtOverlay:Hide() |
|||
TicketManager.InviteManager.ColumnDisplay:StripTextures() |
|||
TicketManager.InviteManager.ColumnDisplay.InsetBorderLeft:Hide() |
|||
TicketManager.InviteManager.ColumnDisplay.InsetBorderBottomLeft:Hide() |
|||
-- TO DO: Fix the Tabs |
|||
TicketManager.InviteManager.ListScrollFrame:StripTextures() |
|||
|
|||
TicketManager:CreateBackdrop('Transparent', nil, nil, nil, nil, nil, true) |
|||
|
|||
S:HandleButton(TicketManager.LinkToChat) |
|||
S:HandleButton(TicketManager.Copy) |
|||
S:HandleButton(TicketManager.Close) |
|||
S:HandleButton(TicketManager.GenerateLinkButton) |
|||
|
|||
S:HandleDropDownBox(TicketManager.ExpiresDropDownMenu) |
|||
S:HandleDropDownBox(TicketManager.UsesDropDownMenu) |
|||
|
|||
S:HandleScrollBar(TicketManager.InviteManager.ListScrollFrame.scrollBar) |
|||
S:HandleButton(TicketManager.MaximizeButton) |
|||
|
|||
-- Bottom Tabs |
|||
for i = 1, 5 do |
|||
S:HandleTab(_G['CommunitiesFrameTab'..i]) |
|||
end |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_Communities') |
|||
@ -1,190 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack, select = unpack, select |
|||
local strfind = strfind |
|||
|
|||
local GetItemInfo = GetItemInfo |
|||
local GetCraftNumReagents = GetCraftNumReagents |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local GetCraftItemLink = GetCraftItemLink |
|||
local GetCraftReagentInfo = GetCraftReagentInfo |
|||
local GetCraftReagentItemLink = GetCraftReagentItemLink |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
-- This is the Hunter Beast Training skin |
|||
function S:SkinCraftFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.craft) then return end |
|||
|
|||
local CraftFrame = _G.CraftFrame |
|||
S:HandleFrame(CraftFrame, true, nil, 11, -12, -32, 76) |
|||
|
|||
local CraftRankFrame = _G.CraftRankFrame |
|||
CraftRankFrame:StripTextures() |
|||
CraftRankFrame:Size(322, 16) |
|||
CraftRankFrame:ClearAllPoints() |
|||
CraftRankFrame:Point('TOP', -10, -45) |
|||
CraftRankFrame:CreateBackdrop() |
|||
CraftRankFrame:SetStatusBarTexture(E.media.normTex) |
|||
CraftRankFrame:SetStatusBarColor(0.13, 0.35, 0.80) |
|||
E:RegisterStatusBar(CraftRankFrame) |
|||
|
|||
_G.CraftRankFrameBorder:StripTextures() |
|||
|
|||
_G.CraftListScrollFrame:StripTextures() |
|||
_G.CraftDetailScrollFrame:StripTextures() |
|||
_G.CraftDetailScrollChildFrame:StripTextures() |
|||
|
|||
S:HandleScrollBar(_G.CraftListScrollFrameScrollBar) |
|||
S:HandleScrollBar(_G.CraftDetailScrollFrameScrollBar) |
|||
|
|||
S:HandleButton(_G.CraftCancelButton) |
|||
|
|||
S:HandleButton(_G.CraftCreateButton) |
|||
|
|||
local CraftFrameAvailableFilterCheckButton = _G.CraftFrameAvailableFilterCheckButton |
|||
S:HandleCheckBox(CraftFrameAvailableFilterCheckButton) |
|||
CraftFrameAvailableFilterCheckButton:ClearAllPoints() |
|||
CraftFrameAvailableFilterCheckButton:Point('LEFT', _G.CraftRankFrameBorder, 'LEFT', 0, -20) |
|||
|
|||
local CraftFrameFilterDropDown = _G.CraftFrameFilterDropDown |
|||
S:HandleDropDownBox(CraftFrameFilterDropDown, 160) |
|||
CraftFrameFilterDropDown:ClearAllPoints() |
|||
CraftFrameFilterDropDown:Point('RIGHT', _G.CraftRankFrameBorder, 'RIGHT', 55, -25) |
|||
|
|||
local CraftIcon = _G.CraftIcon |
|||
|
|||
_G.CraftRequirements:SetTextColor(1, 0.80, 0.10) |
|||
|
|||
S:HandleCloseButton(_G.CraftFrameCloseButton, CraftFrame.backdrop) |
|||
|
|||
_G.CraftExpandButtonFrame:StripTextures() |
|||
|
|||
local CraftCollapseAllButton = _G.CraftCollapseAllButton |
|||
CraftCollapseAllButton:Point('LEFT', _G.CraftExpandTabLeft, 'RIGHT', -8, 5) |
|||
CraftCollapseAllButton:GetNormalTexture():Point('LEFT', 3, 2) |
|||
CraftCollapseAllButton:GetNormalTexture():Size(15) |
|||
|
|||
CraftCollapseAllButton:SetHighlightTexture(E.ClearTexture) |
|||
CraftCollapseAllButton.SetHighlightTexture = E.noop |
|||
|
|||
CraftCollapseAllButton:SetDisabledTexture(E.Media.Textures.MinusButton) |
|||
CraftCollapseAllButton.SetDisabledTexture = E.noop |
|||
CraftCollapseAllButton:GetDisabledTexture():Point('LEFT', 3, 2) |
|||
CraftCollapseAllButton:GetDisabledTexture():Size(15) |
|||
CraftCollapseAllButton:GetDisabledTexture():SetDesaturated(true) |
|||
|
|||
for i = 1, _G.CRAFTS_DISPLAYED do |
|||
local button = _G['Craft'..i] |
|||
local highlight = _G['Craft'..i..'Highlight'] |
|||
|
|||
button:GetNormalTexture():Size(14) |
|||
button:GetNormalTexture():Point('LEFT', 4, 1) |
|||
|
|||
highlight:SetTexture('') |
|||
highlight.SetTexture = E.noop |
|||
end |
|||
|
|||
for i = 1, _G.MAX_CRAFT_REAGENTS do |
|||
local icon = _G['CraftReagent'..i..'IconTexture'] |
|||
local count = _G['CraftReagent'..i..'Count'] |
|||
local nameFrame = _G['CraftReagent'..i..'NameFrame'] |
|||
|
|||
S:HandleIcon(icon, true) |
|||
icon:SetDrawLayer('ARTWORK') |
|||
count:SetDrawLayer('OVERLAY') |
|||
|
|||
nameFrame:SetAlpha(0) |
|||
end |
|||
|
|||
_G.CraftReagent1:Point('TOPLEFT', _G.CraftReagentLabel, 'BOTTOMLEFT', -3, -3) |
|||
_G.CraftReagent2:Point('LEFT', _G.CraftReagent1, 'RIGHT', 3, 0) |
|||
_G.CraftReagent4:Point('LEFT', _G.CraftReagent3, 'RIGHT', 3, 0) |
|||
_G.CraftReagent6:Point('LEFT', _G.CraftReagent5, 'RIGHT', 3, 0) |
|||
_G.CraftReagent8:Point('LEFT', _G.CraftReagent7, 'RIGHT', 3, 0) |
|||
|
|||
hooksecurefunc('CraftFrame_Update', function() |
|||
for i = 1, _G.CRAFTS_DISPLAYED do |
|||
local button = _G['Craft'..i] |
|||
local texture = button:GetNormalTexture():GetTexture() |
|||
if texture then |
|||
if strfind(texture, 'MinusButton') then |
|||
button:SetNormalTexture(E.Media.Textures.MinusButton) |
|||
elseif strfind(texture, 'PlusButton') then |
|||
button:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
end |
|||
end |
|||
end |
|||
|
|||
if CraftCollapseAllButton.collapsed then |
|||
CraftCollapseAllButton:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
else |
|||
CraftCollapseAllButton:SetNormalTexture(E.Media.Textures.MinusButton) |
|||
end |
|||
end) |
|||
|
|||
CraftIcon:CreateBackdrop() |
|||
|
|||
hooksecurefunc('CraftFrame_SetSelection', function(id) |
|||
if ( not id ) then |
|||
return |
|||
end |
|||
|
|||
local CraftReagentLabel = _G.CraftReagentLabel |
|||
CraftReagentLabel:Point('TOPLEFT', _G.CraftDescription, 'BOTTOMLEFT', 0, -10) |
|||
|
|||
if CraftIcon:GetNormalTexture() then |
|||
S:HandleIcon(CraftIcon:GetNormalTexture()) |
|||
end |
|||
|
|||
CraftIcon:Size(40) |
|||
CraftIcon:Point('TOPLEFT', 2, -3) |
|||
|
|||
local skillLink = GetCraftItemLink(id) |
|||
if skillLink then |
|||
local quality = select(3, GetItemInfo(skillLink)) |
|||
if quality and quality > 1 then |
|||
CraftIcon.backdrop:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
_G.CraftName:SetTextColor(GetItemQualityColor(quality)) |
|||
else |
|||
CraftIcon.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.CraftName:SetTextColor(1, 1, 1) |
|||
end |
|||
end |
|||
|
|||
local numReagents = GetCraftNumReagents(id) |
|||
for i = 1, numReagents, 1 do |
|||
local _, _, reagentCount, playerReagentCount = GetCraftReagentInfo(id, i) |
|||
local reagentLink = GetCraftReagentItemLink(id, i) |
|||
local icon = _G['CraftReagent'..i..'IconTexture'] |
|||
local name = _G['CraftReagent'..i..'Name'] |
|||
|
|||
if reagentLink then |
|||
local quality = select(3, GetItemInfo(reagentLink)) |
|||
if quality and quality > 1 then |
|||
icon.backdrop:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
if playerReagentCount < reagentCount then |
|||
name:SetTextColor(0.5, 0.5, 0.5) |
|||
else |
|||
name:SetTextColor(GetItemQualityColor(quality)) |
|||
end |
|||
else |
|||
icon.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end |
|||
end |
|||
|
|||
if (numReagents < 5) then |
|||
_G.CraftDetailScrollFrameScrollBar:Hide() |
|||
_G.CraftDetailScrollFrameTop:Hide() |
|||
_G.CraftDetailScrollFrameBottom:Hide() |
|||
else |
|||
_G.CraftDetailScrollFrameScrollBar:Show() |
|||
_G.CraftDetailScrollFrameTop:Show() |
|||
_G.CraftDetailScrollFrameBottom:Show() |
|||
end |
|||
end) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_CraftUI', 'SkinCraftFrame') |
|||
@ -1,116 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
local TT = E:GetModule('Tooltip') |
|||
|
|||
local _G = _G |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local FrameTexs = { |
|||
'TopLeft', |
|||
'TopRight', |
|||
'Top', |
|||
'BottomLeft', |
|||
'BottomRight', |
|||
'Bottom', |
|||
'Left', |
|||
'Right', |
|||
'TitleBG', |
|||
'DialogBG', |
|||
} |
|||
|
|||
local function SkinOnShow() |
|||
local ScriptErrorsFrame = _G.ScriptErrorsFrame |
|||
ScriptErrorsFrame:SetParent(E.UIParent) |
|||
ScriptErrorsFrame:CreateBackdrop('Transparent') |
|||
S:HandleScrollBar(_G.ScriptErrorsFrameScrollBar) |
|||
S:HandleCloseButton(_G.ScriptErrorsFrameClose) |
|||
ScriptErrorsFrame.ScrollFrame.Text:FontTemplate(nil, 13) |
|||
ScriptErrorsFrame.ScrollFrame:CreateBackdrop() |
|||
ScriptErrorsFrame.ScrollFrame:SetFrameLevel(ScriptErrorsFrame.ScrollFrame:GetFrameLevel() + 2) |
|||
|
|||
for i=1, #FrameTexs do |
|||
_G['ScriptErrorsFrame'..FrameTexs[i]]:SetTexture() |
|||
end |
|||
|
|||
-- Our Buttons |
|||
if ScriptErrorsFrame.firstButton then |
|||
S:HandleButton(ScriptErrorsFrame.firstButton) |
|||
end |
|||
if ScriptErrorsFrame.lastButton then |
|||
S:HandleButton(ScriptErrorsFrame.lastButton) |
|||
end |
|||
|
|||
-- Default Buttons |
|||
S:HandleButton(ScriptErrorsFrame.Reload) |
|||
S:HandleButton(ScriptErrorsFrame.Close) |
|||
S:HandleNextPrevButton(ScriptErrorsFrame.PreviousError) |
|||
S:HandleNextPrevButton(ScriptErrorsFrame.NextError) |
|||
|
|||
S:Unhook(ScriptErrorsFrame, 'OnShow') |
|||
end |
|||
|
|||
local function SkinTableAttributeDisplay(frame) |
|||
frame:StripTextures() |
|||
frame:CreateBackdrop('Transparent') |
|||
frame.ScrollFrameArt:StripTextures() |
|||
frame.ScrollFrameArt:CreateBackdrop('Transparent') |
|||
S:HandleCloseButton(frame.CloseButton) |
|||
frame.OpenParentButton:ClearAllPoints() |
|||
frame.OpenParentButton:Point('TOPLEFT', frame, 'TOPLEFT', 2, -2) |
|||
S:HandleNextPrevButton(frame.OpenParentButton, 'up') |
|||
frame.OpenParentButton:Size(17) |
|||
frame.DuplicateButton:ClearAllPoints() |
|||
frame.DuplicateButton:Point('LEFT', frame.NavigateForwardButton, 'RIGHT') |
|||
S:HandleCheckBox(frame.VisibilityButton) |
|||
frame.VisibilityButton:Size(28) |
|||
S:HandleCheckBox(frame.HighlightButton) |
|||
frame.HighlightButton:Size(28) |
|||
S:HandleCheckBox(frame.DynamicUpdateButton) |
|||
frame.DynamicUpdateButton:Size(28) |
|||
frame.NavigateBackwardButton:ClearAllPoints() |
|||
frame.NavigateBackwardButton:Point('LEFT', frame.OpenParentButton, 'RIGHT', 2, 0) |
|||
frame.NavigateForwardButton:ClearAllPoints() |
|||
frame.NavigateForwardButton:Point('LEFT', frame.NavigateBackwardButton, 'RIGHT', 2, 0) |
|||
frame.DuplicateButton:ClearAllPoints() |
|||
frame.DuplicateButton:Point('LEFT', frame.NavigateForwardButton, 'RIGHT', 2, 0) |
|||
S:HandleNextPrevButton(frame.DuplicateButton) |
|||
frame.DuplicateButton:Size(17) |
|||
S:HandleNextPrevButton(frame.NavigateBackwardButton) |
|||
S:HandleNextPrevButton(frame.NavigateForwardButton) |
|||
S:HandleEditBox(frame.FilterBox) |
|||
S:HandleScrollBar(frame.LinesScrollFrame.ScrollBar) |
|||
end |
|||
|
|||
function S:ScriptErrorsFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.debug) then return end |
|||
|
|||
S:SecureHookScript(_G.ScriptErrorsFrame, 'OnShow', SkinOnShow) |
|||
end |
|||
|
|||
function S:Blizzard_DebugTools() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.debug) then return end |
|||
|
|||
-- Tooltips |
|||
if E.private.skins.blizzard.tooltip then |
|||
TT:SetStyle(_G.FrameStackTooltip) |
|||
end |
|||
|
|||
--New Table Attribute Display: mouse over frame and (/tableinspect or [/fstack -> then Ctrl]) |
|||
SkinTableAttributeDisplay(_G.TableAttributeDisplay) |
|||
hooksecurefunc(_G.TableInspectorMixin, 'OnLoad', function(s) |
|||
if s and s.ScrollFrameArt and not s.skinned then |
|||
SkinTableAttributeDisplay(s) |
|||
s.skinned = true |
|||
end |
|||
end) |
|||
end |
|||
|
|||
-- ScriptErrorsFrame Skin |
|||
S:AddCallback('ScriptErrorsFrame') |
|||
|
|||
-- FrameStack, TableInspect Skins |
|||
if _G.IsAddOnLoaded('Blizzard_DebugTools') then |
|||
S:AddCallback('Blizzard_DebugTools') |
|||
else |
|||
S:AddCallbackForAddon('Blizzard_DebugTools') |
|||
end |
|||
@ -1,34 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
function S:DressUpFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.dressingroom) then return end |
|||
|
|||
local DressUpFrame = _G.DressUpFrame |
|||
S:HandleFrame(DressUpFrame, true, nil, 11, -12, -32, 76) |
|||
|
|||
DressUpFrame.BGBottomLeft:SetDesaturated(true) |
|||
DressUpFrame.BGBottomRight:SetDesaturated(true) |
|||
DressUpFrame.BGTopLeft:SetDesaturated(true) |
|||
DressUpFrame.BGTopRight:SetDesaturated(true) |
|||
|
|||
_G.DressUpFrameDescriptionText:Point('CENTER', _G.DressUpFrameTitleText, 'BOTTOM', -5, -22) |
|||
|
|||
S:HandleCloseButton(_G.DressUpFrameCloseButton, DressUpFrame.backdrop) |
|||
|
|||
S:HandleRotateButton(_G.DressUpModelFrameRotateLeftButton) |
|||
_G.DressUpModelFrameRotateLeftButton:Point('TOPLEFT', DressUpFrame, 25, -79) |
|||
S:HandleRotateButton(_G.DressUpModelFrameRotateRightButton) |
|||
_G.DressUpModelFrameRotateRightButton:Point('TOPLEFT', _G.DressUpModelFrameRotateLeftButton, 'TOPRIGHT', 3, 0) |
|||
|
|||
S:HandleButton(_G.DressUpFrameCancelButton) |
|||
_G.DressUpFrameCancelButton:Point('BOTTOMRIGHT', -35, 80) |
|||
S:HandleButton(_G.DressUpFrameResetButton) |
|||
_G.DressUpFrameResetButton:Point('RIGHT', _G.DressUpFrameCancelButton, 'LEFT', -3, 0) |
|||
|
|||
S:HandleFrame(_G.DressUpModelFrame, true, nil, -2, 1, 0, 19) |
|||
end |
|||
|
|||
S:AddCallback('DressUpFrame') |
|||
@ -1,141 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local next = next |
|||
local pairs = pairs |
|||
local unpack = unpack |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local function ReskinEventTraceButton(button) |
|||
S:HandleButton(button) |
|||
button.NormalTexture:SetAlpha(0) |
|||
button.MouseoverOverlay:SetAlpha(0) |
|||
end |
|||
|
|||
local function reskinScrollChild(self) |
|||
for _, child in next, { self.ScrollTarget:GetChildren() } do |
|||
local button = child.HideButton |
|||
if button and not button.IsSkinned then |
|||
S:HandleCloseButton(button) |
|||
|
|||
button:ClearAllPoints() |
|||
button:SetPoint('LEFT', 3, 0) |
|||
|
|||
local checkButton = child.CheckButton |
|||
if checkButton then |
|||
S:HandleCheckBox(checkButton) |
|||
checkButton:SetSize(22, 22) |
|||
end |
|||
|
|||
button.IsSkinned = true |
|||
end |
|||
end |
|||
end |
|||
|
|||
local function ReskinEventTraceScrollBox(frame) |
|||
frame:DisableDrawLayer('BACKGROUND') |
|||
frame:CreateBackdrop('Transparent') |
|||
hooksecurefunc(frame, 'Update', reskinScrollChild) |
|||
end |
|||
|
|||
local function ReskinScrollBarArrow(frame, direction) |
|||
S:HandleNextPrevButton(frame, direction) |
|||
frame.Overlay:SetAlpha(0) |
|||
frame.Texture:Hide() |
|||
end |
|||
|
|||
local function ReskinEventTraceScrollBar(frame) |
|||
frame.Background:Hide() |
|||
frame:StripTextures() |
|||
|
|||
local track = frame.Track |
|||
track:SetTemplate('Transparent') |
|||
track:ClearAllPoints() |
|||
track:SetPoint('TOPLEFT', 4, -21) |
|||
track:SetPoint('BOTTOMRIGHT', -3, 21) |
|||
|
|||
local thumb = track.Thumb |
|||
thumb.Middle:Hide() |
|||
thumb.Begin:Hide() |
|||
thumb.End:Hide() |
|||
|
|||
thumb:SetTemplate(nil, true, true) |
|||
thumb:SetBackdropColor(unpack(E.media.rgbvaluecolor)) |
|||
|
|||
ReskinScrollBarArrow(frame.Back, 'up') |
|||
ReskinScrollBarArrow(frame.Forward, 'down') |
|||
end |
|||
|
|||
local function ReskinEventTraceFrame(frame) |
|||
ReskinEventTraceScrollBox(frame.ScrollBox) |
|||
ReskinEventTraceScrollBar(frame.ScrollBar) |
|||
end |
|||
|
|||
function S:Blizzard_EventTrace() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.eventLog) then return end |
|||
|
|||
-- Frame |
|||
local EventTrace = _G.EventTrace |
|||
EventTrace:StripTextures() |
|||
EventTrace:CreateBackdrop('Transparent') |
|||
S:HandleCloseButton(_G.EventTraceCloseButton) |
|||
|
|||
_G.EventTraceTooltip:SetFrameLevel(10) |
|||
|
|||
-- Top Buttons |
|||
local SubtitleBar = EventTrace.SubtitleBar |
|||
EventTrace.SubtitleBar.ViewLog:StripTextures() |
|||
EventTrace.SubtitleBar.ViewFilter:StripTextures() |
|||
S:HandleButton(EventTrace.SubtitleBar.ViewLog) |
|||
S:HandleButton(EventTrace.SubtitleBar.ViewFilter) |
|||
|
|||
-- Options Dropdown |
|||
local OptionsDropDown = EventTrace.SubtitleBar.OptionsDropDown |
|||
OptionsDropDown:SetWidth(135) |
|||
S:HandleButton(OptionsDropDown) |
|||
|
|||
-- Log Bar |
|||
local LogBar = EventTrace.Log.Bar |
|||
S:HandleEditBox(LogBar.SearchBox) |
|||
LogBar.SearchBox:SetHeight(18) |
|||
LogBar.DiscardAllButton:StripTextures() |
|||
LogBar.PlaybackButton:StripTextures() |
|||
LogBar.MarkButton:StripTextures() |
|||
S:HandleButton(LogBar.DiscardAllButton) |
|||
S:HandleButton(LogBar.PlaybackButton) |
|||
S:HandleButton(LogBar.MarkButton) |
|||
|
|||
-- Filter Bar |
|||
local FilterBar = EventTrace.Filter.Bar |
|||
FilterBar.DiscardAllButton:StripTextures() |
|||
FilterBar.UncheckAllButton:StripTextures() |
|||
FilterBar.CheckAllButton:StripTextures() |
|||
S:HandleButton(FilterBar.DiscardAllButton) |
|||
S:HandleButton(FilterBar.UncheckAllButton) |
|||
S:HandleButton(FilterBar.CheckAllButton) |
|||
|
|||
-- Resize Button |
|||
EventTrace.ResizeButton:SetAlpha(0) |
|||
|
|||
ReskinEventTraceFrame(EventTrace.Log.Events) |
|||
ReskinEventTraceFrame(EventTrace.Log.Search) |
|||
ReskinEventTraceFrame(EventTrace.Filter) |
|||
|
|||
local buttons = { |
|||
SubtitleBar.ViewLog, |
|||
SubtitleBar.ViewFilter, |
|||
LogBar.DiscardAllButton, |
|||
LogBar.PlaybackButton, |
|||
LogBar.MarkButton, |
|||
FilterBar.DiscardAllButton, |
|||
FilterBar.UncheckAllButton, |
|||
FilterBar.CheckAllButton, |
|||
} |
|||
|
|||
for _, button in pairs(buttons) do |
|||
ReskinEventTraceButton(button) |
|||
end |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_EventTrace') |
|||
@ -1,534 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack = unpack |
|||
local pairs = pairs |
|||
|
|||
local BNConnected = BNConnected |
|||
local BNFeaturesEnabled = BNFeaturesEnabled |
|||
local GetGuildRosterInfo = GetGuildRosterInfo |
|||
local GetNumSubgroupMembers = GetNumSubgroupMembers |
|||
local GetQuestDifficultyColor = GetQuestDifficultyColor |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local GUILDMEMBERS_TO_DISPLAY = GUILDMEMBERS_TO_DISPLAY |
|||
local C_FriendList_GetNumWhoResults = C_FriendList.GetNumWhoResults |
|||
local C_FriendList_GetWhoInfo = C_FriendList.GetWhoInfo |
|||
|
|||
local function skinFriendRequest(frame) |
|||
if frame.isSkinned then return end |
|||
S:HandleButton(frame.DeclineButton, nil, true) |
|||
S:HandleButton(frame.AcceptButton) |
|||
frame.isSkinned = true |
|||
end |
|||
|
|||
local function SkinPlusMinus(button, minus) |
|||
local texture = E.Media.Textures.PlusButton |
|||
if minus then |
|||
texture = E.Media.Textures.MinusButton |
|||
end |
|||
|
|||
button:SetNormalTexture(texture) |
|||
button.SetNormalTexture = E.noop |
|||
|
|||
button:SetPushedTexture(texture) |
|||
button.SetPushedTexture = E.noop |
|||
|
|||
button:SetHighlightTexture(E.ClearTexture) |
|||
button.SetHighlightTexture = E.noop |
|||
|
|||
button:SetDisabledTexture(texture) |
|||
button.SetDisabledTexture = E.noop |
|||
button:GetDisabledTexture():SetDesaturated(true) |
|||
end |
|||
|
|||
function S:FriendsFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.friends) then return end |
|||
|
|||
-- Friends Frame |
|||
local FriendsFrame = _G.FriendsFrame |
|||
S:HandleFrame(FriendsFrame, true, nil, -5, 0, -2) |
|||
|
|||
_G.FriendsFrameCloseButton:Point('TOPRIGHT', 0, 2) |
|||
|
|||
S:HandleDropDownBox(_G.FriendsFrameStatusDropDown, 72) |
|||
S:HandlePointXY(_G.FriendsFrameStatusDropDown, 266, -55) |
|||
|
|||
for i = 1, #_G.FRIENDSFRAME_SUBFRAMES do |
|||
S:HandleTab(_G['FriendsFrameTab'..i]) |
|||
end |
|||
|
|||
-- Friends List Frame |
|||
for i = 1, _G.FRIEND_HEADER_TAB_IGNORE do |
|||
local tab = _G['FriendsTabHeaderTab'..i] |
|||
S:HandleFrame(tab, true, nil, 3, -7, -2, -1) |
|||
|
|||
tab:HookScript('OnEnter', S.SetModifiedBackdrop) |
|||
tab:HookScript('OnLeave', S.SetOriginalBackdrop) |
|||
end |
|||
|
|||
for i = 1, _G.FRIENDS_FRIENDS_TO_DISPLAY do |
|||
local button = 'FriendsFrameFriendsScrollFrameButton'..i |
|||
|
|||
_G[button..'SummonButtonIcon']:SetTexCoord(unpack(E.TexCoords)) |
|||
_G[button..'SummonButtonNormalTexture']:SetAlpha(0) |
|||
_G[button..'SummonButton']:StyleButton() |
|||
_G[button].highlight:SetTexture(E.Media.Textures.Highlight) |
|||
_G[button].highlight:SetAlpha(0.35) |
|||
end |
|||
|
|||
for i = 1, _G.FRIENDS_FRIENDS_TO_DISPLAY do |
|||
S:HandleButtonHighlight(_G['FriendsFriendsButton'..i]) |
|||
end |
|||
|
|||
S:HandleScrollBar(_G.FriendsFrameFriendsScrollFrameScrollBar) |
|||
|
|||
S:HandleButton(_G.AddFriendEntryFrameAcceptButton) |
|||
S:HandleButton(_G.AddFriendEntryFrameCancelButton) |
|||
S:HandleButton(_G.FriendsFrameAddFriendButton) |
|||
S:HandleButton(_G.FriendsFrameSendMessageButton) |
|||
S:HandleButton(_G.FriendsFrameUnsquelchButton) |
|||
|
|||
S:HandlePointXY(_G.FriendsFrameAddFriendButton, -1, 4) |
|||
|
|||
-- Battle.net |
|||
local FriendsFrameBattlenetFrame = _G.FriendsFrameBattlenetFrame |
|||
FriendsFrameBattlenetFrame:StripTextures() |
|||
FriendsFrameBattlenetFrame:GetRegions():Hide() |
|||
|
|||
FriendsFrameBattlenetFrame.UnavailableInfoFrame:Point('TOPLEFT', FriendsFrame, 'TOPRIGHT', 1, -18) |
|||
|
|||
FriendsFrameBattlenetFrame.Tag:SetParent(_G.FriendsListFrame) |
|||
FriendsFrameBattlenetFrame.Tag:Point('TOP', FriendsFrame, 'TOP', 0, -8) |
|||
|
|||
local FriendsFrameBroadcastInput = _G.FriendsFrameBroadcastInput |
|||
FriendsFrameBroadcastInput:CreateBackdrop() |
|||
FriendsFrameBroadcastInput:Width(250) |
|||
FriendsFrameBroadcastInput:Point('TOPLEFT', 22, -32) |
|||
FriendsFrameBroadcastInput:Point('TOPRIGHT', -9, -32) |
|||
|
|||
_G.FriendsFrameBroadcastInputLeft:Kill() |
|||
_G.FriendsFrameBroadcastInputRight:Kill() |
|||
_G.FriendsFrameBroadcastInputMiddle:Kill() |
|||
|
|||
hooksecurefunc('FriendsFrame_CheckBattlenetStatus', function() |
|||
if BNFeaturesEnabled() then |
|||
|
|||
FriendsFrameBattlenetFrame.BroadcastButton:Hide() |
|||
|
|||
if BNConnected() then |
|||
FriendsFrameBattlenetFrame:Hide() |
|||
_G.FriendsFrameBroadcastInput:Show() |
|||
_G.FriendsFrameBroadcastInput_UpdateDisplay() |
|||
end |
|||
end |
|||
end) |
|||
|
|||
_G.FriendsFrame_CheckBattlenetStatus() |
|||
|
|||
hooksecurefunc('FriendsFrame_Update', function() |
|||
if FriendsFrame.selectedTab == 1 and _G.FriendsTabHeader.selectedTab == 1 and _G.FriendsFrameBattlenetFrame.Tag:IsShown() then |
|||
_G.FriendsFrameTitleText:Hide() |
|||
else |
|||
_G.FriendsFrameTitleText:Show() |
|||
end |
|||
end) |
|||
|
|||
S:HandleEditBox(_G.AddFriendNameEditBox) |
|||
|
|||
_G.AddFriendFrame:SetTemplate('Transparent') |
|||
|
|||
-- Pending invites |
|||
_G.FriendsFrameFriendsScrollFrame:StripTextures() |
|||
|
|||
S:HandleButton(_G.FriendsFrameFriendsScrollFrame.PendingInvitesHeaderButton, true) |
|||
|
|||
_G.FriendsFrameFriendsScrollFrame.PendingInvitesHeaderButton:SetScript('OnMouseUp', nil) |
|||
_G.FriendsFrameFriendsScrollFrame.PendingInvitesHeaderButton:SetScript('OnMouseDown', nil) |
|||
|
|||
_G.FriendsFrameFriendsScrollFrame.PendingInvitesHeaderButton.RightArrow:SetTexture(E.Media.Textures.ArrowUp) |
|||
_G.FriendsFrameFriendsScrollFrame.PendingInvitesHeaderButton.RightArrow:SetRotation(S.ArrowRotation['right']) |
|||
_G.FriendsFrameFriendsScrollFrame.PendingInvitesHeaderButton.DownArrow:SetTexture(E.Media.Textures.ArrowUp) |
|||
_G.FriendsFrameFriendsScrollFrame.PendingInvitesHeaderButton.DownArrow:SetRotation(S.ArrowRotation['down']) |
|||
_G.FriendsFrameFriendsScrollFrame.PendingInvitesHeaderButton.RightArrow:SetPoint('LEFT', 11, 0) |
|||
_G.FriendsFrameFriendsScrollFrame.PendingInvitesHeaderButton.DownArrow:SetPoint('TOPLEFT', 8, -10) |
|||
hooksecurefunc(_G.FriendsFrameFriendsScrollFrame.invitePool, 'Acquire', function() |
|||
for object in pairs(_G.FriendsFrameFriendsScrollFrame.invitePool.activeObjects) do |
|||
skinFriendRequest(object) |
|||
end |
|||
end) |
|||
|
|||
S:HandleFrame(_G.FriendsFriendsFrame, true) |
|||
|
|||
_G.FriendsFriendsList:StripTextures() |
|||
_G.IgnoreListFrame:StripTextures() |
|||
|
|||
S:HandleButton(_G.FriendsFriendsCloseButton) |
|||
S:HandleButton(_G.FriendsFriendsSendRequestButton) |
|||
|
|||
S:HandleEditBox(_G.FriendsFriendsList) |
|||
|
|||
S:HandleScrollBar(_G.FriendsFriendsScrollFrameScrollBar) |
|||
|
|||
S:HandleDropDownBox(_G.FriendsFriendsFrameDropDown, 150) |
|||
|
|||
-- Ignore List Frame |
|||
_G.IgnoreListFrame:StripTextures() |
|||
|
|||
S:HandleButton(_G.FriendsFrameIgnorePlayerButton, true) |
|||
S:HandleButton(_G.FriendsFrameUnsquelchButton, true) |
|||
|
|||
S:HandleScrollBar(_G.FriendsFrameIgnoreScrollFrameScrollBar) |
|||
|
|||
-- Who Frame |
|||
_G.WhoFrameListInset:StripTextures() |
|||
_G.WhoFrameEditBoxInset:StripTextures() |
|||
_G.WhoListScrollFrame:StripTextures() |
|||
|
|||
for i = 1, 4 do |
|||
local header = _G['WhoFrameColumnHeader'..i] |
|||
header:StripTextures() |
|||
header:StyleButton() |
|||
header:ClearAllPoints() |
|||
end |
|||
|
|||
_G.WhoFrameColumnHeader1:Point('LEFT', _G.WhoFrameColumnHeader4, 'RIGHT', -2, 0) |
|||
_G.WhoFrameColumn_SetWidth(_G.WhoFrameColumnHeader1, 105) |
|||
_G.WhoFrameColumnHeader2:Point('LEFT', _G.WhoFrameColumnHeader1, 'RIGHT', -5, 0) |
|||
_G.WhoFrameColumnHeader3:Point('TOPLEFT', _G.WhoFrame, 'TOPLEFT', 8, -57) |
|||
_G.WhoFrameColumnHeader4:Point('LEFT', _G.WhoFrameColumnHeader3, 'RIGHT', -2, 0) |
|||
_G.WhoFrameColumn_SetWidth(_G.WhoFrameColumnHeader4, 50) |
|||
|
|||
_G.WhoFrameButton1:Point('TOPLEFT', 10, -82) |
|||
|
|||
S:HandleEditBox(_G.WhoFrameEditBox) |
|||
_G.WhoFrameEditBox:Point('BOTTOM', -3, 29) |
|||
_G.WhoFrameEditBox:Size(332, 18) |
|||
|
|||
S:HandleButton(_G.WhoFrameWhoButton) |
|||
_G.WhoFrameWhoButton:Point('RIGHT', _G.WhoFrameAddFriendButton, 'LEFT', -2, 0) |
|||
_G.WhoFrameWhoButton:Width(90) |
|||
|
|||
S:HandleButton(_G.WhoFrameAddFriendButton) |
|||
_G.WhoFrameAddFriendButton:Point('RIGHT', _G.WhoFrameGroupInviteButton, 'LEFT', -2, 0) |
|||
|
|||
S:HandleButton(_G.WhoFrameGroupInviteButton) |
|||
_G.WhoFrameGroupInviteButton:Point('BOTTOMRIGHT', -6, 4) |
|||
|
|||
S:HandleDropDownBox(_G.WhoFrameDropDown) |
|||
_G.WhoFrameDropDown:Point('TOPLEFT', -6, 4) |
|||
|
|||
S:HandleScrollBar(_G.WhoListScrollFrameScrollBar, 3) |
|||
_G.WhoListScrollFrameScrollBar:ClearAllPoints() |
|||
_G.WhoListScrollFrameScrollBar:Point('TOPRIGHT', _G.WhoListScrollFrame, 'TOPRIGHT', 26, -13) |
|||
_G.WhoListScrollFrameScrollBar:Point('BOTTOMRIGHT', _G.WhoListScrollFrame, 'BOTTOMRIGHT', 0, 18) |
|||
|
|||
for i = 1, _G.WHOS_TO_DISPLAY do |
|||
local button = _G['WhoFrameButton'..i] |
|||
local level = _G['WhoFrameButton'..i..'Level'] |
|||
local name = _G['WhoFrameButton'..i..'Name'] |
|||
local class = _G['WhoFrameButton'..i..'Class'] |
|||
|
|||
button.icon = button:CreateTexture('$parentIcon', 'ARTWORK') |
|||
button.icon:Point('LEFT', 45, 0) |
|||
button.icon:Size(15) |
|||
button.icon:SetTexture([[Interface\WorldStateFrame\Icons-Classes]]) |
|||
|
|||
button:CreateBackdrop(nil, true) |
|||
button.backdrop:SetAllPoints(button.icon) |
|||
S:HandleButtonHighlight(button) |
|||
|
|||
level:ClearAllPoints() |
|||
level:SetPoint('TOPLEFT', 11, -1) |
|||
|
|||
name:SetSize(100, 14) |
|||
name:ClearAllPoints() |
|||
name:SetPoint('LEFT', 85, 0) |
|||
|
|||
class:Hide() |
|||
end |
|||
|
|||
hooksecurefunc('WhoList_Update', function() |
|||
local numWhos = C_FriendList_GetNumWhoResults() |
|||
if numWhos == 0 then return end |
|||
|
|||
if numWhos > _G.WHOS_TO_DISPLAY then |
|||
numWhos = _G.WHOS_TO_DISPLAY |
|||
end |
|||
|
|||
local playerZone = E.MapInfo.realZoneText |
|||
local classTextColor, levelTextColor |
|||
|
|||
for i = 1, numWhos do |
|||
local button = _G['WhoFrameButton'..i] |
|||
local info = C_FriendList_GetWhoInfo(button.whoIndex) |
|||
|
|||
if info.filename then |
|||
classTextColor = E:ClassColor(info.filename) |
|||
button.icon:Show() |
|||
button.icon:SetTexCoord(unpack(_G.CLASS_ICON_TCOORDS[info.filename])) |
|||
else |
|||
classTextColor = _G.HIGHLIGHT_FONT_COLOR |
|||
button.icon:Hide() |
|||
end |
|||
|
|||
levelTextColor = GetQuestDifficultyColor(info.level) |
|||
|
|||
_G['WhoFrameButton'..i..'Name']:SetTextColor(classTextColor.r, classTextColor.g, classTextColor.b) |
|||
_G['WhoFrameButton'..i..'Level']:SetTextColor(levelTextColor.r, levelTextColor.g, levelTextColor.b) |
|||
_G['WhoFrameButton'..i..'Class']:SetTextColor(1, 1, 1) |
|||
|
|||
if info.area == playerZone then |
|||
_G['WhoFrameButton'..i..'Variable']:SetTextColor(0, 1, 0) |
|||
else |
|||
_G['WhoFrameButton'..i..'Variable']:SetTextColor(1, 1, 1) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
-- Guild Frame |
|||
_G.GuildFrame:StripTextures() |
|||
|
|||
_G.GuildFrameColumnHeader3:ClearAllPoints() |
|||
_G.GuildFrameColumnHeader3:Point('TOPLEFT', 8, -57) |
|||
|
|||
_G.GuildFrameColumnHeader4:ClearAllPoints() |
|||
_G.GuildFrameColumnHeader4:Point('LEFT', _G.GuildFrameColumnHeader3, 'RIGHT', -2, -0) |
|||
_G.GuildFrameColumnHeader4:Width(50) |
|||
|
|||
_G.GuildFrameColumnHeader1:ClearAllPoints() |
|||
_G.GuildFrameColumnHeader1:Point('LEFT', _G.GuildFrameColumnHeader4, 'RIGHT', -2, -0) |
|||
_G.GuildFrameColumnHeader1:Width(105) |
|||
|
|||
_G.GuildFrameColumnHeader2:ClearAllPoints() |
|||
_G.GuildFrameColumnHeader2:Point('LEFT', _G.GuildFrameColumnHeader1, 'RIGHT', -2, -0) |
|||
_G.GuildFrameColumnHeader2:Width(127) |
|||
|
|||
for i = 1, _G.GUILDMEMBERS_TO_DISPLAY do |
|||
local button = _G['GuildFrameButton'..i] |
|||
local level = _G['GuildFrameButton'..i..'Level'] |
|||
local name = _G['GuildFrameButton'..i..'Name'] |
|||
local class = _G['GuildFrameButton'..i..'Class'] |
|||
local statusButton = _G['GuildFrameGuildStatusButton'..i] |
|||
local statusName = _G['GuildFrameGuildStatusButton'..i..'Name'] |
|||
|
|||
button.icon = button:CreateTexture('$parentIcon', 'ARTWORK') |
|||
button.icon:Point('LEFT', 48, 0) |
|||
button.icon:Size(15) |
|||
button.icon:SetTexture([[Interface\WorldStateFrame\Icons-Classes]]) |
|||
|
|||
button:CreateBackdrop(nil, true) |
|||
button.backdrop:SetAllPoints(button.icon) |
|||
|
|||
S:HandleButtonHighlight(button) |
|||
S:HandleButtonHighlight(statusButton) |
|||
|
|||
level:ClearAllPoints() |
|||
level:SetPoint('TOPLEFT', 10, -1) |
|||
|
|||
name:SetSize(100, 14) |
|||
name:ClearAllPoints() |
|||
name:SetPoint('LEFT', 85, 0) |
|||
|
|||
class:Hide() |
|||
|
|||
statusName:ClearAllPoints() |
|||
statusName:SetPoint('LEFT', 10, 0) |
|||
end |
|||
|
|||
hooksecurefunc('GuildStatus_Update', function() |
|||
if FriendsFrame.playerStatusFrame then |
|||
local playerZone = E.MapInfo.realZoneText |
|||
|
|||
for i = 1, GUILDMEMBERS_TO_DISPLAY do |
|||
local button = _G['GuildFrameButton'..i] |
|||
local _, _, _, level, class, zone, _, _, online = GetGuildRosterInfo(button.guildIndex) |
|||
|
|||
local classFileName = E:UnlocalizedClassName(class) |
|||
if classFileName then |
|||
if online then |
|||
local classTextColor = E:ClassColor(classFileName) |
|||
local levelTextColor = GetQuestDifficultyColor(level) |
|||
|
|||
_G['GuildFrameButton'..i..'Name']:SetTextColor(classTextColor.r, classTextColor.g, classTextColor.b) |
|||
_G['GuildFrameButton'..i..'Level']:SetTextColor(levelTextColor.r, levelTextColor.g, levelTextColor.b) |
|||
|
|||
if zone == playerZone then |
|||
_G['GuildFrameButton'..i..'Zone']:SetTextColor(0, 1, 0) |
|||
else |
|||
_G['GuildFrameButton'..i..'Zone']:SetTextColor(1, 1, 1) |
|||
end |
|||
end |
|||
|
|||
button.icon:SetTexCoord(unpack(_G.CLASS_ICON_TCOORDS[classFileName])) |
|||
end |
|||
end |
|||
else |
|||
for i = 1, _G.GUILDMEMBERS_TO_DISPLAY, 1 do |
|||
local button = _G['GuildFrameGuildStatusButton'..i] |
|||
local _, _, _, _, class, _, _, _, online = GetGuildRosterInfo(button.guildIndex) |
|||
|
|||
local classFileName = online and E:UnlocalizedClassName(class) |
|||
if classFileName then |
|||
local classTextColor = E:ClassColor(classFileName) |
|||
_G['GuildFrameGuildStatusButton'..i..'Name']:SetTextColor(classTextColor.r, classTextColor.g, classTextColor.b) |
|||
_G['GuildFrameGuildStatusButton'..i..'Online']:SetTextColor(1, 1, 1) |
|||
end |
|||
end |
|||
end |
|||
end) |
|||
|
|||
S:HandleFrame(_G.GuildFrameLFGFrame, true) |
|||
S:HandleCheckBox(_G.GuildFrameLFGButton) |
|||
|
|||
for i = 1, 4 do |
|||
_G['GuildFrameColumnHeader'..i]:StripTextures() |
|||
_G['GuildFrameColumnHeader'..i]:StyleButton() |
|||
_G['GuildFrameGuildStatusColumnHeader'..i]:StripTextures() |
|||
_G['GuildFrameGuildStatusColumnHeader'..i]:StyleButton() |
|||
end |
|||
|
|||
_G.GuildListScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.GuildListScrollFrameScrollBar) |
|||
|
|||
S:HandleNextPrevButton(_G.GuildFrameGuildListToggleButton, 'left') |
|||
|
|||
S:HandleButton(_G.GuildFrameGuildInformationButton) |
|||
_G.GuildFrameGuildInformationButton:Point('BOTTOMLEFT', -1, 4) |
|||
S:HandleButton(_G.GuildFrameAddMemberButton) |
|||
S:HandleButton(_G.GuildFrameControlButton) |
|||
|
|||
-- Member Detail Frame |
|||
_G.GuildMemberDetailFrame:StripTextures() |
|||
_G.GuildMemberDetailFrame:CreateBackdrop('Transparent') |
|||
_G.GuildMemberDetailFrame:Point('TOPLEFT', _G.GuildFrame, 'TOPRIGHT', 3, -1) |
|||
|
|||
S:HandleCloseButton(_G.GuildMemberDetailCloseButton, _G.GuildMemberDetailFrame.backdrop) |
|||
|
|||
S:HandleButton(_G.GuildMemberRemoveButton) |
|||
_G.GuildMemberRemoveButton:Point('BOTTOMLEFT', 3, 3) |
|||
|
|||
S:HandleButton(_G.GuildMemberGroupInviteButton) |
|||
_G.GuildMemberGroupInviteButton:Point('BOTTOMRIGHT', -3, 3) |
|||
|
|||
S:HandleNextPrevButton(_G.GuildFramePromoteButton, 'up') |
|||
_G.GuildFramePromoteButton:SetHitRectInsets(0, 0, 0, 0) |
|||
_G.GuildFramePromoteButton:SetPoint('TOPLEFT', _G.GuildMemberDetailFrame, 'TOPLEFT', 155, -68) |
|||
|
|||
S:HandleNextPrevButton(_G.GuildFrameDemoteButton) |
|||
_G.GuildFrameDemoteButton:SetHitRectInsets(0, 0, 0, 0) |
|||
_G.GuildFrameDemoteButton:Point('LEFT', _G.GuildFramePromoteButton, 'RIGHT', 2, 0) |
|||
|
|||
_G.GuildMemberNoteBackground:StripTextures() |
|||
_G.GuildMemberNoteBackground:CreateBackdrop() |
|||
_G.GuildMemberNoteBackground.backdrop:Point('TOPLEFT', 0, -2) |
|||
_G.GuildMemberNoteBackground.backdrop:Point('BOTTOMRIGHT', 0, 2) |
|||
|
|||
_G.PersonalNoteText:Point('TOPLEFT', 4, -4) |
|||
_G.PersonalNoteText:Width(197) |
|||
|
|||
_G.GuildMemberOfficerNoteBackground:StripTextures() |
|||
_G.GuildMemberOfficerNoteBackground:CreateBackdrop() |
|||
_G.GuildMemberOfficerNoteBackground.backdrop:Point('TOPLEFT', 0, -2) |
|||
_G.GuildMemberOfficerNoteBackground.backdrop:Point('BOTTOMRIGHT', 0, -1) |
|||
|
|||
_G.GuildFrameNotesLabel:Point('TOPLEFT', _G.GuildFrame, 'TOPLEFT', 6, -328) |
|||
_G.GuildFrameNotesText:Point('TOPLEFT', _G.GuildFrameNotesLabel, 'BOTTOMLEFT', 0, -6) |
|||
|
|||
_G.GuildFrameBarLeft:StripTextures() |
|||
|
|||
_G.GuildMOTDEditButton:CreateBackdrop() |
|||
_G.GuildMOTDEditButton.backdrop:Point('TOPLEFT', -7, 3) |
|||
_G.GuildMOTDEditButton.backdrop:Point('BOTTOMRIGHT', 7, -2) |
|||
_G.GuildMOTDEditButton:SetHitRectInsets(-7, -7, -3, -2) |
|||
|
|||
-- Info Frame |
|||
_G.GuildInfoFrame:StripTextures() |
|||
_G.GuildInfoFrame:CreateBackdrop('Transparent') |
|||
_G.GuildInfoFrame:Point('TOPLEFT', _G.GuildFrame, 'TOPRIGHT', -1, 6) |
|||
_G.GuildInfoFrame.backdrop:Point('TOPLEFT', 3, -6) |
|||
_G.GuildInfoFrame.backdrop:Point('BOTTOMRIGHT', -2, 3) |
|||
|
|||
_G.GuildInfoTextBackground.NineSlice:SetTemplate('Transparent') |
|||
S:HandleScrollBar(_G.GuildInfoFrameScrollFrameScrollBar) |
|||
S:HandleCloseButton(_G.GuildInfoCloseButton, _G.GuildInfoFrame.backdrop) |
|||
|
|||
S:HandleButton(_G.GuildInfoSaveButton) |
|||
S:HandleButton(_G.GuildInfoCancelButton) |
|||
|
|||
_G.GuildInfoCancelButton:ClearAllPoints() |
|||
_G.GuildInfoCancelButton:Point('BOTTOMRIGHT', _G.GuildInfoFrame, -10, 8) |
|||
|
|||
_G.GuildInfoSaveButton:ClearAllPoints() |
|||
_G.GuildInfoSaveButton:Point('RIGHT', _G.GuildInfoCancelButton, 'LEFT', -4, 0) |
|||
|
|||
-- Control Frame |
|||
_G.GuildControlPopupFrame:StripTextures() |
|||
_G.GuildControlPopupFrame:CreateBackdrop('Transparent') |
|||
_G.GuildControlPopupFrame.backdrop:Point('TOPLEFT', 3, 0) |
|||
|
|||
S:HandleDropDownBox(_G.GuildControlPopupFrameDropDown, 185) |
|||
_G.GuildControlPopupFrameDropDownButton:Size(18) |
|||
|
|||
SkinPlusMinus(_G.GuildControlPopupFrameAddRankButton) |
|||
_G.GuildControlPopupFrameAddRankButton:Point('LEFT', _G.GuildControlPopupFrameDropDown, 'RIGHT', -8, 3) |
|||
|
|||
SkinPlusMinus(_G.GuildControlPopupFrameRemoveRankButton, true) |
|||
_G.GuildControlPopupFrameRemoveRankButton:Point('LEFT', _G.GuildControlPopupFrameAddRankButton, 'RIGHT', 4, 0) |
|||
|
|||
_G.GuildControlPopupFrameEditBox:StripTextures() |
|||
|
|||
S:HandleEditBox(_G.GuildControlPopupFrameEditBox) |
|||
_G.GuildControlPopupFrameEditBox.backdrop:Point('TOPLEFT', 0, -5) |
|||
_G.GuildControlPopupFrameEditBox.backdrop:Point('BOTTOMRIGHT', 0, 5) |
|||
|
|||
for _, CheckBox in pairs({ _G.GuildControlPopupFrameCheckboxes:GetChildren()}) do |
|||
if CheckBox:IsObjectType("CheckButton") then |
|||
S:HandleCheckBox(CheckBox) |
|||
end |
|||
end |
|||
|
|||
S:HandleButton(_G.GuildControlPopupAcceptButton) |
|||
S:HandleButton(_G.GuildControlPopupFrameCancelButton) |
|||
|
|||
_G.GuildControlPopupFrameTabPermissions:StripTextures() |
|||
|
|||
-- Raid Frame |
|||
S:HandleButton(_G.RaidFrameConvertToRaidButton) |
|||
_G.RaidFrameConvertToRaidButton:Point('BOTTOMRIGHT', -6, 4) |
|||
S:HandleButton(_G.RaidFrameRaidInfoButton) |
|||
|
|||
S:HandleCheckBox(_G.RaidFrameAllAssistCheckButton) |
|||
|
|||
for i = 1, _G.MAX_GUILDBANK_TABS do |
|||
_G['GuildBankTabPermissionsTab'..i]:StripTextures() |
|||
end |
|||
|
|||
S:HandleEditBox(_G.GuildControlWithdrawGoldEditBox) |
|||
S:HandleEditBox(_G.GuildControlWithdrawItemsEditBox) |
|||
_G.GuildControlWithdrawGoldEditBox:Height(20) |
|||
_G.GuildControlWithdrawItemsEditBox:Height(20) |
|||
S:HandleCheckBox(_G.GuildControlTabPermissionsViewTab) |
|||
S:HandleCheckBox(_G.GuildControlTabPermissionsDepositItems) |
|||
S:HandleCheckBox(_G.GuildControlTabPermissionsUpdateText) |
|||
|
|||
-- Raid Info Frame |
|||
_G.RaidInfoFrame:StripTextures(true) |
|||
_G.RaidInfoFrame:CreateBackdrop('Transparent') |
|||
|
|||
_G.RaidInfoFrame:HookScript('OnShow', function() |
|||
if GetNumSubgroupMembers() > 0 then |
|||
_G.RaidInfoFrame:Point('TOPLEFT', _G.RaidFrame, 'TOPRIGHT', 0, 0) |
|||
else |
|||
_G.RaidInfoFrame:Point('TOPLEFT', _G.RaidFrame, 'TOPRIGHT', 0, 0) |
|||
end |
|||
end) |
|||
|
|||
S:HandleCloseButton(_G.RaidInfoCloseButton, _G.RaidInfoFrame) |
|||
|
|||
_G.RaidInfoScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.RaidInfoScrollFrameScrollBar) |
|||
end |
|||
|
|||
S:AddCallback('FriendsFrame') |
|||
@ -1,119 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local strmatch = strmatch |
|||
local gsub, pairs = gsub, pairs |
|||
local IsQuestComplete = IsQuestComplete |
|||
local GetQuestLogTitle = GetQuestLogTitle |
|||
local GetNumQuestLogEntries = GetNumQuestLogEntries |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:GossipFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.gossip) then return end |
|||
|
|||
-- GossipFrame |
|||
local GossipFrame = _G.GossipFrame |
|||
S:HandleFrame(GossipFrame, true, nil, 11, -12, -32, 66) |
|||
|
|||
S:HandleFrame(_G.GossipGreetingScrollFrame, true, nil, -6, 2) |
|||
|
|||
S:HandleScrollBar(_G.GossipGreetingScrollFrameScrollBar) |
|||
|
|||
S:HandleCloseButton(_G.GossipFrameCloseButton, GossipFrame.backdrop) |
|||
|
|||
_G.GossipFrameNpcNameText:ClearAllPoints() |
|||
_G.GossipFrameNpcNameText:Point('CENTER', _G.GossipNpcNameFrame, 'CENTER', -1, 0) |
|||
|
|||
for i = 1, _G.NUMGOSSIPBUTTONS do |
|||
_G['GossipTitleButton'..i..'GossipIcon']:SetSize(16, 16) |
|||
_G['GossipTitleButton'..i..'GossipIcon']:SetPoint('TOPLEFT', 3, 1) |
|||
end |
|||
|
|||
S:HandleButton(_G.GossipFrameGreetingGoodbyeButton) |
|||
_G.GossipFrameGreetingGoodbyeButton:Point('BOTTOMRIGHT', -38, 72) |
|||
|
|||
-- ItemTextFrame |
|||
S:HandleFrame(_G.ItemTextFrame, true, nil, 11, -12, -32, 76) |
|||
|
|||
_G.ItemTextScrollFrame:StripTextures() |
|||
|
|||
S:HandleNextPrevButton(_G.ItemTextPrevPageButton) |
|||
S:HandleNextPrevButton(_G.ItemTextNextPageButton) |
|||
|
|||
_G.ItemTextPageText:SetTextColor(1, 1, 1) |
|||
hooksecurefunc(_G.ItemTextPageText, 'SetTextColor', function(pageText, headerType, r, g, b) |
|||
if r ~= 1 or g ~= 1 or b ~= 1 then |
|||
pageText:SetTextColor(headerType, 1, 1, 1) |
|||
end |
|||
end) |
|||
|
|||
local StripAllTextures = { 'GossipFrameGreetingPanel', 'GossipGreetingScrollFrame' } |
|||
|
|||
for _, object in pairs(StripAllTextures) do |
|||
_G[object]:StripTextures() |
|||
end |
|||
|
|||
local GossipGreetingScrollFrame = _G.GossipGreetingScrollFrame |
|||
GossipGreetingScrollFrame:CreateBackdrop() |
|||
|
|||
if E.private.skins.parchmentRemoverEnable then |
|||
_G.GossipGreetingText:SetTextColor(1, 1, 1) |
|||
|
|||
hooksecurefunc('GossipFrameUpdate', function() |
|||
for i = 1, _G.NUMGOSSIPBUTTONS do |
|||
local button = _G['GossipTitleButton'..i] |
|||
local icon = _G['GossipTitleButton'..i..'GossipIcon'] |
|||
local text = button:GetFontString() |
|||
|
|||
if text and text:GetText() then |
|||
local textString = gsub(text:GetText(), '|c[Ff][Ff]%x%x%x%x%x%x(.+)|r', '%1') |
|||
|
|||
button:SetText(textString) |
|||
text:SetTextColor(1, 1, 1) |
|||
|
|||
if button.type == 'Available' or button.type == 'Active' then |
|||
if button.type == 'Active' then |
|||
icon:SetDesaturation(1) |
|||
text:SetTextColor(.6, .6, .6) |
|||
else |
|||
icon:SetDesaturation(0) |
|||
text:SetTextColor(1, .8, .1) |
|||
end |
|||
|
|||
local numEntries = GetNumQuestLogEntries() |
|||
for k = 1, numEntries, 1 do |
|||
local questLogTitleText, _, _, _, _, isComplete, _, questId = GetQuestLogTitle(k) |
|||
if strmatch(questLogTitleText, textString) then |
|||
if (isComplete == 1 or IsQuestComplete(questId)) then |
|||
icon:SetDesaturation(0) |
|||
button:GetFontString():SetTextColor(1, .8, .1) |
|||
break |
|||
end |
|||
end |
|||
end |
|||
end |
|||
end |
|||
end |
|||
end) |
|||
else |
|||
GossipGreetingScrollFrame.spellTex = GossipGreetingScrollFrame:CreateTexture(nil, 'ARTWORK') |
|||
GossipGreetingScrollFrame.spellTex:SetTexture([[Interface\QuestFrame\QuestBG]]) |
|||
GossipGreetingScrollFrame.spellTex:Point('TOPLEFT', 2, 2) |
|||
GossipGreetingScrollFrame.spellTex:Size(506, 515) |
|||
GossipGreetingScrollFrame.spellTex:SetTexCoord(0, 1, 0.02, 1) |
|||
end |
|||
|
|||
S:HandleScrollBar(_G.ItemTextScrollFrameScrollBar) |
|||
|
|||
S:HandleCloseButton(_G.ItemTextCloseButton, _G.ItemTextFrame.backdrop) |
|||
|
|||
local NPCFriendshipStatusBar = _G.NPCFriendshipStatusBar |
|||
NPCFriendshipStatusBar:StripTextures() |
|||
NPCFriendshipStatusBar:SetStatusBarTexture(E.media.normTex) |
|||
NPCFriendshipStatusBar:CreateBackdrop() |
|||
|
|||
E:RegisterStatusBar(NPCFriendshipStatusBar) |
|||
end |
|||
|
|||
S:AddCallback('GossipFrame') |
|||
@ -1,122 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local next, unpack = next, unpack |
|||
local CreateFrame = CreateFrame |
|||
|
|||
local NUM_GUILDBANK_ICONS_PER_ROW = 10 |
|||
local NUM_GUILDBANK_ICON_ROWS = 9 |
|||
local NUM_GUILDBANK_ICONS_SHOWN = NUM_GUILDBANK_ICONS_PER_ROW * NUM_GUILDBANK_ICON_ROWS |
|||
|
|||
function S:Blizzard_GuildBankUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.gbank) then return end |
|||
|
|||
local GuildBankFrame = _G.GuildBankFrame |
|||
GuildBankFrame:StripTextures() |
|||
GuildBankFrame:CreateBackdrop('Transparent') |
|||
GuildBankFrame.backdrop:Point('TOPLEFT', 8, -11) |
|||
GuildBankFrame.backdrop:Point('BOTTOMRIGHT', 0, 6) |
|||
GuildBankFrame:Width(770) |
|||
GuildBankFrame:Height(450) |
|||
GuildBankFrame.Emblem:Kill() |
|||
|
|||
for _, child in next, { GuildBankFrame:GetChildren() } do |
|||
if child.GetPushedTexture and child:GetPushedTexture() and not child:GetName() then |
|||
S:HandleCloseButton(child) |
|||
end |
|||
end |
|||
|
|||
for i=1, _G.MAX_GUILDBANK_TABS do |
|||
local tab = _G['GuildBankTab'..i] |
|||
tab:StripTextures() |
|||
|
|||
local button = tab.Button |
|||
local icon = button.IconTexture |
|||
local texture = icon:GetTexture() |
|||
button:StripTextures() |
|||
button:StyleButton(true) |
|||
button:SetTemplate(nil, true) |
|||
icon:SetTexture(texture) |
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
icon:SetInside() |
|||
end |
|||
|
|||
for i = 1, 7 do |
|||
local column = _G.GuildBankFrame['Column'..i] |
|||
column:StripTextures() |
|||
|
|||
for x = 1, 14 do |
|||
local button = column['Button'..x] |
|||
button:StripTextures() |
|||
button:StyleButton() |
|||
button:SetTemplate('Transparent') |
|||
|
|||
button.icon:SetInside() |
|||
button.icon:SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
--S:HandleIconBorder(button.IconBorder) tbc doesnt have vertex color on iconborder rn? |
|||
end |
|||
end |
|||
|
|||
S:HandleButton(GuildBankFrame.BuyInfo.PurchaseButton) |
|||
S:HandleButton(GuildBankFrame.DepositButton) |
|||
S:HandleButton(GuildBankFrame.WithdrawButton) |
|||
GuildBankFrame.WithdrawButton:ClearAllPoints() |
|||
GuildBankFrame.WithdrawButton:Point('LEFT', GuildBankFrame.DepositButton, 'LEFT', -102, 0) |
|||
|
|||
local GuildBankInfoSaveButton = _G.GuildBankInfoSaveButton |
|||
S:HandleButton(GuildBankInfoSaveButton) |
|||
|
|||
local GuildBankInfoScrollFrame = _G.GuildBankInfoScrollFrame |
|||
GuildBankInfoScrollFrame:StripTextures() |
|||
GuildBankInfoScrollFrame:Width(685) |
|||
|
|||
S:HandleScrollBar(_G.GuildBankInfoScrollFrameScrollBar) |
|||
_G.GuildBankInfoScrollFrameScrollBar:ClearAllPoints() |
|||
_G.GuildBankInfoScrollFrameScrollBar:Point('TOPRIGHT', GuildBankInfoScrollFrame, 'TOPRIGHT', 29, -12) |
|||
_G.GuildBankInfoScrollFrameScrollBar:Point('BOTTOMRIGHT', GuildBankInfoScrollFrame, 'BOTTOMRIGHT', 0, 17) |
|||
|
|||
local GuildBankTabInfoEditBox = _G.GuildBankTabInfoEditBox |
|||
GuildBankTabInfoEditBox:Width(685) |
|||
|
|||
local GuildBankTransactionsScrollFrame = _G.GuildBankTransactionsScrollFrame |
|||
GuildBankTransactionsScrollFrame:StripTextures() |
|||
|
|||
S:HandleScrollBar(_G.GuildBankTransactionsScrollFrameScrollBar) |
|||
_G.GuildBankTransactionsScrollFrameScrollBar:ClearAllPoints() |
|||
_G.GuildBankTransactionsScrollFrameScrollBar:Point('TOPRIGHT', GuildBankTransactionsScrollFrame, 'TOPRIGHT', 29, -8) |
|||
_G.GuildBankTransactionsScrollFrameScrollBar:Point('BOTTOMRIGHT', GuildBankTransactionsScrollFrame, 'BOTTOMRIGHT', 0, 16) |
|||
|
|||
GuildBankFrame.bg = CreateFrame('Frame', nil, GuildBankFrame) |
|||
GuildBankFrame.bg:SetTemplate() |
|||
GuildBankFrame.bg:Point('TOPLEFT', 24, -64) |
|||
GuildBankFrame.bg:Point('BOTTOMRIGHT', -18, 62) |
|||
GuildBankFrame.bg:SetFrameLevel(GuildBankFrame:GetFrameLevel()) |
|||
|
|||
_G.GuildBankLimitLabel:Point('CENTER', GuildBankFrame.TabLimitBG, 'CENTER', -40, -5) |
|||
|
|||
for i = 1, 4 do |
|||
local tab = _G['GuildBankFrameTab'..i] |
|||
|
|||
S:HandleTab(tab) |
|||
|
|||
if i == 1 then |
|||
tab:ClearAllPoints() |
|||
tab:Point('BOTTOMLEFT', GuildBankFrame, 'BOTTOMLEFT', 0, -24) |
|||
end |
|||
end |
|||
|
|||
_G.GuildBankTab1:Point('TOPLEFT', GuildBankFrame, 'TOPRIGHT', E.PixelMode and -1 or 2, -36) |
|||
_G.GuildBankTab2:Point('TOPLEFT', _G.GuildBankTab1, 'BOTTOMLEFT', 0, 7) |
|||
_G.GuildBankTab3:Point('TOPLEFT', _G.GuildBankTab2, 'BOTTOMLEFT', 0, 7) |
|||
_G.GuildBankTab4:Point('TOPLEFT', _G.GuildBankTab3, 'BOTTOMLEFT', 0, 7) |
|||
_G.GuildBankTab5:Point('TOPLEFT', _G.GuildBankTab4, 'BOTTOMLEFT', 0, 7) |
|||
_G.GuildBankTab6:Point('TOPLEFT', _G.GuildBankTab5, 'BOTTOMLEFT', 0, 7) |
|||
|
|||
if not E:IsAddOnEnabled('ArkInventory') then |
|||
S:HandleIconSelectionFrame(_G.GuildBankPopupFrame, NUM_GUILDBANK_ICONS_SHOWN, 'GuildBankPopupButton', 'GuildBankPopup') |
|||
end |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_GuildBankUI') |
|||
@ -1,38 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local next = next |
|||
|
|||
function S:GuildRegistrarFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.guildregistrar) then return end |
|||
|
|||
local GuildRegistrarFrame = _G.GuildRegistrarFrame |
|||
S:HandleFrame(GuildRegistrarFrame, true, nil, 12, -17, -28, 65) |
|||
|
|||
_G.GuildRegistrarFrameEditBox:StripTextures() |
|||
_G.GuildRegistrarGreetingFrame:StripTextures() |
|||
|
|||
S:HandleCloseButton(_G.GuildRegistrarFrameCloseButton) |
|||
S:HandleButton(_G.GuildRegistrarFrameGoodbyeButton) |
|||
S:HandleButton(_G.GuildRegistrarFrameCancelButton) |
|||
S:HandleButton(_G.GuildRegistrarFramePurchaseButton) |
|||
S:HandleEditBox(_G.GuildRegistrarFrameEditBox) |
|||
|
|||
for _, region in next, { _G.GuildRegistrarFrameEditBox:GetRegions() } do |
|||
if region:IsObjectType('Texture') and (region:GetTexture() == [[Interface\ChatFrame\UI-ChatInputBorder-Left]] or region:GetTexture() == [[Interface\ChatFrame\UI-ChatInputBorder-Right]]) then |
|||
region:Kill() |
|||
end |
|||
end |
|||
|
|||
_G.GuildRegistrarFrameEditBox:Height(20) |
|||
|
|||
for i = 1, 2 do |
|||
_G['GuildRegistrarButton'..i]:GetFontString():SetTextColor(1, 1, 1) |
|||
end |
|||
|
|||
_G.GuildRegistrarPurchaseText:SetTextColor(1, 1, 1) |
|||
_G.GuildAvailableServicesText:SetTextColor(1, 1, 0) |
|||
end |
|||
|
|||
S:AddCallback('GuildRegistrarFrame') |
|||
@ -1,34 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local pairs = pairs |
|||
|
|||
function S:HelpFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.help) then return end |
|||
|
|||
-- Frames |
|||
_G.HelpFrame:StripTextures(true) |
|||
_G.HelpFrame:CreateBackdrop('Transparent') |
|||
_G.HelpFrameTitleBg:StripTextures(true) |
|||
_G.HelpFrameTopBorder:StripTextures(true) |
|||
|
|||
-- Buttons |
|||
_G.HelpFrameCloseButton:StripTextures() |
|||
S:HandleCloseButton(_G.HelpFrameCloseButton) |
|||
|
|||
-- Insets |
|||
local insets = { |
|||
_G.HelpBrowser.BrowserInset, |
|||
_G.HelpBrowserInsetTopBorder, |
|||
_G.HelpBrowserInsetLeftBorder, |
|||
_G.HelpBrowserInsetRightBorder, |
|||
_G.HelpBrowserInsetBottomBorder |
|||
} |
|||
|
|||
for _, inset in pairs(insets) do |
|||
inset:StripTextures() |
|||
end |
|||
end |
|||
|
|||
S:AddCallback('HelpFrame') |
|||
@ -1,144 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack, select = unpack, select |
|||
local ipairs = ipairs |
|||
|
|||
local GetInventoryItemID = GetInventoryItemID |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local GetItemInfo = GetItemInfo |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local MAX_ARENA_TEAMS = MAX_ARENA_TEAMS |
|||
|
|||
local function Update_InspectPaperDollItemSlotButton(button) |
|||
local unit = button.hasItem and _G.InspectFrame.unit |
|||
if not unit then return end |
|||
|
|||
local itemID = GetInventoryItemID(unit, button:GetID()) |
|||
if itemID then |
|||
local quality = select(3, GetItemInfo(itemID)) |
|||
if quality and quality > 1 then |
|||
button.backdrop:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
return |
|||
end |
|||
end |
|||
|
|||
button.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
|
|||
function S:Blizzard_InspectUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.inspect) then return end |
|||
|
|||
local InspectFrame = _G.InspectFrame |
|||
S:HandleFrame(InspectFrame, true, nil, 11, -12, -32, 76) |
|||
S:HandleCloseButton(_G.InspectFrameCloseButton, InspectFrame.backdrop) |
|||
|
|||
for i = 1, #_G.INSPECTFRAME_SUBFRAMES do |
|||
S:HandleTab(_G['InspectFrameTab'..i]) |
|||
end |
|||
|
|||
_G.InspectPaperDollFrame:StripTextures() |
|||
|
|||
for _, slot in ipairs({ _G.InspectPaperDollItemsFrame:GetChildren() }) do |
|||
local icon = _G[slot:GetName()..'IconTexture'] |
|||
local cooldown = _G[slot:GetName()..'Cooldown'] |
|||
|
|||
slot:StripTextures() |
|||
slot:CreateBackdrop() |
|||
slot.backdrop:SetAllPoints() |
|||
slot:SetFrameLevel(slot:GetFrameLevel() + 2) |
|||
slot:StyleButton() |
|||
|
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
icon:SetInside() |
|||
|
|||
if cooldown then |
|||
E:RegisterCooldown(cooldown) |
|||
end |
|||
end |
|||
|
|||
hooksecurefunc('InspectPaperDollItemSlotButton_Update', Update_InspectPaperDollItemSlotButton) |
|||
|
|||
S:HandleRotateButton(_G.InspectModelFrameRotateLeftButton) |
|||
_G.InspectModelFrameRotateLeftButton:Point('TOPLEFT', 3, -3) |
|||
|
|||
S:HandleRotateButton(_G.InspectModelFrameRotateRightButton) |
|||
_G.InspectModelFrameRotateRightButton:Point('TOPLEFT', _G.InspectModelFrameRotateLeftButton, 'TOPRIGHT', 3, 0) |
|||
|
|||
-- Talents |
|||
S:HandleFrame(_G.InspectTalentFrame, true, nil, 11, -12, -32, 76) |
|||
S:HandleCloseButton(_G.InspectTalentFrameCloseButton, _G.InspectTalentFrame.backdrop) |
|||
|
|||
_G.InspectTalentFrameCancelButton:Kill() |
|||
|
|||
for i = 1, 3 do |
|||
S:HandleTab(_G['InspectTalentFrameTab'..i], true) |
|||
end |
|||
|
|||
_G.InspectTalentFrameScrollFrame:StripTextures() |
|||
_G.InspectTalentFrameScrollFrame:CreateBackdrop() |
|||
|
|||
S:HandleScrollBar(_G.InspectTalentFrameScrollFrameScrollBar) |
|||
_G.InspectTalentFrameScrollFrameScrollBar:Point('TOPLEFT', _G.InspectTalentFrameScrollFrame, 'TOPRIGHT', 10, -16) |
|||
|
|||
for i = 1, _G.MAX_NUM_TALENTS do |
|||
local talent = _G['InspectTalentFrameTalent'..i] |
|||
local icon = _G['InspectTalentFrameTalent'..i..'IconTexture'] |
|||
local rank = _G['InspectTalentFrameTalent'..i..'Rank'] |
|||
|
|||
if talent then |
|||
talent:StripTextures() |
|||
talent:SetTemplate() |
|||
talent:StyleButton() |
|||
|
|||
icon:SetInside() |
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
icon:SetDrawLayer('ARTWORK') |
|||
|
|||
rank:SetFont(E.LSM:Fetch('font', E.db['general'].font), 12, 'OUTLINE') |
|||
end |
|||
end |
|||
|
|||
-- Honor/Arena/PvP Tab |
|||
local InspectPVPFrame = _G.InspectPVPFrame |
|||
InspectPVPFrame:StripTextures(true) |
|||
|
|||
for i = 1, MAX_ARENA_TEAMS do |
|||
local inspectpvpTeam = _G['InspectPVPTeam'..i] |
|||
|
|||
inspectpvpTeam:StripTextures() |
|||
inspectpvpTeam:CreateBackdrop() |
|||
inspectpvpTeam.backdrop:Point('TOPLEFT', 9, -4) |
|||
inspectpvpTeam.backdrop:Point('BOTTOMRIGHT', -24, 3) |
|||
|
|||
inspectpvpTeam:HookScript('OnEnter', S.SetModifiedBackdrop) |
|||
inspectpvpTeam:HookScript('OnLeave', S.SetOriginalBackdrop) |
|||
|
|||
_G['InspectPVPTeam'..i..'Highlight']:Kill() |
|||
end |
|||
|
|||
local PVPTeamDetails = _G.PVPTeamDetails |
|||
PVPTeamDetails:StripTextures() |
|||
PVPTeamDetails:SetTemplate('Transparent') |
|||
PVPTeamDetails:Point('TOPLEFT', InspectPVPFrame, 'TOPRIGHT', -30, -12) |
|||
|
|||
for i = 1, 5 do |
|||
local header = _G['PVPTeamDetailsFrameColumnHeader'..i] |
|||
header:StripTextures() |
|||
header:StyleButton() |
|||
end |
|||
|
|||
for i = 1, 10 do |
|||
local button = _G['PVPTeamDetailsButton'..i] |
|||
button:Width(335) |
|||
S:HandleButtonHighlight(button) |
|||
end |
|||
|
|||
S:HandleButton(_G.PVPTeamDetailsAddTeamMember) |
|||
S:HandleNextPrevButton(_G.PVPTeamDetailsToggleButton) |
|||
S:HandleCloseButton(_G.PVPTeamDetailsCloseButton) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_InspectUI') |
|||
@ -1,100 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local pairs, next = pairs, next |
|||
|
|||
function S:Blizzard_LookingForGroupUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.lfg) then return end |
|||
|
|||
local LFGParentFrame = _G.LFGParentFrame |
|||
LFGParentFrame:StripTextures(true) |
|||
LFGParentFrame:CreateBackdrop('Transparent') |
|||
LFGParentFrame.backdrop:Point('TOPLEFT', 10, -10) |
|||
LFGParentFrame.backdrop:Point('BOTTOMRIGHT', -24, 75) |
|||
|
|||
local lfgButtons = { |
|||
'LFGFrameClearAllButton', |
|||
'LFGFramePostButton', |
|||
'LFMFrameGroupInviteButton', |
|||
'LFMFrameSearchButton', |
|||
'LFMFrameSendMessageButton', |
|||
} |
|||
|
|||
for _, button in pairs(lfgButtons) do |
|||
_G[button]:StripTextures() |
|||
S:HandleButton(_G[button]) |
|||
end |
|||
|
|||
local dropDownFrames = { |
|||
'LFGFrameTypeDropDown1', |
|||
'LFGFrameTypeDropDown2', |
|||
'LFGFrameTypeDropDown3', |
|||
'LFGFrameActivityDropDown1', |
|||
'LFGFrameActivityDropDown2', |
|||
'LFGFrameActivityDropDown3', |
|||
} |
|||
|
|||
for _, dropDown in pairs(dropDownFrames) do |
|||
S:HandleDropDownBox(_G[dropDown], 245) |
|||
end |
|||
|
|||
-- LFM DropDowns, different sizes |
|||
local LFMFrameTypeDropDown = _G.LFMFrameTypeDropDown |
|||
local LFMFrameActivityDropDown = _G.LFMFrameActivityDropDown |
|||
S:HandleDropDownBox(LFMFrameTypeDropDown, 150) |
|||
S:HandleDropDownBox(LFMFrameActivityDropDown, 225) |
|||
|
|||
-- 1st icon |
|||
_G.LFGSearchBg1:StripTextures() |
|||
_G.LFGSearchBg1:CreateBackdrop('Transparent') |
|||
_G.LFGSearchBg1:Width(58) |
|||
_G.LFGSearchBg1:Height(53) |
|||
|
|||
-- 2nd icon |
|||
_G.LFGSearchBg2:StripTextures() |
|||
_G.LFGSearchBg2:CreateBackdrop('Transparent') |
|||
_G.LFGSearchBg2:Width(58) |
|||
_G.LFGSearchBg2:Height(53) |
|||
|
|||
-- 3rd icon |
|||
_G.LFGSearchBg3:StripTextures() |
|||
_G.LFGSearchBg3:CreateBackdrop('Transparent') |
|||
_G.LFGSearchBg3:Width(58) |
|||
_G.LFGSearchBg3:Height(53) |
|||
|
|||
local LFMFrameInsetBg = _G.LFMFrameInsetBg |
|||
LFMFrameInsetBg:StripTextures() |
|||
LFMFrameInsetBg:CreateBackdrop('Transparent') |
|||
|
|||
local LFMFrameInset = _G.LFMFrameInset |
|||
LFMFrameInset:StripTextures() |
|||
|
|||
local LFMFrameGroupInviteButton = _G.LFMFrameGroupInviteButton |
|||
LFMFrameGroupInviteButton:Point('BOTTOMRIGHT', -40, 85) |
|||
|
|||
for i = 1, 2 do |
|||
local tab = _G['LFGParentFrameTab'..i] |
|||
|
|||
S:HandleTab(tab) |
|||
end |
|||
|
|||
for _, child in next, { LFGParentFrame:GetChildren() } do |
|||
if child.GetPushedTexture and child:GetPushedTexture() and not child:GetName() then |
|||
S:HandleCloseButton(child) |
|||
end |
|||
end |
|||
|
|||
local LFGComment = _G.LFGComment |
|||
S:HandleEditBox(LFGComment) |
|||
LFGComment:Size(323, 19) |
|||
LFGComment:Point('BOTTOMLEFT', LFGParentFrame, 'BOTTOMLEFT', 20, 110) |
|||
LFGComment.SetPoint = E.noop |
|||
|
|||
for i = 1, 4 do |
|||
local frame = _G['LFMFrameColumnHeader'..i] |
|||
frame:StripTextures() |
|||
end |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_LookingForGroupUI') |
|||
@ -1,51 +0,0 @@ |
|||
<Ui xmlns='http://www.blizzard.com/wow/ui/'> |
|||
<Script file='AddonManager.lua'/> |
|||
<Script file='Arena.lua'/> |
|||
<Script file='ArenaRegistrar.lua'/> |
|||
<Script file='AuctionHouse.lua'/> |
|||
<Script file='Bags.lua'/> |
|||
<Script file='Battlefield.lua'/> |
|||
<Script file='Battlenet.lua'/> |
|||
<Script file='BGMap.lua'/> |
|||
<Script file='BGScore.lua'/> |
|||
<Script file='Binding.lua'/> |
|||
<Script file='BlizzardOptions.lua'/> |
|||
<Script file='Channels.lua'/> |
|||
<Script file='Character.lua'/> |
|||
<Script file='CombatLog.lua'/> |
|||
<Script file='Communities.lua'/> |
|||
<Script file='Craft.lua'/> |
|||
<Script file='Debug.lua'/> |
|||
<Script file='DressingRoom.lua'/> |
|||
<Script file='EventTrace.lua'/> |
|||
<Script file='Friends.lua'/> |
|||
<Script file='Gossip.lua'/> |
|||
<Script file='GuildBank.lua'/> |
|||
<Script file='GuildRegistrar.lua'/> |
|||
<Script file='Help.lua'/> |
|||
<Script file='Inspect.lua'/> |
|||
<Script file='LFG.lua'/> |
|||
<Script file='Loot.lua'/> |
|||
<Script file='Macro.lua'/> |
|||
<Script file='Mail.lua'/> |
|||
<Script file='Merchant.lua'/> |
|||
<Script file='MirrorTimers.lua'/> |
|||
<Script file='Misc.lua'/> |
|||
<Script file='Petition.lua'/> |
|||
<Script file='Quest.lua'/> |
|||
<Script file='QuestTimers.lua'/> |
|||
<Script file='Raid.lua'/> |
|||
<Script file='Socket.lua'/> |
|||
<Script file='SpellBook.lua'/> |
|||
<Script file='Stable.lua'/> |
|||
<Script file='Tabard.lua'/> |
|||
<Script file='Talent.lua'/> |
|||
<Script file='Taxi.lua'/> |
|||
<Script file='TimeManager.lua'/> |
|||
<Script file='Tooltip.lua'/> |
|||
<Script file='Trade.lua'/> |
|||
<Script file='TradeSkill.lua'/> |
|||
<Script file='Trainer.lua'/> |
|||
<Script file='Tutorial.lua'/> |
|||
<Script file='WorldMap.lua'/> |
|||
</Ui> |
|||
@ -1,203 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
local LCG = E.Libs.CustomGlow |
|||
|
|||
local _G = _G |
|||
local next = next |
|||
local unpack = unpack |
|||
|
|||
local GetItemInfo = GetItemInfo |
|||
local GetLootSlotInfo = GetLootSlotInfo |
|||
local hooksecurefunc = hooksecurefunc |
|||
local IsFishingLoot = IsFishingLoot |
|||
local UnitIsDead = UnitIsDead |
|||
local UnitIsFriend = UnitIsFriend |
|||
local UnitName = UnitName |
|||
|
|||
local C_LootHistory_GetNumItems = C_LootHistory.GetNumItems |
|||
local C_LootHistory_GetItem = C_LootHistory.GetItem |
|||
local ITEM_QUALITY_COLORS = ITEM_QUALITY_COLORS |
|||
local LOOT, ITEMS = LOOT, ITEMS |
|||
|
|||
local function UpdateLoots() |
|||
local numItems = C_LootHistory_GetNumItems() |
|||
for i=1, numItems do |
|||
local frame = _G.LootHistoryFrame.itemFrames[i] |
|||
if frame and not frame.isSkinned then |
|||
local Icon = frame.Icon:GetTexture() |
|||
frame:StripTextures() |
|||
frame.Icon:SetTexture(Icon) |
|||
frame.Icon:SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
-- create a backdrop around the icon |
|||
frame:CreateBackdrop() |
|||
frame.backdrop:SetOutside(frame.Icon) |
|||
frame.Icon:SetParent(frame.backdrop) |
|||
|
|||
local _, itemLink = C_LootHistory_GetItem(frame.itemIdx) |
|||
if itemLink then |
|||
local _, _, itemRarity = GetItemInfo(itemLink) |
|||
|
|||
if itemRarity then |
|||
local color = ITEM_QUALITY_COLORS[itemRarity] |
|||
|
|||
if color then |
|||
frame.backdrop:SetBackdropBorderColor(color.r, color.g, color.b) |
|||
end |
|||
end |
|||
end |
|||
|
|||
frame.isSkinned = true |
|||
end |
|||
end |
|||
end |
|||
|
|||
function S:LootFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.loot) then return end |
|||
|
|||
-- Loot history frame |
|||
local LootHistoryFrame = _G.LootHistoryFrame |
|||
LootHistoryFrame:StripTextures() |
|||
S:HandleCloseButton(LootHistoryFrame.CloseButton) |
|||
LootHistoryFrame:StripTextures() |
|||
LootHistoryFrame:SetTemplate('Transparent') |
|||
LootHistoryFrame.ResizeButton:StripTextures() |
|||
LootHistoryFrame.ResizeButton.text = LootHistoryFrame.ResizeButton:CreateFontString(nil, 'OVERLAY') |
|||
LootHistoryFrame.ResizeButton.text:FontTemplate(nil, 16, 'OUTLINE') |
|||
LootHistoryFrame.ResizeButton.text:SetJustifyH('CENTER') |
|||
LootHistoryFrame.ResizeButton.text:Point('CENTER', LootHistoryFrame.ResizeButton) |
|||
LootHistoryFrame.ResizeButton.text:SetText('v v v v') |
|||
LootHistoryFrame.ResizeButton:SetTemplate() |
|||
LootHistoryFrame.ResizeButton:Width(LootHistoryFrame:GetWidth()) |
|||
LootHistoryFrame.ResizeButton:Height(19) |
|||
LootHistoryFrame.ResizeButton:ClearAllPoints() |
|||
LootHistoryFrame.ResizeButton:Point('TOP', LootHistoryFrame, 'BOTTOM', 0, -2) |
|||
_G.LootHistoryFrameScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.LootHistoryFrameScrollFrameScrollBar) |
|||
|
|||
hooksecurefunc('LootHistoryFrame_FullUpdate', UpdateLoots) |
|||
|
|||
-- Master Loot |
|||
local MasterLooterFrame = _G.MasterLooterFrame |
|||
MasterLooterFrame:StripTextures() |
|||
MasterLooterFrame:SetTemplate() |
|||
|
|||
hooksecurefunc('MasterLooterFrame_Show', function() |
|||
local b = MasterLooterFrame.Item |
|||
if b then |
|||
local i = b.Icon |
|||
local icon = i:GetTexture() |
|||
local c = ITEM_QUALITY_COLORS[_G.LootFrame.selectedQuality] |
|||
|
|||
b:StripTextures() |
|||
i:SetTexture(icon) |
|||
i:SetTexCoord(unpack(E.TexCoords)) |
|||
b:CreateBackdrop() |
|||
b.backdrop:SetOutside(i) |
|||
b.backdrop:SetBackdropBorderColor(c.r, c.g, c.b) |
|||
end |
|||
|
|||
for _, child in next, { MasterLooterFrame:GetChildren() } do |
|||
if not child.isSkinned and not child:GetName() and child:IsObjectType('Button') then |
|||
if child:GetPushedTexture() then |
|||
S:HandleCloseButton(child) |
|||
else |
|||
child:SetTemplate() |
|||
child:StyleButton() |
|||
end |
|||
child.isSkinned = true |
|||
end |
|||
end |
|||
end) |
|||
|
|||
local LootFrame = _G.LootFrame |
|||
S:HandleFrame(LootFrame, true) |
|||
LootFrame:Height(LootFrame:GetHeight() - 30) |
|||
_G.LootFramePortraitOverlay:SetParent(E.HiddenFrame) |
|||
|
|||
for _, region in next, { LootFrame:GetRegions() } do |
|||
if region:IsObjectType('FontString') and region:GetText() == ITEMS then |
|||
LootFrame.Title = region |
|||
end |
|||
end |
|||
|
|||
LootFrame.Title:ClearAllPoints() |
|||
LootFrame.Title:Point('TOPLEFT', LootFrame, 'TOPLEFT', 4, -4) |
|||
LootFrame.Title:SetJustifyH('LEFT') |
|||
|
|||
for i = 1, _G.LOOTFRAME_NUMBUTTONS do |
|||
local button = _G['LootButton'..i] |
|||
_G['LootButton'..i..'NameFrame']:Hide() |
|||
S:HandleItemButton(button, true) |
|||
|
|||
button.IconBorder:SetTexture() |
|||
hooksecurefunc(button.IconBorder, 'SetVertexColor', function(s, r, g, b) |
|||
s:GetParent().backdrop:SetBackdropBorderColor(r, g, b) |
|||
s:SetTexture() |
|||
end) |
|||
hooksecurefunc(button.IconBorder, 'Hide', function(s) |
|||
s:GetParent().backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end) |
|||
|
|||
local point, attachTo, point2, x, y = button:GetPoint() |
|||
button:ClearAllPoints() |
|||
button:Point(point, attachTo, point2, x, y+30) |
|||
end |
|||
|
|||
hooksecurefunc('LootFrame_UpdateButton', function(index) |
|||
local numLootItems = LootFrame.numLootItems |
|||
--Logic to determine how many items to show per page |
|||
local numLootToShow = _G.LOOTFRAME_NUMBUTTONS |
|||
if LootFrame.AutoLootTable then |
|||
numLootItems = #LootFrame.AutoLootTable |
|||
end |
|||
if numLootItems > _G.LOOTFRAME_NUMBUTTONS then |
|||
numLootToShow = numLootToShow - 1 -- make space for the page buttons |
|||
end |
|||
|
|||
local button = _G['LootButton'..index] |
|||
local slot = (numLootToShow * (LootFrame.page - 1)) + index |
|||
if(button and button:IsShown()) then |
|||
local texture, _, isQuestItem, questId, isActive |
|||
if (LootFrame.AutoLootTable) then |
|||
local entry = LootFrame.AutoLootTable[slot] |
|||
if( entry.hide ) then |
|||
button:Hide() |
|||
return |
|||
else |
|||
texture = entry.texture |
|||
isQuestItem = entry.isQuestItem |
|||
questId = entry.questId |
|||
isActive = entry.isActive |
|||
end |
|||
else |
|||
texture, _, _, _, _, _, isQuestItem, questId, isActive = GetLootSlotInfo(slot) |
|||
end |
|||
|
|||
if texture then |
|||
if questId and not isActive then |
|||
LCG.ShowOverlayGlow(button) |
|||
elseif questId or isQuestItem then |
|||
LCG.ShowOverlayGlow(button) |
|||
else |
|||
LCG.HideOverlayGlow(button) |
|||
end |
|||
end |
|||
end |
|||
end) |
|||
|
|||
LootFrame:HookScript('OnShow', function(frame) |
|||
if IsFishingLoot() then |
|||
frame.Title:SetText(L["Fishy Loot"]) |
|||
elseif(not UnitIsFriend('player', 'target') and UnitIsDead'target') then |
|||
frame.Title:SetText(UnitName('target')) |
|||
else |
|||
frame.Title:SetText(LOOT) |
|||
end |
|||
end) |
|||
|
|||
S:HandleNextPrevButton(_G.LootFrameDownButton) |
|||
S:HandleNextPrevButton(_G.LootFrameUpButton) |
|||
end |
|||
|
|||
S:AddCallback('LootFrame') |
|||
@ -1,106 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack = unpack |
|||
local format = format |
|||
|
|||
function S:Blizzard_MacroUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.macro) then return end |
|||
|
|||
local MacroFrame = _G.MacroFrame |
|||
S:HandlePortraitFrame(MacroFrame) |
|||
MacroFrame:Width(334) |
|||
|
|||
_G.MacroFrameTextBackground:StripTextures() |
|||
_G.MacroFrameTextBackground:SetTemplate('Transparent') |
|||
_G.MacroButtonScrollFrame:StripTextures() |
|||
_G.MacroButtonScrollFrame:CreateBackdrop('Transparent') |
|||
|
|||
S:HandleScrollBar(_G.MacroButtonScrollFrameScrollBar) |
|||
S:HandleScrollBar(_G.MacroFrameScrollFrameScrollBar) |
|||
|
|||
local buttons = { |
|||
_G.MacroSaveButton, |
|||
_G.MacroCancelButton, |
|||
_G.MacroDeleteButton, |
|||
_G.MacroNewButton, |
|||
_G.MacroExitButton, |
|||
_G.MacroEditButton, |
|||
_G.MacroFrameTab1, |
|||
_G.MacroFrameTab2, |
|||
} |
|||
|
|||
for i = 1, #buttons do |
|||
buttons[i]:StripTextures() |
|||
S:HandleButton(buttons[i]) |
|||
end |
|||
|
|||
_G.MacroNewButton:ClearAllPoints() |
|||
_G.MacroNewButton:Point('RIGHT', _G.MacroExitButton, 'LEFT', -2 , 0) |
|||
|
|||
for i = 1, 2 do |
|||
local tab = _G[format('MacroFrameTab%s', i)] |
|||
tab:Height(22) |
|||
end |
|||
|
|||
_G.MacroFrameTab1:Point('TOPLEFT', MacroFrame, 'TOPLEFT', 12, -39) |
|||
_G.MacroFrameTab2:Point('LEFT', _G.MacroFrameTab1, 'RIGHT', 4, 0) |
|||
|
|||
--Reposition edit button |
|||
_G.MacroEditButton:ClearAllPoints() |
|||
_G.MacroEditButton:Point('BOTTOMLEFT', _G.MacroFrameSelectedMacroButton, 'BOTTOMRIGHT', 10, 0) |
|||
|
|||
-- Regular scroll bar |
|||
S:HandleScrollBar(_G.MacroButtonScrollFrame) |
|||
|
|||
-- Big icon |
|||
_G.MacroFrameSelectedMacroButton:StripTextures() |
|||
_G.MacroFrameSelectedMacroButton:StyleButton(true) |
|||
_G.MacroFrameSelectedMacroButton:GetNormalTexture():SetTexture() |
|||
_G.MacroFrameSelectedMacroButton:SetTemplate() |
|||
_G.MacroFrameSelectedMacroButtonIcon:SetTexCoord(unpack(E.TexCoords)) |
|||
_G.MacroFrameSelectedMacroButtonIcon:Point('TOPLEFT', 1, -1) |
|||
_G.MacroFrameSelectedMacroButtonIcon:Point('BOTTOMRIGHT', -1, 1) |
|||
|
|||
-- Skin all buttons |
|||
for i = 1, _G.MAX_ACCOUNT_MACROS do |
|||
local b = _G['MacroButton'..i] |
|||
local t = _G['MacroButton'..i..'Icon'] |
|||
|
|||
if b then |
|||
b:StripTextures() |
|||
b:StyleButton(true) |
|||
b:SetTemplate('Transparent') |
|||
end |
|||
|
|||
if t then |
|||
t:SetTexCoord(unpack(E.TexCoords)) |
|||
t:Point('TOPLEFT', 1, -1) |
|||
t:Point('BOTTOMRIGHT', -1, 1) |
|||
end |
|||
end |
|||
|
|||
local MacroPopupFrame = _G.MacroPopupFrame |
|||
S:HandleButton(MacroPopupFrame.BorderBox.OkayButton) |
|||
local cancel_btn = MacroPopupFrame.BorderBox.CancelButton |
|||
S:HandleButton(cancel_btn) |
|||
cancel_btn:ClearAllPoints() |
|||
cancel_btn:Point('RIGHT', MacroPopupFrame.BorderBox, 'BOTTOMRIGHT', -5, 15) |
|||
S:HandleScrollBar(_G.MacroPopupScrollFrameScrollBar) |
|||
S:HandleEditBox(_G.MacroPopupEditBox) |
|||
_G.MacroPopupNameLeft:SetTexture() |
|||
_G.MacroPopupNameMiddle:SetTexture() |
|||
_G.MacroPopupNameRight:SetTexture() |
|||
|
|||
MacroPopupFrame:HookScript('OnShow', function(frame) |
|||
frame:ClearAllPoints() |
|||
frame:Point('TOPLEFT', MacroFrame, 'TOPRIGHT', 2, 0) |
|||
|
|||
if not frame.isSkinned then |
|||
S:HandleIconSelectionFrame(frame, _G.NUM_MACRO_ICONS_SHOWN, 'MacroPopupButton', 'MacroPopup') |
|||
end |
|||
end) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_MacroUI') |
|||
@ -1,256 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack, select = unpack, select |
|||
|
|||
local GetInboxHeaderInfo = GetInboxHeaderInfo |
|||
local GetInboxItemLink = GetInboxItemLink |
|||
local GetInboxNumItems = GetInboxNumItems |
|||
local GetItemInfo = GetItemInfo |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local GetSendMailItem = GetSendMailItem |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:MailFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.mail) then return end |
|||
|
|||
-- Mail Frame / Inbox Frame |
|||
local MailFrame = _G.MailFrame |
|||
S:HandleFrame(MailFrame, true, nil, -5, 0, -2, 0) |
|||
|
|||
_G.MailFrameCloseButton:Point('TOPRIGHT', 0, 2) |
|||
|
|||
_G.InboxFrameBg:StripTextures() |
|||
_G.MailFrameBg:StripTextures() |
|||
|
|||
_G.InboxTitleText:Point('CENTER', _G.InboxFrame, 'TOP', -10, -17) |
|||
|
|||
for i = 1, _G.INBOXITEMS_TO_DISPLAY do |
|||
local mail = _G['MailItem'..i] |
|||
local button = _G['MailItem'..i..'Button'] |
|||
local icon = _G['MailItem'..i..'ButtonIcon'] |
|||
|
|||
mail:StripTextures() |
|||
mail:CreateBackdrop() |
|||
mail.backdrop:Point('TOPLEFT', 42, -3) |
|||
mail.backdrop:Point('BOTTOMRIGHT', -2, 5) |
|||
|
|||
button:StripTextures() |
|||
button:SetTemplate() |
|||
button:StyleButton() |
|||
|
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
icon:SetInside() |
|||
end |
|||
|
|||
hooksecurefunc('InboxFrame_Update', function() |
|||
local numItems = GetInboxNumItems() |
|||
local index = ((_G.InboxFrame.pageNum - 1) * _G.INBOXITEMS_TO_DISPLAY) + 1 |
|||
|
|||
for i = 1, _G.INBOXITEMS_TO_DISPLAY do |
|||
local mail = _G['MailItem'..i] |
|||
|
|||
if index <= numItems then |
|||
local packageIcon, _, _, _, _, _, _, _, _, _, _, _, isGM = GetInboxHeaderInfo(index) |
|||
if packageIcon and not isGM then |
|||
local itemlink = GetInboxItemLink(index, 1) |
|||
if itemlink then |
|||
local quality = select(3, GetItemInfo(itemlink)) |
|||
|
|||
if quality and quality > 1 then |
|||
mail.backdrop:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
else |
|||
mail.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end |
|||
elseif isGM then |
|||
mail.backdrop:SetBackdropBorderColor(0, 0.56, 0.94) |
|||
else |
|||
mail.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
else |
|||
mail.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
|
|||
index = index + 1 |
|||
end |
|||
end) |
|||
|
|||
S:HandleNextPrevButton(_G.InboxPrevPageButton, nil, nil, true) |
|||
_G.InboxPrevPageButton:Size(24) |
|||
_G.InboxPrevPageButton:Point('CENTER', _G.InboxFrame, 'BOTTOMLEFT', 12, 104) |
|||
|
|||
S:HandleNextPrevButton(_G.InboxNextPageButton, nil, nil, true) |
|||
_G.InboxNextPageButton:Size(24) |
|||
_G.InboxNextPageButton:Point('CENTER', _G.InboxFrame, 'BOTTOMLEFT', 319, 104) |
|||
|
|||
S:HandleButton(_G.OpenAllMail) |
|||
_G.OpenAllMail:Point('CENTER', _G.InboxFrame, 'BOTTOM', -28, 104) |
|||
|
|||
for i = 1, 2 do |
|||
local tab = _G['MailFrameTab'..i] |
|||
|
|||
tab:StripTextures() |
|||
S:HandleTab(tab) |
|||
end |
|||
|
|||
-- Send Mail Frame |
|||
_G.SendMailFrame:StripTextures() |
|||
_G.SendStationeryBackgroundLeft:Hide() |
|||
_G.SendStationeryBackgroundRight:Hide() |
|||
_G.MailEditBox.ScrollBox:StripTextures(true) |
|||
_G.MailEditBox.ScrollBox:SetTemplate() |
|||
_G.MailEditBox.ScrollBox.EditBox:SetTextColor(1, 1, 1) |
|||
|
|||
_G.SendMailTitleText:Point('CENTER', _G.SendMailFrame, 'TOP', -10, -17) |
|||
|
|||
hooksecurefunc('SendMailFrame_Update', function() |
|||
for i = 1, _G.ATTACHMENTS_MAX_SEND do |
|||
local button = _G['SendMailAttachment'..i] |
|||
if not button.template then |
|||
button:StripTextures() |
|||
button:SetTemplate(nil, true) |
|||
button:StyleButton(nil, true) |
|||
end |
|||
|
|||
local name = GetSendMailItem(i) |
|||
if name then |
|||
local quality = select(3, GetItemInfo(name)) |
|||
if quality and quality > 1 then |
|||
button:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
|
|||
local icon = button:GetNormalTexture() |
|||
if icon then |
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
icon:SetInside() |
|||
end |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end |
|||
|
|||
_G.MailEditBox:SetHeight(_G.SendStationeryBackgroundLeft:GetHeight()) |
|||
end) |
|||
|
|||
S:HandleScrollBar(_G.MailEditBoxScrollBar) |
|||
S:HandleEditBox(_G.SendMailNameEditBox) |
|||
S:HandleEditBox(_G.SendMailSubjectEditBox) |
|||
S:HandleEditBox(_G.SendMailMoneyGold) |
|||
S:HandleEditBox(_G.SendMailMoneySilver) |
|||
S:HandleEditBox(_G.SendMailMoneyCopper) |
|||
|
|||
_G.SendMailMoneyBg:Kill() |
|||
_G.SendMailMoneyInset:StripTextures() |
|||
_G.SendMailSubjectEditBox:Point('TOPLEFT', _G.SendMailNameEditBox, 'BOTTOMLEFT', 0, -10) |
|||
_G.SendMailSubjectEditBox:Height(18) |
|||
_G.SendMailNameEditBox:Height(18) |
|||
_G.SendMailFrame:StripTextures() |
|||
|
|||
S:HandleButton(_G.SendMailMailButton) |
|||
_G.SendMailMailButton:Point('RIGHT', _G.SendMailCancelButton, 'LEFT', -2, 0) |
|||
|
|||
S:HandleButton(_G.SendMailCancelButton) |
|||
_G.SendMailCancelButton:Point('BOTTOMRIGHT', -53, 94) |
|||
|
|||
_G.SendMailMoneyFrame:Point('BOTTOMLEFT', 170, 94) |
|||
|
|||
S:HandleRadioButton(_G.SendMailSendMoneyButton) |
|||
S:HandleRadioButton(_G.SendMailCODButton) |
|||
|
|||
for i = 1, 5 do |
|||
_G['AutoCompleteButton'..i]:StyleButton() |
|||
end |
|||
|
|||
-- Open Mail Frame |
|||
local OpenMailFrame = _G.OpenMailFrame |
|||
OpenMailFrame:StripTextures(true) -- stupid portrait |
|||
S:HandleFrame(OpenMailFrame, true) |
|||
OpenMailFrame.backdrop:Point('TOPLEFT', -5, 0) |
|||
OpenMailFrame.backdrop:Point('BOTTOMRIGHT', -2, 0) |
|||
|
|||
_G.OpenMailFrameCloseButton:Point('TOPRIGHT', OpenMailFrame.backdrop, 'TOPRIGHT', 4, 3) |
|||
|
|||
for i = 1, _G.ATTACHMENTS_MAX_RECEIVE do |
|||
local button = _G['OpenMailAttachmentButton'..i] |
|||
local icon = _G['OpenMailAttachmentButton'..i..'IconTexture'] |
|||
local count = _G['OpenMailAttachmentButton'..i..'Count'] |
|||
|
|||
button:StripTextures() |
|||
button:SetTemplate(nil, true) |
|||
button:StyleButton() |
|||
|
|||
if icon then |
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
icon:SetDrawLayer('ARTWORK') |
|||
icon:SetInside() |
|||
|
|||
count:SetDrawLayer('OVERLAY') |
|||
end |
|||
end |
|||
|
|||
hooksecurefunc('OpenMailFrame_UpdateButtonPositions', function() |
|||
for i = 1, _G.ATTACHMENTS_MAX_RECEIVE do |
|||
local itemLink = GetInboxItemLink(_G.InboxFrame.openMailID, i) |
|||
local button = _G['OpenMailAttachmentButton'..i] |
|||
|
|||
if itemLink then |
|||
local quality = select(3, GetItemInfo(itemLink)) |
|||
if quality and quality > 1 then |
|||
button:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
S:HandleButton(_G.OpenMailReportSpamButton) |
|||
|
|||
S:HandleButton(_G.OpenMailReplyButton) |
|||
_G.OpenMailReplyButton:Point('RIGHT', _G.OpenMailDeleteButton, 'LEFT', -2, 0) |
|||
|
|||
S:HandleButton(_G.OpenMailDeleteButton) |
|||
_G.OpenMailDeleteButton:Point('RIGHT', _G.OpenMailCancelButton, 'LEFT', -2, 0) |
|||
|
|||
S:HandleButton(_G.OpenMailCancelButton) |
|||
|
|||
_G.OpenMailScrollFrame:StripTextures(true) |
|||
_G.OpenMailScrollFrame:SetTemplate() |
|||
|
|||
S:HandleScrollBar(_G.OpenMailScrollFrameScrollBar) |
|||
|
|||
_G.OpenMailBodyText:SetTextColor(1, 1, 1) |
|||
_G.InvoiceTextFontNormal:SetFont(E.media.normFont, 13) |
|||
_G.InvoiceTextFontNormal:SetTextColor(1, 1, 1) |
|||
_G.OpenMailInvoiceBuyMode:SetTextColor(1, 0.80, 0.10) |
|||
|
|||
_G.OpenMailArithmeticLine:Kill() |
|||
|
|||
_G.OpenMailLetterButton:StripTextures() |
|||
_G.OpenMailLetterButton:SetTemplate(nil, true) |
|||
_G.OpenMailLetterButton:StyleButton() |
|||
|
|||
_G.OpenMailLetterButtonIconTexture:SetTexCoord(unpack(E.TexCoords)) |
|||
_G.OpenMailLetterButtonIconTexture:SetDrawLayer('ARTWORK') |
|||
_G.OpenMailLetterButtonIconTexture:SetInside() |
|||
|
|||
_G.OpenMailLetterButtonCount:SetDrawLayer('OVERLAY') |
|||
|
|||
_G.OpenMailMoneyButton:StripTextures() |
|||
_G.OpenMailMoneyButton:SetTemplate(nil, true) |
|||
_G.OpenMailMoneyButton:StyleButton() |
|||
|
|||
_G.OpenMailMoneyButtonIconTexture:SetTexCoord(unpack(E.TexCoords)) |
|||
_G.OpenMailMoneyButtonIconTexture:SetDrawLayer('ARTWORK') |
|||
_G.OpenMailMoneyButtonIconTexture:SetInside() |
|||
|
|||
_G.OpenMailMoneyButtonCount:SetDrawLayer('OVERLAY') |
|||
end |
|||
|
|||
S:AddCallback('MailFrame') |
|||
@ -1,205 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack, select = unpack, select |
|||
|
|||
local GetItemInfo = GetItemInfo |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local GetBuybackItemInfo = GetBuybackItemInfo |
|||
local GetNumBuybackItems = GetNumBuybackItems |
|||
local GetMerchantNumItems = GetMerchantNumItems |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local function merchantItemPoint() |
|||
S:HandlePointXY(_G.MerchantItem1, 6, -40) |
|||
|
|||
for i = 2, _G.BUYBACK_ITEMS_PER_PAGE do |
|||
if E:IsEvenNumber(i) then |
|||
S:HandlePointXY(_G['MerchantItem'..i], 12, 0) |
|||
else |
|||
S:HandlePointXY(_G['MerchantItem'..i], 0, -16) |
|||
end |
|||
end |
|||
end |
|||
|
|||
function S:MerchantFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.merchant) then return end |
|||
|
|||
local MerchantFrame = _G.MerchantFrame |
|||
S:HandleFrame(MerchantFrame, true, nil, -5, 0, 1, -1) |
|||
|
|||
_G.MerchantFrameCloseButton:Point('TOPRIGHT', 2, 2) |
|||
|
|||
-- skin icons / merchant slots |
|||
for i = 1, _G.BUYBACK_ITEMS_PER_PAGE do |
|||
local item = _G['MerchantItem'..i] |
|||
local button = _G['MerchantItem'..i..'ItemButton'] |
|||
local icon = _G['MerchantItem'..i..'ItemButtonIconTexture'] |
|||
local money = _G['MerchantItem'..i..'MoneyFrame'] |
|||
local nameFrame = _G['MerchantItem'..i..'NameFrame'] |
|||
local name = _G['MerchantItem'..i..'Name'] |
|||
local slot = _G['MerchantItem'..i..'SlotTexture'] |
|||
|
|||
item:StripTextures(true) |
|||
item:CreateBackdrop() |
|||
item.backdrop:Point('TOPLEFT', -1, 3) |
|||
item.backdrop:Point('BOTTOMRIGHT', 2, -3) |
|||
|
|||
button:StripTextures() |
|||
button:StyleButton() |
|||
button:SetTemplate(nil, true) |
|||
button:Size(40) |
|||
button:Point('TOPLEFT', item, 'TOPLEFT', 4, -2) |
|||
|
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
icon:SetInside() |
|||
|
|||
nameFrame:Point('LEFT', slot, 'RIGHT', -6, -17) |
|||
|
|||
name:Point('LEFT', slot, 'RIGHT', -4, 5) |
|||
|
|||
money:ClearAllPoints() |
|||
money:Point('BOTTOMLEFT', button, 'BOTTOMRIGHT', 3, 0) |
|||
end |
|||
|
|||
_G.MerchantNameText:SetTextColor(1, 1, 1) |
|||
|
|||
_G.MerchantPageText:SetTextColor(1, 1, 1) |
|||
_G.MerchantPageText:Point('BOTTOM', -2, 10) |
|||
|
|||
S:HandleNextPrevButton(_G.MerchantNextPageButton, nil, nil, nil, true) |
|||
_G.MerchantNextPageButton:Point('BOTTOMRIGHT', _G.MerchantFrame, 'BOTTOMRIGHT', -11, 10) |
|||
_G.MerchantNextPageButton:Size(24) |
|||
|
|||
S:HandleNextPrevButton(_G.MerchantPrevPageButton, nil, nil, nil, true) |
|||
_G.MerchantPrevPageButton:Point('TOPLEFT', _G.MerchantNextPageButton, 'TOPLEFT', -30, 0) |
|||
_G.MerchantPrevPageButton:Size(24) |
|||
|
|||
S:HandleButton(_G.MerchantRepairItemButton) |
|||
_G.MerchantRepairItemButton:StyleButton(false) |
|||
_G.MerchantRepairItemButton:GetRegions():SetTexCoord(0.04, 0.24, 0.06, 0.5) |
|||
_G.MerchantRepairItemButton:GetRegions():SetInside() |
|||
|
|||
S:HandleButton(_G.MerchantGuildBankRepairButton) |
|||
_G.MerchantGuildBankRepairButton:StyleButton() |
|||
_G.MerchantGuildBankRepairButtonIcon:SetTexCoord(0.61, 0.82, 0.1, 0.52) |
|||
_G.MerchantGuildBankRepairButtonIcon:SetInside() |
|||
|
|||
S:HandleButton(_G.MerchantRepairAllButton) |
|||
_G.MerchantRepairAllIcon:StyleButton(false) |
|||
_G.MerchantRepairAllIcon:SetTexCoord(0.34, 0.1, 0.34, 0.535, 0.535, 0.1, 0.535, 0.535) |
|||
_G.MerchantRepairAllIcon:SetInside() |
|||
|
|||
_G.MerchantMoneyBg:StripTextures() |
|||
_G.MerchantMoneyInset:StripTextures() |
|||
|
|||
_G.MerchantMoneyFrame:ClearAllPoints() |
|||
_G.MerchantMoneyFrame:Point('BOTTOMLEFT', _G.MerchantFrame, 'BOTTOMLEFT', 7, 10) |
|||
|
|||
S:HandleFrame(_G.MerchantBuyBackItem, true, nil, -1, 3, 2, -2) |
|||
_G.MerchantBuyBackItem:Height(46) |
|||
S:HandlePointXY(_G.MerchantBuyBackItem, 0, -16) |
|||
|
|||
_G.MerchantBuyBackItemItemButton:StripTextures() |
|||
_G.MerchantBuyBackItemItemButton:StyleButton() |
|||
_G.MerchantBuyBackItemItemButton:SetTemplate(nil, true) |
|||
_G.MerchantBuyBackItemItemButton:Size(40) |
|||
_G.MerchantBuyBackItemItemButton:Point('TOPLEFT', 4, -2) |
|||
|
|||
_G.MerchantBuyBackItemItemButtonIconTexture:SetTexCoord(unpack(E.TexCoords)) |
|||
_G.MerchantBuyBackItemItemButtonIconTexture:SetInside() |
|||
|
|||
_G.MerchantBuyBackItemNameFrame:Point('LEFT', _G.MerchantBuyBackItemSlotTexture, 'RIGHT', -6, -17) |
|||
|
|||
_G.MerchantBuyBackItemName:Point('LEFT', _G.MerchantBuyBackItemSlotTexture, 'RIGHT', -4, 5) |
|||
|
|||
_G.MerchantBuyBackItemMoneyFrame:ClearAllPoints() |
|||
_G.MerchantBuyBackItemMoneyFrame:Point('BOTTOMLEFT', _G.MerchantBuyBackItemItemButton, 'BOTTOMRIGHT', 3, 0) |
|||
|
|||
-- skin tabs |
|||
for i = 1, 2 do |
|||
S:HandleTab(_G['MerchantFrameTab'..i]) |
|||
end |
|||
|
|||
hooksecurefunc('MerchantFrame_UpdateMerchantInfo', function() |
|||
local numMerchantItems = GetMerchantNumItems() |
|||
local index = (MerchantFrame.page - 1) * _G.MERCHANT_ITEMS_PER_PAGE |
|||
local button, name, quality |
|||
|
|||
for i = 1, _G.BUYBACK_ITEMS_PER_PAGE do |
|||
index = index + 1 |
|||
|
|||
if index <= numMerchantItems then |
|||
button = _G['MerchantItem'..i..'ItemButton'] |
|||
name = _G['MerchantItem'..i..'Name'] |
|||
|
|||
if button.link then |
|||
quality = select(3, GetItemInfo(button.link)) |
|||
|
|||
if quality and quality > 1 then |
|||
local r, g, b = GetItemQualityColor(quality) |
|||
button:SetBackdropBorderColor(r, g, b) |
|||
name:SetTextColor(r, g, b) |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
name:SetTextColor(1, 1, 1) |
|||
end |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
name:SetTextColor(1, 1, 1) |
|||
end |
|||
end |
|||
|
|||
local itemName = GetBuybackItemInfo(GetNumBuybackItems()) |
|||
if itemName then |
|||
quality = select(3, GetItemInfo(itemName)) |
|||
|
|||
if quality and quality > 1 then |
|||
local r, g, b = GetItemQualityColor(quality) |
|||
_G.MerchantBuyBackItemItemButton:SetBackdropBorderColor(r, g, b) |
|||
_G.MerchantBuyBackItemName:SetTextColor(r, g, b) |
|||
else |
|||
_G.MerchantBuyBackItemItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.MerchantBuyBackItemName:SetTextColor(1, 1, 1) |
|||
end |
|||
else |
|||
_G.MerchantBuyBackItemItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end |
|||
|
|||
_G.MerchantRepairText:Point('BOTTOMLEFT', 14, 69) |
|||
|
|||
merchantItemPoint() |
|||
end) |
|||
|
|||
hooksecurefunc('MerchantFrame_UpdateBuybackInfo', function() |
|||
local numBuybackItems = GetNumBuybackItems() |
|||
local button, name, quality |
|||
|
|||
for i = 1, _G.BUYBACK_ITEMS_PER_PAGE do |
|||
if i <= numBuybackItems then |
|||
local itemName = GetBuybackItemInfo(i) |
|||
|
|||
if itemName then |
|||
button = _G['MerchantItem'..i..'ItemButton'] |
|||
name = _G['MerchantItem'..i..'Name'] |
|||
quality = select(3, GetItemInfo(itemName)) |
|||
|
|||
if quality and quality > 1 then |
|||
local r, g, b = GetItemQualityColor(quality) |
|||
button:SetBackdropBorderColor(r, g, b) |
|||
name:SetTextColor(r, g, b) |
|||
else |
|||
button:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
name:SetTextColor(1, 1, 1) |
|||
end |
|||
end |
|||
end |
|||
end |
|||
|
|||
merchantItemPoint() |
|||
end) |
|||
end |
|||
|
|||
S:AddCallback('MerchantFrame') |
|||
@ -1,53 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
local function MirrorTimer_OnUpdate(frame, elapsed) |
|||
if frame.paused then return end |
|||
|
|||
if frame.timeSinceUpdate >= 0.3 then |
|||
local text = frame.label:GetText() |
|||
|
|||
if frame.value > 0 then |
|||
frame.TimerText:SetFormattedText('%s (%d:%02d)', text, frame.value / 60, frame.value % 60) |
|||
else |
|||
frame.TimerText:SetFormattedText('%s (0:00)', text) |
|||
end |
|||
|
|||
frame.timeSinceUpdate = 0 |
|||
else |
|||
frame.timeSinceUpdate = frame.timeSinceUpdate + elapsed |
|||
end |
|||
end |
|||
|
|||
function S:MirrorTimers() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.mirrorTimers) then return end |
|||
|
|||
for i = 1, _G.MIRRORTIMER_NUMTIMERS do |
|||
local mirrorTimer = _G['MirrorTimer'..i] |
|||
local statusBar = _G['MirrorTimer'..i..'StatusBar'] |
|||
local text = _G['MirrorTimer'..i..'Text'] |
|||
|
|||
mirrorTimer:StripTextures() |
|||
mirrorTimer:Size(222, 18) |
|||
mirrorTimer.label = text |
|||
statusBar:SetStatusBarTexture(E.media.normTex) |
|||
E:RegisterStatusBar(statusBar) |
|||
statusBar:CreateBackdrop() |
|||
statusBar:Size(222, 18) |
|||
text:Hide() |
|||
|
|||
local timerText = mirrorTimer:CreateFontString(nil, 'OVERLAY') |
|||
timerText:FontTemplate(nil, nil, 'OUTLINE') |
|||
timerText:Point('CENTER', statusBar, 'CENTER', 0, 0) |
|||
mirrorTimer.TimerText = timerText |
|||
|
|||
mirrorTimer.timeSinceUpdate = 0.3 |
|||
mirrorTimer:HookScript('OnUpdate', MirrorTimer_OnUpdate) |
|||
|
|||
E:CreateMover(mirrorTimer, 'MirrorTimer'..i..'Mover', L["MirrorTimer"]..i, nil, nil, nil, 'ALL,SOLO') |
|||
end |
|||
end |
|||
|
|||
S:AddCallback('MirrorTimers') |
|||
@ -1,329 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local pairs = pairs |
|||
local ipairs = ipairs |
|||
local unpack = unpack |
|||
|
|||
local hooksecurefunc = hooksecurefunc |
|||
local UnitIsUnit = UnitIsUnit |
|||
local CreateFrame = CreateFrame |
|||
|
|||
local function SkinNavBarButtons(self) |
|||
if (self:GetParent():GetName() == 'EncounterJournal' and not E.private.skins.blizzard.encounterjournal) or (self:GetParent():GetName() == 'WorldMapFrame' and not E.private.skins.blizzard.worldmap) or (self:GetParent():GetName() == 'HelpFrameKnowledgebase' and not E.private.skins.blizzard.help) then |
|||
return |
|||
end |
|||
|
|||
local navButton = self.navList[#self.navList] |
|||
if navButton and not navButton.isSkinned then |
|||
S:HandleButton(navButton, true) |
|||
navButton:GetFontString():SetTextColor(1, 1, 1) |
|||
if navButton.MenuArrowButton then |
|||
navButton.MenuArrowButton:StripTextures() |
|||
if navButton.MenuArrowButton.Art then |
|||
navButton.MenuArrowButton.Art:SetTexture(E.Media.Textures.ArrowUp) |
|||
navButton.MenuArrowButton.Art:SetTexCoord(0, 1, 0, 1) |
|||
navButton.MenuArrowButton.Art:SetRotation(3.14) |
|||
end |
|||
end |
|||
|
|||
navButton.xoffset = 1 |
|||
|
|||
navButton.isSkinned = true |
|||
end |
|||
end |
|||
|
|||
function S:BlizzardMiscFrames() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.misc) then return end |
|||
|
|||
-- Blizzard frame we want to reskin |
|||
local skins = { |
|||
'AutoCompleteBox', |
|||
'ReadyCheckFrame' |
|||
} |
|||
|
|||
for i = 1, #skins do |
|||
_G[skins[i]]:StripTextures() |
|||
_G[skins[i]]:SetTemplate('Transparent') |
|||
end |
|||
|
|||
-- here we reskin all 'normal' buttons |
|||
S:HandleButton(_G.ReadyCheckFrameYesButton) |
|||
S:HandleButton(_G.ReadyCheckFrameNoButton) |
|||
|
|||
local ReadyCheckFrame = _G.ReadyCheckFrame |
|||
_G.ReadyCheckFrameYesButton:SetParent(ReadyCheckFrame) |
|||
_G.ReadyCheckFrameNoButton:SetParent(ReadyCheckFrame) |
|||
_G.ReadyCheckFrameYesButton:ClearAllPoints() |
|||
_G.ReadyCheckFrameNoButton:ClearAllPoints() |
|||
_G.ReadyCheckFrameYesButton:Point('TOPRIGHT', ReadyCheckFrame, 'CENTER', -3, -5) |
|||
_G.ReadyCheckFrameNoButton:Point('TOPLEFT', ReadyCheckFrame, 'CENTER', 3, -5) |
|||
_G.ReadyCheckFrameText:SetParent(ReadyCheckFrame) |
|||
_G.ReadyCheckFrameText:ClearAllPoints() |
|||
_G.ReadyCheckFrameText:Point('TOP', 0, -15) |
|||
|
|||
_G.ReadyCheckListenerFrame:SetAlpha(0) |
|||
ReadyCheckFrame:HookScript('OnShow', function(frame) |
|||
-- bug fix, don't show it if player is initiator |
|||
if frame.initiator and UnitIsUnit('player', frame.initiator) then |
|||
frame:Hide() |
|||
end |
|||
end) |
|||
|
|||
S:HandleButton(_G.StaticPopup1ExtraButton) |
|||
|
|||
if not E:IsAddOnEnabled('ConsolePortUI_Menu') then |
|||
-- reskin all esc/menu buttons |
|||
for _, Button in pairs({_G.GameMenuFrame:GetChildren()}) do |
|||
if Button.IsObjectType and Button:IsObjectType("Button") then |
|||
S:HandleButton(Button) |
|||
end |
|||
end |
|||
|
|||
_G.GameMenuFrame:StripTextures() |
|||
_G.GameMenuFrame:SetTemplate('Transparent') |
|||
_G.GameMenuFrameHeader:SetTexture() |
|||
_G.GameMenuFrameHeader:ClearAllPoints() |
|||
_G.GameMenuFrameHeader:Point('TOP', _G.GameMenuFrame, 0, 7) |
|||
end |
|||
|
|||
if E:IsAddOnEnabled('OptionHouse') then |
|||
S:HandleButton(_G.GameMenuButtonOptionHouse) |
|||
end |
|||
|
|||
-- since we cant hook `CinematicFrame_OnShow` or `CinematicFrame_OnEvent` directly |
|||
-- we can just hook onto this function so that we can get the correct `self` |
|||
-- this is called through `CinematicFrame_OnShow` so the result would still happen where we want |
|||
hooksecurefunc('CinematicFrame_OnDisplaySizeChanged', function(s) |
|||
if s and s.closeDialog and not s.closeDialog.template then |
|||
s.closeDialog:StripTextures() |
|||
s.closeDialog:SetTemplate('Transparent') |
|||
s:SetScale(E.uiscale) |
|||
|
|||
local dialogName = s.closeDialog.GetName and s.closeDialog:GetName() |
|||
local closeButton = s.closeDialog.ConfirmButton or (dialogName and _G[dialogName..'ConfirmButton']) |
|||
local resumeButton = s.closeDialog.ResumeButton or (dialogName and _G[dialogName..'ResumeButton']) |
|||
if closeButton then S:HandleButton(closeButton) end |
|||
if resumeButton then S:HandleButton(resumeButton) end |
|||
end |
|||
end) |
|||
|
|||
-- same as above except `MovieFrame_OnEvent` and `MovieFrame_OnShow` |
|||
-- cant be hooked directly so we can just use this |
|||
-- this is called through `MovieFrame_OnEvent` on the event `PLAY_MOVIE` |
|||
hooksecurefunc('MovieFrame_PlayMovie', function(s) |
|||
if s and s.CloseDialog and not s.CloseDialog.template then |
|||
s:SetScale(E.uiscale) |
|||
s.CloseDialog:StripTextures() |
|||
s.CloseDialog:SetTemplate('Transparent') |
|||
S:HandleButton(s.CloseDialog.ConfirmButton) |
|||
S:HandleButton(s.CloseDialog.ResumeButton) |
|||
end |
|||
end) |
|||
|
|||
local ChatMenus = { |
|||
_G.ChatMenu, |
|||
_G.EmoteMenu, |
|||
_G.LanguageMenu, |
|||
_G.VoiceMacroMenu, |
|||
} |
|||
|
|||
for _, frame in ipairs(ChatMenus) do |
|||
if frame == _G.ChatMenu then |
|||
frame:HookScript('OnShow', function(menu) menu:SetTemplate('Transparent', true) menu:SetBackdropColor(unpack(E.media.backdropfadecolor)) menu:ClearAllPoints() menu:Point('BOTTOMLEFT', _G.ChatFrame1, 'TOPLEFT', 0, 30) end) |
|||
else |
|||
frame:HookScript('OnShow', function(menu) menu:SetTemplate('Transparent', true) menu:SetBackdropColor(unpack(E.media.backdropfadecolor)) end) |
|||
end |
|||
end |
|||
|
|||
-- reskin popup buttons |
|||
for i = 1, 4 do |
|||
local StaticPopup = _G['StaticPopup'..i] |
|||
StaticPopup:HookScript('OnShow', function() -- UpdateRecapButton is created OnShow |
|||
if StaticPopup.UpdateRecapButton and (not StaticPopup.UpdateRecapButtonHooked) then |
|||
StaticPopup.UpdateRecapButtonHooked = true -- we should only hook this once |
|||
hooksecurefunc(_G['StaticPopup'..i], 'UpdateRecapButton', S.UpdateRecapButton) |
|||
end |
|||
end) |
|||
StaticPopup:StripTextures() |
|||
StaticPopup:SetTemplate('Transparent') |
|||
|
|||
for j = 1, 4 do |
|||
local button = StaticPopup['button'..j] |
|||
S:HandleButton(button) |
|||
|
|||
button.Flash:Hide() |
|||
|
|||
button:CreateShadow(5) |
|||
button.shadow:SetAlpha(0) |
|||
button.shadow:SetBackdropBorderColor(unpack(E.media.rgbvaluecolor)) |
|||
|
|||
local anim1, anim2 = button.PulseAnim:GetAnimations() |
|||
anim1:SetTarget(button.shadow) |
|||
anim2:SetTarget(button.shadow) |
|||
end |
|||
|
|||
_G['StaticPopup'..i..'EditBox']:SetFrameLevel(_G['StaticPopup'..i..'EditBox']:GetFrameLevel()+1) |
|||
S:HandleEditBox(_G['StaticPopup'..i..'EditBox']) |
|||
S:HandleEditBox(_G['StaticPopup'..i..'MoneyInputFrameGold']) |
|||
S:HandleEditBox(_G['StaticPopup'..i..'MoneyInputFrameSilver']) |
|||
S:HandleEditBox(_G['StaticPopup'..i..'MoneyInputFrameCopper']) |
|||
_G['StaticPopup'..i..'EditBox'].backdrop:Point('TOPLEFT', -2, -4) |
|||
_G['StaticPopup'..i..'EditBox'].backdrop:Point('BOTTOMRIGHT', 2, 4) |
|||
_G['StaticPopup'..i..'ItemFrameNameFrame']:Kill() |
|||
_G['StaticPopup'..i..'ItemFrame']:SetTemplate() |
|||
_G['StaticPopup'..i..'ItemFrame']:StyleButton() |
|||
_G['StaticPopup'..i..'ItemFrame'].IconBorder:SetAlpha(0) |
|||
_G['StaticPopup'..i..'ItemFrameIconTexture']:SetTexCoord(unpack(E.TexCoords)) |
|||
_G['StaticPopup'..i..'ItemFrameIconTexture']:SetInside() |
|||
local normTex = _G['StaticPopup'..i..'ItemFrame']:GetNormalTexture() |
|||
if normTex then |
|||
normTex:SetTexture() |
|||
hooksecurefunc(normTex, 'SetTexture', function(texture, tex) |
|||
if tex ~= nil then texture:SetTexture() end |
|||
end) |
|||
end |
|||
|
|||
-- Quality IconBorder |
|||
hooksecurefunc(_G['StaticPopup'..i..'ItemFrame'].IconBorder, 'SetVertexColor', function(frame, r, g, b) |
|||
frame:GetParent():SetBackdropBorderColor(r, g, b) |
|||
frame:SetTexture() |
|||
end) |
|||
hooksecurefunc(_G['StaticPopup'..i..'ItemFrame'].IconBorder, 'Hide', function(frame) |
|||
frame:GetParent():SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end) |
|||
end |
|||
|
|||
_G.OpacityFrame:StripTextures() |
|||
_G.OpacityFrame:SetTemplate('Transparent') |
|||
|
|||
--DropDownMenu |
|||
hooksecurefunc('UIDropDownMenu_CreateFrames', function(level, index) |
|||
local listFrame = _G['DropDownList'..level] |
|||
local listFrameName = listFrame:GetName() |
|||
local expandArrow = _G[listFrameName..'Button'..index..'ExpandArrow'] |
|||
if expandArrow then |
|||
local normTex = expandArrow:GetNormalTexture() |
|||
expandArrow:SetNormalTexture(E.Media.Textures.ArrowUp) |
|||
normTex:SetVertexColor(unpack(E.media.rgbvaluecolor)) |
|||
normTex:SetRotation(S.ArrowRotation.right) |
|||
expandArrow:Size(12, 12) |
|||
end |
|||
|
|||
local Backdrop = _G[listFrameName..'Backdrop'] |
|||
if Backdrop and not Backdrop.template then |
|||
Backdrop:StripTextures() |
|||
Backdrop:SetTemplate('Transparent') |
|||
end |
|||
|
|||
local menuBackdrop = _G[listFrameName..'MenuBackdrop'] |
|||
if menuBackdrop and not menuBackdrop.template then |
|||
menuBackdrop:StripTextures() |
|||
menuBackdrop:SetTemplate('Transparent') |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('UIDropDownMenu_SetIconImage', function(icon, texture) |
|||
if texture:find('Divider') then |
|||
local r, g, b = unpack(E.media.rgbvaluecolor) |
|||
icon:SetColorTexture(r, g, b, 0.45) |
|||
icon:Height(1) |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('ToggleDropDownMenu', function(level) |
|||
if not level then |
|||
level = 1 |
|||
end |
|||
|
|||
local r, g, b = unpack(E.media.rgbvaluecolor) |
|||
|
|||
for i = 1, _G.UIDROPDOWNMENU_MAXBUTTONS do |
|||
local button = _G['DropDownList'..level..'Button'..i] |
|||
local check = _G['DropDownList'..level..'Button'..i..'Check'] |
|||
local uncheck = _G['DropDownList'..level..'Button'..i..'UnCheck'] |
|||
local highlight = _G['DropDownList'..level..'Button'..i..'Highlight'] |
|||
|
|||
highlight:SetTexture(E.Media.Textures.Highlight) |
|||
highlight:SetBlendMode('BLEND') |
|||
highlight:SetDrawLayer('BACKGROUND') |
|||
highlight:SetVertexColor(r, g, b) |
|||
|
|||
if not button.backdrop then |
|||
button:CreateBackdrop() |
|||
end |
|||
|
|||
if not button.notCheckable then |
|||
uncheck:SetTexture() |
|||
|
|||
local _, co = check:GetTexCoord() |
|||
if co == 0 then |
|||
check:SetTexture([[Interface\Buttons\UI-CheckBox-Check]]) |
|||
check:SetVertexColor(r, g, b, 1) |
|||
check:Size(20, 20) |
|||
check:SetDesaturated(true) |
|||
button.backdrop:SetInside(check, 4, 4) |
|||
else |
|||
check:SetTexture(E.media.normTex) |
|||
check:SetVertexColor(r, g, b, 1) |
|||
check:Size(10, 10) |
|||
check:SetDesaturated(false) |
|||
button.backdrop:SetOutside(check) |
|||
end |
|||
|
|||
button.backdrop:Show() |
|||
check:SetTexCoord(0, 1, 0, 1) |
|||
else |
|||
button.backdrop:Hide() |
|||
check:Size(16, 16) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
local SideDressUpFrame = _G.SideDressUpFrame |
|||
S:HandleCloseButton(_G.SideDressUpModelCloseButton) |
|||
SideDressUpFrame:StripTextures() |
|||
SideDressUpFrame.BGTopLeft:Hide() |
|||
SideDressUpFrame.BGBottomLeft:Hide() |
|||
S:HandleButton(_G.SideDressUpModelResetButton) |
|||
SideDressUpFrame:SetTemplate('Transparent') |
|||
|
|||
-- StackSplit |
|||
local StackSplitFrame = _G.StackSplitFrame |
|||
StackSplitFrame:StripTextures() |
|||
StackSplitFrame:SetTemplate('Transparent') |
|||
|
|||
StackSplitFrame.bg1 = CreateFrame('Frame', nil, StackSplitFrame) |
|||
StackSplitFrame.bg1:SetTemplate('Transparent') |
|||
StackSplitFrame.bg1:Point('TOPLEFT', 10, -15) |
|||
StackSplitFrame.bg1:Point('BOTTOMRIGHT', -10, 55) |
|||
StackSplitFrame.bg1:SetFrameLevel(StackSplitFrame.bg1:GetFrameLevel() - 1) |
|||
|
|||
S:HandleButton(_G.StackSplitOkayButton) |
|||
S:HandleButton(_G.StackSplitCancelButton) |
|||
|
|||
local buttons = {StackSplitFrame.LeftButton, StackSplitFrame.RightButton} |
|||
for _, btn in pairs(buttons) do |
|||
btn:Size(14, 18) |
|||
|
|||
btn:ClearAllPoints() |
|||
|
|||
if btn == StackSplitFrame.LeftButton then |
|||
btn:Point('LEFT', StackSplitFrame.bg1, 'LEFT', 4, 0) |
|||
else |
|||
btn:Point('RIGHT', StackSplitFrame.bg1, 'RIGHT', -4, 0) |
|||
end |
|||
|
|||
S:HandleNextPrevButton(btn) |
|||
|
|||
if btn.SetTemplate then |
|||
btn:SetTemplate('NoBackdrop') |
|||
end |
|||
end |
|||
|
|||
--NavBar Buttons (Used in WorldMapFrame, EncounterJournal and HelpFrame) |
|||
hooksecurefunc('NavBar_AddButton', SkinNavBarButtons) |
|||
end |
|||
|
|||
S:AddCallback('BlizzardMiscFrames') |
|||
@ -1,41 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
function S:PetitionFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.petition) then return end |
|||
|
|||
local PetitionFrame = _G.PetitionFrame |
|||
S:HandleFrame(PetitionFrame, true, nil, 12, -17, -28, 65) |
|||
|
|||
local buttons = { |
|||
_G.PetitionFrameSignButton, |
|||
_G.PetitionFrameRequestButton, |
|||
_G.PetitionFrameRenameButton, |
|||
_G.PetitionFrameCancelButton |
|||
} |
|||
|
|||
for _, button in pairs(buttons) do |
|||
S:HandleButton(button) |
|||
end |
|||
|
|||
S:HandleCloseButton(_G.PetitionFrameCloseButton) |
|||
|
|||
_G.PetitionFrameCharterTitle:SetTextColor(1, 1, 0) |
|||
_G.PetitionFrameCharterName:SetTextColor(1, 1, 1) |
|||
_G.PetitionFrameMasterTitle:SetTextColor(1, 1, 0) |
|||
_G.PetitionFrameMasterName:SetTextColor(1, 1, 1) |
|||
_G.PetitionFrameMemberTitle:SetTextColor(1, 1, 0) |
|||
|
|||
for i = 1, 9 do |
|||
_G['PetitionFrameMemberName'..i]:SetTextColor(1, 1, 1) |
|||
end |
|||
|
|||
_G.PetitionFrameInstructions:SetTextColor(1, 1, 1) |
|||
|
|||
_G.PetitionFrameRenameButton:Point('LEFT', _G.PetitionFrameRequestButton, 'RIGHT', 3, 0) |
|||
_G.PetitionFrameRenameButton:Point('RIGHT', _G.PetitionFrameCancelButton, 'LEFT', -3, 0) |
|||
end |
|||
|
|||
S:AddCallback('PetitionFrame') |
|||
@ -1,467 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack, gsub = unpack, gsub |
|||
local select, pairs = select, pairs |
|||
local next, strmatch = next, strmatch |
|||
|
|||
local GetMoney = GetMoney |
|||
local GetItemInfo = GetItemInfo |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local GetNumQuestLeaderBoards = GetNumQuestLeaderBoards |
|||
local GetNumQuestLogEntries = GetNumQuestLogEntries |
|||
local GetQuestItemLink = GetQuestItemLink |
|||
local GetQuestLogItemLink = GetQuestLogItemLink |
|||
local GetQuestLogLeaderBoard = GetQuestLogLeaderBoard |
|||
local GetQuestLogRequiredMoney = GetQuestLogRequiredMoney |
|||
local GetQuestLogTitle = GetQuestLogTitle |
|||
local GetQuestMoneyToGet = GetQuestMoneyToGet |
|||
local IsQuestComplete = IsQuestComplete |
|||
local MAX_NUM_ITEMS = MAX_NUM_ITEMS |
|||
local MAX_NUM_QUESTS = MAX_NUM_QUESTS |
|||
local MAX_REQUIRED_ITEMS = MAX_REQUIRED_ITEMS |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local function handleItemButton(item) |
|||
if not item then return end |
|||
|
|||
if item then |
|||
item:SetTemplate() |
|||
item:Size(143, 40) |
|||
item:SetFrameLevel(item:GetFrameLevel() + 2) |
|||
end |
|||
|
|||
if item.Icon then |
|||
item.Icon:Size(E.PixelMode and 35 or 32) |
|||
item.Icon:SetDrawLayer('ARTWORK') |
|||
item.Icon:Point('TOPLEFT', E.PixelMode and 2 or 4, -(E.PixelMode and 2 or 4)) |
|||
S:HandleIcon(item.Icon) |
|||
end |
|||
|
|||
if item.IconBorder then |
|||
S:HandleIconBorder(item.IconBorder) |
|||
end |
|||
|
|||
if item.Count then |
|||
item.Count:SetDrawLayer('OVERLAY') |
|||
item.Count:ClearAllPoints() |
|||
item.Count:SetPoint('BOTTOMRIGHT', item.Icon, 'BOTTOMRIGHT', 0, 0) |
|||
end |
|||
|
|||
if item.NameFrame then |
|||
item.NameFrame:SetAlpha(0) |
|||
item.NameFrame:Hide() |
|||
end |
|||
|
|||
if item.IconOverlay then |
|||
item.IconOverlay:SetAlpha(0) |
|||
end |
|||
|
|||
if item.Name then |
|||
item.Name:FontTemplate() |
|||
end |
|||
|
|||
if item.CircleBackground then |
|||
item.CircleBackground:SetAlpha(0) |
|||
item.CircleBackgroundGlow:SetAlpha(0) |
|||
end |
|||
|
|||
for _, Region in next, { item:GetRegions() } do |
|||
if Region:IsObjectType('Texture') and Region:GetTexture() == [[Interface\Spellbook\Spellbook-Parts]] then |
|||
Region:SetTexture('') |
|||
end |
|||
end |
|||
end |
|||
|
|||
local function questQualityColors(frame, text, link) |
|||
if not frame.template then |
|||
handleItemButton(frame) |
|||
end |
|||
|
|||
local quality = link and select(3, GetItemInfo(link)) |
|||
if quality and quality > 1 then |
|||
local r, g, b = GetItemQualityColor(quality) |
|||
|
|||
text:SetTextColor(r, g, b) |
|||
frame:SetBackdropBorderColor(r, g, b) |
|||
else |
|||
text:SetTextColor(1, 1, 1) |
|||
frame:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end |
|||
|
|||
local function UpdateGreetingFrame() |
|||
local i = 1 |
|||
local title = _G['QuestTitleButton'..i] |
|||
while (title and title:IsVisible()) do |
|||
_G.GreetingText:SetTextColor(1, 1, 1) |
|||
_G.CurrentQuestsText:SetTextColor(1, 0.80, 0.10) |
|||
_G.AvailableQuestsText:SetTextColor(1, 0.80, 0.10) |
|||
|
|||
local text = title:GetFontString() |
|||
local textString = gsub(title:GetText(), '|c[Ff][Ff]%x%x%x%x%x%x(.+)|r', '%1') |
|||
title:SetText(textString) |
|||
|
|||
local icon = _G['QuestTitleButton'..i..'QuestIcon'] |
|||
if title.isActive == 1 then |
|||
icon:SetTexture(132048) |
|||
icon:SetDesaturation(1) |
|||
text:SetTextColor(.6, .6, .6) |
|||
else |
|||
icon:SetTexture(132049) |
|||
icon:SetDesaturation(0) |
|||
text:SetTextColor(1, .8, .1) |
|||
end |
|||
|
|||
local numEntries = GetNumQuestLogEntries() |
|||
for y = 1, numEntries do |
|||
local titleText, _, _, _, _, isComplete, _, questId = GetQuestLogTitle(y) |
|||
if not titleText then |
|||
break |
|||
elseif strmatch(titleText, textString) and (isComplete == 1 or IsQuestComplete(questId)) then |
|||
icon:SetDesaturation(0) |
|||
text:SetTextColor(1, .8, .1) |
|||
break |
|||
end |
|||
end |
|||
|
|||
i = i + 1 |
|||
title = _G['QuestTitleButton'..i] |
|||
end |
|||
end |
|||
|
|||
function S:BlizzardQuestFrames() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.quest) then return end |
|||
|
|||
local QuestStrip = { |
|||
_G.EmptyQuestLogFrame, |
|||
_G.QuestDetailScrollChildFrame, |
|||
_G.QuestDetailScrollFrame, |
|||
_G.QuestFrame, |
|||
_G.QuestFrameDetailPanel, |
|||
_G.QuestFrameGreetingPanel, |
|||
_G.QuestFrameProgressPanel, |
|||
_G.QuestFrameRewardPanel, |
|||
_G.QuestGreetingScrollFrame, |
|||
_G.QuestInfoItemHighlight, |
|||
_G.QuestLogDetailScrollFrame, |
|||
_G.QuestLogFrame, |
|||
_G.QuestLogListScrollFrame, |
|||
_G.QuestLogQuestCount, |
|||
_G.QuestProgressScrollFrame, |
|||
_G.QuestRewardScrollChildFrame, |
|||
_G.QuestRewardScrollFrame, |
|||
_G.QuestRewardScrollFrame |
|||
} |
|||
for _, object in pairs(QuestStrip) do |
|||
object:StripTextures(true) |
|||
end |
|||
|
|||
local QuestButtons = { |
|||
_G.QuestFrameAcceptButton, |
|||
_G.QuestFrameCancelButton, |
|||
_G.QuestFrameCompleteButton, |
|||
_G.QuestFrameCompleteQuestButton, |
|||
_G.QuestFrameDeclineButton, |
|||
_G.QuestFrameExitButton, |
|||
_G.QuestFrameGoodbyeButton, |
|||
_G.QuestFrameGreetingGoodbyeButton, |
|||
_G.QuestFramePushQuestButton, |
|||
_G.QuestLogFrameAbandonButton |
|||
} |
|||
for _, button in pairs(QuestButtons) do |
|||
button:StripTextures() |
|||
S:HandleButton(button) |
|||
end |
|||
|
|||
local ScrollBars = { |
|||
_G.QuestDetailScrollFrameScrollBar, |
|||
_G.QuestGreetingScrollFrameScrollBar, |
|||
_G.QuestLogDetailScrollFrameScrollBar, |
|||
_G.QuestLogListScrollFrameScrollBar, |
|||
_G.QuestProgressScrollFrameScrollBar, |
|||
_G.QuestRewardScrollFrameScrollBar |
|||
} |
|||
for _, object in pairs(ScrollBars) do |
|||
S:HandleScrollBar(object) |
|||
end |
|||
|
|||
for frame, numItems in pairs({ QuestLogItem = MAX_NUM_ITEMS, QuestProgressItem = MAX_REQUIRED_ITEMS }) do |
|||
for i = 1, numItems do |
|||
handleItemButton(_G[frame..i]) |
|||
end |
|||
end |
|||
|
|||
hooksecurefunc('QuestInfo_GetRewardButton', function(rewardsFrame, index) |
|||
local button = rewardsFrame.RewardButtons[index] |
|||
if not button and button.template then return end |
|||
|
|||
handleItemButton(button) |
|||
end) |
|||
|
|||
hooksecurefunc('QuestInfoItem_OnClick', function(frame) |
|||
if frame.type == 'choice' then |
|||
frame:SetBackdropBorderColor(1, 0.80, 0.10) |
|||
_G[frame:GetName()..'Name']:SetTextColor(1, 0.80, 0.10) |
|||
|
|||
for i = 1, #_G.QuestInfoRewardsFrame.RewardButtons do |
|||
local item = _G['QuestInfoRewardsFrameQuestInfoItem'..i] |
|||
|
|||
if item ~= frame then |
|||
local name = _G['QuestInfoRewardsFrameQuestInfoItem'..i..'Name'] |
|||
local link = item.type and (_G.QuestInfoFrame.questLog and GetQuestLogItemLink or GetQuestItemLink)(item.type, item:GetID()) |
|||
|
|||
questQualityColors(item, name, link) |
|||
end |
|||
end |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('QuestInfo_ShowRewards', function() |
|||
for i = 1, #_G.QuestInfoRewardsFrame.RewardButtons do |
|||
local item = _G['QuestInfoRewardsFrameQuestInfoItem'..i] |
|||
local name = _G['QuestInfoRewardsFrameQuestInfoItem'..i..'Name'] |
|||
local link = item.type and (_G.QuestInfoFrame.questLog and GetQuestLogItemLink or GetQuestItemLink)(item.type, item:GetID()) |
|||
|
|||
questQualityColors(item, name, link) |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('QuestInfo_ShowRequiredMoney', function() |
|||
local requiredMoney = GetQuestLogRequiredMoney() |
|||
if requiredMoney > 0 then |
|||
if requiredMoney > GetMoney() then |
|||
_G.QuestInfoRequiredMoneyText:SetTextColor(0.6, 0.6, 0.6) |
|||
else |
|||
_G.QuestInfoRequiredMoneyText:SetTextColor(1, 0.80, 0.10) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('QuestFrameProgressItems_Update', function() |
|||
_G.QuestProgressTitleText:SetTextColor(1, .8, .1) |
|||
_G.QuestProgressText:SetTextColor(1, 1, 1) |
|||
_G.QuestProgressRequiredItemsText:SetTextColor(1, .8, 0.1) |
|||
|
|||
local moneyToGet = GetQuestMoneyToGet() |
|||
if moneyToGet > 0 then |
|||
if moneyToGet > GetMoney() then |
|||
_G.QuestProgressRequiredMoneyText:SetTextColor(.6, .6, .6) |
|||
else |
|||
_G.QuestProgressRequiredMoneyText:SetTextColor(1, .8, .1) |
|||
end |
|||
end |
|||
|
|||
for i = 1, _G.MAX_REQUIRED_ITEMS do |
|||
local item = _G['QuestProgressItem'..i] |
|||
local name = _G['QuestProgressItem'..i..'Name'] |
|||
local link = item.type and GetQuestItemLink(item.type, item:GetID()) |
|||
|
|||
questQualityColors(item, name, link) |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('QuestLog_UpdateQuestDetails', function() |
|||
local requiredMoney = GetQuestLogRequiredMoney() |
|||
if requiredMoney > 0 then |
|||
if requiredMoney > GetMoney() then |
|||
_G.QuestLogRequiredMoneyText:SetTextColor(0.6, 0.6, 0.6) |
|||
else |
|||
_G.QuestLogRequiredMoneyText:SetTextColor(1, 0.80, 0.10) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
local textColor = {1, 1, 1} |
|||
local titleTextColor = {1, 0.80, 0.10} |
|||
hooksecurefunc('QuestFrameItems_Update', function() |
|||
-- Headers |
|||
_G.QuestLogDescriptionTitle:SetTextColor(unpack(titleTextColor)) |
|||
_G.QuestLogRewardTitleText:SetTextColor(unpack(titleTextColor)) |
|||
_G.QuestLogQuestTitle:SetTextColor(unpack(titleTextColor)) |
|||
|
|||
-- Other text |
|||
_G.QuestLogItemChooseText:SetTextColor(unpack(textColor)) |
|||
_G.QuestLogItemReceiveText:SetTextColor(unpack(textColor)) |
|||
_G.QuestLogObjectivesText:SetTextColor(unpack(textColor)) |
|||
_G.QuestLogQuestDescription:SetTextColor(unpack(textColor)) |
|||
_G.QuestLogSpellLearnText:SetTextColor(unpack(textColor)) |
|||
|
|||
local requiredMoney = GetQuestLogRequiredMoney() |
|||
if requiredMoney > 0 then |
|||
if requiredMoney > GetMoney() then |
|||
_G.QuestInfoRequiredMoneyText:SetTextColor(0.6, 0.6, 0.6) |
|||
else |
|||
_G.QuestInfoRequiredMoneyText:SetTextColor(1, 0.80, 0.10) |
|||
end |
|||
end |
|||
|
|||
_G.QuestLogItem1:Point('TOPLEFT', _G.QuestLogItemChooseText, 'BOTTOMLEFT', 1, -3) |
|||
|
|||
local numVisibleObjectives = 0 |
|||
local numObjectives = GetNumQuestLeaderBoards() |
|||
for i = 1, numObjectives do |
|||
local _, objType, finished = GetQuestLogLeaderBoard(i) |
|||
if objType ~= 'spell' then |
|||
numVisibleObjectives = numVisibleObjectives + 1 |
|||
local objective = _G['QuestLogObjective'..numVisibleObjectives] |
|||
|
|||
if objective then |
|||
if finished then |
|||
objective:SetTextColor(1, .8, .1) |
|||
else |
|||
objective:SetTextColor(.63, .09, .09) |
|||
end |
|||
end |
|||
end |
|||
end |
|||
|
|||
for i = 1, _G.MAX_NUM_ITEMS do |
|||
local item = _G['QuestLogItem'..i] |
|||
local name = _G['QuestLogItem'..i..'Name'] |
|||
local link = item.type and (GetQuestLogItemLink or GetQuestItemLink)(item.type, item:GetID()) |
|||
|
|||
questQualityColors(item, name, link) |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('QuestInfo_Display', function() |
|||
-- Headers |
|||
_G.QuestInfoTitleHeader:SetTextColor(unpack(titleTextColor)) |
|||
_G.QuestInfoDescriptionHeader:SetTextColor(unpack(titleTextColor)) |
|||
_G.QuestInfoObjectivesHeader:SetTextColor(unpack(titleTextColor)) |
|||
_G.QuestInfoRewardsFrame.Header:SetTextColor(unpack(titleTextColor)) |
|||
|
|||
-- Other text |
|||
_G.QuestInfoDescriptionText:SetTextColor(unpack(textColor)) |
|||
_G.QuestInfoObjectivesText:SetTextColor(unpack(textColor)) |
|||
_G.QuestInfoGroupSize:SetTextColor(unpack(textColor)) |
|||
_G.QuestInfoRewardText:SetTextColor(unpack(textColor)) |
|||
|
|||
-- Reward frame text |
|||
_G.QuestInfoRewardsFrame.ItemChooseText:SetTextColor(unpack(textColor)) |
|||
_G.QuestInfoRewardsFrame.ItemReceiveText:SetTextColor(unpack(textColor)) |
|||
_G.QuestInfoRewardsFrame.PlayerTitleText:SetTextColor(unpack(textColor)) |
|||
_G.QuestInfoRewardsFrame.XPFrame.ReceiveText:SetTextColor(unpack(textColor)) |
|||
|
|||
_G.QuestInfoRewardsFrame.spellHeaderPool.textR, _G.QuestInfoRewardsFrame.spellHeaderPool.textG, _G.QuestInfoRewardsFrame.spellHeaderPool.textB = unpack(textColor) |
|||
|
|||
for spellHeader, _ in _G.QuestInfoFrame.rewardsFrame.spellHeaderPool:EnumerateActive() do |
|||
spellHeader:SetVertexColor(1, 1, 1) |
|||
end |
|||
for spellIcon, _ in _G.QuestInfoFrame.rewardsFrame.spellRewardPool:EnumerateActive() do |
|||
if not spellIcon.template then |
|||
handleItemButton(spellIcon) |
|||
end |
|||
end |
|||
|
|||
local requiredMoney = GetQuestLogRequiredMoney() |
|||
if requiredMoney > 0 then |
|||
if requiredMoney > GetMoney() then |
|||
_G.QuestInfoRequiredMoneyText:SetTextColor(0.6, 0.6, 0.6) |
|||
else |
|||
_G.QuestInfoRequiredMoneyText:SetTextColor(1, 0.80, 0.10) |
|||
end |
|||
end |
|||
|
|||
for i = 1, #_G.QuestInfoRewardsFrame.RewardButtons do |
|||
local item = _G['QuestInfoRewardsFrameQuestInfoItem'..i] |
|||
local name = _G['QuestInfoRewardsFrameQuestInfoItem'..i..'Name'] |
|||
local link = item.type and (_G.QuestInfoFrame.questLog and GetQuestLogItemLink or GetQuestItemLink)(item.type, item:GetID()) |
|||
|
|||
questQualityColors(item, name, link) |
|||
end |
|||
end) |
|||
|
|||
for i = 1, MAX_NUM_QUESTS do |
|||
_G['QuestTitleButton'..i..'QuestIcon']:SetPoint('TOPLEFT', 4, 2) |
|||
_G['QuestTitleButton'..i..'QuestIcon']:SetSize(16, 16) |
|||
end |
|||
|
|||
_G.QuestFrameGreetingPanel:HookScript('OnUpdate', UpdateGreetingFrame) |
|||
hooksecurefunc('QuestFrameGreetingPanel_OnShow', UpdateGreetingFrame) |
|||
|
|||
_G.QuestLogTimerText:SetTextColor(1, 1, 1) |
|||
|
|||
S:HandleFrame(_G.QuestFrame, true, nil, 11, -12, -32, 66) |
|||
S:HandleFrame(_G.QuestLogCount, true) |
|||
S:HandleFrame(_G.QuestLogFrame, true, nil, 11, -12, -32, 45) |
|||
S:HandleFrame(_G.QuestLogListScrollFrame, true, nil, -1, 2) |
|||
S:HandleFrame(_G.QuestLogDetailScrollFrame, true, nil, -1, 2) |
|||
S:HandleFrame(_G.QuestDetailScrollFrame, true, nil, -6, 2) |
|||
S:HandleFrame(_G.QuestRewardScrollFrame, true, nil, -6, 2) |
|||
S:HandleFrame(_G.QuestProgressScrollFrame, true, nil, -6, 2) |
|||
S:HandleFrame(_G.QuestGreetingScrollFrame, true, nil, -6, 2) |
|||
|
|||
S:HandlePointXY(_G.QuestLogFrameAbandonButton, 15, 49) |
|||
S:HandlePointXY(_G.QuestFramePushQuestButton, -2) |
|||
S:HandlePointXY(_G.QuestFrameExitButton, -36, 49) |
|||
S:HandlePointXY(_G.QuestFrameAcceptButton, 15, 70) |
|||
S:HandlePointXY(_G.QuestFrameDeclineButton, -36, 70) |
|||
S:HandlePointXY(_G.QuestFrameCompleteQuestButton, 15, 70) |
|||
S:HandlePointXY(_G.QuestFrameCompleteButton, 15, 70) |
|||
S:HandlePointXY(_G.QuestFrameCancelButton, -36, 70) |
|||
S:HandlePointXY(_G.QuestFrameGoodbyeButton, -36, 70) |
|||
S:HandlePointXY(_G.QuestFrameGreetingGoodbyeButton, -36, 70) |
|||
S:HandlePointXY(_G.QuestFrameNpcNameText, -1, 0) |
|||
|
|||
_G.QuestGreetingFrameHorizontalBreak:Kill() |
|||
|
|||
_G.QuestLogListScrollFrame:Width(303) |
|||
_G.QuestLogDetailScrollFrame:Width(303) |
|||
_G.QuestLogFrameAbandonButton:Width(129) |
|||
|
|||
_G.QuestLogHighlightFrame:Width(303) |
|||
_G.QuestLogHighlightFrame.SetWidth = E.noop |
|||
|
|||
_G.QuestLogSkillHighlight:SetTexture(E.Media.Textures.Highlight) |
|||
_G.QuestLogSkillHighlight:SetAlpha(0.35) |
|||
|
|||
S:HandleCloseButton(_G.QuestFrameCloseButton, _G.QuestFrame.backdrop) |
|||
S:HandleCloseButton(_G.QuestLogFrameCloseButton, _G.QuestLogFrame.backdrop) |
|||
|
|||
local questLogIndex = 1 |
|||
local questLogTitle = _G['QuestLogTitle'..questLogIndex] |
|||
while questLogTitle do |
|||
questLogTitle:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
questLogTitle.SetNormalTexture = E.noop |
|||
|
|||
questLogTitle:SetHighlightTexture(E.ClearTexture) |
|||
questLogTitle.SetHighlightTexture = E.noop |
|||
|
|||
local normalTex = questLogTitle:GetNormalTexture() |
|||
normalTex:Size(16) |
|||
normalTex:Point('LEFT', 5, 0) |
|||
|
|||
questLogTitle:Width(300) |
|||
|
|||
_G['QuestLogTitle'..questLogIndex..'Highlight']:SetAlpha(0) |
|||
|
|||
S:HandleCollapseTexture(questLogTitle) |
|||
|
|||
questLogIndex = questLogIndex + 1 |
|||
questLogTitle = _G['QuestLogTitle'..questLogIndex] |
|||
end |
|||
|
|||
local QuestLogCollapseAllButton = _G.QuestLogCollapseAllButton |
|||
QuestLogCollapseAllButton:StripTextures() |
|||
QuestLogCollapseAllButton:Point('TOPLEFT', -45, 7) |
|||
|
|||
QuestLogCollapseAllButton:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
QuestLogCollapseAllButton.SetNormalTexture = E.noop |
|||
QuestLogCollapseAllButton:GetNormalTexture():Size(16) |
|||
|
|||
QuestLogCollapseAllButton:SetHighlightTexture(E.ClearTexture) |
|||
QuestLogCollapseAllButton.SetHighlightTexture = E.noop |
|||
|
|||
QuestLogCollapseAllButton:SetDisabledTexture(E.Media.Textures.PlusButton) |
|||
QuestLogCollapseAllButton.SetDisabledTexture = E.noop |
|||
QuestLogCollapseAllButton:GetDisabledTexture():Size(16) |
|||
QuestLogCollapseAllButton:GetDisabledTexture():SetTexture(E.Media.Textures.PlusButton) |
|||
QuestLogCollapseAllButton:GetDisabledTexture():SetDesaturated(true) |
|||
|
|||
S:HandleCollapseTexture(_G.QuestLogCollapseAllButton) |
|||
end |
|||
|
|||
S:AddCallback('BlizzardQuestFrames') |
|||
@ -1,34 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
local CreateFrame = CreateFrame |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:SkinQuestTimers() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.questtimers) then return end |
|||
|
|||
local QuestTimerFrame = _G.QuestTimerFrame |
|||
S:HandleFrame(QuestTimerFrame, true) |
|||
|
|||
E:CreateMover(QuestTimerFrame, 'QuestTimerFrameMover', _G.QUEST_TIMERS) |
|||
|
|||
QuestTimerFrame:ClearAllPoints() |
|||
QuestTimerFrame:SetAllPoints(_G.QuestTimerFrameMover) |
|||
|
|||
_G.QuestTimerHeader:Point('TOP', 1, 8) |
|||
|
|||
local QuestTimerFrameHolder = CreateFrame('Frame', 'QuestTimerFrameHolder', E.UIParent) |
|||
QuestTimerFrameHolder:Size(150, 22) |
|||
QuestTimerFrameHolder:SetPoint('TOP', _G.QuestTimerFrameMover, 'TOP') |
|||
|
|||
hooksecurefunc(QuestTimerFrame, 'SetPoint', function(_, _, parent) |
|||
if parent ~= QuestTimerFrameHolder then |
|||
QuestTimerFrame:ClearAllPoints() |
|||
QuestTimerFrame:Point('TOP', QuestTimerFrameHolder, 'TOP') |
|||
end |
|||
end) |
|||
end |
|||
|
|||
S:AddCallback('SkinQuestTimers') |
|||
@ -1,135 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack = unpack |
|||
local pairs, ipairs = pairs, ipairs |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local StripAllTextures = { |
|||
'RaidGroup1', |
|||
'RaidGroup2', |
|||
'RaidGroup3', |
|||
'RaidGroup4', |
|||
'RaidGroup5', |
|||
'RaidGroup6', |
|||
'RaidGroup7', |
|||
'RaidGroup8', |
|||
} |
|||
|
|||
function S:Blizzard_RaidUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.raid) then return end |
|||
|
|||
for _, object in ipairs(StripAllTextures) do |
|||
local obj = _G[object] |
|||
if obj then |
|||
obj:StripTextures() |
|||
end |
|||
end |
|||
|
|||
S:HandleButton(_G.RaidFrameReadyCheckButton) |
|||
S:HandleButton(_G.RaidFrameRaidInfoButton) |
|||
|
|||
for i = 1, _G.MAX_RAID_GROUPS * 5 do |
|||
S:HandleButton(_G['RaidGroupButton'..i], true) |
|||
end |
|||
|
|||
for i = 1, 8 do |
|||
for j = 1, 5 do |
|||
local slot = _G['RaidGroup'..i..'Slot'..j] |
|||
slot:StripTextures() |
|||
slot:SetTemplate('Transparent') |
|||
end |
|||
end |
|||
|
|||
do |
|||
local prevButton |
|||
for key, data in pairs(_G.RAID_CLASS_BUTTONS) do |
|||
local index = data.button |
|||
if index then |
|||
local button = _G['RaidClassButton'..index] |
|||
local icon = _G['RaidClassButton'..index..'IconTexture'] |
|||
local count = _G['RaidClassButton'..index..'Count'] |
|||
button:StripTextures() |
|||
button:SetTemplate() |
|||
button:Size(22) |
|||
|
|||
button:ClearAllPoints() |
|||
if index == 1 then |
|||
button:Point('TOPLEFT', _G.RaidFrame, 'TOPRIGHT', -34, -37) |
|||
elseif index == 11 then |
|||
button:Point('TOP', prevButton, 'BOTTOM', 0, -20) |
|||
else |
|||
button:Point('TOP', prevButton, 'BOTTOM', 0, -6) |
|||
end |
|||
prevButton = button |
|||
|
|||
count:FontTemplate(nil, 12, 'OUTLINE') |
|||
|
|||
icon:SetInside() |
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
if key == 'PETS' then |
|||
icon:SetTexture([[Interface\RaidFrame\UI-RaidFrame-Pets]]) |
|||
elseif key == 'MAINTANK' then |
|||
icon:SetTexture([[Interface\RaidFrame\UI-RaidFrame-MainTank]]) |
|||
elseif key == 'MAINASSIST' then |
|||
icon:SetTexture([[Interface\RaidFrame\UI-RaidFrame-MainAssist]]) |
|||
else |
|||
local coords = _G.CLASS_ICON_TCOORDS[_G.CLASS_SORT_ORDER[index]] |
|||
if coords then |
|||
icon:SetTexture([[Interface\WorldStateFrame\Icons-Classes]]) |
|||
icon:SetTexCoord(coords[1] + 0.015, coords[2] - 0.02, coords[3] + 0.018, coords[4] - 0.02) |
|||
end |
|||
end |
|||
end |
|||
end |
|||
end |
|||
|
|||
hooksecurefunc('RaidPullout_GetFrame', function() |
|||
for i = 1, _G.NUM_RAID_PULLOUT_FRAMES do |
|||
local rp = _G['RaidPullout'..i] |
|||
if rp and not rp.backdrop then |
|||
S:HandleFrame(rp, true, nil, 9, -17, -7, 10) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
local bars = { 'HealthBar', 'ManaBar', 'Target', 'TargetTarget' } |
|||
hooksecurefunc('RaidPullout_Update', function(pullOutFrame) |
|||
local pfName = pullOutFrame:GetName() |
|||
local pfBName, pfBObj, pfTot |
|||
|
|||
for i = 1, pullOutFrame.numPulloutButtons do |
|||
pfBName = pfName..'Button'..i |
|||
pfBObj = _G[pfBName] |
|||
pfTot = _G[pfBName..'TargetTargetFrame'] |
|||
|
|||
if not pfBObj.backdrop then |
|||
local sBar |
|||
|
|||
for _, v in ipairs(bars) do |
|||
sBar = _G[pfBName..v] |
|||
sBar:StripTextures() |
|||
sBar:SetStatusBarTexture(E.media.normTex) |
|||
end |
|||
|
|||
_G[pfBName..'ManaBar']:Point('TOP', '$parentHealthBar', 'BOTTOM', 0, 0) |
|||
_G[pfBName..'Target']:Point('TOP', '$parentManaBar', 'BOTTOM', 0, -1) |
|||
|
|||
pfBObj:CreateBackdrop() |
|||
pfBObj.backdrop:Point('TOPLEFT', E.PixelMode and 0 or -1, -(E.PixelMode and 10 or 9)) |
|||
pfBObj.backdrop:Point('BOTTOMRIGHT', E.PixelMode and 0 or 1, E.PixelMode and 1 or 0) |
|||
end |
|||
|
|||
if not pfTot.backdrop then |
|||
pfTot:StripTextures() |
|||
pfTot:CreateBackdrop() |
|||
pfTot.backdrop:Point('TOPLEFT', E.PixelMode and 10 or 9, -(E.PixelMode and 15 or 14)) |
|||
pfTot.backdrop:Point('BOTTOMRIGHT', -(E.PixelMode and 10 or 9), E.PixelMode and 8 or 7) |
|||
end |
|||
end |
|||
end) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_RaidUI') |
|||
@ -1,54 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack = unpack |
|||
local GetNumSockets = GetNumSockets |
|||
local GetSocketTypes = GetSocketTypes |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:Blizzard_ItemSocketingUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.socket) then return end |
|||
|
|||
local ItemSocketingFrame = _G.ItemSocketingFrame |
|||
S:HandlePortraitFrame(ItemSocketingFrame) |
|||
|
|||
_G.ItemSocketingDescription:DisableDrawLayer('BORDER') |
|||
_G.ItemSocketingDescription:DisableDrawLayer('BACKGROUND') |
|||
_G.ItemSocketingScrollFrame:StripTextures() |
|||
_G.ItemSocketingScrollFrame:CreateBackdrop('Transparent') |
|||
S:HandleScrollBar(_G.ItemSocketingScrollFrameScrollBar, 2) |
|||
|
|||
for i = 1, _G.MAX_NUM_SOCKETS do |
|||
local button = _G[('ItemSocketingSocket%d'):format(i)] |
|||
local button_bracket = _G[('ItemSocketingSocket%dBracketFrame'):format(i)] |
|||
local button_bg = _G[('ItemSocketingSocket%dBackground'):format(i)] |
|||
local button_icon = _G[('ItemSocketingSocket%dIconTexture'):format(i)] |
|||
button:StripTextures() |
|||
button:StyleButton(false) |
|||
button:CreateBackdrop(nil, true) |
|||
button_bracket:Kill() |
|||
button_bg:Kill() |
|||
button_icon:SetTexCoord(unpack(E.TexCoords)) |
|||
button_icon:SetInside() |
|||
end |
|||
|
|||
hooksecurefunc('ItemSocketingFrame_Update', function() |
|||
local numSockets = GetNumSockets() |
|||
for i = 1, numSockets do |
|||
local socket = _G['ItemSocketingSocket'..i] |
|||
local gemColor = GetSocketTypes(i) |
|||
local color = E.GemTypeInfo[gemColor] |
|||
socket.backdrop:SetBackdropBorderColor(color.r, color.g, color.b) |
|||
end |
|||
end) |
|||
|
|||
S:HandleCloseButton(_G.ItemSocketingCloseButton) |
|||
|
|||
_G.ItemSocketingFramePortrait:Kill() |
|||
_G.ItemSocketingSocketButton:ClearAllPoints() |
|||
_G.ItemSocketingSocketButton:Point('BOTTOMRIGHT', ItemSocketingFrame, 'BOTTOMRIGHT', -5, 5) |
|||
S:HandleButton(_G.ItemSocketingSocketButton) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_ItemSocketingUI') |
|||
@ -1,139 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local next = next |
|||
local unpack = unpack |
|||
|
|||
local CreateFrame = CreateFrame |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:SpellBookFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.spellbook) then return end |
|||
|
|||
S:HandleFrame(_G.SpellBookFrame, true, nil, 11, -12, -32, 76) |
|||
|
|||
_G.SpellBookTitleText:Point('TOP', -10, -17) |
|||
_G.SpellBookTitleText:SetTextColor(1, 1, 1) |
|||
|
|||
_G.SpellBookSpellIconsFrame:StripTextures(true) |
|||
_G.SpellBookSideTabsFrame:StripTextures(true) |
|||
_G.SpellBookPageNavigationFrame:StripTextures(true) |
|||
|
|||
_G.SpellBookPageText:SetTextColor(1, 1, 1) |
|||
_G.SpellBookPageText:Point('BOTTOM', -10, 87) |
|||
|
|||
S:HandleNextPrevButton(_G.SpellBookPrevPageButton) |
|||
_G.SpellBookPrevPageButton:Point('BOTTOMRIGHT', _G.SpellBookFrame, 'BOTTOMRIGHT', -73, 87) |
|||
_G.SpellBookPrevPageButton:Size(24) |
|||
|
|||
S:HandleNextPrevButton(_G.SpellBookNextPageButton) |
|||
_G.SpellBookNextPageButton:Point('TOPLEFT', _G.SpellBookPrevPageButton, 'TOPLEFT', 30, 0) |
|||
_G.SpellBookNextPageButton:Size(24) |
|||
|
|||
S:HandleCloseButton(_G.SpellBookCloseButton, _G.SpellBookFrame.backdrop) |
|||
|
|||
for i = 1, 3 do |
|||
local tab = _G['SpellBookFrameTabButton'..i] |
|||
|
|||
tab:GetNormalTexture():SetTexture(nil) |
|||
tab:GetDisabledTexture():SetTexture(nil) |
|||
|
|||
S:HandleTab(tab) |
|||
|
|||
tab.backdrop:Point('TOPLEFT', 14, E.PixelMode and -16 or -19) |
|||
tab.backdrop:Point('BOTTOMRIGHT', -14, 19) |
|||
end |
|||
|
|||
-- Spell Buttons |
|||
for i = 1, _G.SPELLS_PER_PAGE do |
|||
local button = _G['SpellButton'..i] |
|||
local icon = _G['SpellButton'..i..'IconTexture'] |
|||
local cooldown = _G['SpellButton'..i..'Cooldown'] |
|||
local highlight = _G['SpellButton'..i..'Highlight'] |
|||
|
|||
for _, region in next, { button:GetRegions() } do |
|||
if region:GetObjectType() == 'Texture' and region:GetTexture() ~= [[Interface\Buttons\ActionBarFlyoutButton]] then |
|||
region:SetTexture(nil) |
|||
end |
|||
end |
|||
|
|||
button:CreateBackdrop(nil, true) |
|||
button.backdrop:SetFrameLevel(button.backdrop:GetFrameLevel() - 1) |
|||
|
|||
button.SpellSubName:SetTextColor(0.6, 0.6, 0.6) |
|||
|
|||
button.bg = CreateFrame('Frame', nil, button) |
|||
button.bg:CreateBackdrop('Transparent', true) |
|||
button.bg:Point('TOPLEFT', -6, 6) |
|||
button.bg:Point('BOTTOMRIGHT', 112, -6) |
|||
button.bg:Height(46) |
|||
button.bg:SetFrameLevel(button.bg:GetFrameLevel() - 2) |
|||
|
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
highlight:SetAllPoints() |
|||
hooksecurefunc(highlight, 'SetTexture', function(texture, tex) |
|||
if tex == [[Interface\Buttons\ButtonHilight-Square]] or tex == [[Interface\Buttons\UI-PassiveHighlight]] then |
|||
texture:SetColorTexture(1, 1, 1, 0.3) |
|||
end |
|||
end) |
|||
|
|||
E:RegisterCooldown(cooldown) |
|||
end |
|||
|
|||
S:HandlePointXY(_G.SpellButton1, 28, -55) |
|||
|
|||
-- evens |
|||
for i = 2, _G.SPELLS_PER_PAGE, 2 do |
|||
S:HandlePointXY(_G['SpellButton'..i], 163, 0) |
|||
end |
|||
-- odds |
|||
for i = 3, _G.SPELLS_PER_PAGE, 2 do |
|||
S:HandlePointXY(_G['SpellButton'..i], 0, -20) |
|||
end |
|||
|
|||
hooksecurefunc('SpellButton_UpdateButton', function(button) |
|||
local spellName = _G[button:GetName()..'SpellName'] |
|||
local r = spellName:GetTextColor() |
|||
|
|||
if r < 0.8 then |
|||
spellName:SetTextColor(0.6, 0.6, 0.6) |
|||
end |
|||
end) |
|||
|
|||
for i = 1, _G.MAX_SKILLLINE_TABS do |
|||
local tab = _G['SpellBookSkillLineTab'..i] |
|||
local flash = _G['SpellBookSkillLineTab'..i..'Flash'] |
|||
|
|||
tab:StripTextures() |
|||
tab:SetTemplate() |
|||
tab:StyleButton(nil, true) |
|||
tab:SetTemplate(nil, true) |
|||
tab.pushed = true |
|||
|
|||
tab:GetNormalTexture():SetInside() |
|||
tab:GetNormalTexture():SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
if i == 1 then |
|||
tab:Point('TOPLEFT', _G.SpellBookSideTabsFrame, 'TOPRIGHT', -32, -70) |
|||
end |
|||
|
|||
hooksecurefunc(tab:GetHighlightTexture(), 'SetTexture', function(texture, tex) |
|||
if tex ~= nil then |
|||
texture:SetPushedTexture(E.ClearTexture) |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc(tab:GetCheckedTexture(), 'SetTexture', function(texture, tex) |
|||
if tex ~= nil then |
|||
texture:SetHighlightTexture(E.ClearTexture) |
|||
end |
|||
end) |
|||
|
|||
flash:Kill() |
|||
end |
|||
end |
|||
|
|||
S:AddCallback('SpellBookFrame') |
|||
|
|||
@ -1,52 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local HasPetUI = HasPetUI |
|||
local UnitExists = UnitExists |
|||
local GetPetHappiness = GetPetHappiness |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:PetStableFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.stable) then return end |
|||
|
|||
local PetStableFrame = _G.PetStableFrame |
|||
S:HandleFrame(PetStableFrame, true, nil, 10, -11, -32, 71) |
|||
|
|||
S:HandleButton(_G.PetStablePurchaseButton) |
|||
S:HandleCloseButton(_G.PetStableFrameCloseButton) |
|||
S:HandleRotateButton(_G.PetStableModelRotateRightButton) |
|||
S:HandleRotateButton(_G.PetStableModelRotateLeftButton) |
|||
|
|||
S:HandleItemButton(_G.PetStableCurrentPet, true) |
|||
_G.PetStableCurrentPetIconTexture:SetDrawLayer('ARTWORK') |
|||
|
|||
for i = 1, _G.NUM_PET_STABLE_SLOTS do |
|||
S:HandleItemButton(_G['PetStableStabledPet'..i], true) |
|||
_G['PetStableStabledPet'..i..'IconTexture']:SetDrawLayer('ARTWORK') |
|||
end |
|||
|
|||
local PetStablePetInfo = _G.PetStablePetInfo |
|||
PetStablePetInfo:GetRegions():SetTexCoord(0.04, 0.15, 0.06, 0.30) |
|||
PetStablePetInfo:SetFrameLevel(_G.PetModelFrame:GetFrameLevel() + 2) |
|||
PetStablePetInfo:CreateBackdrop() |
|||
PetStablePetInfo:Size(22) |
|||
|
|||
hooksecurefunc('PetStable_Update', function() |
|||
local hasPetUI, isHunterPet = HasPetUI() |
|||
if hasPetUI and not isHunterPet and UnitExists('pet') then return end |
|||
|
|||
local happiness = GetPetHappiness() |
|||
local texture = PetStablePetInfo:GetRegions() |
|||
|
|||
if happiness == 1 then |
|||
texture:SetTexCoord(0.41, 0.53, 0.06, 0.30) |
|||
elseif happiness == 2 then |
|||
texture:SetTexCoord(0.22, 0.345, 0.06, 0.30) |
|||
elseif happiness == 3 then |
|||
texture:SetTexCoord(0.04, 0.15, 0.06, 0.30) |
|||
end |
|||
end) |
|||
end |
|||
|
|||
S:AddCallback('PetStableFrame') |
|||
@ -1,73 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local pairs = pairs |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:TabardFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.tabard) then return end |
|||
|
|||
local TabardFrame = _G.TabardFrame |
|||
S:HandleFrame(TabardFrame, true, nil, 10, -12, -32, 74) |
|||
|
|||
S:HandleCloseButton(_G.TabardFrameCloseButton) |
|||
|
|||
S:HandleButton(_G.TabardFrameCancelButton) |
|||
S:HandleButton(_G.TabardFrameAcceptButton) |
|||
S:HandleRotateButton(_G.TabardCharacterModelRotateLeftButton) |
|||
S:HandleRotateButton(_G.TabardCharacterModelRotateRightButton) |
|||
|
|||
_G.TabardModel:CreateBackdrop() |
|||
_G.TabardFrameCostFrame:StripTextures() |
|||
_G.TabardFrameCustomizationFrame:StripTextures() |
|||
|
|||
--Add Tabard Emblem back |
|||
local emblemFrames = { |
|||
_G.TabardFrameEmblemTopRight, |
|||
_G.TabardFrameEmblemBottomRight, |
|||
_G.TabardFrameEmblemTopLeft, |
|||
_G.TabardFrameEmblemBottomLeft, |
|||
} |
|||
for _, frame in pairs(emblemFrames) do |
|||
frame:SetParent(TabardFrame) |
|||
frame.Show = nil |
|||
frame:Show() |
|||
end |
|||
|
|||
for i = 1, 5 do |
|||
local custom = 'TabardFrameCustomization'..i |
|||
local button = _G[custom] |
|||
|
|||
button:StripTextures() |
|||
S:HandleNextPrevButton(_G[custom..'LeftButton']) |
|||
S:HandleNextPrevButton(_G[custom..'RightButton']) |
|||
|
|||
if i > 1 then |
|||
button:ClearAllPoints() |
|||
button:Point('TOP', _G['TabardFrameCustomization'..i - 1], 'BOTTOM', 0, -6) |
|||
else |
|||
local point, anchor, point2, x, y = button:GetPoint() |
|||
button:Point(point, anchor, point2, x, y+4) |
|||
end |
|||
end |
|||
|
|||
_G.TabardCharacterModelRotateLeftButton:Point('BOTTOMLEFT', 4, 4) |
|||
_G.TabardCharacterModelRotateRightButton:Point('TOPLEFT', _G.TabardCharacterModelRotateLeftButton, 'TOPRIGHT', 4, 0) |
|||
|
|||
hooksecurefunc(_G.TabardCharacterModelRotateLeftButton, 'SetPoint', function(button) |
|||
if button._blocked then return end |
|||
button._blocked = true |
|||
button:Point('BOTTOMLEFT', 4, 4) |
|||
button._blocked = nil |
|||
end) |
|||
|
|||
hooksecurefunc(_G.TabardCharacterModelRotateRightButton, 'SetPoint', function(button) |
|||
if button._blocked then return end |
|||
button._blocked = true |
|||
button:Point('TOPLEFT', _G.TabardCharacterModelRotateLeftButton, 'TOPRIGHT', 4, 0) |
|||
button._blocked = nil |
|||
end) |
|||
end |
|||
|
|||
S:AddCallback('TabardFrame') |
|||
@ -1,47 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack = unpack |
|||
|
|||
function S:Blizzard_TalentUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.talent) then return end |
|||
|
|||
S:HandleFrame(_G.PlayerTalentFrame, true, nil, 11, -12, -32, 76) |
|||
S:HandleCloseButton(_G.PlayerTalentFrameCloseButton, _G.PlayerTalentFrame.backdrop) |
|||
|
|||
_G.PlayerTalentFrameCancelButton:Kill() |
|||
|
|||
for i = 1, 3 do |
|||
S:HandleTab(_G['PlayerTalentFrameTab'..i]) |
|||
end |
|||
|
|||
_G.PlayerTalentFrameScrollFrame:StripTextures() |
|||
_G.PlayerTalentFrameScrollFrame:CreateBackdrop() |
|||
|
|||
S:HandleScrollBar(_G.PlayerTalentFrameScrollFrameScrollBar) |
|||
_G.PlayerTalentFrameScrollFrameScrollBar:Point('TOPLEFT', _G.PlayerTalentFrameScrollFrame, 'TOPRIGHT', 10, -16) |
|||
|
|||
_G.PlayerTalentFrameSpentPoints:Point('TOP', 0, -42) |
|||
_G.PlayerTalentFrameTalentPointsText:Point('BOTTOMRIGHT', _G.PlayerTalentFrame, 'BOTTOMLEFT', 220, 84) |
|||
|
|||
for i = 1, _G.MAX_NUM_TALENTS do |
|||
local talent = _G['PlayerTalentFrameTalent'..i] |
|||
local icon = _G['PlayerTalentFrameTalent'..i..'IconTexture'] |
|||
local rank = _G['PlayerTalentFrameTalent'..i..'Rank'] |
|||
|
|||
if talent then |
|||
talent:StripTextures() |
|||
talent:SetTemplate() |
|||
talent:StyleButton() |
|||
|
|||
icon:SetInside() |
|||
icon:SetTexCoord(unpack(E.TexCoords)) |
|||
icon:SetDrawLayer('ARTWORK') |
|||
|
|||
rank:SetFont(E.LSM:Fetch('font', E.db['general'].font), 12, 'OUTLINE') |
|||
end |
|||
end |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_TalentUI') |
|||
@ -1,21 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
function S:TaxiFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.taxi) then return end |
|||
|
|||
local TaxiFrame = _G.TaxiFrame |
|||
S:HandleFrame(TaxiFrame, true, nil, 11, -12, -32, 76) |
|||
_G.TaxiPortrait:Kill() -- Blizz didnt name this TaxiFramePortrait |
|||
|
|||
S:HandlePointXY(_G.TaxiMap, -11, -71) |
|||
S:HandlePointXY(_G.TaxiRouteMap, -11, -71) |
|||
|
|||
_G.TaxiMerchant:SetTextColor(1, 1, 1) |
|||
|
|||
S:HandleCloseButton(_G.TaxiCloseButton, TaxiFrame.backdrop) |
|||
end |
|||
|
|||
S:AddCallback('TaxiFrame') |
|||
@ -1,83 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack, select = unpack, select |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local function SetPlayTexture() |
|||
_G.StopwatchPlayPauseButton:SetNormalTexture(E.Media.Textures.Play) |
|||
end |
|||
|
|||
local function SetPauseTexture() |
|||
_G.StopwatchPlayPauseButton:SetNormalTexture(E.Media.Textures.Pause) |
|||
end |
|||
|
|||
function S:Blizzard_TimeManager() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.timemanager) then return end |
|||
|
|||
local TimeManagerFrame = _G.TimeManagerFrame |
|||
S:HandleFrame(TimeManagerFrame, true) |
|||
TimeManagerFrame:Size(185, 240) |
|||
TimeManagerFrame:Point('TOPRIGHT', -1, -186) |
|||
|
|||
select(7, TimeManagerFrame:GetRegions()):Point('TOP', 0, -5) |
|||
|
|||
_G.TimeManagerFrameCloseButton:Point('TOPRIGHT', 4, 5) |
|||
|
|||
_G.TimeManagerStopwatchFrame:Point('TOPRIGHT', 10, -12) |
|||
|
|||
_G.TimeManagerStopwatchCheck:SetTemplate() |
|||
_G.TimeManagerStopwatchCheck:StyleButton(nil, true) |
|||
|
|||
_G.TimeManagerStopwatchCheck:GetNormalTexture():SetInside() |
|||
_G.TimeManagerStopwatchCheck:GetNormalTexture():SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
_G.TimeManagerAlarmTimeFrame:Point('TOPLEFT', 12, -65) |
|||
|
|||
S:HandleDropDownBox(_G.TimeManagerAlarmHourDropDown, 80) |
|||
S:HandleDropDownBox(_G.TimeManagerAlarmMinuteDropDown, 80) |
|||
S:HandleDropDownBox(_G.TimeManagerAlarmAMPMDropDown, 80) |
|||
|
|||
S:HandleEditBox(_G.TimeManagerAlarmMessageEditBox) |
|||
|
|||
_G.TimeManagerAlarmEnabledButton:Point('LEFT', 16, -45) |
|||
_G.TimeManagerAlarmEnabledButton:SetNormalTexture(E.ClearTexture) |
|||
_G.TimeManagerAlarmEnabledButton.SetNormalTexture = E.noop |
|||
_G.TimeManagerAlarmEnabledButton:SetPushedTexture(E.ClearTexture) |
|||
_G.TimeManagerAlarmEnabledButton.SetPushedTexture = E.noop |
|||
S:HandleButton(_G.TimeManagerAlarmEnabledButton) |
|||
|
|||
_G.TimeManagerMilitaryTimeCheck:Point('TOPLEFT', 155, -190) |
|||
S:HandleCheckBox(_G.TimeManagerMilitaryTimeCheck) |
|||
S:HandleCheckBox(_G.TimeManagerLocalTimeCheck) |
|||
|
|||
_G.StopwatchFrame:CreateBackdrop('Transparent') |
|||
_G.StopwatchFrame.backdrop:Point('TOPLEFT', 0, -16) |
|||
_G.StopwatchFrame.backdrop:Point('BOTTOMRIGHT', 0, 2) |
|||
|
|||
_G.StopwatchFrame:StripTextures() |
|||
|
|||
_G.StopwatchTabFrame:StripTextures() |
|||
|
|||
S:HandleCloseButton(_G.StopwatchCloseButton) |
|||
|
|||
_G.StopwatchPlayPauseButton:CreateBackdrop(nil, true) |
|||
_G.StopwatchPlayPauseButton:SetSize(12, 12) |
|||
_G.StopwatchPlayPauseButton:SetNormalTexture(E.Media.Textures.Play) |
|||
_G.StopwatchPlayPauseButton:SetHighlightTexture(E.ClearTexture) |
|||
_G.StopwatchPlayPauseButton.backdrop:SetOutside(_G.StopwatchPlayPauseButton, 2, 2) |
|||
_G.StopwatchPlayPauseButton:HookScript('OnEnter', S.SetModifiedBackdrop) |
|||
_G.StopwatchPlayPauseButton:HookScript('OnLeave', S.SetOriginalBackdrop) |
|||
_G.StopwatchPlayPauseButton:Point('RIGHT', _G.StopwatchResetButton, 'LEFT', -4, 0) |
|||
S:HandleButton(_G.StopwatchResetButton) |
|||
_G.StopwatchResetButton:SetSize(16,16) |
|||
_G.StopwatchResetButton:SetNormalTexture(E.Media.Textures.Reset) |
|||
_G.StopwatchResetButton:Point('BOTTOMRIGHT', _G.StopwatchFrame, 'BOTTOMRIGHT', -4, 6) |
|||
|
|||
hooksecurefunc('Stopwatch_Play', SetPauseTexture) |
|||
hooksecurefunc('Stopwatch_Pause', SetPlayTexture) |
|||
hooksecurefunc('Stopwatch_Clear', SetPlayTexture) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_TimeManager') |
|||
@ -1,59 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
local TT = E:GetModule('Tooltip') |
|||
|
|||
local _G = _G |
|||
local pairs = pairs |
|||
|
|||
function S:StyleTooltips() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.tooltip) then return end |
|||
|
|||
for _, tt in pairs({ |
|||
_G.ItemRefTooltip, |
|||
_G.ItemRefShoppingTooltip1, |
|||
_G.ItemRefShoppingTooltip2, |
|||
_G.AutoCompleteBox, |
|||
_G.FriendsTooltip, |
|||
_G.EmbeddedItemTooltip, |
|||
_G.ReputationParagonTooltip, |
|||
_G.GameTooltip, |
|||
_G.WorldMapTooltip, |
|||
_G.ShoppingTooltip1, |
|||
_G.ShoppingTooltip2, |
|||
_G.QuickKeybindTooltip, |
|||
-- ours |
|||
_G.ElvUIConfigTooltip, |
|||
_G.ElvUISpellBookTooltip |
|||
}) do |
|||
TT:SetStyle(tt) |
|||
end |
|||
end |
|||
|
|||
function S:TooltipFrames() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.tooltip) then return end |
|||
|
|||
S:StyleTooltips() |
|||
S:HandleCloseButton(_G.ItemRefCloseButton) |
|||
|
|||
-- EmbeddedItemTooltip (also Paragon Reputation) |
|||
local EmbeddedTT = _G.EmbeddedItemTooltip.ItemTooltip |
|||
S:HandleIcon(EmbeddedTT.Icon, true) |
|||
S:HandleIconBorder(EmbeddedTT.IconBorder, EmbeddedTT.Icon.backdrop) |
|||
|
|||
-- Skin GameTooltip Status Bar |
|||
_G.GameTooltipStatusBar:SetStatusBarTexture(E.media.normTex) |
|||
_G.GameTooltipStatusBar:CreateBackdrop('Transparent') |
|||
_G.GameTooltipStatusBar:ClearAllPoints() |
|||
_G.GameTooltipStatusBar:Point('TOPLEFT', _G.GameTooltip, 'BOTTOMLEFT', E.Border, -(E.Spacing * 3)) |
|||
_G.GameTooltipStatusBar:Point('TOPRIGHT', _G.GameTooltip, 'BOTTOMRIGHT', -E.Border, -(E.Spacing * 3)) |
|||
E:RegisterStatusBar(_G.GameTooltipStatusBar) |
|||
|
|||
-- Tooltip Styling |
|||
TT:SecureHook('GameTooltip_ShowStatusBar') -- Skin Status Bars |
|||
TT:SecureHook('GameTooltip_ShowProgressBar') -- Skin Progress Bars |
|||
TT:SecureHook('GameTooltip_ClearProgressBars') |
|||
TT:SecureHook('GameTooltip_AddQuestRewardsToTooltip') -- Color Progress Bars |
|||
TT:SecureHook('SharedTooltip_SetBackdropStyle', 'SetStyle') -- This also deals with other tooltip borders like AzeriteEssence Tooltip |
|||
end |
|||
|
|||
S:AddCallback('TooltipFrames') |
|||
@ -1,136 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local pairs, ipairs = pairs, ipairs |
|||
local unpack, select = unpack, select |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local GetItemInfo = GetItemInfo |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local GetTradePlayerItemLink = GetTradePlayerItemLink |
|||
local GetTradeTargetItemLink = GetTradeTargetItemLink |
|||
|
|||
function S:TradeFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.trade) then return end |
|||
|
|||
local TradeFrame = _G.TradeFrame |
|||
S:HandleFrame(TradeFrame, true, nil, -5, 0, 0) |
|||
|
|||
S:HandleButton(_G.TradeFrameTradeButton, true) |
|||
S:HandleButton(_G.TradeFrameCancelButton, true) |
|||
|
|||
S:HandlePointXY(_G.TradeFrameCloseButton, -5) |
|||
S:HandlePointXY(_G.TradeFrameTradeButton, -85) |
|||
S:HandlePointXY(_G.TradeFrameTradeButton, -85, 2) |
|||
S:HandlePointXY(_G.TradeFrameCancelButton, 3) |
|||
S:HandlePointXY(_G.TradePlayerItem1, 8) |
|||
|
|||
S:HandleEditBox(_G.TradePlayerInputMoneyFrameGold) |
|||
S:HandleEditBox(_G.TradePlayerInputMoneyFrameSilver) |
|||
S:HandleEditBox(_G.TradePlayerInputMoneyFrameCopper) |
|||
|
|||
_G.TradePlayerInputMoneyInset:StripTextures() |
|||
|
|||
local tradeFrames = { |
|||
_G.TradeFramePlayerPortrait, |
|||
_G.TradeFrameRecipientPortrait, |
|||
_G.TradePlayerInputMoneyInset, |
|||
_G.TradeRecipientPortraitFrame, |
|||
_G.TradeRecipientMoneyBg |
|||
} |
|||
|
|||
for _, frame in ipairs(tradeFrames) do |
|||
frame:Kill() |
|||
end |
|||
|
|||
for _, Frame in pairs({'TradePlayerItem', 'TradeRecipientItem'}) do |
|||
for i = 1, 7 do |
|||
local ItemBackground = _G[Frame..i] |
|||
local ItemButton = _G[Frame..i..'ItemButton'] |
|||
|
|||
ItemBackground:StripTextures() |
|||
ItemBackground:SetTemplate() |
|||
S:HandleItemButton(ItemButton) |
|||
ItemButton:StyleButton() |
|||
|
|||
S:HandleIcon(ItemButton.icon, true) |
|||
end |
|||
end |
|||
|
|||
for _, Inset in pairs({ _G.TradePlayerItemsInset, _G.TradeRecipientItemsInset, _G.TradePlayerEnchantInset, _G.TradeRecipientEnchantInset, _G.TradeRecipientMoneyInset }) do |
|||
Inset:StripTextures() |
|||
Inset:SetTemplate('Transparent') |
|||
end |
|||
|
|||
for _, Highlight in pairs({ _G.TradeHighlightPlayer, _G.TradeHighlightRecipient, _G.TradeHighlightPlayerEnchant, _G.TradeHighlightRecipientEnchant }) do |
|||
Highlight:StripTextures() |
|||
end |
|||
|
|||
_G.TradeFrame:HookScript('OnShow', function() |
|||
_G.TradePlayerItemsInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.TradePlayerEnchantInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.TradeRecipientItemsInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.TradeRecipientEnchantInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.TradeRecipientMoneyInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end) |
|||
|
|||
hooksecurefunc('TradeFrame_SetAcceptState', function(playerState, targetState) |
|||
if playerState == 1 then |
|||
_G.TradePlayerItemsInset:SetBackdropBorderColor(0, 1, 0) |
|||
_G.TradePlayerEnchantInset:SetBackdropBorderColor(0, 1, 0) |
|||
else |
|||
_G.TradePlayerItemsInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.TradePlayerEnchantInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
if targetState == 1 then |
|||
_G.TradeRecipientItemsInset:SetBackdropBorderColor(0, 1, 0) |
|||
_G.TradeRecipientEnchantInset:SetBackdropBorderColor(0, 1, 0) |
|||
_G.TradeRecipientMoneyInset:SetBackdropBorderColor(0, 1, 0) |
|||
else |
|||
_G.TradeRecipientItemsInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.TradeRecipientEnchantInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.TradeRecipientMoneyInset:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('TradeFrame_UpdatePlayerItem', function(id) |
|||
local tradeItemButton = _G['TradePlayerItem'..id..'ItemButton'] |
|||
local link = GetTradePlayerItemLink(id) |
|||
|
|||
tradeItemButton:SetTemplate('NoBackdrop') |
|||
tradeItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
|
|||
if link then |
|||
local tradeItemName = _G['TradePlayerItem'..id..'Name'] |
|||
local quality = select(3, GetItemInfo(link)) |
|||
|
|||
tradeItemName:SetTextColor(GetItemQualityColor(quality)) |
|||
|
|||
if quality and quality > 1 then |
|||
tradeItemButton:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
end |
|||
end |
|||
end) |
|||
|
|||
hooksecurefunc('TradeFrame_UpdateTargetItem', function(id) |
|||
local tradeItemButton = _G['TradeRecipientItem'..id..'ItemButton'] |
|||
local link = GetTradeTargetItemLink(id) |
|||
|
|||
tradeItemButton:SetTemplate('NoBackdrop') |
|||
tradeItemButton:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
|
|||
if link then |
|||
local tradeItemName = _G['TradeRecipientItem'..id..'Name'] |
|||
local quality = select(3, GetItemInfo(link)) |
|||
|
|||
tradeItemName:SetTextColor(GetItemQualityColor(quality)) |
|||
|
|||
if quality and quality > 1 then |
|||
tradeItemButton:SetBackdropBorderColor(GetItemQualityColor(quality)) |
|||
end |
|||
end |
|||
end) |
|||
end |
|||
|
|||
S:AddCallback('TradeFrame') |
|||
@ -1,189 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local strfind, unpack, select = strfind, unpack, select |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
local GetItemInfo = GetItemInfo |
|||
local GetTradeSkillNumReagents = GetTradeSkillNumReagents |
|||
local GetTradeSkillInfo = GetTradeSkillInfo |
|||
local GetItemQualityColor = GetItemQualityColor |
|||
local GetTradeSkillItemLink = GetTradeSkillItemLink |
|||
local GetTradeSkillReagentInfo = GetTradeSkillReagentInfo |
|||
local GetTradeSkillReagentItemLink = GetTradeSkillReagentItemLink |
|||
|
|||
function S:Blizzard_TradeSkillUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.tradeskill) then return end |
|||
|
|||
local TradeSkillFrame = _G.TradeSkillFrame |
|||
S:HandleFrame(TradeSkillFrame, true, nil, 11, -12, -32, 76) |
|||
|
|||
_G.TradeSkillRankFrameBorder:StripTextures() |
|||
|
|||
local TradeSkillRankFrame = _G.TradeSkillRankFrame |
|||
TradeSkillRankFrame:Size(322, 14) |
|||
TradeSkillRankFrame:Point('TOPLEFT', 23, -37) |
|||
TradeSkillRankFrame:CreateBackdrop() |
|||
TradeSkillRankFrame:SetStatusBarTexture(E.media.normTex) |
|||
TradeSkillRankFrame:SetStatusBarColor(0.13, 0.35, 0.80) |
|||
E:RegisterStatusBar(TradeSkillRankFrame) |
|||
|
|||
local TradeSearchInputBox = _G.TradeSearchInputBox |
|||
S:HandleEditBox(TradeSearchInputBox) |
|||
TradeSearchInputBox:ClearAllPoints() |
|||
TradeSearchInputBox:Point('TOPRIGHT', -39, -54) |
|||
TradeSearchInputBox:Size(120, 14) |
|||
|
|||
_G.TradeSkillExpandButtonFrame:StripTextures() |
|||
|
|||
local TradeSkillCollapseAllButton = _G.TradeSkillCollapseAllButton |
|||
TradeSkillCollapseAllButton:GetNormalTexture():SetPoint('LEFT', 3, 2) |
|||
TradeSkillCollapseAllButton:GetNormalTexture():Size(15) |
|||
|
|||
TradeSkillCollapseAllButton:SetHighlightTexture(E.ClearTexture) |
|||
TradeSkillCollapseAllButton.SetHighlightTexture = E.noop |
|||
|
|||
TradeSkillCollapseAllButton:SetDisabledTexture(E.Media.Textures.MinusButton) |
|||
TradeSkillCollapseAllButton.SetDisabledTexture = E.noop |
|||
TradeSkillCollapseAllButton:GetDisabledTexture():SetPoint('LEFT', 3, 2) |
|||
TradeSkillCollapseAllButton:GetDisabledTexture():Size(15) |
|||
TradeSkillCollapseAllButton:GetDisabledTexture():SetDesaturated(true) |
|||
|
|||
S:HandleDropDownBox(_G.TradeSkillInvSlotDropDown, 140) |
|||
_G.TradeSkillInvSlotDropDown:ClearAllPoints() |
|||
_G.TradeSkillInvSlotDropDown:Point('TOPRIGHT', TradeSkillFrame, 'TOPRIGHT', -32, -68) |
|||
|
|||
S:HandleDropDownBox(_G.TradeSkillSubClassDropDown, 140) |
|||
_G.TradeSkillSubClassDropDown:ClearAllPoints() |
|||
_G.TradeSkillSubClassDropDown:Point('RIGHT', _G.TradeSkillInvSlotDropDown, 'RIGHT', -120, 0) |
|||
|
|||
_G.TradeSkillFrameTitleText:ClearAllPoints() |
|||
_G.TradeSkillFrameTitleText:Point('TOP', TradeSkillFrame, 'TOP', 0, -18) |
|||
|
|||
local TradeSkillFrameAvailableFilterCheckButton = _G.TradeSkillFrameAvailableFilterCheckButton |
|||
S:HandleCheckBox(TradeSkillFrameAvailableFilterCheckButton) |
|||
TradeSkillFrameAvailableFilterCheckButton:Point('TOPLEFT', 18, -50) |
|||
|
|||
for i = 1, _G.TRADE_SKILLS_DISPLAYED do |
|||
local button = _G['TradeSkillSkill'..i] |
|||
local highlight = _G['TradeSkillSkill'..i..'Highlight'] |
|||
|
|||
button:GetNormalTexture():Size(14) |
|||
button:GetNormalTexture():SetPoint('LEFT', 2, 1) |
|||
|
|||
highlight:SetTexture('') |
|||
highlight.SetTexture = E.noop |
|||
end |
|||
|
|||
hooksecurefunc('TradeSkillFrame_Update', function() |
|||
for i = 1, _G.TRADE_SKILLS_DISPLAYED do |
|||
local button = _G['TradeSkillSkill'..i] |
|||
local texture = button:GetNormalTexture():GetTexture() |
|||
if texture then |
|||
if strfind(texture, 'MinusButton') then |
|||
button:SetNormalTexture(E.Media.Textures.MinusButton) |
|||
elseif strfind(texture, 'PlusButton') then |
|||
button:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
end |
|||
end |
|||
end |
|||
|
|||
if TradeSkillCollapseAllButton.collapsed then |
|||
TradeSkillCollapseAllButton:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
else |
|||
TradeSkillCollapseAllButton:SetNormalTexture(E.Media.Textures.MinusButton) |
|||
end |
|||
end) |
|||
|
|||
_G.TradeSkillDetailScrollFrame:StripTextures() |
|||
_G.TradeSkillListScrollFrame:StripTextures() |
|||
_G.TradeSkillDetailScrollChildFrame:StripTextures() |
|||
|
|||
S:HandleScrollBar(_G.TradeSkillListScrollFrameScrollBar) |
|||
S:HandleScrollBar(_G.TradeSkillDetailScrollFrameScrollBar) |
|||
|
|||
_G.TradeSkillSkillIcon:Size(40) |
|||
_G.TradeSkillSkillIcon:Point('TOPLEFT', 2, -3) |
|||
|
|||
for i = 1, _G.MAX_TRADE_SKILL_REAGENTS do |
|||
local icon = _G['TradeSkillReagent'..i..'IconTexture'] |
|||
local count = _G['TradeSkillReagent'..i..'Count'] |
|||
local nameFrame = _G['TradeSkillReagent'..i..'NameFrame'] |
|||
|
|||
S:HandleIcon(icon, true) |
|||
icon:SetDrawLayer('OVERLAY') |
|||
count:SetDrawLayer('OVERLAY') |
|||
|
|||
nameFrame:SetAlpha(0) |
|||
end |
|||
|
|||
_G.TradeSkillHighlight:SetTexture(E.Media.Textures.Highlight) |
|||
_G.TradeSkillHighlight:SetAlpha(0.35) |
|||
|
|||
S:HandleButton(_G.TradeSkillCancelButton) |
|||
S:HandleButton(_G.TradeSkillCreateButton) |
|||
S:HandleButton(_G.TradeSkillCreateAllButton) |
|||
|
|||
S:HandleNextPrevButton(_G.TradeSkillDecrementButton) |
|||
_G.TradeSkillInputBox:Size(36, 16) |
|||
S:HandleEditBox(_G.TradeSkillInputBox) |
|||
S:HandleNextPrevButton(_G.TradeSkillIncrementButton) |
|||
|
|||
S:HandleCloseButton(_G.TradeSkillFrameCloseButton, TradeSkillFrame.backdrop) |
|||
|
|||
_G.TradeSkillSkillIcon:CreateBackdrop() |
|||
|
|||
hooksecurefunc('TradeSkillFrame_SetSelection', function(id) |
|||
local skillType = select(2, GetTradeSkillInfo(id)) |
|||
if skillType == 'header' then return end |
|||
|
|||
if _G.TradeSkillSkillIcon:GetNormalTexture() then |
|||
S:HandleIcon(_G.TradeSkillSkillIcon:GetNormalTexture()) |
|||
end |
|||
|
|||
local skillLink = GetTradeSkillItemLink(id) |
|||
local r, g, b |
|||
|
|||
if skillLink then |
|||
local quality = select(3, GetItemInfo(skillLink)) |
|||
|
|||
if quality and quality > 1 then |
|||
r, g, b = GetItemQualityColor(quality) |
|||
|
|||
_G.TradeSkillSkillIcon.backdrop:SetBackdropBorderColor(r, g, b) |
|||
_G.TradeSkillSkillName:SetTextColor(r, g, b) |
|||
else |
|||
_G.TradeSkillSkillIcon.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
_G.TradeSkillSkillName:SetTextColor(1, 1, 1) |
|||
end |
|||
end |
|||
|
|||
for i = 1, GetTradeSkillNumReagents(id) do |
|||
local _, _, reagentCount, playerReagentCount = GetTradeSkillReagentInfo(id, i) |
|||
local reagentLink = GetTradeSkillReagentItemLink(id, i) |
|||
|
|||
if reagentLink then |
|||
local icon = _G['TradeSkillReagent'..i..'IconTexture'] |
|||
local quality = select(3, GetItemInfo(reagentLink)) |
|||
|
|||
if quality and quality > 1 then |
|||
local name = _G['TradeSkillReagent'..i..'Name'] |
|||
r, g, b = GetItemQualityColor(quality) |
|||
|
|||
icon.backdrop:SetBackdropBorderColor(r, g, b) |
|||
|
|||
if playerReagentCount < reagentCount then |
|||
name:SetTextColor(0.5, 0.5, 0.5) |
|||
else |
|||
name:SetTextColor(r, g, b) |
|||
end |
|||
else |
|||
icon.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor)) |
|||
end |
|||
end |
|||
end |
|||
end) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_TradeSkillUI') |
|||
@ -1,80 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
local unpack = unpack |
|||
local hooksecurefunc = hooksecurefunc |
|||
|
|||
function S:Blizzard_TrainerUI() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.trainer) then return end |
|||
|
|||
local ClassTrainerFrame = _G.ClassTrainerFrame |
|||
S:HandleFrame(ClassTrainerFrame, true, nil, 11, -12, -32, 76) |
|||
|
|||
_G.ClassTrainerExpandButtonFrame:StripTextures() |
|||
|
|||
S:HandleDropDownBox(_G.ClassTrainerFrameFilterDropDown) |
|||
_G.ClassTrainerFrameFilterDropDown:Point('TOPRIGHT', -40, -64) |
|||
|
|||
_G.ClassTrainerListScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.ClassTrainerListScrollFrameScrollBar) |
|||
|
|||
_G.ClassTrainerDetailScrollFrame:StripTextures() |
|||
S:HandleScrollBar(_G.ClassTrainerDetailScrollFrameScrollBar) |
|||
|
|||
_G.ClassTrainerSkillIcon:StripTextures() |
|||
|
|||
_G.ClassTrainerCancelButton:Kill() |
|||
|
|||
_G.ClassTrainerMoneyFrame:ClearAllPoints() |
|||
_G.ClassTrainerMoneyFrame:Point('BOTTOMLEFT', _G.ClassTrainerFrame, 'BOTTOMLEFT', 18, 82) |
|||
|
|||
S:HandleButton(_G.ClassTrainerTrainButton) |
|||
_G.ClassTrainerTrainButton:Point('BOTTOMRIGHT', -36, 80) |
|||
|
|||
S:HandleCloseButton(_G.ClassTrainerFrameCloseButton, ClassTrainerFrame.backdrop) |
|||
|
|||
hooksecurefunc('ClassTrainer_SetSelection', function() |
|||
local skillIcon = _G.ClassTrainerSkillIcon:GetNormalTexture() |
|||
if skillIcon then |
|||
skillIcon:SetInside() |
|||
skillIcon:SetTexCoord(unpack(E.TexCoords)) |
|||
|
|||
_G.ClassTrainerSkillIcon:SetTemplate() |
|||
end |
|||
end) |
|||
|
|||
for i = 1, _G.CLASS_TRAINER_SKILLS_DISPLAYED do |
|||
local button = _G['ClassTrainerSkill'..i] |
|||
local highlight = _G['ClassTrainerSkill'..i..'Highlight'] |
|||
|
|||
button:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
button.SetNormalTexture = E.noop |
|||
|
|||
button:GetNormalTexture():Size(16) |
|||
button:GetNormalTexture():Point('LEFT', 5, 0) |
|||
|
|||
highlight:SetTexture('') |
|||
highlight.SetTexture = E.noop |
|||
|
|||
S:HandleCollapseTexture(button) |
|||
end |
|||
|
|||
_G.ClassTrainerCollapseAllButton:SetNormalTexture(E.Media.Textures.PlusButton) |
|||
_G.ClassTrainerCollapseAllButton.SetNormalTexture = E.noop |
|||
_G.ClassTrainerCollapseAllButton:GetNormalTexture():SetPoint('LEFT', 3, 2) |
|||
_G.ClassTrainerCollapseAllButton:GetNormalTexture():Size(15) |
|||
|
|||
_G.ClassTrainerCollapseAllButton:SetHighlightTexture(E.ClearTexture) |
|||
_G.ClassTrainerCollapseAllButton.SetHighlightTexture = E.noop |
|||
|
|||
_G.ClassTrainerCollapseAllButton:SetDisabledTexture(E.Media.Textures.PlusButton) |
|||
_G.ClassTrainerCollapseAllButton.SetDisabledTexture = E.noop |
|||
_G.ClassTrainerCollapseAllButton:GetDisabledTexture():SetPoint('LEFT', 3, 2) |
|||
_G.ClassTrainerCollapseAllButton:GetDisabledTexture():Size(15) |
|||
_G.ClassTrainerCollapseAllButton:GetDisabledTexture():SetDesaturated(true) |
|||
|
|||
S:HandleCollapseTexture(_G.ClassTrainerCollapseAllButton) |
|||
end |
|||
|
|||
S:AddCallbackForAddon('Blizzard_TrainerUI') |
|||
@ -1,28 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
function S:SkinTutorial() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.tutorial) then return end |
|||
|
|||
S:HandleFrame(_G.TutorialFrame, false) |
|||
|
|||
for i = 1, _G.MAX_TUTORIAL_ALERTS do |
|||
local button = _G['TutorialFrameAlertButton'..i] |
|||
local icon = button:GetNormalTexture() |
|||
|
|||
button:Size(35, 45) |
|||
button:SetTemplate(nil, true) |
|||
button:StyleButton(nil, true) |
|||
|
|||
icon:SetInside() |
|||
icon:SetTexCoord(0.09, 0.40, 0.11, 0.56) |
|||
end |
|||
|
|||
S:HandleCheckBox(_G.TutorialFrameCheckButton) |
|||
|
|||
S:HandleButton(_G.TutorialFrameOkayButton) |
|||
end |
|||
|
|||
S:AddCallback('SkinTutorial') |
|||
@ -1,39 +0,0 @@ |
|||
local E, L, V, P, G = unpack(ElvUI) |
|||
local S = E:GetModule('Skins') |
|||
|
|||
local _G = _G |
|||
|
|||
function S:WorldMapFrame() |
|||
if not (E.private.skins.blizzard.enable and E.private.skins.blizzard.worldmap) then return end |
|||
|
|||
local WorldMapFrame = _G.WorldMapFrame |
|||
WorldMapFrame:StripTextures() |
|||
WorldMapFrame.BorderFrame:CreateBackdrop('Transparent') |
|||
|
|||
S:HandleDropDownBox(_G.WorldMapZoneMinimapDropDown) |
|||
S:HandleDropDownBox(_G.WorldMapContinentDropDown) |
|||
S:HandleDropDownBox(_G.WorldMapZoneDropDown) |
|||
|
|||
_G.WorldMapContinentDropDown:Point('TOPLEFT', WorldMapFrame, 'TOPLEFT', 330, -35) |
|||
_G.WorldMapContinentDropDown:Width(205) |
|||
_G.WorldMapContinentDropDown:Height(33) |
|||
|
|||
_G.WorldMapZoneDropDown:Point('LEFT', _G.WorldMapContinentDropDown, 'RIGHT', -20, 0) |
|||
_G.WorldMapZoneDropDown:Width(205) |
|||
_G.WorldMapZoneDropDown:Height(33) |
|||
|
|||
_G.WorldMapZoneMinimapDropDown:Point('RIGHT', _G.WorldMapContinentDropDown, 'LEFT', 20, 0) |
|||
_G.WorldMapZoneMinimapDropDown:Width(205) |
|||
_G.WorldMapZoneMinimapDropDown:Height(33) |
|||
|
|||
_G.WorldMapZoomOutButton:Point('LEFT', _G.WorldMapZoneDropDown, 'RIGHT', 3, 3) |
|||
_G.WorldMapZoomOutButton:Height(23) |
|||
_G.WorldMapZoomOutButton:Width(100) |
|||
_G.WorldMapZoomOutButton:SetFrameLevel(_G.WorldMapFrame.BlackoutFrame:GetFrameLevel() + 2) |
|||
S:HandleButton(_G.WorldMapZoomOutButton) |
|||
|
|||
S:HandleCloseButton(_G.WorldMapFrameCloseButton, WorldMapFrame.backdrop) |
|||
_G.WorldMapFrameCloseButton:SetFrameLevel(_G.WorldMapFrameCloseButton:GetFrameLevel() + 2) |
|||
end |
|||
|
|||
S:AddCallback('WorldMapFrame') |
|||
@ -1,9 +0,0 @@ |
|||
## Title: |cff1784d1ElvUI|r |cfd9b9b9bOptionsUI|r |
|||
## Notes: Powers the configuration window.|n|cffff3333Does not store any profile data.|r |
|||
## Author: Elv, Simpy |
|||
## Version: 1.08 |
|||
## Interface: 20504 |
|||
## RequiredDeps: ElvUI |
|||
## LoadOnDemand: 1 |
|||
|
|||
Load.xml |
|||
@ -1,6 +1,6 @@ |
|||
# HandyNotes |
|||
|
|||
## [v1.6.9](https://github.com/Nevcairiel/HandyNotes/tree/v1.6.9) (2022-10-25) |
|||
[Full Changelog](https://github.com/Nevcairiel/HandyNotes/compare/v1.6.8...v1.6.9) [Previous Releases](https://github.com/Nevcairiel/HandyNotes/releases) |
|||
## [v1.6.10](https://github.com/Nevcairiel/HandyNotes/tree/v1.6.10) (2022-10-31) |
|||
[Full Changelog](https://github.com/Nevcairiel/HandyNotes/compare/v1.6.9...v1.6.10) [Previous Releases](https://github.com/Nevcairiel/HandyNotes/releases) |
|||
|
|||
- Update TOC for 10.0 |
|||
- Clamp alpha into the 0..1 range to avoid errors from misbehaving plugins |
|||
|
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue