Browse Source

Regular auto-commit at 19:08:39 on 31/10/2022

master
Quildra 3 years ago
parent
commit
f0c15d3ba3
  1. 2
      Interface/AddOns/BtWLoadouts/ActionBars.lua
  2. 2
      Interface/AddOns/BtWLoadouts/BtWLoadouts.toc
  3. 6
      Interface/AddOns/BtWLoadouts/CHANGELOG.md
  4. 5
      Interface/AddOns/BtWLoadouts/DFTalents.lua
  5. 9
      Interface/AddOns/BtWLoadouts/Events.lua
  6. 6
      Interface/AddOns/ElvUI/Classic/Libs.xml
  7. 2
      Interface/AddOns/ElvUI/Core/Defaults/Profile.lua
  8. 4
      Interface/AddOns/ElvUI/Core/General/API.lua
  9. 4
      Interface/AddOns/ElvUI/Core/General/Core.lua
  10. 30
      Interface/AddOns/ElvUI/Core/General/Tags.lua
  11. 2
      Interface/AddOns/ElvUI/Core/Modules/ActionBars/ActionBars.lua
  12. 4
      Interface/AddOns/ElvUI/Core/Modules/ActionBars/Bind.lua
  13. 100
      Interface/AddOns/ElvUI/Core/Modules/Bags/Bags.lua
  14. 2
      Interface/AddOns/ElvUI/Core/Modules/Blizzard/Blizzard.lua
  15. 11
      Interface/AddOns/ElvUI/Core/Modules/Maps/Minimap.lua
  16. 4
      Interface/AddOns/ElvUI/Core/Modules/Nameplates/Nameplates.lua
  17. 41
      Interface/AddOns/ElvUI/Core/Modules/Skins/Skins.lua
  18. 4
      Interface/AddOns/ElvUI/Core/init.lua
  19. 2
      Interface/AddOns/ElvUI/ElvUI_Classic.toc
  20. 2
      Interface/AddOns/ElvUI/ElvUI_Mainline.toc
  21. 16
      Interface/AddOns/ElvUI/ElvUI_TBC.toc
  22. 2
      Interface/AddOns/ElvUI/ElvUI_Wrath.toc
  23. 0
      Interface/AddOns/ElvUI/Libraries/Classic/LibClassicSpecs/LibClassicSpecs.lua
  24. 0
      Interface/AddOns/ElvUI/Libraries/Classic/LibHealComm-4.0/LibHealComm-4.0.lua
  25. 0
      Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/LibQuestXP.lua
  26. 0
      Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/LibQuestXP.toc
  27. 0
      Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/LibQuestXP.xml
  28. 0
      Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/LibQuestXPDB.lua
  29. 0
      Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/README.md
  30. 19
      Interface/AddOns/ElvUI/Libraries/Core/LibActionButton-1.0/LibActionButton-1.0.lua
  31. 19
      Interface/AddOns/ElvUI/Mainline/Modules/Skins/AuctionHouse.lua
  32. 2
      Interface/AddOns/ElvUI/Mainline/Modules/Skins/BGMap.lua
  33. 18
      Interface/AddOns/ElvUI/Mainline/Modules/Skins/Bags.lua
  34. 15
      Interface/AddOns/ElvUI/Mainline/Modules/Skins/Professions.lua
  35. 1126
      Interface/AddOns/ElvUI/TBC/Filters/Filters.lua
  36. 3
      Interface/AddOns/ElvUI/TBC/Filters/Load_Filters.xml
  37. 40
      Interface/AddOns/ElvUI/TBC/Libs.xml
  38. 4
      Interface/AddOns/ElvUI/TBC/Load.xml
  39. 3
      Interface/AddOns/ElvUI/TBC/Modules/Blizzard/Load_Blizzard.xml
  40. 3
      Interface/AddOns/ElvUI/TBC/Modules/DataBars/Load_DataBars.xml
  41. 11
      Interface/AddOns/ElvUI/TBC/Modules/DataTexts/Load_DataTexts.xml
  42. 7
      Interface/AddOns/ElvUI/TBC/Modules/Load_Modules.xml
  43. 3
      Interface/AddOns/ElvUI/TBC/Modules/Misc/Load_Misc.xml
  44. 102
      Interface/AddOns/ElvUI/TBC/Modules/Skins/AddonManager.lua
  45. 27
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Arena.lua
  46. 85
      Interface/AddOns/ElvUI/TBC/Modules/Skins/ArenaRegistrar.lua
  47. 292
      Interface/AddOns/ElvUI/TBC/Modules/Skins/AuctionHouse.lua
  48. 94
      Interface/AddOns/ElvUI/TBC/Modules/Skins/BGMap.lua
  49. 36
      Interface/AddOns/ElvUI/TBC/Modules/Skins/BGScore.lua
  50. 237
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Bags.lua
  51. 30
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Battlefield.lua
  52. 48
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Battlenet.lua
  53. 53
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Binding.lua
  54. 342
      Interface/AddOns/ElvUI/TBC/Modules/Skins/BlizzardOptions.lua
  55. 50
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Channels.lua
  56. 338
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Character.lua
  57. 48
      Interface/AddOns/ElvUI/TBC/Modules/Skins/CombatLog.lua
  58. 303
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Communities.lua
  59. 190
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Craft.lua
  60. 116
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Debug.lua
  61. 34
      Interface/AddOns/ElvUI/TBC/Modules/Skins/DressingRoom.lua
  62. 141
      Interface/AddOns/ElvUI/TBC/Modules/Skins/EventTrace.lua
  63. 534
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Friends.lua
  64. 119
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Gossip.lua
  65. 122
      Interface/AddOns/ElvUI/TBC/Modules/Skins/GuildBank.lua
  66. 38
      Interface/AddOns/ElvUI/TBC/Modules/Skins/GuildRegistrar.lua
  67. 34
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Help.lua
  68. 144
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Inspect.lua
  69. 100
      Interface/AddOns/ElvUI/TBC/Modules/Skins/LFG.lua
  70. 51
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Load_Skins.xml
  71. 203
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Loot.lua
  72. 106
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Macro.lua
  73. 256
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Mail.lua
  74. 205
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Merchant.lua
  75. 53
      Interface/AddOns/ElvUI/TBC/Modules/Skins/MirrorTimers.lua
  76. 329
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Misc.lua
  77. 41
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Petition.lua
  78. 467
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Quest.lua
  79. 34
      Interface/AddOns/ElvUI/TBC/Modules/Skins/QuestTimers.lua
  80. 135
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Raid.lua
  81. 54
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Socket.lua
  82. 139
      Interface/AddOns/ElvUI/TBC/Modules/Skins/SpellBook.lua
  83. 52
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Stable.lua
  84. 73
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Tabard.lua
  85. 47
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Talent.lua
  86. 21
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Taxi.lua
  87. 83
      Interface/AddOns/ElvUI/TBC/Modules/Skins/TimeManager.lua
  88. 59
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Tooltip.lua
  89. 136
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Trade.lua
  90. 189
      Interface/AddOns/ElvUI/TBC/Modules/Skins/TradeSkill.lua
  91. 80
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Trainer.lua
  92. 28
      Interface/AddOns/ElvUI/TBC/Modules/Skins/Tutorial.lua
  93. 39
      Interface/AddOns/ElvUI/TBC/Modules/Skins/WorldMap.lua
  94. 4
      Interface/AddOns/ElvUI/Wrath/Libs.xml
  95. 2
      Interface/AddOns/ElvUI_OptionsUI/Bags.lua
  96. 2
      Interface/AddOns/ElvUI_OptionsUI/DataTexts.lua
  97. 9
      Interface/AddOns/ElvUI_OptionsUI/ElvUI_OptionsUI_TBC.toc
  98. 2
      Interface/AddOns/ElvUI_OptionsUI/Maps.lua
  99. 2
      Interface/AddOns/ElvUI_OptionsUI/UnitFrames.lua
  100. 6
      Interface/AddOns/HandyNotes/CHANGELOG.md

2
Interface/AddOns/BtWLoadouts/ActionBars.lua

@ -532,7 +532,7 @@ local function PickupActionTable(tbl, test, settings, activating)
end
end
elseif tbl.subType == "spell" then
if IsSpellKnown(tbl.id, false) then
if IsSpellKnown(tbl.id, false) or IsPlayerSpell(tbl.id) then
success = true
if not test then
PickupSpell(tbl.id)

2
Interface/AddOns/BtWLoadouts/BtWLoadouts.toc

@ -1,6 +1,6 @@
## Interface: 100000
## Title: BtWLoadouts
## Version: v1.8.6
## Version: v1.8.7
## Notes: Change your characters spec, talents, equipment, essences, and action bars all at once
## Author: Breen
## SavedVariables: BtWLoadoutsSets, BtWLoadoutsSpecInfo, BtWLoadoutsRoleInfo, BtWLoadoutsEssenceInfo, BtWLoadoutsCharacterInfo, BtWLoadoutsHelpTipFlags, BtWLoadoutsSettings, BtWLoadoutsTraitsInfo

6
Interface/AddOns/BtWLoadouts/CHANGELOG.md

@ -1,3 +1,9 @@
# v1.8.7
- Fixed a bug where the Blizzard talent tree may not always update correctly after activating a talent set
- Fixed treating some spells as unknown even though they are available
- Fixed error updating equipement manager sets when an item link is unavailable
# v1.8.6
- Fixed some errors reading talent trees for some specs

5
Interface/AddOns/BtWLoadouts/DFTalents.lua

@ -341,9 +341,10 @@ local function ActivateSet(set, state)
end
if complete then
C_ClassTalents.UpdateLastSelectedSavedConfigID(260, nil) -- Set active loadout to "Default Loadout"
local specID = GetSpecializationInfo(GetSpecialization());
C_ClassTalents.UpdateLastSelectedSavedConfigID(specID, nil) -- Set active loadout to "Default Loadout"
if ClassTalentFrame then
ClassTalentFrame.TalentsTab.LoadoutDropDown:ClearSelection() -- Make the loadout dropdown show "Default Loadout" if its already loaded
ClassTalentFrame.TalentsTab:ClearLastSelectedConfigID();
ClassTalentFrame.TalentsTab:MarkTreeDirty();
end
end

9
Interface/AddOns/BtWLoadouts/Events.lua

@ -454,9 +454,12 @@ function frame:EQUIPMENT_SETS_CHANGED(...)
local previousLocation = set.locations[inventorySlotId]
set.locations[inventorySlotId] = locations[inventorySlotId] -- Only update if the item has a location
set.equipment[inventorySlotId] = Internal.GetItemLinkByLocation(location)
set.extras[inventorySlotId] = Internal.GetExtrasForLocation(location, set.extras[inventorySlotId] or {})
set.data[inventorySlotId] = Internal.EncodeItemData(set.equipment[inventorySlotId], set.extras[inventorySlotId] and set.extras[inventorySlotId].azerite)
local itemLink = Internal.GetItemLinkByLocation(location)
if itemLink then
set.equipment[inventorySlotId] = itemLink
set.extras[inventorySlotId] = Internal.GetExtrasForLocation(location, set.extras[inventorySlotId] or {})
set.data[inventorySlotId] = Internal.EncodeItemData(itemLink, set.extras[inventorySlotId] and set.extras[inventorySlotId].azerite)
end
if not isNewSet then
-- We force update because the blizzard manager should be correct

6
Interface/AddOns/ElvUI/Classic/Libs.xml

@ -18,9 +18,9 @@
<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\Classic\LibQuestXP\LibQuestXP.xml'/>
<Script file='..\Libraries\Classic\LibHealComm-4.0\LibHealComm-4.0.lua'/>
<Script file='..\Libraries\Classic\LibClassicSpecs\LibClassicSpecs.lua'/>
<Include file='..\Libraries\Classic\LibClassicDurations\LibClassicDurations.xml'/>
<Script file='..\Libraries\Classic\LibClassicCasterino-1.0\LibClassicCasterino.lua'/>

2
Interface/AddOns/ElvUI/Core/Defaults/Profile.lua

@ -2675,7 +2675,7 @@ P.actionbar.bar1.visibility = E.Retail and '[petbattle] hide; show' or 'show'
P.actionbar.bar1.paging.ROGUE = '[bonusbar:1] 7;'..(E.Wrath and ' [bonusbar:2] 8;' or '')
P.actionbar.bar1.paging.WARLOCK = E.Wrath and '[form:1] 7;' or nil
P.actionbar.bar1.paging.DRUID = format('[bonusbar:1,nostealth] 7; [bonusbar:1,stealth] 8; [bonusbar:2] %d; [bonusbar:3] 9; [bonusbar:4] 10;', E.Retail and 10 or 8) -- No idea why tho
P.actionbar.bar1.paging.DRUID = '[bonusbar:1,nostealth] 7; [bonusbar:1,stealth] 8; [bonusbar:2] 10; [bonusbar:3] 9; [bonusbar:4] 10;'
P.actionbar.bar1.paging.EVOKER = '[bonusbar:1] 7;'
P.actionbar.bar1.paging.PRIEST = '[bonusbar:1] 7;'
P.actionbar.bar1.paging.WARRIOR = '[bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;'

4
Interface/AddOns/ElvUI/Core/General/API.lua

@ -14,8 +14,8 @@ local GetAddOnEnableState = GetAddOnEnableState
local GetBattlefieldArenaFaction = GetBattlefieldArenaFaction
local GetInstanceInfo = GetInstanceInfo
local GetNumGroupMembers = GetNumGroupMembers
local GetSpecialization = (E.Classic or E.TBC or E.Wrath and LCS.GetSpecialization) or GetSpecialization
local GetSpecializationRole = (E.Classic or E.TBC or E.Wrath and LCS.GetSpecializationRole) or GetSpecializationRole
local GetSpecialization = (E.Classic or E.Wrath and LCS.GetSpecialization) or GetSpecialization
local GetSpecializationRole = (E.Classic or E.Wrath and LCS.GetSpecializationRole) or GetSpecializationRole
local hooksecurefunc = hooksecurefunc
local InCombatLockdown = InCombatLockdown
local IsAddOnLoaded = IsAddOnLoaded

4
Interface/AddOns/ElvUI/Core/General/Core.lua

@ -27,7 +27,7 @@ local GetBindingKey = GetBindingKey
local SetBinding = SetBinding
local SaveBindings = SaveBindings
local GetCurrentBindingSet = GetCurrentBindingSet
local GetSpecialization = (E.Classic or E.TBC or E.Wrath and LCS.GetSpecialization) or GetSpecialization
local GetSpecialization = (E.Classic or E.Wrath and LCS.GetSpecialization) or GetSpecialization
local ERR_NOT_IN_COMBAT = ERR_NOT_IN_COMBAT
local LE_PARTY_CATEGORY_HOME = LE_PARTY_CATEGORY_HOME
@ -1524,8 +1524,6 @@ function E:UpdateMisc(skipCallback)
TotemTracker:PositionAndSize()
elseif E.Wrath then
ActionBars:PositionAndSizeTotemBar()
elseif E.TBC then
TotemTracker:PositionAndSize()
end
if not skipCallback then

30
Interface/AddOns/ElvUI/Core/General/Tags.lua

@ -27,7 +27,7 @@ local GetQuestDifficultyColor = GetQuestDifficultyColor
local GetRaidRosterInfo = GetRaidRosterInfo
local GetRelativeDifficultyColor = GetRelativeDifficultyColor
local GetRuneCooldown = GetRuneCooldown
local GetSpecialization = (E.Classic or E.TBC or E.Wrath and LCS.GetSpecialization) or GetSpecialization
local GetSpecialization = (E.Classic or E.Wrath and LCS.GetSpecialization) or GetSpecialization
local GetSpecializationInfo = GetSpecializationInfo
local GetTime = GetTime
local GetTitleName = GetTitleName
@ -326,7 +326,7 @@ for textFormat in pairs(E.GetFormattedTextStyles) do
if min ~= 0 then
return E:GetFormattedText(textFormat, min, max)
end
end, E.Classic or E.TBC)
end, E.Classic)
E:AddTag(format('altpower:%s', tagFormat), 'UNIT_POWER_UPDATE UNIT_POWER_BAR_SHOW UNIT_POWER_BAR_HIDE', function(unit)
local cur = UnitPower(unit, POWERTYPE_ALTERNATE)
@ -379,7 +379,7 @@ for textFormat in pairs(E.GetFormattedTextStyles) do
if min ~= 0 then
return E:GetFormattedText(textFormat, min, max, nil, true)
end
end, E.Classic or E.TBC)
end, E.Classic)
end
end
@ -1374,19 +1374,19 @@ E.TagInfo = {
['cpoints'] = { category = 'Classpower', description = "Displays amount of combo points the player has (only for player, shows nothing on 0)" },
['arcanecharges'] = { hidden = not E.Retail, category = 'Classpower', description = "Displays the arcane charges (Mage)" },
['chi'] = { hidden = not E.Retail, category = 'Classpower', description = "Displays the chi points (Monk)" },
['classpower:current-max-percent'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "Displays the unit's current and max amount of special power, separated by a dash (% when not full power)" },
['classpower:current-max'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "Displays the unit's current and max amount of special power, separated by a dash" },
['classpower:current-percent'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "Displays the unit's current and percentage amount of special power, separated by a dash" },
['classpower:current'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "Displays the unit's current amount of special power" },
['classpower:deficit'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "Displays the unit's special power as a deficit (Total Special Power - Current Special Power = -Deficit)" },
['classpower:percent'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "Displays the unit's current amount of special power as a percentage" },
['classpower:current-max-percent:shortvalue'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "" },
['classpower:current-max:shortvalue'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "" },
['classpower:current-percent:shortvalue'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "" },
['classpower:current:shortvalue'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "" },
['classpower:deficit:shortvalue'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "" },
['classpower:current-max-percent'] = { hidden = E.Classic, category = 'Classpower', description = "Displays the unit's current and max amount of special power, separated by a dash (% when not full power)" },
['classpower:current-max'] = { hidden = E.Classic, category = 'Classpower', description = "Displays the unit's current and max amount of special power, separated by a dash" },
['classpower:current-percent'] = { hidden = E.Classic, category = 'Classpower', description = "Displays the unit's current and percentage amount of special power, separated by a dash" },
['classpower:current'] = { hidden = E.Classic, category = 'Classpower', description = "Displays the unit's current amount of special power" },
['classpower:deficit'] = { hidden = E.Classic, category = 'Classpower', description = "Displays the unit's special power as a deficit (Total Special Power - Current Special Power = -Deficit)" },
['classpower:percent'] = { hidden = E.Classic, category = 'Classpower', description = "Displays the unit's current amount of special power as a percentage" },
['classpower:current-max-percent:shortvalue'] = { hidden = E.Classic, category = 'Classpower', description = "" },
['classpower:current-max:shortvalue'] = { hidden = E.Classic, category = 'Classpower', description = "" },
['classpower:current-percent:shortvalue'] = { hidden = E.Classic, category = 'Classpower', description = "" },
['classpower:current:shortvalue'] = { hidden = E.Classic, category = 'Classpower', description = "" },
['classpower:deficit:shortvalue'] = { hidden = E.Classic, category = 'Classpower', description = "" },
['holypower'] = { hidden = not E.Retail, category = 'Classpower', description = "Displays the holy power (Paladin)" },
['runes'] = { hidden = E.Classic or E.TBC, category = 'Classpower', description = "Displays the runes (Death Knight)" },
['runes'] = { hidden = E.Classic, category = 'Classpower', description = "Displays the runes (Death Knight)" },
['soulshards'] = { hidden = not E.Retail, category = 'Classpower', description = "Displays the soulshards (Warlock)" },
-- Colors
['altpowercolor'] = { hidden = not E.Retail, category = 'Colors', description = "Changes the text color to the current alternative power color (Blizzard defined)" },

2
Interface/AddOns/ElvUI/Core/Modules/ActionBars/ActionBars.lua

@ -634,7 +634,7 @@ function AB:StyleButton(button, noBackdrop, useMasque, ignoreNormal)
if border and not button.useMasque then border:Kill() end
if action then action:SetAlpha(0) end
if slotbg then slotbg:Hide() end
if mask then mask:Hide() end
if mask and not button.useMasque then mask:Hide() end
if count then
local position, xOffset, yOffset = db and db.countTextPosition or 'BOTTOMRIGHT', db and db.countTextXOffset or 0, db and db.countTextYOffset or 2

4
Interface/AddOns/ElvUI/Core/Modules/ActionBars/Bind.lua

@ -265,7 +265,7 @@ do
AB:Unhook(frame, 'Update')
end
function AB:ADDON_LOADED(event, addon)
function AB:ADDON_LOADED(_, addon)
if addon == 'Blizzard_MacroUI' then
if _G.MacroFrame.Update then
AB:SecureHook(_G.MacroFrame, 'Update', MacroFrame_FirstUpdate)
@ -275,7 +275,7 @@ do
end
end
AB:UnregisterEvent(event)
AB:UnregisterEvent('ADDON_LOADED')
end
end
end

100
Interface/AddOns/ElvUI/Core/Modules/Bags/Bags.lua

@ -84,7 +84,7 @@ local IG_BACKPACK_CLOSE = SOUNDKIT.IG_BACKPACK_CLOSE
local IG_BACKPACK_OPEN = SOUNDKIT.IG_BACKPACK_OPEN
local ITEMQUALITY_COMMON = Enum.ItemQuality.Common or Enum.ItemQuality.Standard
local ITEMQUALITY_POOR = Enum.ItemQuality.Poor
local MAX_WATCHED_TOKENS = MAX_WATCHED_TOKENS or 3
local MAX_WATCHED_TOKENS = MAX_WATCHED_TOKENS or 20
local NUM_BAG_FRAMES = NUM_BAG_FRAMES
local NUM_BAG_SLOTS = NUM_BAG_SLOTS + (E.Retail and 1 or 0) -- add the profession bag
local NUM_BANKGENERIC_SLOTS = NUM_BANKGENERIC_SLOTS
@ -171,6 +171,7 @@ B.SearchSlots = {}
B.QuestSlots = {}
B.ItemLevelSlots = {}
B.BAG_FILTER_ICONS = {}
B.numTrackedTokens = 0
if E.Retail then
B.BAG_FILTER_ICONS[FILTER_FLAG_EQUIPMENT] = 'bags-icon-equipment'
@ -1059,6 +1060,54 @@ function B:Layout(isBank)
end
end
if not isBank then
local currencies = f.currencyButton
if B.numTrackedTokens == 0 then
if f.bottomOffset > 8 then
f.bottomOffset = 8
end
else
local currentRow = 1
local rowSize = B:TokenFrameWidth()
if E.Retail then
local tokenSpacing = floor(currencies:GetWidth() / rowSize)
for i = 1, B.numTrackedTokens do
local token = currencies[i]
if not token then return end
if i == 1 then
token:Point('TOPLEFT', currencies, 3, -3)
elseif i == ((rowSize * currentRow) + 1) then
currentRow = currentRow + 1
token:Point('TOPLEFT', currencies, 3 , -3 -(24 * (currentRow - 1)))
elseif i <= (rowSize * currentRow) then
token:Point('TOPLEFT', currencies, (tokenSpacing * ( i - 1 - (rowSize * (currentRow - 1)))) , -3 - (24 * (currentRow - 1)))
end
end
else
local c1, c2, c3 = unpack(currencies)
if B.numTrackedTokens == 1 then
c1:Point('BOTTOM', currencies, -c1.text:GetWidth() * 0.5, 3)
elseif B.numTrackedTokens == 2 then
c1:Point('BOTTOM', currencies, -c1.text:GetWidth() - (c1:GetWidth() * 3), 3)
c2:Point('BOTTOMLEFT', currencies, 'BOTTOM', c2:GetWidth() * 3, 3)
else
c1:Point('BOTTOMLEFT', currencies, 3, 3)
c2:Point('BOTTOM', currencies, -c2.text:GetWidth() / 3, 3)
c3:Point('BOTTOMRIGHT', currencies, -c3.text:GetWidth() - (c3:GetWidth() * 0.5), 3)
end
end
local curHeight = 24 * currentRow
currencies:Height(curHeight)
if f.bottomOffset ~= (curHeight + 8) then
f.bottomOffset = (curHeight + 8)
end
end
end
if E.Retail and isBank and f.reagentFrame:IsShown() then
if not IsReagentBankUnlocked() then
f.reagentFrame.cover:Show()
@ -1247,6 +1296,17 @@ function B:OnEvent(event, ...)
end
end
function B:TokenFrameWidth()
local tokenWidth = 70 -- you can always track at least one token
return max(floor((B.db.bagWidth - (B.db.bagButtonSpacing * 2)) / tokenWidth), 1)
end
function B:UpdateTokensIfVisible()
if B.BagFrame:IsVisible() then
B:UpdateTokens()
end
end
function B:UpdateTokens()
local bagFrame = B.BagFrame
local currencies = bagFrame.currencyButton
@ -1279,28 +1339,9 @@ function B:UpdateTokens()
numTokens = numTokens + 1
end
if numTokens == 0 then
if bagFrame.bottomOffset > 8 then
bagFrame.bottomOffset = 8
B:Layout()
end
else
if bagFrame.bottomOffset < 28 then
bagFrame.bottomOffset = 28
B:Layout()
end
local c1, c2, c3 = unpack(currencies)
if numTokens == 1 then
c1:Point('BOTTOM', currencies, -c1.text:GetWidth() * 0.5, 3)
elseif numTokens == 2 then
c1:Point('BOTTOM', currencies, -c1.text:GetWidth() - (c1:GetWidth() * 3), 3)
c2:Point('BOTTOMLEFT', currencies, 'BOTTOM', c2:GetWidth() * 3, 3)
else
c1:Point('BOTTOMLEFT', currencies, 3, 3)
c2:Point('BOTTOM', currencies, -c2.text:GetWidth() / 3, 3)
c3:Point('BOTTOMRIGHT', currencies, -c3.text:GetWidth() - (c3:GetWidth() * 0.5), 3)
end
if numTokens ~= B.numTrackedTokens then
B.numTrackedTokens = numTokens
B:Layout()
end
end
@ -1872,9 +1913,9 @@ function B:ConstructContainerFrame(name, isBank)
if E.Retail or E.Wrath then
--Currency
f.currencyButton = CreateFrame('Frame', nil, f)
f.currencyButton:Point('BOTTOM', 0, 4)
f.currencyButton:Point('TOPLEFT', f.holderFrame, 'BOTTOMLEFT', 0, 18)
f.currencyButton:Point('TOPRIGHT', f.holderFrame, 'BOTTOMRIGHT', 0, 18)
f.currencyButton:Point('BOTTOM', 0, -6)
f.currencyButton:Point('BOTTOMLEFT', f.holderFrame, 'BOTTOMLEFT', 0, -6)
f.currencyButton:Point('BOTTOMRIGHT', f.holderFrame, 'BOTTOMRIGHT', 0, -6)
f.currencyButton:Height(22)
for i = 1, MAX_WATCHED_TOKENS do
@ -2138,6 +2179,7 @@ function B:OpenBags()
end
B.BagFrame:Show()
if E.Retail then B:UpdateTokensIfVisible() end
PlaySound(IG_BACKPACK_OPEN)
@ -2758,8 +2800,10 @@ function B:Initialize()
if E.Wrath then
B:SecureHook('BackpackTokenFrame_Update', 'UpdateTokens')
else
B:SecureHook(_G.BackpackTokenFrame, 'Update', 'UpdateTokens')
elseif E.Retail then
B:SecureHook(_G.BackpackTokenFrame, 'Update', 'UpdateTokensIfVisible')
B:SecureHook(_G.BackpackTokenFrame, 'UpdateIfVisible', 'UpdateTokensIfVisible')
B:SecureHook(_G.TokenFramePopup.BackpackCheckBox, 'OnClick', 'UpdateTokensIfVisible')
end
if E.Retail then

2
Interface/AddOns/ElvUI/Core/Modules/Blizzard/Blizzard.lua

@ -86,7 +86,7 @@ function B:Initialize()
B:PositionAltPowerBar()
B:SkinAltPowerBar()
end
elseif (E.TBC or E.Classic) and E.db.general.objectiveTracker then
elseif E.Classic and E.db.general.objectiveTracker then
B:QuestWatch_MoveFrames()
hooksecurefunc('QuestWatch_Update', B.QuestWatch_AddQuestClick)
end

11
Interface/AddOns/ElvUI/Core/Modules/Maps/Minimap.lua

@ -50,7 +50,7 @@ local menuList = {
if E.Retail then
tinsert(menuList, { text = _G.LFG_TITLE, func = _G.ToggleLFDParentFrame })
elseif E.TBC or E.Wrath then
elseif E.Wrath then
tinsert(menuList, { text = _G.LFG_TITLE, func = function() if not IsAddOnLoaded('Blizzard_LookingForGroupUI') then UIParentLoadAddOn('Blizzard_LookingForGroupUI') end _G.ToggleLFGParentFrame() end })
end
@ -584,12 +584,14 @@ function M:ClearQueueStatus()
end
function M:CreateQueueStatusText()
local display = CreateFrame('Frame', 'ElvUIQueueStatusDisplay', _G.QueueStatusMinimapButton)
local display = CreateFrame('Frame', 'ElvUIQueueStatusDisplay', _G.QueueStatusButton)
display:SetIgnoreParentScale(true)
display:SetScale(E.uiscale)
display.text = display:CreateFontString(nil, 'OVERLAY')
M.QueueStatusDisplay = display
_G.QueueStatusMinimapButton:HookScript('OnHide', M.ClearQueueStatus)
_G.QueueStatusButton:HookScript('OnHide', M.ClearQueueStatus)
hooksecurefunc('QueueStatusEntry_SetMinimalDisplay', M.SetMinimalQueueStatus)
hooksecurefunc('QueueStatusEntry_SetFullDisplay', M.SetFullQueueStatus)
end
@ -723,8 +725,7 @@ function M:Initialize()
M.TrackingDropdown = M:CreateMinimapTrackingDropdown()
end
if _G.QueueStatusMinimapButton then
_G.QueueStatusMinimapButtonBorder:Hide()
if _G.QueueStatusButton then
M:CreateQueueStatusText()
elseif _G.MiniMapLFGFrame then
(E.Wrath and _G.MiniMapLFGFrameBorder or _G.MiniMapLFGBorder):Hide()

4
Interface/AddOns/ElvUI/Core/Modules/Nameplates/Nameplates.lua

@ -144,7 +144,7 @@ function NP:SetCVars()
NP:SetCVar('nameplateMotion', NP.db.motionType == 'STACKED' and 1 or 0)
if E.TBC or E.Wrath then
if E.Wrath then
NP:SetCVar('nameplateMaxDistance', NP.db.loadDistance)
end
@ -817,7 +817,7 @@ local optionsTable = {
'ShowAll'
}
if E.TBC or E.Wrath then
if E.Wrath then
tinsert(optionsTable, 'NameplateMaxDistanceSlider')
end

41
Interface/AddOns/ElvUI/Core/Modules/Skins/Skins.lua

@ -377,8 +377,39 @@ function S:SkinTalentListButtons(frame)
end
do
local function borderVertex(border, r, g, b, a)
local quality = Enum.ItemQuality
local iconColors = {
['auctionhouse-itemicon-border-gray'] = E.QualityColors[quality.Poor],
['auctionhouse-itemicon-border-white'] = E.QualityColors[quality.Common],
['auctionhouse-itemicon-border-green'] = E.QualityColors[quality.Uncommon],
['auctionhouse-itemicon-border-blue'] = E.QualityColors[quality.Rare],
['auctionhouse-itemicon-border-purple'] = E.QualityColors[quality.Epic],
['auctionhouse-itemicon-border-orange'] = E.QualityColors[quality.Legendary],
['auctionhouse-itemicon-border-artifact'] = E.QualityColors[quality.Artifact],
['auctionhouse-itemicon-border-account'] = E.QualityColors[quality.Heirloom]
}
local function hideBorder(border)
border:SetAlpha(0)
border:StripTextures()
end
local function colorAtlas(border, atlas)
local color = iconColors[atlas]
if not color then return end
hideBorder(border)
if border.customFunc then
local br, bg, bb = unpack(E.media.bordercolor)
border.customFunc(border, color.r, color.g, color.b, 1, br, bg, bb)
elseif border.customBackdrop then
border.customBackdrop:SetBackdropBorderColor(color.r, color.g, color.b)
end
end
local function colorVertex(border, r, g, b, a)
hideBorder(border)
if border.customFunc then
local br, bg, bb = unpack(E.media.bordercolor)
@ -413,9 +444,10 @@ do
border.customBackdrop = backdrop
if not border.IconBorderHooked then
border:StripTextures()
hideBorder(border)
hooksecurefunc(border, 'SetVertexColor', borderVertex)
hooksecurefunc(border, 'SetAtlas', colorAtlas)
hooksecurefunc(border, 'SetVertexColor', colorVertex)
hooksecurefunc(border, 'SetShown', borderShown)
hooksecurefunc(border, 'Hide', borderHide)
@ -423,10 +455,13 @@ do
end
local r, g, b, a = border:GetVertexColor()
local atlas = iconColors[border.GetAtlas and border:GetAtlas()]
if customFunc then
border.customFunc = customFunc
local br, bg, bb = unpack(E.media.bordercolor)
customFunc(border, r, g, b, a, br, bg, bb)
elseif atlas then
backdrop:SetBackdropBorderColor(atlas.r, atlas.g, atlas.b, 1)
elseif r then
backdrop:SetBackdropBorderColor(r, g, b, a)
else

4
Interface/AddOns/ElvUI/Core/init.lua

@ -81,7 +81,7 @@ E.twoPixelsPlease = false -- changing this option is not supported! :P
-- Expansions
E.Retail = WOW_PROJECT_ID == WOW_PROJECT_MAINLINE
E.Classic = WOW_PROJECT_ID == WOW_PROJECT_CLASSIC
E.TBC = WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASSIC
E.TBC = WOW_PROJECT_ID == WOW_PROJECT_BURNING_CRUSADE_CLASSIC -- not used
E.Wrath = WOW_PROJECT_ID == WOW_PROJECT_WRATH_CLASSIC
-- Item Qualitiy stuff, also used by MerathilisUI
@ -273,7 +273,7 @@ function E:OnInitialize()
E.Minimap:SetGetMinimapShape() -- This is just to support for other mods, keep below UIMult
end
if E.Classic or E.TBC then
if E.Classic then
RegisterCVar('fstack_showhighlight', '1')
end

2
Interface/AddOns/ElvUI/ElvUI_Classic.toc

@ -1,7 +1,7 @@
## Title: |cff1784d1ElvUI|r |cfd9b9b9bClassic|r
## Notes: User Interface Replacement
## Author: Elv, Simpy
## Version: 12.97
## Version: 12.98
## SavedVariables: ElvDB, ElvPrivateDB
## SavedVariablesPerCharacter: ElvCharacterDB
## OptionalDeps: SharedMedia, Tukui, Masque

2
Interface/AddOns/ElvUI/ElvUI_Mainline.toc

@ -1,7 +1,7 @@
## Title: |cff1784d1ElvUI|r
## Notes: User Interface Replacement
## Author: Elv, Simpy
## Version: 12.97
## Version: 12.98
## SavedVariables: ElvDB, ElvPrivateDB
## SavedVariablesPerCharacter: ElvCharacterDB
## OptionalDeps: SharedMedia, Tukui, Masque, Blizzard_PetJournal

16
Interface/AddOns/ElvUI/ElvUI_TBC.toc

@ -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

2
Interface/AddOns/ElvUI/ElvUI_Wrath.toc

@ -1,7 +1,7 @@
## Title: |cff1784d1ElvUI|r |cfd9b9b9bWrath|r
## Notes: User Interface Replacement
## Author: Elv, Simpy
## Version: 12.97
## Version: 12.98
## SavedVariables: ElvDB, ElvPrivateDB
## SavedVariablesPerCharacter: ElvCharacterDB
## OptionalDeps: SharedMedia, Tukui, Masque

0
Interface/AddOns/ElvUI/Libraries/TBC/LibClassicSpecs/LibClassicSpecs.lua → Interface/AddOns/ElvUI/Libraries/Classic/LibClassicSpecs/LibClassicSpecs.lua

0
Interface/AddOns/ElvUI/Libraries/TBC/LibHealComm-4.0/LibHealComm-4.0.lua → Interface/AddOns/ElvUI/Libraries/Classic/LibHealComm-4.0/LibHealComm-4.0.lua

0
Interface/AddOns/ElvUI/Libraries/TBC/LibQuestXP/LibQuestXP.lua → Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/LibQuestXP.lua

0
Interface/AddOns/ElvUI/Libraries/TBC/LibQuestXP/LibQuestXP.toc → Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/LibQuestXP.toc

0
Interface/AddOns/ElvUI/Libraries/TBC/LibQuestXP/LibQuestXP.xml → Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/LibQuestXP.xml

0
Interface/AddOns/ElvUI/Libraries/TBC/LibQuestXP/LibQuestXPDB.lua → Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/LibQuestXPDB.lua

0
Interface/AddOns/ElvUI/Libraries/TBC/LibQuestXP/README.md → Interface/AddOns/ElvUI/Libraries/Classic/LibQuestXP/README.md

19
Interface/AddOns/ElvUI/Libraries/Core/LibActionButton-1.0/LibActionButton-1.0.lua

@ -182,6 +182,7 @@ function lib:CreateButton(id, name, header, config)
local AuraCooldown = CreateFrame("Cooldown", nil, button, "CooldownFrameTemplate")
AuraCooldown:SetDrawBling(false)
AuraCooldown:SetDrawSwipe(false)
AuraCooldown:SetDrawEdge(false)
button.AuraCooldown = AuraCooldown
-- Frame Scripts
@ -1429,8 +1430,8 @@ local function StartChargeCooldown(parent, chargeStart, chargeDuration, chargeMo
cooldown = CreateFrame("Cooldown", "LAB10ChargeCooldown"..lib.NumChargeCooldowns, parent, "CooldownFrameTemplate");
cooldown:SetScript("OnCooldownDone", EndChargeCooldown)
cooldown:SetHideCountdownNumbers(true)
cooldown:SetDrawBling(false)
cooldown:SetDrawSwipe(false)
cooldown:SetEdgeScale(0)
lib.callbacks:Fire("OnChargeCreated", parent, cooldown)
end
@ -1462,10 +1463,6 @@ local function OnCooldownDone(self)
self:SetScript("OnCooldownDone", nil)
if button.chargeCooldown then
button.chargeCooldown:SetDrawSwipe(false)
end
lib.callbacks:Fire("OnCooldownDone", button, self)
end
@ -1479,10 +1476,9 @@ local function LosCooldownDone(self)
end
function UpdateCooldown(self)
local locStart, locDuration
local start, duration, enable, modRate
local locStart, locDuration, _
local start, duration, modRate, auraData
local charges, maxCharges, chargeStart, chargeDuration, chargeModRate
local auraData
local passiveCooldownSpellID = self:GetPassiveCooldownSpellID()
if passiveCooldownSpellID and passiveCooldownSpellID ~= 0 then
@ -1504,14 +1500,13 @@ function UpdateCooldown(self)
chargeStart = currentTime * 0.001
chargeDuration = duration * 0.001
chargeModRate = modRate
enable = 1
else
locStart, locDuration = self:GetLossOfControlCooldown()
start, duration, enable, modRate = self:GetCooldown()
start, duration, _, modRate = self:GetCooldown()
charges, maxCharges, chargeStart, chargeDuration, chargeModRate = self:GetCharges()
end
self.cooldown:SetDrawBling(self.config.useDrawBling and (self.cooldown:GetEffectiveAlpha() > 0.5))
self.cooldown:SetDrawBling(self.config.useDrawBling and (self:GetEffectiveAlpha() > 0.5))
if (locStart + locDuration) > (start + duration) then
if self.cooldown.currentCooldownType ~= COOLDOWN_TYPE_LOSS_OF_CONTROL then
@ -1536,7 +1531,7 @@ function UpdateCooldown(self)
if charges and maxCharges and maxCharges > 1 and charges < maxCharges then
StartChargeCooldown(self, chargeStart, chargeDuration, chargeModRate)
self.chargeCooldown:SetDrawSwipe(duration <= 0 and self.config.useDrawSwipeOnCharges)
self.chargeCooldown:SetDrawSwipe(self.config.useDrawSwipeOnCharges)
elseif self.chargeCooldown then
EndChargeCooldown(self.chargeCooldown)
end

19
Interface/AddOns/ElvUI/Mainline/Modules/Skins/AuctionHouse.lua

@ -78,10 +78,9 @@ local function SkinItemDisplay(frame)
local ItemButton = ItemDisplay.ItemButton
ItemButton.CircleMask:Hide()
-- We skin the new IconBorder from the AH, it looks really cool tbh.
ItemButton.Icon:SetTexCoord(.08, .92, .08, .92)
ItemButton.Icon:Size(44)
ItemButton.IconBorder:SetTexCoord(.08, .92, .08, .92)
S:HandleIcon(ItemButton.Icon, true)
S:HandleIconBorder(ItemButton.IconBorder, ItemButton.Icon.backdrop)
ItemButton:GetHighlightTexture():Hide()
end
local function HandleHeaders(frame)
@ -119,7 +118,6 @@ local function HandleSellFrame(frame)
local ItemButton = ItemDisplay.ItemButton
if ItemButton.IconMask then ItemButton.IconMask:Hide() end
if ItemButton.IconBorder then ItemButton.IconBorder:Kill() end
ItemButton.EmptyBackground:Hide()
ItemButton:SetPushedTexture(E.ClearTexture)
@ -132,6 +130,10 @@ local function HandleSellFrame(frame)
S:HandleEditBox(frame.PriceInput.MoneyInputFrame.GoldBox)
S:HandleEditBox(frame.PriceInput.MoneyInputFrame.SilverBox)
if ItemButton.IconBorder then
S:HandleIconBorder(ItemButton.IconBorder, ItemButton.Icon.backdrop)
end
if frame.SecondaryPriceInput then
S:HandleEditBox(frame.SecondaryPriceInput.MoneyInputFrame.GoldBox)
S:HandleEditBox(frame.SecondaryPriceInput.MoneyInputFrame.SilverBox)
@ -155,7 +157,6 @@ local function HandleTokenSellFrame(frame)
local ItemButton = ItemDisplay.ItemButton
if ItemButton.IconMask then ItemButton.IconMask:Hide() end
if ItemButton.IconBorder then ItemButton.IconBorder:Kill() end
ItemButton.EmptyBackground:Hide()
ItemButton:SetPushedTexture(E.ClearTexture)
@ -164,6 +165,10 @@ local function HandleTokenSellFrame(frame)
S:HandleIcon(ItemButton.Icon, true)
if ItemButton.IconBorder then
S:HandleIconBorder(ItemButton.IconBorder, ItemButton.Icon.backdrop)
end
S:HandleButton(frame.PostButton)
HandleAuctionButtons(frame.DummyRefreshButton)
@ -377,6 +382,8 @@ local function LoadSkin()
local ItemButton = Token.ItemButton
S:HandleIcon(ItemButton.Icon, true)
ItemButton.Icon.backdrop:SetBackdropBorderColor(0, .8, 1)
ItemButton:GetHighlightTexture():Hide()
ItemButton.CircleMask:Hide()
ItemButton.IconBorder:Kill()
--WoW Token Tutorial Frame

2
Interface/AddOns/ElvUI/Mainline/Modules/Skins/BGMap.lua

@ -52,7 +52,7 @@ function S:Blizzard_BattlefieldMap()
frame:SetMovable(true)
frame:SetClampedToScreen(true)
frame:SetFrameStrata('LOW')
frame:SetScript('OnUpdate', nil) -- shut off the tab fading in
frame:SetScript('OnUpdate', _G.MapCanvasMixin.OnUpdate) -- shut off the tab fading in, but keep the canvas updater
local border = frame.BorderFrame
border:StripTextures()

18
Interface/AddOns/ElvUI/Mainline/Modules/Skins/Bags.lua

@ -58,6 +58,15 @@ local function BackpackToken_Update(container)
end
end
local function GetSlotAndBagID(button)
if button.GetSlotAndBagID then -- bags
return button:GetSlotAndBagID()
elseif button.GetBagID then -- bank
local slotID, bagID = button:GetID(), button:GetBagID()
return slotID, bagID
end
end
local function SkinButton(button)
if button.template then return end
@ -79,10 +88,11 @@ local function SkinButton(button)
if button.Cooldown then
E:RegisterCooldown(button.Cooldown, 'bags')
-- initialize any cooldown
local slotID, bagID = button:GetSlotAndBagID()
local start, duration = GetContainerItemCooldown(bagID, slotID)
button.Cooldown:SetCooldown(start, duration)
local slotID, bagID = GetSlotAndBagID(button)
if slotID and bagID then -- initialize any cooldown
local start, duration = GetContainerItemCooldown(bagID, slotID)
button.Cooldown:SetCooldown(start, duration)
end
end
-- bag keybind support from actionbar module

15
Interface/AddOns/ElvUI/Mainline/Modules/Skins/Professions.lua

@ -25,16 +25,20 @@ end
local function ReskinSlotButton(button)
if button and not button.isSkinned then
local texture = button.Icon:GetTexture()
button:StripTextures()
button:SetNormalTexture(E.ClearTexture)
button:SetPushedTexture(E.ClearTexture)
S:HandleIcon(button.Icon, true)
S:HandleIconBorder(button.IconBorder, button.Icon.backdrop)
button.Icon:SetOutside(button)
button.Icon:SetTexture(texture)
local hl = button:GetHighlightTexture()
hl:SetColorTexture(1, 1, 1, .25)
hl:SetInside(button.bg)
hl:SetOutside(button)
if button.SlotBackground then
button.SlotBackground:Hide()
end
@ -130,6 +134,14 @@ function S:Blizzard_Professions()
ReskinQualityContainer(QualityDialog.Container3)
end
local OutputIcon = SchematicForm.OutputIcon
if OutputIcon then
S:HandleIcon(OutputIcon.Icon, true)
S:HandleIconBorder(OutputIcon.IconBorder, OutputIcon.Icon.backdrop)
OutputIcon:GetHighlightTexture():Hide()
OutputIcon.CircleMask:Hide()
end
hooksecurefunc(SchematicForm, 'Init', function(frame)
for slot in frame.reagentSlotPool:EnumerateActive() do
ReskinSlotButton(slot.Button)
@ -185,6 +197,7 @@ function S:Blizzard_Professions()
local icon = item:GetRegions()
S:HandleIcon(icon, true)
S:HandleIconBorder(item.IconBorder, icon.backdrop)
itemContainer.CritFrame:SetAlpha(0)
itemContainer.BorderFrame:Hide()
itemContainer.HighlightNameFrame:SetAlpha(0)

1126
Interface/AddOns/ElvUI/TBC/Filters/Filters.lua

File diff suppressed because it is too large

3
Interface/AddOns/ElvUI/TBC/Filters/Load_Filters.xml

@ -1,3 +0,0 @@
<Ui xmlns='http://www.blizzard.com/wow/ui/'>
<Script file='Filters.lua'/>
</Ui>

40
Interface/AddOns/ElvUI/TBC/Libs.xml

@ -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>

4
Interface/AddOns/ElvUI/TBC/Load.xml

@ -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>

3
Interface/AddOns/ElvUI/TBC/Modules/Blizzard/Load_Blizzard.xml

@ -1,3 +0,0 @@
<Ui xmlns='http://www.blizzard.com/wow/ui/'>
<Script file='..\..\..\Core\Modules\Blizzard\QuestWatch.lua'/>
</Ui>

3
Interface/AddOns/ElvUI/TBC/Modules/DataBars/Load_DataBars.xml

@ -1,3 +0,0 @@
<Ui xmlns='http://www.blizzard.com/wow/ui/'>
<Script file='..\..\..\Core\Modules\DataBars\PetExperience.lua'/>
</Ui>

11
Interface/AddOns/ElvUI/TBC/Modules/DataTexts/Load_DataTexts.xml

@ -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>

7
Interface/AddOns/ElvUI/TBC/Modules/Load_Modules.xml

@ -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>

3
Interface/AddOns/ElvUI/TBC/Modules/Misc/Load_Misc.xml

@ -1,3 +0,0 @@
<Ui xmlns='http://www.blizzard.com/wow/ui/'>
<Script file='..\..\..\Core\Modules\Misc\TotemTracker.lua'/>
</Ui>

102
Interface/AddOns/ElvUI/TBC/Modules/Skins/AddonManager.lua

@ -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')

27
Interface/AddOns/ElvUI/TBC/Modules/Skins/Arena.lua

@ -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')

85
Interface/AddOns/ElvUI/TBC/Modules/Skins/ArenaRegistrar.lua

@ -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')

292
Interface/AddOns/ElvUI/TBC/Modules/Skins/AuctionHouse.lua

@ -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')

94
Interface/AddOns/ElvUI/TBC/Modules/Skins/BGMap.lua

@ -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')

36
Interface/AddOns/ElvUI/TBC/Modules/Skins/BGScore.lua

@ -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')

237
Interface/AddOns/ElvUI/TBC/Modules/Skins/Bags.lua

@ -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')

30
Interface/AddOns/ElvUI/TBC/Modules/Skins/Battlefield.lua

@ -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')

48
Interface/AddOns/ElvUI/TBC/Modules/Skins/Battlenet.lua

@ -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')

53
Interface/AddOns/ElvUI/TBC/Modules/Skins/Binding.lua

@ -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')

342
Interface/AddOns/ElvUI/TBC/Modules/Skins/BlizzardOptions.lua

@ -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')

50
Interface/AddOns/ElvUI/TBC/Modules/Skins/Channels.lua

@ -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')

338
Interface/AddOns/ElvUI/TBC/Modules/Skins/Character.lua

@ -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')

48
Interface/AddOns/ElvUI/TBC/Modules/Skins/CombatLog.lua

@ -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')

303
Interface/AddOns/ElvUI/TBC/Modules/Skins/Communities.lua

@ -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')

190
Interface/AddOns/ElvUI/TBC/Modules/Skins/Craft.lua

@ -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')

116
Interface/AddOns/ElvUI/TBC/Modules/Skins/Debug.lua

@ -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

34
Interface/AddOns/ElvUI/TBC/Modules/Skins/DressingRoom.lua

@ -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')

141
Interface/AddOns/ElvUI/TBC/Modules/Skins/EventTrace.lua

@ -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')

534
Interface/AddOns/ElvUI/TBC/Modules/Skins/Friends.lua

@ -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')

119
Interface/AddOns/ElvUI/TBC/Modules/Skins/Gossip.lua

@ -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')

122
Interface/AddOns/ElvUI/TBC/Modules/Skins/GuildBank.lua

@ -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')

38
Interface/AddOns/ElvUI/TBC/Modules/Skins/GuildRegistrar.lua

@ -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')

34
Interface/AddOns/ElvUI/TBC/Modules/Skins/Help.lua

@ -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')

144
Interface/AddOns/ElvUI/TBC/Modules/Skins/Inspect.lua

@ -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')

100
Interface/AddOns/ElvUI/TBC/Modules/Skins/LFG.lua

@ -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')

51
Interface/AddOns/ElvUI/TBC/Modules/Skins/Load_Skins.xml

@ -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>

203
Interface/AddOns/ElvUI/TBC/Modules/Skins/Loot.lua

@ -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')

106
Interface/AddOns/ElvUI/TBC/Modules/Skins/Macro.lua

@ -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')

256
Interface/AddOns/ElvUI/TBC/Modules/Skins/Mail.lua

@ -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')

205
Interface/AddOns/ElvUI/TBC/Modules/Skins/Merchant.lua

@ -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')

53
Interface/AddOns/ElvUI/TBC/Modules/Skins/MirrorTimers.lua

@ -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')

329
Interface/AddOns/ElvUI/TBC/Modules/Skins/Misc.lua

@ -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')

41
Interface/AddOns/ElvUI/TBC/Modules/Skins/Petition.lua

@ -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')

467
Interface/AddOns/ElvUI/TBC/Modules/Skins/Quest.lua

@ -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')

34
Interface/AddOns/ElvUI/TBC/Modules/Skins/QuestTimers.lua

@ -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')

135
Interface/AddOns/ElvUI/TBC/Modules/Skins/Raid.lua

@ -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')

54
Interface/AddOns/ElvUI/TBC/Modules/Skins/Socket.lua

@ -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')

139
Interface/AddOns/ElvUI/TBC/Modules/Skins/SpellBook.lua

@ -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')

52
Interface/AddOns/ElvUI/TBC/Modules/Skins/Stable.lua

@ -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')

73
Interface/AddOns/ElvUI/TBC/Modules/Skins/Tabard.lua

@ -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')

47
Interface/AddOns/ElvUI/TBC/Modules/Skins/Talent.lua

@ -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')

21
Interface/AddOns/ElvUI/TBC/Modules/Skins/Taxi.lua

@ -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')

83
Interface/AddOns/ElvUI/TBC/Modules/Skins/TimeManager.lua

@ -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')

59
Interface/AddOns/ElvUI/TBC/Modules/Skins/Tooltip.lua

@ -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')

136
Interface/AddOns/ElvUI/TBC/Modules/Skins/Trade.lua

@ -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')

189
Interface/AddOns/ElvUI/TBC/Modules/Skins/TradeSkill.lua

@ -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')

80
Interface/AddOns/ElvUI/TBC/Modules/Skins/Trainer.lua

@ -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')

28
Interface/AddOns/ElvUI/TBC/Modules/Skins/Tutorial.lua

@ -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')

39
Interface/AddOns/ElvUI/TBC/Modules/Skins/WorldMap.lua

@ -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')

4
Interface/AddOns/ElvUI/Wrath/Libs.xml

@ -18,8 +18,8 @@
<Include file='..\Libraries\Core\Taintless\Taintless.xml'/>
<Include file='..\Libraries\Core\UTF8\UTF8.xml'/>
<Script file='..\Libraries\TBC\LibHealComm-4.0\LibHealComm-4.0.lua'/>
<Script file='..\Libraries\TBC\LibClassicSpecs\LibClassicSpecs.lua'/>
<Script file='..\Libraries\Classic\LibHealComm-4.0\LibHealComm-4.0.lua'/>
<Script file='..\Libraries\Classic\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'/>

2
Interface/AddOns/ElvUI_OptionsUI/Bags.lua

@ -22,7 +22,7 @@ Bags.args.cooldownShortcut = ACH:Execute(L["Cooldown Text"], nil, 3, function()
Bags.args.general = ACH:Group(L["General"], nil, 1, nil, nil, function(info, value) E.db.bags[info[#info]] = value B:UpdateLayouts() B:UpdateAllBagSlots() end, function() return not E.Bags.Initialized end)
Bags.args.general.args.strata = ACH:Select(L["Frame Strata"], nil, 1, { BACKGROUND = 'BACKGROUND', LOW = 'LOW', MEDIUM = 'MEDIUM', HIGH = 'HIGH' })
Bags.args.general.args.currencyFormat = ACH:Select(L["Currency Format"], L["The display format of the currency icons that get displayed below the main bag. (You have to be watching a currency for this to display)"], 2, { ICON = L["Icons Only"], ICON_TEXT = L["Icons and Text"], ICON_TEXT_ABBR = L["Icons and Text (Short)"] }, nil, nil, nil, function(info, value) E.db.bags[info[#info]] = value B:UpdateTokens() end, nil, E.Classic or E.TBC)
Bags.args.general.args.currencyFormat = ACH:Select(L["Currency Format"], L["The display format of the currency icons that get displayed below the main bag. (You have to be watching a currency for this to display)"], 2, { ICON = L["Icons Only"], ICON_TEXT = L["Icons and Text"], ICON_TEXT_ABBR = L["Icons and Text (Short)"] }, nil, nil, nil, function(info, value) E.db.bags[info[#info]] = value B:UpdateTokens() end, nil, E.Classic)
Bags.args.general.args.moneyFormat = ACH:Select(L["Gold Format"], L["The display format of the money text that is shown at the top of the main bag."], 3, { SMART = L["Smart"], FULL = L["Full"], SHORT = L["SHORT"], SHORTSPACED = L["Short (Whole Numbers Spaced)"], SHORTINT = L["Short (Whole Numbers)"], CONDENSED = L["Condensed"], CONDENSED_SPACED = L["Condensed (Spaced)"], BLIZZARD = L["Blizzard Style"], BLIZZARD2 = L["Blizzard Style"].." 2", HIDE = L["Hide"] }, nil, nil, nil, function(info, value) E.db.bags[info[#info]] = value B:UpdateGoldText() end)
Bags.args.general.args.moneyCoins = ACH:Toggle(L["Show Coins"], L["Use coin icons instead of colored text."], 4, nil, nil, nil, nil, function(info, value) E.db.bags[info[#info]] = value B:UpdateGoldText() end)

2
Interface/AddOns/ElvUI_OptionsUI/DataTexts.lua

@ -240,7 +240,7 @@ local function CreateDTOptions(name, data)
elseif name == 'Time' then
optionTable.args.time24 = ACH:Toggle(L["24-Hour Time"], L["Toggle 24-hour mode for the time datatext."], 5)
optionTable.args.localTime = ACH:Toggle(L["Local Time"], L["If not set to true then the server time will be displayed instead."], 6)
optionTable.args.flashInvite = ACH:Toggle(L["Flash Invites"], L["This will allow you to toggle flashing of the time datatext when there are calendar invites."], 7, nil, nil, nil, nil, nil, nil, E.Classic or E.TBC)
optionTable.args.flashInvite = ACH:Toggle(L["Flash Invites"], L["This will allow you to toggle flashing of the time datatext when there are calendar invites."], 7, nil, nil, nil, nil, nil, nil, E.Classic)
elseif name == 'Durability' then
optionTable.args.percThreshold = ACH:Range(L["Flash Threshold"], L["The durability percent that the datatext will start flashing. Set to -1 to disable"], 5, { min = -1, max = 99, step = 1 }, nil, function(info) return settings[info[#info]] end, function(info, value) settings[info[#info]] = value; DT:ForceUpdate_DataText(name) end)
elseif name == 'Friends' then

9
Interface/AddOns/ElvUI_OptionsUI/ElvUI_OptionsUI_TBC.toc

@ -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

2
Interface/AddOns/ElvUI_OptionsUI/Maps.lua

@ -135,7 +135,7 @@ Maps.args.minimap.args.icons.args.battlefield.args.scale = ACH:Range(L["Scale"],
Maps.args.minimap.args.icons.args.battlefield.args.xOffset = ACH:Range(L["X-Offset"], nil, 3, buttonOffsets)
Maps.args.minimap.args.icons.args.battlefield.args.yOffset = ACH:Range(L["Y-Offset"], nil, 4, buttonOffsets)
Maps.args.minimap.args.icons.args.difficulty = ACH:Group(L["Instance Difficulty"], nil, 8, nil, nil, nil, function() return E.Retail and not E.db.general.minimap.clusterDisable end, E.Classic or E.TBC)
Maps.args.minimap.args.icons.args.difficulty = ACH:Group(L["Instance Difficulty"], nil, 8, nil, nil, nil, function() return E.Retail and not E.db.general.minimap.clusterDisable end, E.Classic)
Maps.args.minimap.args.icons.args.difficulty.args.position = ACH:Select(L["Position"], nil, 1, buttonPositions)
Maps.args.minimap.args.icons.args.difficulty.args.scale = ACH:Range(L["Scale"], nil, 2, buttonScale)
Maps.args.minimap.args.icons.args.difficulty.args.xOffset = ACH:Range(L["X-Offset"], nil, 3, buttonOffsets)

2
Interface/AddOns/ElvUI_OptionsUI/UnitFrames.lua

@ -771,7 +771,7 @@ local function GetOptionsTable_RaidIcon(updateFunc, groupName, numUnits, subGrou
end
local function GetOptionsTable_RoleIcons(updateFunc, groupName, numGroup)
local config = ACH:Group(L["Role Icon"], nil, nil, nil, function(info) return E.db.unitframe.units[groupName].roleIcon[info[#info]] end, function(info, value) E.db.unitframe.units[groupName].roleIcon[info[#info]] = value updateFunc(UF, groupName, numGroup) end, nil, E.Classic or E.TBC)
local config = ACH:Group(L["Role Icon"], nil, nil, nil, function(info) return E.db.unitframe.units[groupName].roleIcon[info[#info]] end, function(info, value) E.db.unitframe.units[groupName].roleIcon[info[#info]] = value updateFunc(UF, groupName, numGroup) end, nil, E.Classic)
config.args.enable = ACH:Toggle(L["Enable"], nil, 0)
config.args.options = ACH:MultiSelect(' ', nil, 1, { tank = L["Show For Tanks"], healer = L["Show For Healers"], damager = L["Show For DPS"], combatHide = L["Hide In Combat"] }, nil, nil, function(_, key) return E.db.unitframe.units[groupName].roleIcon[key] end, function(_, key, value) E.db.unitframe.units[groupName].roleIcon[key] = value updateFunc(UF, groupName, numGroup) end)
config.args.position = ACH:Select(L["Position"], nil, 2, C.Values.AllPoints)

6
Interface/AddOns/HandyNotes/CHANGELOG.md

@ -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…
Cancel
Save