Change all use of heroclass to use RAID_CLASS_COLORS instead. This can be changed to CUSTOM_CLASS_COLORS later with a color picker for each class, but to support CoA classes need to go back to being colored properly.

Fix remaining lua errors covered by ascension patches

Add Addon Skins
Add Enhanced Friends List
This commit is contained in:
Andrew6810
2022-10-28 07:12:13 -07:00
parent 60ef8a38af
commit df7cc26a64
205 changed files with 18480 additions and 35 deletions
+7 -1
View File
@@ -296,7 +296,13 @@ ElvUF.Tags.Methods["namecolor"] = function(unit)
local unitReaction = UnitReaction(unit, "player")
local unitPlayer = UnitIsPlayer(unit)
if unitPlayer then
return Hex(E.media.herocolor.r, E.media.herocolor.g, E.media.herocolor.b)
if UnitIsUnit(unit, "player") then
return Hex(E.media.herocolor.r, E.media.herocolor.g, E.media.herocolor.b)
else
local _, class = UnitClass(unit)
local color = RAID_CLASS_COLORS[class]
return Hex(color.r, color.g, color.b)
end
elseif unitReaction then
local reaction = ElvUF.colors.reaction[unitReaction]
return Hex(reaction[1], reaction[2], reaction[3])
+4
View File
@@ -30,6 +30,10 @@ local colors = {
threat = {},
}
for classToken, color in next, RAID_CLASS_COLORS do
colors.class[classToken] = {color.r, color.g, color.b}
end
for debuffType, color in next, DebuffTypeColor do
colors.debuff[debuffType] = {color.r, color.g, color.b}
end
@@ -76,7 +76,12 @@ local function UpdateColor(self, event, unit, powertype)
if(element.colorPower) then
t = self.colors.power[ADDITIONAL_POWER_BAR_INDEX]
elseif(element.colorClass and UnitIsPlayer(unit)) then
t = oUF.herocolor
if UnitIsUnit("player", unit) then
t = oUF.herocolor
else
local _, class = UnitClass(unit)
t = self.colors.class[class]
end
elseif(element.colorSmooth) then
r, g, b = self:ColorGradient(element.cur or 1, element.max or 1, unpack(element.smoothGradient or self.colors.smooth))
end
+6 -1
View File
@@ -101,7 +101,12 @@ local function UpdateColor(self, event, unit)
elseif(element.colorClass and UnitIsPlayer(unit)) or
(element.colorClassNPC and not UnitIsPlayer(unit)) or
(element.colorClassPet and UnitPlayerControlled(unit) and not UnitIsPlayer(unit)) then
t = oUF.herocolor
if UnitIsUnit("player", unit) then
t = oUF.herocolor
else
local _, class = UnitClass(unit)
t = self.colors.class[class]
end
elseif(element.colorReaction and UnitReaction(unit, 'player')) then
t = self.colors.reaction[UnitReaction(unit, 'player')]
elseif(element.colorSmooth) then
+6 -1
View File
@@ -125,7 +125,12 @@ local function UpdateColor(self, event, unit)
elseif(element.colorClass and UnitIsPlayer(unit)) or
(element.colorClassNPC and not UnitIsPlayer(unit)) or
(element.colorClassPet and UnitPlayerControlled(unit) and not UnitIsPlayer(unit)) then
t = oUF.herocolor
if UnitIsUnit("player", unit) then
t = oUF.herocolor
else
local _, class = UnitClass(unit)
t = self.colors.class[class]
end
elseif(element.colorReaction and UnitReaction(unit, 'player')) then
t = self.colors.reaction[UnitReaction(unit, 'player')]
elseif(element.colorSmooth) then
+2 -1
View File
@@ -805,4 +805,5 @@ if(global) then
end
end
oUF.herocolor = {0.0, 1.0, 0.0}
local _, myClass = UnitClass("player")
oUF.herocolor = RAID_CLASS_COLORS[myClass]
+5 -2
View File
@@ -939,7 +939,10 @@ function CH:GetColoredName(event, _, arg2, _, _, _, _, _, arg8, _, _, _, arg12)
local _, englishClass = GetPlayerInfoByGUID(arg12)
if englishClass then
local classColorTable = E.media.herocolor
local classColorTable = RAID_CLASS_COLORS[englishClass]
if arg12 == UnitName("player") then
classColorTable = E.media.herocolor
end
if not classColorTable then
return arg2
end
@@ -1439,7 +1442,7 @@ function CH:CheckKeyword(message, author)
local wordMatch = classMatch and lowerCaseWord
if wordMatch and not E.global.chat.classColorMentionExcludedNames[wordMatch] then
local classColorTable = E.media.herocolor
local classColorTable = RAID_CLASS_COLORS[classMatch]
word = gsub(word, gsub(tempWord, "%-", "%%-"), format("\124cff%.2x%.2x%.2x%s\124r", classColorTable.r*255, classColorTable.g*255, classColorTable.b*255, tempWord))
end
end
+1 -1
View File
@@ -57,7 +57,7 @@ function DT:BattlegroundStats()
for i = 1, GetNumBattlefieldScores() do
local name = GetBattlefieldScore(i)
if name and name == E.myname then
local classColor = E.media.herocolor
local classColor = RAID_CLASS_COLORS[E.myclass]
DT.tooltip:AddDoubleLine(L["Stats For:"], name, 1, 1, 1, classColor.r, classColor.g, classColor.b)
DT.tooltip:AddLine(" ")
+1 -1
View File
@@ -155,7 +155,7 @@ local function OnClick(_, btn)
end
if not shouldSkip then
classc = E.media.herocolor
classc = RAID_CLASS_COLORS[info[3]]
classc = classc or GetQuestDifficultyColor(info[2])
levelc = GetQuestDifficultyColor(info[2])
+2 -1
View File
@@ -30,7 +30,8 @@ local function BuildDataTable()
for charName in pairs(ElvDB.gold[E.myrealm]) do
if ElvDB.gold[E.myrealm][charName] then
local color = E.media.herocolor
local class = ElvDB.class[E.myrealm][charName]
local color = class and RAID_CLASS_COLORS[class] or E.media.herocolor
tinsert(dataTable,
{
+2 -2
View File
@@ -140,7 +140,7 @@ local function OnClick(_, btn)
info = dataTable[i]
if info[7] and info[1] ~= E.myname then
classc = E.media.herocolor
classc = RAID_CLASS_COLORS[info[9]]
levelc = GetQuestDifficultyColor(info[3])
if UnitInParty(info[1]) or UnitInRaid(info[1]) then
@@ -222,7 +222,7 @@ local function OnEnter(self, _, noUpdate)
zonec = inactivezone
end
classc = E.media.herocolor
classc = RAID_CLASS_COLORS[info[9]]
if shiftKeyDown then
DT.tooltip:AddDoubleLine(
+2 -2
View File
@@ -50,7 +50,7 @@ function M:UpdateBubbleBorder()
wordMatch = classMatch and lowerCaseWord
if wordMatch and not E.global.chat.classColorMentionExcludedNames[wordMatch] then
classColorTable = E.media.herocolor
classColorTable = RAID_CLASS_COLORS[classMatch]
word = gsub(word, gsub(tempWord, "%-", "%%-"), format("\124cff%.2x%.2x%.2x%s\124r", classColorTable.r*255, classColorTable.g*255, classColorTable.b*255, tempWord))
end
@@ -76,7 +76,7 @@ function M:AddChatBubbleName(chatBubble, guid, name)
if guid and guid ~= "" then
local _, class = GetPlayerInfoByGUID(guid)
if class then
color = E:RGBToHex(E.media.herocolor.r, E.media.herocolor.g, E.media.herocolor.b)
color = RAID_CLASS_COLORS[class].hex
end
else
color = "|cffffffff"
+1 -1
View File
@@ -141,7 +141,7 @@ local function buttonOnEnter(self)
for playerName, rollData in pairs(self.parent.rollResults) do
if self.rollType == rollData[1] and rollData[2] then
local classColor = E.media.herocolor
local classColor = RAID_CLASS_COLORS[rollData[2]]
GameTooltip:AddLine(playerName, classColor.r, classColor.g, classColor.b)
end
end
+4 -3
View File
@@ -49,12 +49,13 @@ end
function THREAT:GetColor(unit)
if UnitIsPlayer(unit) then
local class = E.media.herocolor
if not class then
local _, class = UnitClass(unit)
local color = UnitIsUnit("player", unit) and E.media.herocolor or RAID_CLASS_COLORS[class]
if not color then
return 194, 194, 194
end
return class.r*255, class.g*255, class.b*255
return color.r*255, color.g*255, color.b*255
end
local unitReaction = UnitReaction(unit, "player")
@@ -21,7 +21,8 @@ function NP:Update_HealthColor(frame)
local r, g, b
local scale = 1
local classColor = E.media.herocolor
local class = frame.UnitClass
local classColor = RAID_CLASS_COLORS[class]
local useClassColor = NP.db.units[frame.UnitType].health.useClassColor
if classColor and ((frame.UnitType == "FRIENDLY_PLAYER" and useClassColor) or (frame.UnitType == "ENEMY_PLAYER" and useClassColor)) then
r, g, b = classColor.r, classColor.g, classColor.b
+1 -1
View File
@@ -52,7 +52,7 @@ function NP:Update_Name(frame, triggered)
local classColor, useClassColor
if class then
classColor = E.media.herocolor
classColor = RAID_CLASS_COLORS[class]
useClassColor = self.db.units[frame.UnitType].name and self.db.units[frame.UnitType].name.useClassColor
end
+1 -1
View File
@@ -90,7 +90,7 @@ S:AddCallback("Skin_WorldStateScore", function()
name = format("%s|cffffffff - |r%s%s|r", name, color, realm)
end
classTextColor = E.media.herocolor
classTextColor = RAID_CLASS_COLORS[classToken]
nameText = _G["WorldStateScoreButton"..i.."NameText"]
nameText:SetText(name)
+3 -3
View File
@@ -199,7 +199,7 @@ S:AddCallback("Skin_Friends", function()
_, _, level, _, _, _, classFileName = GetWhoInfo(button.whoIndex)
if classFileName then
classTextColor = E.media.herocolor
classTextColor = RAID_CLASS_COLORS[classFileName]
button.icon:Show()
button.icon:SetTexCoord(unpack(CLASS_ICON_TCOORDS[classFileName]))
else
@@ -327,7 +327,7 @@ S:AddCallback("Skin_Friends", function()
_, _, _, level, _, _, _, _, online, _, classFileName = GetGuildRosterInfo(button.guildIndex)
if classFileName then
if online then
classTextColor = E.media.herocolor
classTextColor = RAID_CLASS_COLORS[classFileName]
levelTextColor = GetQuestDifficultyColor(level)
buttonText = _G["GuildFrameButton"..i.."Name"]
buttonText:SetTextColor(classTextColor.r, classTextColor.g, classTextColor.b)
@@ -343,7 +343,7 @@ S:AddCallback("Skin_Friends", function()
_, _, _, _, _, _, _, _, online, _, classFileName = GetGuildRosterInfo(button.guildIndex)
if classFileName then
if online then
classTextColor = E.media.herocolor
classTextColor = RAID_CLASS_COLORS[classFileName]
_G["GuildFrameGuildStatusButton"..i.."Name"]:SetTextColor(classTextColor.r, classTextColor.g, classTextColor.b)
_G["GuildFrameGuildStatusButton"..i.."Online"]:SetTextColor(1.0, 1.0, 1.0)
end
+10 -6
View File
@@ -222,7 +222,7 @@ function TT:SetUnitText(tt, unit, level, isShiftKeyDown)
local guildName, guildRankName = GetGuildInfo(unit)
local pvpName = UnitPVPName(unit)
color = E.media.herocolor
color = UnitIsUnit("player", unit) and E.media.herocolor or RAID_CLASS_COLORS[class]
if self.db.playerTitles and pvpName then
name = pvpName
@@ -276,7 +276,7 @@ function TT:SetUnitText(tt, unit, level, isShiftKeyDown)
end
if not color then
color = E.media.herocolor
color = UnitIsUnit("player", unit) and E.media.herocolor or RAID_CLASS_COLORS[class]
end
local levelLine = self:GetLevelLine(tt, 2)
@@ -379,13 +379,15 @@ function TT:GameTooltip_OnTooltipSetUnit(tt)
if unit ~= "player" and UnitExists(unitTarget) then
local targetColor
if UnitIsPlayer(unitTarget) and not UnitHasVehicleUI(unitTarget) then
targetColor = E.media.herocolor
local _, class = UnitClass(unitTarget)
targetColor = UnitIsUnit("player", unitTarget) and E.media.herocolor or RAID_CLASS_COLORS[class]
else
targetColor = E.db.tooltip.useCustomFactionColors and E.db.tooltip.factionColors[UnitReaction(unitTarget, "player")] or FACTION_BAR_COLORS[UnitReaction(unitTarget, "player")]
end
if not targetColor then
targetColor = E.media.herocolor
local _, class = UnitClass(unitTarget)
targetColor = UnitIsUnit("player", unitTarget) and E.media.herocolor or RAID_CLASS_COLORS[class]
end
tt:AddDoubleLine(format("%s:", TARGET), format("|cff%02x%02x%02x%s|r", targetColor.r * 255, targetColor.g * 255, targetColor.b * 255, UnitName(unitTarget)))
@@ -400,7 +402,8 @@ function TT:GameTooltip_OnTooltipSetUnit(tt)
local groupUnit = (inRaid and "raid"..i or "party"..i)
if not UnitIsUnit(groupUnit, "player") and UnitIsUnit(groupUnit.."target", unit) then
local classColor = E.media.herocolor
local _, class = UnitClass(groupUnit)
local classColor = RAID_CLASS_COLORS[class]
tinsert(targetList, format("%s%s", E:RGBToHex(classColor.r, classColor.g, classColor.b), UnitName(groupUnit)))
end
@@ -560,7 +563,8 @@ function TT:SetUnitAura(tt, ...)
if id and self.db.spellID then
if caster then
local name = UnitName(caster)
local color = E.media.herocolor
local _, class = UnitClass(caster)
local color = UnitIsUnit("player", caster) and E.media.herocolor or RAID_CLASS_COLORS[class]
tt:AddDoubleLine(format("|cFFCA3C3C%s|r %d", ID, id), format("%s%s", E:RGBToHex(color.r, color.g, color.b), name))
else
tt:AddLine(format("|cFFCA3C3C%s|r %d", ID, id))
@@ -384,7 +384,8 @@ function UF:PostCastStart(unit)
if (self.notInterruptible and unit ~= "player") and UnitCanAttack("player", unit) then
r, g, b = colors.castNoInterrupt[1], colors.castNoInterrupt[2], colors.castNoInterrupt[3]
elseif UF.db.colors.castClassColor and UnitIsPlayer(unit) then
local t = E.media.herocolor
local _, class = UnitClass(unit)
local t = UnitIsUnit("player", unit) and E.media.herocolor or RAID_CLASS_COLORS[class]
if t then r, g, b = t[1], t[2], t[3] end
elseif UF.db.colors.castReactionColor then
local Reaction = UnitReaction(unit, "player")
@@ -411,7 +412,8 @@ function UF:PostCastInterruptible(unit)
if self.notInterruptible and UnitCanAttack("player", unit) then
r, g, b = colors.castNoInterrupt[1], colors.castNoInterrupt[2], colors.castNoInterrupt[3]
elseif UF.db.colors.castClassColor and UnitIsPlayer(unit) then
local t = E.media.herocolor
local _, class = UnitClass(unit)
local t = UnitIsUnit("player", unit) and E.media.herocolor or RAID_CLASS_COLORS[class]
if t then r, g, b = t[1], t[2], t[3] end
elseif UF.db.colors.castReactionColor then
local Reaction = UnitReaction(unit, "player")
@@ -186,7 +186,7 @@ function UF:FrameGlow_SetGlowColor(glow, unit, which)
if isPlayer then
local _, class = UnitClass(unit)
if class then
local color = E.media.herocolor
local color = UnitIsUnit("player", unit) and E.media.herocolor or RAID_CLASS_COLORS[class]
if color then
r, g, b = color.r, color.g, color.b
end
+290
View File
@@ -43,6 +43,149 @@ G.unitframe = {
otherFilter = "CCDebuffs",
},
spellRangeCheck = {
PRIEST = {
enemySpells = {
[585] = true, -- Smite (30 yards)
},
longEnemySpells = {
[589] = true, -- Shadow Word: Pain (30 yards)
},
friendlySpells = {
[2050] = true, -- Lesser Heal (40 yards)
},
resSpells = {
[2006] = true, -- Resurrection (40 yards)
},
petSpells = {},
},
DRUID = {
enemySpells = {
[33786] = true, -- Cyclone (20 yards)
},
longEnemySpells = {
[5176] = true, -- Wrath (30 yards)
},
friendlySpells = {
[5185] = true, -- Healing Touch (40 yards)
},
resSpells = {
[50769] = true, -- Revive (30 yards)
[20484] = true, -- Rebirth (30 yards)
},
petSpells = {},
},
PALADIN = {
enemySpells = {
[20271] = true, -- Judgement (10 yards)
},
longEnemySpells = {
[879] = true, -- Exorcism (30 yards)
},
friendlySpells = {
[635] = true, -- Holy Light (40 yards)
},
resSpells = {
[7328] = true, -- Redemption (30 yards)
},
petSpells = {},
},
SHAMAN = {
enemySpells = {
[51514] = true, -- Hex (20 yards)
[8042] = true, -- Earth Shock (25 yards)
},
longEnemySpells = {
[403] = true, -- Lightning Bolt (30 yards)
},
friendlySpells = {
[331] = true, -- Healing Wave (40 yards)
},
resSpells = {
[2008] = true, -- Ancestral Spirit (30 yards)
},
petSpells = {},
},
WARLOCK = {
enemySpells = {
[5782] = true, -- Fear (20 yards)
},
longEnemySpells = {
[686] = true, -- Shadow Bolt (30 yards)
},
friendlySpells = {
[5697] = true, -- Unending Breath (30 yards)
},
resSpells = {},
petSpells = {
[755] = true, -- Health Funnel (45 yards)
},
},
MAGE = {
enemySpells = {
[2136] = true, -- Fire Blast (20 yards)
[12826] = true, -- Polymorph (30 yards)
},
longEnemySpells = {
[133] = true, -- Fireball (35 yards)
[44614] = true, -- Frostfire Bolt (40 yards)
},
friendlySpells = {
[475] = true, -- Remove Curse (40 yards)
},
resSpells = {},
petSpells = {},
},
HUNTER = {
enemySpells = {
[75] = true, -- Auto Shot (35 yards)
},
longEnemySpells = {},
friendlySpells = {},
resSpells = {},
petSpells = {
[136] = true, -- Mend Pet (45 yards)
},
},
DEATHKNIGHT = {
enemySpells = {
[49576] = true, -- Death Grip (30 yards)
},
longEnemySpells = {},
friendlySpells = {
[47541] = true, -- Death Coil (40 yards)
},
resSpells = {
[61999] = true, -- Raise Ally (30 yards)
},
petSpells = {},
},
ROGUE = {
enemySpells = {
[2094] = true, -- Blind (10 yards)
},
longEnemySpells = {
[26679] = true, -- Deadly Throw (30 yards)
},
friendlySpells = {
[57934] = true, -- Tricks of the Trade (20 yards)
},
resSpells = {},
petSpells = {},
},
WARRIOR = {
enemySpells = {
[5246] = true, -- Intimidating Shout (8 yards)
[100] = true, -- Charge (25 yards)
},
longEnemySpells = {
[355] = true, -- Taunt (30 yards)
},
friendlySpells = {
[3411] = true, -- Intervene (25 yards)
},
resSpells = {},
petSpells = {},
},
HERO = {
enemySpells = {
[5246] = true, -- Intimidating Shout (8 yards)
@@ -113,6 +256,153 @@ G.unitframe = {
[34026] = true, -- Kill Command (45 yards)
},
},
NECROMANCER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
PYROMANCER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
CULTIST = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
STARCALLER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
SUNCLERIC = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
TINKER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
SPIRITMAGE = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
WILDWALKER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
REAPER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
PROPHET = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
CHRONOMANCER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
SONOFARUGAL = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
GUARDIAN = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
STORMBRINGER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
DEMONHUNTER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
BARBARIAN = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
WITCHDOCTOR = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
WITCHHUNTER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
FLESHWARDEN = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
MONK = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
RANGER = {
enemySpells = {}, -- Damage Spells
longEnemySpells = {}, -- Dots
friendlySpells = {}, -- Heals
resSpells = {}, -- Rez Spells
petSpells = {}, -- Pet Abilities
},
}
}
+1 -1
View File
@@ -30,7 +30,7 @@ P.general = {
backdropcolor = {r = 0.1, g = 0.1, b = 0.1},
backdropfadecolor = {r = 0.06, g = 0.06, b = 0.06, a = 0.8},
valuecolor = {r = 0.99, g = 0.48, b = 0.17},
herocolor = {r = 0.0, g = 1.0, b = 0.0},
herocolor = RAID_CLASS_COLORS[E.myclass],
cropIcon = 2,
minimap = {
size = 176,
+12
View File
@@ -0,0 +1,12 @@
## Interface: 30300
## Author: Bunny, Azilroka, Sortokk
## Version: 1.06
## Title: |cff1784d1E|r|cffe5e3e3lvUI|r |cff1784d1A|r|cffe5e3e3dd|r|cff1784d1O|r|cffe5e3e3n|r |cff1784d1S|r|cffe5e3e3kins|r
## Notes: AddOn skins for ElvUI :)
## RequiredDeps: ElvUI
Locales\Load_Locales.xml
Settings\Load_Settings.xml
Core.lua
Skins\Load_Skins.xml
Modules\Load_Modules.xml
+11
View File
@@ -0,0 +1,11 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="enUS.lua"/>
<Script file="deDE.lua"/>
<Script file="esMX.lua"/>
<Script file="frFR.lua"/>
<Script file="koKR.lua"/>
<Script file="ptBR.lua"/>
<Script file="ruRU.lua"/>
<Script file="zhTW.lua"/>
<Script file="zhCN.lua"/>
</Ui>
+22
View File
@@ -0,0 +1,22 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "deDE")
L["AddOn Skins"] = true
L["AuraBar Backdrop"] = true
L["DBM Half-bar Skin"] = "DBM Halbeleisten Skin"
L["Default"] = true
L["Double"] = true
L["Embed Type"] = true
L["Font Size"] = true
L["Icon Cooldown"] = true
L["Left Panel"] = true
L["Left Window Width"] = true
L["Misc Options"] = true
L["None"] = "Nichts"
L["Right Panel"] = true
L["Single"] = true
L["Template Gloss"] = true
L["Template"] = true
L["Title Template Gloss"] = true
L["Title Template"] = true
L["Toggle Embedded Addon"] = true
+22
View File
@@ -0,0 +1,22 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "enUS", true, true)
L["AddOn Skins"] = true
L["AuraBar Backdrop"] = true
L["DBM Half-bar Skin"] = true
L["Default"] = true
L["Double"] = true
L["Embed Type"] = true
L["Font Size"] = true
L["Icon Cooldown"] = true
L["Left Panel"] = true
L["Left Window Width"] = true
L["Misc Options"] = true
L["None"] = true
L["Right Panel"] = true
L["Single"] = true
L["Template Gloss"] = true
L["Template"] = true
L["Title Template Gloss"] = true
L["Title Template"] = true
L["Toggle Embedded Addon"] = true
+22
View File
@@ -0,0 +1,22 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "esMX")
L["AddOn Skins"] = true
L["AuraBar Backdrop"] = true
L["DBM Half-bar Skin"] = true
L["Default"] = true
L["Double"] = true
L["Embed Type"] = true
L["Font Size"] = true
L["Icon Cooldown"] = true
L["Left Panel"] = true
L["Left Window Width"] = true
L["Misc Options"] = true
L["None"] = true
L["Right Panel"] = true
L["Single"] = true
L["Template Gloss"] = true
L["Template"] = true
L["Title Template Gloss"] = true
L["Title Template"] = true
L["Toggle Embedded Addon"] = true
+22
View File
@@ -0,0 +1,22 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "frFR")
L["AddOn Skins"] = "Skins d'AddOn"
L["AuraBar Backdrop"] = true
L["DBM Half-bar Skin"] = "Skin Demi-Bar pour DBM"
L["Default"] = true
L["Double"] = true
L["Embed Type"] = true
L["Font Size"] = true
L["Icon Cooldown"] = true
L["Left Panel"] = true
L["Left Window Width"] = true
L["Misc Options"] = true
L["None"] = "Aucun"
L["Right Panel"] = true
L["Single"] = true
L["Template Gloss"] = true
L["Template"] = true
L["Title Template Gloss"] = true
L["Title Template"] = true
L["Toggle Embedded Addon"] = true
+22
View File
@@ -0,0 +1,22 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "koKR")
L["AddOn Skins"] = true
L["AuraBar Backdrop"] = true
L["DBM Half-bar Skin"] = true
L["Default"] = true
L["Double"] = true
L["Embed Type"] = true
L["Font Size"] = true
L["Icon Cooldown"] = true
L["Left Panel"] = true
L["Left Window Width"] = true
L["Misc Options"] = true
L["None"] = true
L["Right Panel"] = true
L["Single"] = true
L["Template Gloss"] = true
L["Template"] = true
L["Title Template Gloss"] = true
L["Title Template"] = true
L["Toggle Embedded Addon"] = true
+22
View File
@@ -0,0 +1,22 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "ptBR")
L["AddOn Skins"] = true
L["AuraBar Backdrop"] = true
L["DBM Half-bar Skin"] = "Skin Meia-barra para DBM"
L["Default"] = true
L["Double"] = true
L["Embed Type"] = true
L["Font Size"] = true
L["Icon Cooldown"] = true
L["Left Panel"] = true
L["Left Window Width"] = true
L["Misc Options"] = true
L["None"] = true
L["Right Panel"] = true
L["Single"] = true
L["Template Gloss"] = true
L["Template"] = true
L["Title Template Gloss"] = true
L["Title Template"] = true
L["Toggle Embedded Addon"] = true
+22
View File
@@ -0,0 +1,22 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "ruRU")
L["AddOn Skins"] = "Скины аддонов"
L["AuraBar Backdrop"] = true
L["DBM Half-bar Skin"] = "DBM режим тонких полос"
L["Default"] = true
L["Double"] = "Двойной"
L["Embed Type"] = "Тип встраивания"
L["Font Size"] = true
L["Icon Cooldown"] = true
L["Left Panel"] = "Левое окно"
L["Left Window Width"] = "Ширина левого окна"
L["Misc Options"] = true
L["None"] = "Нет"
L["Right Panel"] = "Правое окно"
L["Single"] = "Одинарный"
L["Template Gloss"] = true
L["Template"] = true
L["Title Template Gloss"] = true
L["Title Template"] = true
L["Toggle Embedded Addon"] = true
+22
View File
@@ -0,0 +1,22 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "zhCN")
L["AddOn Skins"] = "插件皮肤"
L["AuraBar Backdrop"] = "光环条背景"
L["DBM Half-bar Skin"] = "DBM 半高计时条"
L["Default"] = "默认"
L["Double"] = "双内嵌"
L["Embed Type"] = "内嵌样式"
L["Font Size"] = "字体大小"
L["Icon Cooldown"] = "图标冷却"
L["Left Panel"] = "左面板"
L["Left Window Width"] = "左窗口宽度"
L["Misc Options"] = "其它选项"
L["None"] = ""
L["Right Panel"] = "右面板"
L["Single"] = "单内嵌"
L["Template Gloss"] = "样式光泽"
L["Template"] = "样式"
L["Title Template Gloss"] = "标题样式光泽"
L["Title Template"] = "标题样式"
L["Toggle Embedded Addon"] = "调试内嵌插件"
+22
View File
@@ -0,0 +1,22 @@
local E = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local L = E.Libs.ACL:NewLocale("ElvUI", "zhTW")
L["AddOn Skins"] = "插件美化"
L["AuraBar Backdrop"] = true
L["DBM Half-bar Skin"] = "DBM 計時條美化"
L["Default"] = true
L["Double"] = true
L["Embed Type"] = true
L["Font Size"] = true
L["Icon Cooldown"] = true
L["Left Panel"] = true
L["Left Window Width"] = true
L["Misc Options"] = true
L["None"] = ""
L["Right Panel"] = true
L["Single"] = true
L["Template Gloss"] = true
L["Template"] = true
L["Title Template Gloss"] = true
L["Title Template"] = true
L["Toggle Embedded Addon"] = true
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="Embed.lua"/>
</Ui>
+569
View File
@@ -0,0 +1,569 @@
local E, L, V, P, G = unpack(ElvUI)
local EMB = E:NewModule("EmbedSystem")
local AS = E:GetModule("AddOnSkins")
local _G = _G
local pairs = pairs
local floor = math.floor
local lower, match = string.lower, string.match
local tinsert = table.insert
local hooksecurefunc = hooksecurefunc
local NUM_CHAT_WINDOWS = NUM_CHAT_WINDOWS
function EMB:GetChatWindowInfo()
local chatTabInfo = {["NONE"] = "NONE"}
for i = 1, NUM_CHAT_WINDOWS do
chatTabInfo["ChatFrame"..i] = _G["ChatFrame"..i.."Tab"]:GetText()
end
return chatTabInfo
end
function EMB:ToggleChatFrame(hide)
local chatFrame = E.db.addOnSkins.embed.hideChat
if chatFrame == "NONE" then return end
if hide then
_G[chatFrame].originalParent = _G[chatFrame]:GetParent()
_G[chatFrame]:SetParent(E.HiddenFrame)
_G[chatFrame.."Tab"].originalParent = _G[chatFrame.."Tab"]:GetParent()
_G[chatFrame.."Tab"]:SetParent(E.HiddenFrame)
else
if _G[chatFrame].originalParent then
_G[chatFrame]:SetParent(_G[chatFrame].originalParent)
_G[chatFrame.."Tab"]:SetParent(_G[chatFrame.."Tab"].originalParent)
end
end
end
function EMB:EmbedShow()
if _G[self.leftFrame.frameName] then
_G[self.leftFrame.frameName]:Show()
end
if E.db.addOnSkins.embed.embedType == "DOUBLE" then
if _G[self.rightFrame.frameName] then
_G[self.rightFrame.frameName]:Show()
end
end
self:ToggleChatFrame(true)
self.switchButton:SetAlpha(1)
end
function EMB:EmbedHide()
if _G[self.leftFrame.frameName] then
_G[self.leftFrame.frameName]:Hide()
end
if E.db.addOnSkins.embed.embedType == "DOUBLE" then
if _G[self.rightFrame.frameName] then
_G[self.rightFrame.frameName]:Hide()
end
end
self:ToggleChatFrame(false)
self.switchButton:SetAlpha(0.6)
end
function EMB:CheckEmbed(addon)
local db = E.db.addOnSkins.embed
local left, right, embed = lower(db.leftWindow), lower(db.rightWindow), lower(addon)
if AS:IsAddonEnabled(addon) and ((db.embedType == "SINGLE" and match(left, embed)) or db.embedType == "DOUBLE" and (match(left, embed) or match(right, embed))) then
return true
else
return false
end
end
function EMB:EmbedUpdate()
if E.db.addOnSkins.embed.embedType == "DISABLE" then return end
if not self.embedCreated then
self:EmbedCreate()
end
self:WindowResize()
if self:CheckEmbed("Omen") then self:EmbedOmen() end
if self:CheckEmbed("Recount") then self:EmbedRecount() end
if self:CheckEmbed("Skada") then self:EmbedSkada() end
if self:CheckEmbed("Details") then self:EmbedDetails() end
end
function EMB:SetHooks()
hooksecurefunc(E:GetModule("Chat"), "PositionChat", function(self, override)
if override then
EMB:EmbedUpdate()
end
end)
hooksecurefunc(E:GetModule("Layout"), "ToggleChatPanels", function() EMB:EmbedUpdate() end)
hooksecurefunc(LeftChatPanel, "fadeFunc", function()
LeftChatPanel:Hide()
if not E.db.addOnSkins.embed.rightChatPanel then
EMB.switchButton:Hide()
end
end)
hooksecurefunc(RightChatPanel, "fadeFunc", function()
RightChatPanel:Hide()
if E.db.addOnSkins.embed.rightChatPanel then
EMB.switchButton:Hide()
end
end)
local rightChatToggleOnClickOriginal = RightChatToggleButton:GetScript("OnClick")
RightChatToggleButton:RegisterForClicks("AnyDown")
RightChatToggleButton:SetScript("OnClick", function(self, btn)
if btn == "RightButton" then
if E.db.addOnSkins.embed.rightChatPanel then
if EMB.mainFrame:IsShown() then
EMB.mainFrame:Hide()
else
EMB.mainFrame:Show()
end
end
else
rightChatToggleOnClickOriginal(self, btn)
end
EMB:UpdateSwitchButton()
end)
RightChatToggleButton:HookScript("OnEnter", function()
if E.db.addOnSkins.embed.rightChatPanel then
GameTooltip:AddDoubleLine(L["Right Click:"], L["Toggle Embedded Addon"], 1, 1, 1)
GameTooltip:Show()
EMB:UpdateSwitchButton()
end
end)
local leftChatToggleOnClickOriginal = LeftChatToggleButton:GetScript("OnClick")
LeftChatToggleButton:RegisterForClicks("AnyDown")
LeftChatToggleButton:SetScript("OnClick", function(self, btn)
if btn == "RightButton" then
if not E.db.addOnSkins.embed.rightChatPanel then
if EMB.mainFrame:IsShown() then
EMB.mainFrame:Hide()
else
EMB.mainFrame:Show()
end
end
else
leftChatToggleOnClickOriginal(self, btn)
end
EMB:UpdateSwitchButton()
end)
LeftChatToggleButton:HookScript("OnEnter", function()
if not E.db.addOnSkins.embed.rightChatPanel then
GameTooltip:AddDoubleLine(L["Right Click:"], L["Toggle Embedded Addon"], 1, 1, 1)
GameTooltip:Show()
EMB:UpdateSwitchButton()
end
end)
end
function EMB:WindowResize()
if not self.embedCreated then return end
local db = E.db.addOnSkins.embed
local SPACING = E.Border + E.Spacing
local chatPanel = db.rightChatPanel and RightChatPanel or LeftChatPanel
local chatTab = db.rightChatPanel and RightChatTab or LeftChatTab
local chatData = db.rightChatPanel and RightChatDataPanel or LeftChatToggleButton
local topRight = chatData == RightChatDataPanel and (E.db.datatexts.rightChatPanel and "TOPLEFT" or "BOTTOMLEFT") or chatData == LeftChatToggleButton and (E.db.datatexts.leftChatPanel and "TOPLEFT" or "BOTTOMLEFT")
local yOffset = (chatData == RightChatDataPanel and E.db.datatexts.rightChatPanel and SPACING) or (chatData == LeftChatToggleButton and E.db.datatexts.leftChatPanel and SPACING) or 0
local xOffset = (E.db.chat.panelBackdrop == "RIGHT" and db.rightChatPanel and 0) or (E.db.chat.panelBackdrop == "LEFT" and not db.rightChatPanel and 0) or (E.db.chat.panelBackdrop == "SHOWBOTH" and 0) or E.Border*3 - E.Spacing
local isDouble = db.embedType == "DOUBLE"
self.mainFrame:SetParent(chatPanel)
self.mainFrame:ClearAllPoints()
self.mainFrame:Point("BOTTOMLEFT", chatData, topRight, 0, yOffset)
self.mainFrame:Point("TOPRIGHT", chatTab, db.belowTopTab and "BOTTOMRIGHT" or "TOPRIGHT", xOffset, db.belowTopTab and -SPACING or 0)
if isDouble then
self.leftFrame:ClearAllPoints()
self.leftFrame:Point("TOPLEFT", self.mainFrame)
self.leftFrame:Point("BOTTOMRIGHT", self.mainFrame, "BOTTOMRIGHT", -(self.mainFrame:GetWidth() - db.leftWindowWidth + SPACING), 0)
self.rightFrame:ClearAllPoints()
self.rightFrame:Point("TOPLEFT", self.leftFrame, "TOPRIGHT", SPACING, 0)
self.rightFrame:Point("BOTTOMRIGHT", self.mainFrame)
else
self.leftFrame:ClearAllPoints()
self.leftFrame:Point("TOPLEFT", self.mainFrame)
self.leftFrame:Point("BOTTOMRIGHT", self.mainFrame)
end
self:UpdateSwitchButton()
if IsAddOnLoaded("ElvUI_Config") then
E.Options.args.addOnSkins.args.embed.args.leftWindowWidth.min = floor(chatPanel:GetWidth() * .25)
E.Options.args.addOnSkins.args.embed.args.leftWindowWidth.max = floor(chatPanel:GetWidth() * .75)
end
end
function EMB:UpdateSwitchButton()
local db = E.db.addOnSkins.embed
local chatPanel = db.rightChatPanel and RightChatPanel or LeftChatPanel
local chatTab = db.rightChatPanel and RightChatTab or LeftChatTab
local isDouble = db.embedType == "DOUBLE"
self.switchButton:SetParent(chatPanel)
if db.belowTopTab and chatPanel:IsShown() then
self.switchButton:Show()
self.switchButton.text:SetText(isDouble and db.leftWindow.." / "..db.rightWindow or db.leftWindow)
self.switchButton:ClearAllPoints()
if E.Chat.RightChatWindowID and _G["ChatFrame"..E.Chat.RightChatWindowID.."Tab"]:IsVisible() then
self.switchButton:Point("LEFT", _G["ChatFrame"..E.Chat.RightChatWindowID.."Tab"], "RIGHT", 0, 0)
else
self.switchButton:Point(db.rightChatPanel and "LEFT" or "RIGHT", chatTab, 5, 4)
end
elseif self.switchButton:IsShown() then
self.switchButton:Hide()
end
end
function EMB:EmbedCreate()
if self.embedCreated then return end
self.mainFrame = CreateFrame("Frame", "ElvUI_AddOnSkins_Embed_MainWindow", UIParent)
self.leftFrame = CreateFrame("Frame", "ElvUI_AddOnSkins_Embed_LeftWindow", self.mainFrame)
self.rightFrame = CreateFrame("Frame", "ElvUI_AddOnSkins_Embed_RightWindow", self.mainFrame)
self.switchButton = CreateFrame("Button", "ElvUI_AddOnSkins_Embed_SwitchButton", UIParent)
self.switchButton:Size(120, 32)
self.switchButton:RegisterForClicks("AnyUp")
self.switchButton.text = self.switchButton:CreateFontString(nil, "OVERLAY")
self.switchButton.text:FontTemplate(E.LSM:Fetch("font", E.db.chat.tabFont), E.db.chat.tabFontSize, E.db.chat.tabFontOutline)
self.switchButton.text:SetTextColor(unpack(E["media"].rgbvaluecolor))
self.switchButton.text:SetPoint("LEFT", 16, -5)
self.switchButton:SetScript("OnClick", function(self, button)
if EMB.mainFrame:IsShown() then
EMB.mainFrame:Hide()
self:SetAlpha(0.6)
else
EMB.mainFrame:Show()
self:SetAlpha(1)
end
EMB:UpdateSwitchButton()
end)
self.switchButton:SetScript("OnMouseDown", function(self) self.text:Point("LEFT", 18, -7) end)
self.switchButton:SetScript("OnMouseUp", function(self) self.text:Point("LEFT", 16, -5) end)
self.mainFrame:SetScript("OnShow", function() EMB:EmbedShow() end)
self.mainFrame:SetScript("OnHide", function() EMB:EmbedHide() end)
self.embedCreated = true
self:SetHooks()
self:ToggleChatFrame(false)
self:EmbedUpdate()
end
if AS:IsAddonLODorEnabled("Recount") then
function EMB:EmbedRecount()
local parent = self.leftFrame
if E.db.addOnSkins.embed.embedType == "DOUBLE" then
parent = E.db.addOnSkins.embed.rightWindow == "Recount" and self.rightFrame or self.leftFrame
end
parent.frameName = "Recount_MainWindow"
Recount_MainWindow:SetParent(parent)
Recount_MainWindow:ClearAllPoints()
Recount_MainWindow:SetPoint("TOPLEFT", parent, "TOPLEFT", E.PixelMode and -1 or 0, E.PixelMode and 8 or 7)
Recount_MainWindow:SetPoint("BOTTOMRIGHT", parent, "BOTTOMRIGHT", E.PixelMode and 1 or 0, E.PixelMode and -1 or 0)
Recount.db.profile.Locked = true
Recount.db.profile.Scaling = 1
Recount.db.profile.ClampToScreen = true
Recount.db.profile.FrameStrata = "2-LOW"
Recount:SetStrataAndClamp()
Recount:LockWindows(true)
Recount_MainWindow:StartSizing("BOTTOMLEFT")
Recount_MainWindow:StopMovingOrSizing()
Recount:ResizeMainWindow()
end
end
if AS:IsAddonLODorEnabled("Omen") then
function EMB:EmbedOmen()
local parent = self.leftFrame
if E.db.addOnSkins.embed.embedType == "DOUBLE" then
parent = E.db.addOnSkins.embed.rightWindow == "Omen" and self.rightFrame or self.leftFrame
end
parent.frameName = "OmenAnchor"
local db = Omen.db
db.profile.Scale = 1
db.profile.Bar.Spacing = 1
db.profile.Background.EdgeSize = 1
db.profile.Background.BarInset = 1
-- db.profile.TitleBar.Height = 22
db.profile.TitleBar.UseSameBG = true
db.profile.ShowWith.UseShowWith = false
db.profile.Locked = true
db.profile.TitleBar.ShowTitleBar = true
db.profile.FrameStrata = "2-LOW"
OmenAnchor:SetParent(parent)
OmenAnchor:ClearAllPoints()
OmenAnchor:SetAllPoints()
if not self.omenHooked then
hooksecurefunc(Omen, "SetAnchors", function(self, useDB)
if useDB then
self.Anchor:SetParent(parent)
self.Anchor:SetInside(parent, 0, 0)
end
end)
self.omenHooked = true
end
Omen:UpdateBackdrop()
end
end
if AS:IsAddonLODorEnabled("Skada") then
EMB.skadaWindows = {}
local function EmbedWindow(window, width, height, point, relativeFrame, relativePoint, ofsx, ofsy)
if not window then return end
local barmod = Skada.displays["bar"]
window.db.barwidth = width
window.db.spark = false
window.db.barslocked = true
window.db.enablebackground = true
window.bargroup:SetParent(relativeFrame)
window.bargroup:SetFrameStrata("LOW")
if Skada.revisited then
local offsety = window.db.reversegrowth and -E.Border or E.Border
window.db.scale = 1
window.db.background.height = height - (E.Border * 2)
window.bargroup.ClearAllPoints = nil
window.bargroup:ClearAllPoints()
window.bargroup.ClearAllPoints = E.noop
window.bargroup.SetPoint = nil
window.bargroup:SetPoint(point, relativeFrame, relativePoint, ofsx, -offsety)
window.bargroup.SetPoint = E.noop
if window.bargroup.backdrop then
window.bargroup.backdrop:SetFrameStrata("LOW")
window.bargroup.backdrop:SetFrameLevel(window.bargroup:GetFrameLevel() - 1)
end
else
window.db.background.height = height - (window.db.enabletitle and window.db.barheight or -(E.Border + E.Spacing)) - (E.Border + E.Spacing)
window.db.enablebackground = true
window.bargroup:ClearAllPoints()
window.bargroup:SetPoint(point, relativeFrame, relativePoint, ofsx, window.db.reversegrowth and ofsy or -ofsy)
window.bargroup.bgframe:SetFrameStrata("LOW")
window.bargroup.bgframe:SetFrameLevel(window.bargroup:GetFrameLevel() - 1)
end
barmod.ApplySettings(barmod, window)
if Skada.revisited then
window:Toggle()
end
end
function EMB:EmbedSkada()
wipe(self.skadaWindows)
for _, window in ipairs(Skada:GetWindows()) do
tinsert(self.skadaWindows, window)
end
local db = E.db.addOnSkins.embed
local numberToEmbed = 0
if db.embedType == "SINGLE" then
numberToEmbed = 1
elseif db.embedType == "DOUBLE" then
if db.rightWindow == "Skada" then numberToEmbed = numberToEmbed + 1 end
if db.leftWindow == "Skada" then numberToEmbed = numberToEmbed + 1 end
end
local point
if numberToEmbed == 1 then
local parent = self.leftFrame
if db.embedType == "DOUBLE" then
parent = db.rightWindow == "Skada" and self.rightFrame or self.leftFrame
end
point = self.skadaWindows[1].db.reversegrowth and "BOTTOMLEFT" or "TOPLEFT"
EmbedWindow(self.skadaWindows[1], parent:GetWidth() -(E.Border*2), parent:GetHeight(), point, parent, point, E.Border, E.Border)
elseif numberToEmbed == 2 then
point = self.skadaWindows[1].db.reversegrowth and "BOTTOMLEFT" or "TOPLEFT"
EmbedWindow(self.skadaWindows[1], self.leftFrame:GetWidth() -(E.Border*2), self.leftFrame:GetHeight(), point, self.leftFrame, point, E.Border, E.Border)
if not self.skadaWindows[2] then
E:Print("Please Create Skada Windows 2")
return
end
point = self.skadaWindows[2].db.reversegrowth and "BOTTOMRIGHT" or "TOPRIGHT"
EmbedWindow(self.skadaWindows[2], self.rightFrame:GetWidth() -(E.Border*2), self.rightFrame:GetHeight(), point, self.rightFrame, point, -E.Border, E.Border)
end
end
end
if AS:IsAddonLODorEnabled("Details") then
local Details = _G._details or _G._detalhes
local numberToEmbed = 0
EMB.DetailsInstances = {}
local listener = Details:CreateEventListener()
listener:RegisterEvent("DETAILS_INSTANCE_OPEN")
listener:RegisterEvent("DETAILS_INSTANCE_CLOSE")
function listener:OnDetailsEvent(event, instance)
if event == "DETAILS_INSTANCE_CLOSE" then
if instance._ElvUIEmbed and _G.DetailsOptionsWindow and _G.DetailsOptionsWindow:IsShown() then
Details:Msg("You just closed a window Embed on ElvUI, if wasn't intended click on Reopen.") --> need localization
end
elseif event == "DETAILS_INSTANCE_OPEN" then
if instance._ElvUIEmbed then
if #EMB.DetailsInstances >= 2 then
EMB.DetailsInstances[1]:UngroupInstance()
EMB.DetailsInstances[2]:UngroupInstance()
EMB.DetailsInstances[1].baseframe:ClearAllPoints()
EMB.DetailsInstances[2].baseframe:ClearAllPoints()
EMB.DetailsInstances[1]:RestoreMainWindowPosition()
EMB.DetailsInstances[2]:RestoreMainWindowPosition()
end
end
end
end
local function EmbedWindow(window, width, height, point, relativeFrame, relativePoint, ofsx, ofsy)
if not window then return end
if not window:IsEnabled() then
window:EnableInstance()
end
window._ElvUIEmbed = true
if window.bars_grow_direction == 2 then
ofsy = -2
else
ofsy = -20
end
window:UngroupInstance()
window.baseframe:ClearAllPoints()
window.baseframe:SetParent(relativeFrame)
window.baseframe:SetFrameStrata(relativeFrame:GetFrameStrata())
window.baseframe:SetFrameLevel(relativeFrame:GetFrameLevel())
ofsx = ofsx - 1
if window.show_statusbar then
height = height - 13
end
window:SetSize(width, height - 20)
window.baseframe:SetPoint(point, relativeFrame, relativePoint, ofsx, ofsy)
window:SaveMainWindowPosition()
window:RestoreMainWindowPosition()
window:LockInstance(true)
if window:GetId() == 1 then
DetailsRowFrame1:SetParent(DetailsBaseFrame1)
DetailsRowFrame1:SetFrameLevel(DetailsBaseFrame1:GetFrameLevel() + 1)
elseif window:GetId() == 2 then
DetailsRowFrame2:SetParent(DetailsBaseFrame2)
DetailsRowFrame2:SetFrameLevel(DetailsBaseFrame2:GetFrameLevel() + 1)
end
if window:GetSegment() ~= 0 then
window:SetDisplay(0)
end
end
function EMB:EmbedDetails()
wipe(self.DetailsInstances)
for _, instance in Details:ListInstances() do
tinsert(self.DetailsInstances, instance)
end
local db = E.db.addOnSkins.embed
numberToEmbed = 0
if db.embedType == "SINGLE" then
numberToEmbed = 1
end
if db.embedType == "DOUBLE" then
if db.rightWindow == "Details" then numberToEmbed = numberToEmbed + 1 end
if db.leftWindow == "Details" then numberToEmbed = numberToEmbed + 1 end
end
if Details:GetMaxInstancesAmount() < numberToEmbed then
Details:SetMaxInstancesAmount(numberToEmbed)
end
local instances_amount = Details:GetNumInstancesAmount()
for i = instances_amount + 1, numberToEmbed do
local new_instance = Details:CreateInstance(i)
if type(new_instance) == "table" then
tinsert(self.DetailsInstances, new_instance)
end
end
if numberToEmbed == 1 then
local parent = self.leftFrame
if db.embedType == "DOUBLE" then
parent = db.rightWindow == "Details" and self.rightFrame or self.leftFrame
end
EmbedWindow(self.DetailsInstances[1], parent:GetWidth() - (E.Border*2), parent:GetHeight(), "TOPLEFT", parent, "TOPLEFT", 2, 0)
if self.DetailsInstances[2] then
self.DetailsInstances[2]._ElvUIEmbed = nil
end
elseif numberToEmbed == 2 then
EmbedWindow(self.DetailsInstances[1], self.leftFrame:GetWidth() - (E.Border*2), self.leftFrame:GetHeight(), "TOPLEFT", self.leftFrame, "TOPLEFT", E.Border, E.Border)
EmbedWindow(self.DetailsInstances[2], self.rightFrame:GetWidth() - (E.Border*2), self.rightFrame:GetHeight(), "TOPRIGHT", self.rightFrame, "TOPRIGHT", -E.Border, E.Border)
end
end
end
function EMB:Initialize()
if E.db.addOnSkins.embed.embedType == "DISABLE" then return end
self:EmbedCreate()
end
local function InitializeCallback()
EMB:Initialize()
end
E:RegisterModule(EMB:GetName(), InitializeCallback)
@@ -0,0 +1,3 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="Profile.lua"/>
</Ui>
+49
View File
@@ -0,0 +1,49 @@
local E, L, V, P, G = unpack(ElvUI)
P.addOnSkins = {
skadaTemplate = "Default",
skadaTemplateGloss = false,
skadaTitleTemplate = "Default",
skadaTitleTemplateGloss = true,
recountTemplate = "Transparent",
recountTemplateGloss = false,
recountTitleTemplate = "Default",
recountTitleTemplateGloss = true,
omenTemplate = "Transparent",
omenTemplateGloss = false,
omenTitleTemplate = "Default",
omenTitleTemplateGloss = true,
dbmBarHeight = 22,
dbmFont = "PT Sans Narrow",
dbmFontSize = 12,
dbmFontOutline = "OUTLINE",
dbmIconSize = 1,
dbmTemplate = "Default",
DBMSkinHalf = false,
weakAuraAuraBar = true,
weakAuraIconCooldown = true,
chatBarSize = 16,
chatBarSpacing = 1,
chatBarTextPoint = "CENTER",
chatBarTextXOffset = -1,
chatBarTextYOffset = 0,
bigwigsBarHeight = 14,
bigwigsFontSize = 10,
bigwigsFontOutline = "NONE",
embed = {
embedType = "DISABLE",
leftWindow = "Omen",
rightWindow = "Recount",
rightChatPanel = true,
leftWindowWidth = 203,
belowTopTab = false,
hideChat = "NONE",
}
}
@@ -0,0 +1,258 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("ArkInventory") then return end
local _G = _G
local ipairs = ipairs
local unpack = unpack
local format = string.format
-- ArkInventory 3.02.54
-- https://www.wowace.com/projects/ark-inventory/files/458795
S:AddCallbackForAddon("ArkInventory", "ArkInventory", function()
if not E.private.addOnSkins.ArkInventory then return end
local function skinIcon(frame)
if frame.isSkinned then return end
local icon = frame:GetNormalTexture()
frame:SetTemplate("Default", true)
frame:StyleButton()
icon:SetInside()
icon:SetTexCoord(unpack(E.TexCoords))
icon.SetTexCoord = E.noop
frame.isSkinned = true
end
for i = 1, #ArkInventory.Global.Location do
local frameName = format("%s%d", ArkInventory.Const.Frame.Main.Name, i)
local frame = _G[frameName]
if frame then
-- Title
S:HandleCloseButton(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "Close")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "Location0")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton11")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton12")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton13")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton14")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton21")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton22")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton23")])
skinIcon(_G[format("%s%s%s", frameName, ArkInventory.Const.Frame.Title.Name, "ActionButton24")])
-- Search
S:HandleEditBox(_G[format("%s%s%s", frame:GetName(), ArkInventory.Const.Frame.Search.Name, "Filter")])
end
end
hooksecurefunc(ArkInventory, "Frame_Main_Anchor_Set", function(loc_id)
local frameName = format("%s%d", ArkInventory.Const.Frame.Main.Name, loc_id)
local anchor = ArkInventory.LocationOptionGet(loc_id, "anchor", loc_id, "point")
local title = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Title.Name)]
local search = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Search.Name)]
local container = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Container.Name)]
local changer = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Changer.Name)]
local status = _G[format("%s%s", frameName, ArkInventory.Const.Frame.Status.Name)]
if anchor == ArkInventory.Const.Anchor.BottomRight then
changer:Point("BOTTOMRIGHT", status, "TOPRIGHT", 0, -1)
container:Point("BOTTOMRIGHT", changer, "TOPRIGHT", 0, -1)
search:Point("BOTTOMRIGHT", container, "TOPRIGHT", 0, -1)
title:Point("BOTTOMRIGHT", search, "TOPRIGHT", 0, -1)
elseif anchor == ArkInventory.Const.Anchor.BottomLeft then
changer:Point("BOTTOMLEFT", status, "TOPLEFT", 0, -1)
container:Point("BOTTOMLEFT", changer, "TOPLEFT", 0, -1)
search:Point("BOTTOMLEFT", container, "TOPLEFT", 0, -1)
title:Point("BOTTOMLEFT", search, "TOPLEFT", 0, -1)
elseif anchor == ArkInventory.Const.Anchor.TopLeft then
search:Point("TOPLEFT", title, "BOTTOMLEFT", 0, 1)
container:Point("TOPLEFT", search, "BOTTOMLEFT", 0, 1)
changer:Point("TOPLEFT", container, "BOTTOMLEFT", 0, 1)
status:Point("TOPLEFT", changer, "BOTTOMLEFT", 0, 1)
else
search:Point("TOPRIGHT", title, "BOTTOMRIGHT", 0, 1)
container:Point("TOPRIGHT", search, "BOTTOMRIGHT", 0, 1)
changer:Point("TOPRIGHT", container, "BOTTOMRIGHT", 0, 1)
status:Point("TOPRIGHT", changer, "BOTTOMRIGHT", 0, 1)
end
end)
ArkInventory.Frame_Main_Paint = function(frame)
if not ArkInventory.ValidFrame(frame, true) then return end
for _, child in ipairs({frame:GetChildren()}) do
if not child.isSkinned then
child:SetTemplate("Transparent")
local frameName = child:GetName()
if frameName then
local bg = _G[format("%s%s", frameName, "Background")]
local border = _G[format("%s%s", frameName, "ArkBorder")]
if bg then
bg:Hide()
end
if border then
border:Hide()
end
end
child.isSkinned = true
end
end
end
local defaultColors = ArkInventory.Const.Slot.DefaultColour
ArkInventory.Frame_Border_Paint = function(border, slot, file, size, offset, scale, r, g, b, a)
if not border.parent then return end
if r == defaultColors.r and g == defaultColors.g and b == defaultColors.b then
r, g, b = unpack(E.media.bordercolor)
border.parent:SetBackdropBorderColor(r, g, b, 1)
else
border.parent:SetBackdropBorderColor(r or 0, g or 0, b or 0, a)
end
end
local TEXTURE_ITEM_QUEST_BORDER = TEXTURE_ITEM_QUEST_BORDER
local questColors = {
["questStarter"] = {E.db.bags.colors.items.questStarter.r, E.db.bags.colors.items.questStarter.g, E.db.bags.colors.items.questStarter.b},
["questItem"] = {E.db.bags.colors.items.questItem.r, E.db.bags.colors.items.questItem.g, E.db.bags.colors.items.questItem.b}
}
local function updateQuestIcon(self, texture)
if texture == TEXTURE_ITEM_QUEST_BORDER then
self.parent:SetBackdropBorderColor(unpack(questColors.questItem))
self:SetAlpha(0)
else
self.parent:SetBackdropBorderColor(unpack(questColors.questStarter))
self:SetAlpha(1)
end
end
local function skinItemButton(frame)
if frame.isSkinned then return end
local frameName = frame:GetName()
local icon = _G[format("%s%s", frameName, "IconTexture")]
local border = _G[format("%s%s", frameName, "ArkBorder")]
local questIcon = _G[format("%s%s", frameName, "IconQuestTexture")]
local cooldown = _G[format("%s%s", frameName, "Cooldown")]
frame:SetNormalTexture(nil)
frame:SetTemplate("Default", true)
frame:StyleButton()
icon:SetInside()
icon:SetTexCoord(unpack(E.TexCoords))
icon.SetTexCoord = E.noop
border:Kill()
border.parent = frame
if questIcon then
questIcon:SetInside()
questIcon:SetTexture(E.Media.Textures.BagQuestIcon)
questIcon.SetTexture = updateQuestIcon
questIcon.parent = frame
end
if cooldown then
cooldown.CooldownOverride = "bags"
E:RegisterCooldown(cooldown)
end
frame.isSkinned = true
end
hooksecurefunc(ArkInventory, "Frame_Item_Update_Border", function(frame)
if not ArkInventory.ValidFrame(frame, true) then return end
skinItemButton(frame)
end)
-- GuildBank
S:HandleButton(ARKINV_Frame4ChangerWindowPurchaseInfoPurchaseButton)
S:HandleButton(ARKINV_Frame4ChangerWindowDepositButton)
S:HandleButton(ARKINV_Frame4ChangerWindowWithdrawButton)
S:HandleNextPrevButton(ARKINV_Frame4LogScrollUp, "up")
S:HandleNextPrevButton(ARKINV_Frame4LogScrollDown, "down")
S:HandleButton(ARKINV_Frame4InfoSave)
S:HandleScrollBar(ARKINV_Frame4InfoScrollScrollBar)
-- Search Frame
ARKINV_SearchTitleBackground:Kill()
ARKINV_SearchFrameBackground:Kill()
ARKINV_SearchTitle:SetTemplate("Transparent")
ARKINV_SearchFrame:SetTemplate("Transparent")
ARKINV_Rules:SetHeight(570)
ARKINV_SearchFrame:Point("TOPLEFT", ARKINV_SearchTitle, "BOTTOMLEFT", 0, 1)
S:HandleCloseButton(ARKINV_SearchTitleClose)
S:HandleEditBox(ARKINV_SearchFrameViewSearchFilter)
S:HandleScrollBar(ARKINV_SearchFrameViewTableScrollScrollBar)
AS:SkinLibrary("ArkDewdrop-3.0")
end)
S:AddCallbackForAddon("ArkInventoryRules", "ArkInventoryRules", function()
if not E.private.addOnSkins.ArkInventory then return end
ArkInventoryRules.Frame_Rules_Paint_Border = E.noop
-- Rules
ARKINV_RulesTitleBackground:Kill()
ARKINV_RulesFrameBackground:Kill()
ARKINV_RulesTitle:SetTemplate("Transparent")
ARKINV_RulesFrame:SetTemplate("Transparent")
ARKINV_RulesFrameViewSearch:SetTemplate("Transparent")
ARKINV_RulesFrameViewTable:SetTemplate("Transparent")
ARKINV_RulesFrame:Point("TOPLEFT", ARKINV_RulesTitle, "BOTTOMLEFT", 0, 1)
ARKINV_RulesFrameViewTitle:SetPoint("TOP")
S:HandleCloseButton(ARKINV_RulesTitleClose)
S:HandleEditBox(ARKINV_RulesFrameViewSearchFilter)
S:HandleScrollBar(ARKINV_RulesFrameViewTableScrollScrollBar)
S:HandleButton(ARKINV_RulesFrameViewMenuAdd)
S:HandleButton(ARKINV_RulesFrameViewMenuEdit)
S:HandleButton(ARKINV_RulesFrameViewMenuRemove)
-- Add Rule
ARKINV_RulesFrameModifyTitle:SetPoint("TOP")
S:HandleCheckBox(ARKINV_RulesFrameModifyDataEnabled)
ARKINV_RulesFrameModifyDataOrder:Height(22)
S:HandleEditBox(ARKINV_RulesFrameModifyDataOrder)
ARKINV_RulesFrameModifyDataDescription:Height(22)
S:HandleEditBox(ARKINV_RulesFrameModifyDataDescription)
ARKINV_RulesFrameModifyDataScrollTextBorder:SetTemplate("Transparent")
S:HandleScrollBar(ARKINV_RulesFrameModifyDataScrollScrollBar)
ARKINV_RulesFrameModifyDataScrollScrollBar:Point("TOPLEFT", ARKINV_RulesFrameModifyDataScroll, "TOPRIGHT", 8, -13)
ARKINV_RulesFrameModifyDataScrollScrollBar:Point("BOTTOMLEFT", ARKINV_RulesFrameModifyDataScroll, "BOTTOMRIGHT", 8, 13)
S:HandleButton(ARKINV_RulesFrameModifyMenuOk)
S:HandleButton(ARKINV_RulesFrameModifyMenuCancel)
end)
+88
View File
@@ -0,0 +1,88 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("CLCRet") then return end
local _G = _G
local unpack = unpack
-- CLCRet 1.3.03.025
-- https://www.curseforge.com/wow/addons/clcret/files/439502
S:AddCallbackForAddon("CLCRet", "CLCRet", function()
if not E.private.addOnSkins.CLCRet then return end
local function styleButton(button, icon, height, width)
button:SetScale(1)
button:Size(width or height, height)
icon:SetTexCoord(unpack(E.TexCoords))
button.border:Hide()
end
S:RawHook(clcret, "CreateButton", function(self, name, size, ...)
local button = S.hooks[self].CreateButton(self, name, size, ...)
button:CreateBackdrop("Default")
button.texture:SetDrawLayer("BORDER")
styleButton(button, button.texture, size)
return button
end)
hooksecurefunc(clcret, "UpdateButtonLayout", function(self, button, opt)
styleButton(button, button.texture, opt.size)
end)
S:RawHook(clcret, "CreateSovBar", function(self, ...)
local frame = S.hooks[self].CreateSovBar(self, ...)
frame:CreateBackdrop("Default")
frame.icon:CreateBackdrop("Default")
frame.icon:SetDrawLayer("BORDER")
frame.icon.backdrop:Hide()
frame.bgtexture:SetTexture(nil)
frame.texture:SetTexture(E.media.normTex)
E:RegisterStatusBar(frame.texture)
styleButton(frame, frame.icon, self.db.profile.sov.height)
return frame
end)
local MAX_SOVBARS = 5
hooksecurefunc(clcret, "UpdateSovBarsLayout", function(self)
local db = self.db.profile.sov
local bar
for i = 1, MAX_SOVBARS do
bar = _G["clcretSovBar"..i]
styleButton(bar, bar.icon, db.height, db.useButtons and db.height or (db.width - db.height))
if db.useButtons then
bar.icon.backdrop:Hide()
else
bar.icon.backdrop:Show()
bar.icon:Point("RIGHT", bar, "LEFT", -1, 0)
end
end
end)
S:SecureHook(clcret, "InitSwingBar", function(self)
local frame = clcretswingBar
frame:CreateBackdrop("Default")
frame.bgtexture:SetTexture(nil)
frame.texture:SetTexture(E.media.normTex)
E:RegisterStatusBar(frame.texture)
S:Unhook(self, "InitSwingBar")
end)
end)
+156
View File
@@ -0,0 +1,156 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("!ElvinCDs") then return end
local format = string.format
-- !ElvinCDs 0.1b
-- https://github.com/bkader/ElvinCDs
S:AddCallbackForAddon("!ElvinCDs", "!ElvinCDs", function()
if not E.private.addOnSkins.ElvinCDs then return end
hooksecurefunc(ElvinCDs.utils, "showHide", function(obj)
if not obj.isSkinned then
local objectType = obj:GetObjectType()
if objectType == "Frame" then
local objName = obj:GetName()
local bars = _G[format("%sBars", objName)]
if bars then
_G[format("%sBackground", objName)]:StripTextures()
local title = _G[format("%sTitle", objName)]
title:SetBackdrop(nil)
title:CreateBackdrop("Transparent")
title.backdrop:Point("TOPRIGHT", 19, -1)
bars:Point("TOPLEFT", title, "BOTTOMLEFT", 0, -1)
end
elseif objectType == "StatusBar" then
obj:CreateBackdrop("Transparent")
obj:SetStatusBarTexture(E.media.normTex)
E:RegisterStatusBar(obj)
end
obj.isSkinned = true
end
end)
-- logs
ElvinCDs_Logs:SetTemplate("Transparent")
ElvinCDs_LogsList:SetBackdrop(nil)
S:HandleCloseButton(ElvinCDs_LogsCloseButton, ElvinCDs_Logs)
S:HandleScrollBar(ElvinCDs_LogsListScrollFrameScrollBar)
ElvinCDs_LogsListScrollFrameScrollBar:Point("TOPLEFT", ElvinCDs_LogsListScrollFrame, "TOPRIGHT", 5, -13)
ElvinCDs_LogsListScrollFrameScrollBar:Point("BOTTOMLEFT", ElvinCDs_LogsListScrollFrame, "BOTTOMRIGHT", 5, 19)
-- options
E:GetModule("Tooltip"):HookScript(ElvinCDs_Tooltip, "OnShow", "SetStyle")
ElvinCDs_Config:SetTemplate("Transparent")
ElvinCDs_ConfigTitleBG:StripTextures()
ElvinCDs_Config_SpellsList:SetTemplate("Transparent")
S:HandleTab(ElvinCDs_ConfigTab1)
S:HandleTab(ElvinCDs_ConfigTab2)
S:HandleButton(ElvinCDs_ConfigClose)
S:HandleButton(ElvinCDs_Config_GeneralDefault)
S:HandleButton(ElvinCDs_Config_SpellsSave)
S:HandleSliderFrame(ElvinCDs_Config_General_width)
S:HandleSliderFrame(ElvinCDs_Config_General_height)
S:HandleSliderFrame(ElvinCDs_Config_General_opacity)
S:HandleSliderFrame(ElvinCDs_Config_General_spacing)
S:HandleEditBox(ElvinCDs_Config_SpellsSearch)
S:HandleEditBox(ElvinCDs_Config_SpellsSpellId)
S:HandleEditBox(ElvinCDs_Config_SpellsCooldown)
S:HandleScrollBar(ElvinCDs_Config_SpellsListScrollFrameScrollBar)
local checkBoxes = {
ElvinCDs_Config_General_enabled,
ElvinCDs_Config_General_icons,
ElvinCDs_Config_General_strict,
ElvinCDs_Config_General_announce,
ElvinCDs_Config_General_shout,
ElvinCDs_Config_General_verbose,
ElvinCDs_Config_General_locked,
ElvinCDs_Config_General_sync,
ElvinCDs_Config_General_showInBG,
ElvinCDs_Config_General_showInRaid,
ElvinCDs_Config_General_showInParty,
ElvinCDs_Config_General_showWhenSolo,
ElvinCDs_Config_SpellsCustom,
ElvinCDs_Config_SpellsDefaults,
ElvinCDs_Config_SpellsDisplay,
ElvinCDs_Config_SpellsTrack,
ElvinCDs_Config_SpellsBlind,
ElvinCDs_Config_SpellsShout,
ElvinCDs_Config_SpellsWhisper,
ElvinCDs_Config_SpellsSpecial,
}
for _, checkBox in ipairs(checkBoxes) do
S:HandleCheckBox(checkBox)
end
ElvinCDs_Config_SpellsSearch:Height(22)
ElvinCDs_Config_SpellsSpellId:Height(22)
ElvinCDs_Config_SpellsCooldown:Height(22)
ElvinCDs_ConfigTab1:Point("CENTER", ElvinCDs_Config, "BOTTOMLEFT", 60, -14)
ElvinCDs_ConfigClose:Point("TOPRIGHT", -6, -6)
ElvinCDs_Config_SpellsListScrollFrameScrollBar:Point("TOPLEFT", ElvinCDs_Config_SpellsListScrollFrame, "TOPRIGHT", 5, -15)
ElvinCDs_Config_SpellsListScrollFrameScrollBar:Point("BOTTOMLEFT", ElvinCDs_Config_SpellsListScrollFrame, "BOTTOMRIGHT", 5, 14)
ElvinCDs_Config_SpellsSpellId:Point("TOPLEFT", ElvinCDs_Config_SpellsList, "BOTTOMLEFT", 8, -10)
--[[
local options = {
"Display",
"Track",
"Blind",
"Shout",
"Whisper",
"Special",
}
local skinnedCheckboxes = 0
local function skinButtons()
local i = skinnedCheckboxes + 1
local button = _G["ElvinCDs_Config_Spells_SpellBtn_"..i]
while button do
for _, affix in ipairs(options) do
S:HandleCheckBox(_G["ElvinCDs_Config_Spells_SpellBtn_"..i..affix])
end
i = i + 1
button = _G["ElvinCDs_Config_Spells_SpellBtn_"..i]
end
skinnedCheckboxes = i - 1
end
local _SetChecked = ElvinCDs_Config_SpellsDefaults.SetChecked
ElvinCDs_Config_SpellsDefaults.SetChecked = function(self, checked, ...)
skinButtons()
_SetChecked(self, checked, ...)
self.SetChecked = _SetChecked
end
hooksecurefunc(ElvinCDs.Config.Spells, "save", function(self, button)
if not button then return end
skinButtons()
end)
--]]
end)
+234
View File
@@ -0,0 +1,234 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("Examiner") then return end
local select = select
local unpack = unpack
-- Examiner 10.08.14
-- https://www.curseforge.com/wow/addons/examiner/files/445178
S:AddCallbackForAddon("Examiner", "Examiner", function()
if not E.private.addOnSkins.Examiner then return end
UIPanelWindows["Examiner"].width = 348
Examiner:CreateBackdrop("Transparent")
Examiner.backdrop:Point("TOPLEFT", 11, -12)
Examiner.backdrop:Point("BOTTOMRIGHT", -32, 4)
S:SetBackdropHitRect(Examiner)
Examiner.dlgTopLeft:Hide()
Examiner.dlgTopRight:Hide()
Examiner.dlgBottomLeft:Hide()
Examiner.dlgBottomRight:Hide()
Examiner.portrait:Hide()
S:HandleCloseButton((Examiner:GetChildren()), Examiner.backdrop)
Examiner.model:Size(325, 352)
Examiner.model:Point("BOTTOM", -11, 12)
do -- Talents background
local talantsPage
for _, mod in ipairs(Examiner.modules) do
if mod.token == "Talents" then
talantsPage = mod.page
break
end
end
local bgTextures = {
Examiner.bgTopLeft,
Examiner.bgTopRight,
Examiner.bgBottomLeft,
Examiner.bgBottomRight
}
for _, texture in ipairs(bgTextures) do
texture:SetParent(talantsPage)
texture.SetWidth = E.noop
end
Examiner.bgTopLeft:Point("TOPLEFT", Examiner, "TOPLEFT", 20, -77)
Examiner.bgTopLeft:Size(256, 256)
Examiner.bgTopRight:Size(67, 256)
Examiner.bgBottomLeft:Size(256, 112)
Examiner.bgBottomRight:Size(67, 112)
end
local dropdownArrowColor = {1, 0.8, 0}
local function skinAzDropdown(frame)
frame:SetTemplate()
S:HandleNextPrevButton(frame.button, "down", dropdownArrowColor)
frame.button:Point("TOPRIGHT", -2, -2)
frame.button:Point("BOTTOMRIGHT", -2, 2)
frame.button:Size(20)
end
local function setSlotBackdropColor(self, r, g, b)
self.parent:SetBackdropBorderColor(r, g, b)
end
local function setSlotBackdropDefault(self)
self.parent:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
local buttonReposition
for _, mod in ipairs(Examiner.modules) do
if mod.page then
mod.page:SetTemplate("Transparent")
if mod.token == "Talents" then
mod.page:SetTemplate("Transparent")
mod.page:Point("BOTTOM", -21, 40)
mod.page:Size(304, 324)
elseif mod.showItems then
mod.page:Size(237, 284)
else
mod.page:Size(325, 324)
end
end
if mod.button then
if not buttonReposition then
mod.button:Point("BOTTOMLEFT", 24, 12)
buttonReposition = true
end
S:HandleButton(mod.button)
end
if mod.token == "ItemSlots" then
for i, slot in ipairs(mod.slotBtns) do
slot:StripTextures()
slot:StyleButton(false)
slot:SetTemplate("Default", true, true)
slot.texture:SetDrawLayer("BORDER")
slot.texture:SetInside()
slot.texture:SetTexCoord(unpack(E.TexCoords))
slot.border:Kill()
slot.border.parent = slot
slot.border.SetVertexColor = setSlotBackdropColor
slot.border.Hide = setSlotBackdropDefault
if i == 1 then
slot:SetPoint("TOPLEFT", 0, 0)
elseif i == 9 then
slot:SetPoint("TOPRIGHT", 0, 0)
elseif i == 17 then
slot:Point("BOTTOM", -42, 28)
elseif i <= 16 then
slot:Point("TOP", mod.slotBtns[i - 1], "BOTTOM", 0, -4)
else
slot:Point("LEFT", mod.slotBtns[i - 1], "RIGHT", 5, 0)
end
end
elseif mod.token == "Config" then
skinAzDropdown((mod.page:GetChildren()))
for i = 2, mod.page:GetNumChildren() do
local child = select(i, mod.page:GetChildren())
S:HandleCheckBox(child)
end
elseif mod.token == "Cache" then
S:HandleScrollBar(ExaminerCacheScrollScrollBar)
ExaminerCacheScrollScrollBar:Point("TOPLEFT", ExaminerCacheScroll, "TOPRIGHT", 3, -19)
ExaminerCacheScrollScrollBar:Point("BOTTOMLEFT", ExaminerCacheScroll, "BOTTOMRIGHT", 3, 19)
elseif mod.token == "Stats" then
for i = 1, 5 do
local child = select(i, mod.page:GetChildren())
child:Size(24)
child:SetTemplate("Transparent")
if i == 1 then
child:Point("TOPLEFT", 58, -9)
end
child.texture:SetInside()
child.texture:SetDrawLayer("ARTWORK")
if i == 3 then -- Arcane
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 64
child.texture:SetTexCoord(0.25, 0.8125, 0.25, 0.3203125)
elseif i == 1 then -- Fire
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 6
child.texture:SetTexCoord(0.25, 0.8125, 0.0234375, 0.09375)
elseif i == 2 then -- Nature
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 35
child.texture:SetTexCoord(0.25, 0.8125, 0.13671875, 0.20703125)
elseif i == 4 then -- Frost
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 94
child.texture:SetTexCoord(0.25, 0.8125, 0.3671875, 0.4375)
elseif i == 5 then -- Shadow
-- texWidth, texHeight, cropWidth, cropHeight, offsetX, offsetY = 32, 256, 18, 18, 8, 122
child.texture:SetTexCoord(0.25, 0.8125, 0.4765625, 0.546875)
end
end
S:HandleScrollBar(ExaminerStatScrollScrollBar)
ExaminerStatScrollScrollBar:Point("TOPLEFT", ExaminerStatScroll, "TOPRIGHT", 10, -20)
ExaminerStatScrollScrollBar:Point("BOTTOMLEFT", ExaminerStatScroll, "BOTTOMRIGHT", 10, 20)
elseif mod.token == "PvP" then
for i = 2, 4 do
local child = select(i, mod.page:GetChildren())
child:SetTemplate("Transparent")
end
elseif mod.token == "Feats" then
skinAzDropdown((mod.page:GetChildren()))
S:HandleScrollBar(ExaminerFeatsScrollScrollBar)
ExaminerFeatsScrollScrollBar:Point("TOPLEFT", ExaminerFeatsScroll, "TOPRIGHT", 6, -19)
ExaminerFeatsScrollScrollBar:Point("BOTTOMLEFT", ExaminerFeatsScroll, "BOTTOMRIGHT", 6, 19)
elseif mod.token == "Talents" then
for i = 1, MAX_TALENT_TABS do
local tab = _G["ExaminerTab"..i]
tab:StripTextures()
tab:CreateBackdrop("Default", true)
tab.backdrop:Point("TOPLEFT", 2, -7)
tab.backdrop:Point("BOTTOMRIGHT", -1, -1)
S:SetBackdropHitRect(tab)
end
for i, button in ipairs({ExaminerScrollChildFrame:GetChildren()}) do
if i > 40 then break end
button:StripTextures()
button:SetTemplate("Default")
button:StyleButton()
button.icon:SetInside()
button.icon:SetTexCoord(unpack(E.TexCoords))
button.icon:SetDrawLayer("ARTWORK")
button.slot:Hide()
button.rankBorder:Hide()
button.rank:SetFont(E.LSM:Fetch("font", E.db.general.font), 12, "OUTLINE")
end
S:HandleScrollBar(ExaminerTalentsScrollChildScrollBar)
ExaminerTalentsScrollChildScrollBar:Point("TOPLEFT", ExaminerTalentsScrollChild, "TOPRIGHT", 4, -18)
ExaminerTalentsScrollChildScrollBar:Point("BOTTOMLEFT", ExaminerTalentsScrollChild, "BOTTOMRIGHT", 4, 17)
ExaminerTalentsScrollChild:ClearAllPoints()
ExaminerTalentsScrollChild:Point("TOPLEFT", 1, -1)
ExaminerTalentsScrollChild:Point("BOTTOMRIGHT", -1, 2)
end
end
AS:SkinLibrary("AzDialog")
AS:SkinLibrary("AzDropDown")
end)
@@ -0,0 +1,100 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("LootCouncil_Lite") then return end
-- Loot Council Lite 1.011
-- https://www.curseforge.com/wow/addons/lootcouncil-lite/files/457971
S:AddCallbackForAddon("LootCouncil_Lite", "LootCouncil_Lite", function()
if not E.private.addOnSkins.LootCouncil_Lite then return end
-- Main Frame
MainFrame:SetTemplate("Transparent")
EntryFrame:SetTemplate("Transparent")
EmptyTexture:Kill()
local icons = {
CurrentItemTexture,
CurrentSelectionTexture,
DualItemTexture1,
DualItemTexture2,
}
local showBackdrop = function(self) self.backdrop:Show() end
local hideBackdrop = function(self) self.backdrop:Hide() end
for _, icon in ipairs(icons) do
icon:SetTexCoord(unpack(E.TexCoords))
icon:CreateBackdrop()
icon.backdrop:Hide()
hooksecurefunc(icon, "Show", showBackdrop)
hooksecurefunc(icon, "Hide", hideBackdrop)
end
DisenchantButton:Point("TOPLEFT", MainFrame, "BOTTOMLEFT", 480, 73)
if SyncButton then
S:HandleButton(SyncButton)
end
S:HandleButton(AwardButton)
S:HandleButton(RemoveButton)
S:HandleButton(DisenchantButton)
S:HandleButton(AbortButton)
S:HandleButton(ClearSelectionButton)
S:HandleButton(CloseButton)
-- S:HandleDropDownBox(GroupLootDropDownLCL)
-- Options
LCOptionsFrame:SetTemplate("Transparent")
S:HandleDropDownBox(OptDropDown)
S:HandleButton(OptAcceptButton)
S:HandleButton(OptCancelButton)
S:HandleSliderFrame(ScaleSlider)
local checkBoxes = {
PrivateVoteMode,
SingleVoteMode,
SelfVoteMode,
DisplaySpecMode,
WhisperLinkMode,
OfficerLinkMode,
RaidLinkMode,
ConfirmEnding,
MasterLootIntegration,
GuildLinkMode,
}
for _, checkbox in ipairs(checkBoxes) do
local p1, a, p2, x, y = checkbox:GetPoint()
checkbox:Point(p1, a, p2, x, y - 8)
checkbox:Size(24)
S:HandleCheckBox(checkbox)
end
-- RankFrame
RankFrame:EnableMouse(true)
RankFrame:SetTemplate("Transparent")
S:HandleDropDownBox(RankDropDown)
S:HandleButton(RankAcceptButton)
S:HandleButton(RankCancelButton)
-- TestFrame
if LCTestFrame then
LCTestFrame:SetTemplate("Transparent")
S:HandleButton(RunTestButton)
S:HandleButton(TestCancelButton)
end
end)
@@ -0,0 +1,74 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local select = select
local unpack = unpack
local GetItemInfo = GetItemInfo
local GetItemQualityColor = GetItemQualityColor
local hooksecurefunc = hooksecurefunc
-- LootWonAlert 1.3
-- https://gitlab.com/Artur91425/LootWonAlert
S:AddCallbackForAddon("LootWonAlert", "LootWonAlert", function()
if not E.private.addOnSkins.LootWonAlert then return end
local function skinFrame(frame)
if frame.isSkinned then return end
frame:Size(300, 88)
frame.Background:Hide()
frame.lootItem.IconBorder:Hide()
frame:CreateBackdrop("Transparent")
frame.backdrop:Point("TOPLEFT", 0, -6)
frame.backdrop:Point("BOTTOMRIGHT", 0, 6)
S:SetBackdropHitRect(frame)
frame.glow:Size(336, 116)
frame.shine:Size(158, 66)
frame.shine:Point("TOPLEFT", -10, -12)
frame.lootItem:SetTemplate("Transparent")
frame.lootItem:Point("TOPLEFT", 12, -18)
frame.lootItem.Icon:CreateBackdrop("Transparent")
frame.isSkinned = true
end
S:RawHook("LootWonAlertFrame_Create", function(self, ...)
local frame = S.hooks.LootWonAlertFrame_Create(self, ...)
skinFrame(frame)
return frame
end)
hooksecurefunc("LootWonAlertFrame_SetUp", function(self, itemLink)
if itemLink then
local quality = select(3, GetItemInfo(itemLink))
if quality then
local r, g, b = GetItemQualityColor(quality)
self:SetBackdropBorderColor(r, g, b)
-- self.backdrop:SetBackdropBorderColor(r, g, b)
self.lootItem.Icon.backdrop:SetBackdropBorderColor(r, g, b)
else
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
-- self.backdrop:SetBackdropBorderColor(r, g, b)
self.lootItem.Icon.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
end
end)
do
local i = 1
local frame = _G["LootWonAlertFrame"..i]
while frame do
skinFrame(frame)
i = i + 1
frame = _G["LootWonAlertFrame"..i]
end
end
end)
+173
View File
@@ -0,0 +1,173 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("Mapster") then return end
-- Mapster 1.3.9
-- https://www.wowace.com/projects/mapster/files/436697
S:AddCallbackForAddon("Mapster", "Mapster", function()
if not E.private.addOnSkins.Mapster then return end
local Mapster = LibStub("AceAddon-3.0"):GetAddon("Mapster", true)
if not Mapster then return end
if not E.private.skins.blizzard.enable or not E.private.skins.blizzard.worldmap then
WorldMapFrame:CreateBackdrop()
WorldMapFrame.backdrop:Point("TOPRIGHT", WorldMapFrameCloseButton, -3, 0)
WorldMapFrame.backdrop:Point("BOTTOMRIGHT", WorldMapTrackQuest, 0, -3)
WorldMapFrame:DisableDrawLayer("BACKGROUND")
WorldMapFrame:DisableDrawLayer("ARTWORK")
WorldMapFrame:DisableDrawLayer("OVERLAY")
WorldMapFrameTitle:SetDrawLayer("BORDER")
WorldMapDetailFrame:CreateBackdrop()
WorldMapDetailFrame.backdrop:Point("TOPLEFT", -2, 2)
WorldMapDetailFrame.backdrop:Point("BOTTOMRIGHT", 2, -1)
WorldMapQuestDetailScrollFrame:Width(348)
WorldMapQuestDetailScrollFrame:Point("BOTTOMLEFT", WorldMapDetailFrame, "BOTTOMLEFT", -25, -207)
WorldMapQuestDetailScrollFrame:CreateBackdrop("Transparent")
WorldMapQuestDetailScrollFrame.backdrop:Point("TOPLEFT", 24, 2)
WorldMapQuestDetailScrollFrame.backdrop:Point("BOTTOMRIGHT", 23, -4)
WorldMapQuestDetailScrollFrame:SetHitRectInsets(24, -23, 0, -2)
WorldMapQuestDetailScrollFrame.backdrop:SetFrameLevel(WorldMapQuestDetailScrollFrame:GetFrameLevel())
WorldMapQuestDetailScrollFrameTrack:Kill()
WorldMapQuestRewardScrollFrame:Width(340)
WorldMapQuestRewardScrollFrame:Point("LEFT", WorldMapQuestDetailScrollFrame, "RIGHT", 8, 0)
WorldMapQuestRewardScrollFrame:CreateBackdrop("Transparent")
WorldMapQuestRewardScrollFrame.backdrop:Point("TOPLEFT", 20, 2)
WorldMapQuestRewardScrollFrame.backdrop:Point("BOTTOMRIGHT", 22, -4)
WorldMapQuestRewardScrollFrame:SetHitRectInsets(20, -22, 0, -2)
WorldMapQuestRewardScrollFrame.backdrop:SetFrameLevel(WorldMapQuestRewardScrollFrame:GetFrameLevel())
WorldMapQuestRewardScrollChildFrame:SetScale(1)
WorldMapQuestScrollFrame:CreateBackdrop("Transparent")
WorldMapQuestScrollFrame.backdrop:Point("TOPLEFT", 0, 2)
WorldMapQuestScrollFrame.backdrop:Point("BOTTOMRIGHT", 25, -3)
WorldMapQuestScrollFrame.backdrop:SetFrameLevel(WorldMapQuestScrollFrame:GetFrameLevel())
WorldMapQuestSelectBar:SetTexture(E.Media.Textures.Highlight)
WorldMapQuestSelectBar:SetAlpha(0.35)
WorldMapQuestHighlightBar:SetTexture(E.Media.Textures.Highlight)
WorldMapQuestHighlightBar:SetAlpha(0.35)
S:HandleScrollBar(WorldMapQuestScrollFrameScrollBar)
S:HandleScrollBar(WorldMapQuestDetailScrollFrameScrollBar)
S:HandleScrollBar(WorldMapQuestRewardScrollFrameScrollBar)
S:HandleCloseButton(WorldMapFrameCloseButton)
WorldMapFrameSizeDownButton:ClearAllPoints()
WorldMapFrameSizeDownButton:Point("RIGHT", WorldMapFrameCloseButton, "LEFT", 4, 0)
WorldMapFrameSizeDownButton.SetPoint = E.noop
WorldMapFrameSizeDownButton:GetHighlightTexture():Kill()
S:HandleNextPrevButton(WorldMapFrameSizeDownButton, nil, nil, true)
WorldMapFrameSizeDownButton:Size(26)
WorldMapFrameSizeUpButton:ClearAllPoints()
WorldMapFrameSizeUpButton:Point("RIGHT", WorldMapFrameCloseButton, "LEFT", 4, 0)
WorldMapFrameSizeUpButton:GetHighlightTexture():Kill()
S:HandleNextPrevButton(WorldMapFrameSizeUpButton, nil, nil, true)
WorldMapFrameSizeUpButton:Size(26)
S:HandleDropDownBox(WorldMapLevelDropDown)
S:HandleDropDownBox(WorldMapZoneMinimapDropDown)
S:HandleDropDownBox(WorldMapContinentDropDown)
S:HandleDropDownBox(WorldMapZoneDropDown)
S:HandleButton(WorldMapZoomOutButton)
WorldMapZoomOutButton:Point("LEFT", WorldMapZoneDropDown, "RIGHT", 0, 3)
S:HandleCheckBox(WorldMapTrackQuest)
S:HandleCheckBox(WorldMapQuestShowObjectives)
WorldMapFrameAreaLabel:FontTemplate(nil, 50, "OUTLINE")
WorldMapFrameAreaLabel:SetShadowOffset(2, -2)
WorldMapFrameAreaLabel:SetTextColor(0.90, 0.8294, 0.6407)
WorldMapFrameAreaDescription:FontTemplate(nil, 40, "OUTLINE")
WorldMapFrameAreaDescription:SetShadowOffset(2, -2)
WorldMapZoneInfo:FontTemplate(nil, 27, "OUTLINE")
WorldMapZoneInfo:SetShadowOffset(2, -2)
else
WorldMapDetailFrame.backdrop:Hide()
end
local function sizeDown()
WorldMapFrame.backdrop:Point("TOPLEFT", WorldMapDetailFrame, "TOPLEFT", -14, 27)
WorldMapDetailFrame.backdrop:Hide()
end
local function sizeUp()
WorldMapFrame.backdrop:Point("TOPLEFT", WorldMapDetailFrame, "TOPLEFT", -14, 70)
WorldMapDetailFrame.backdrop:Show()
end
S:SecureHook(Mapster, "SizeDown", sizeDown)
S:SecureHook(Mapster, "SizeUp", sizeUp)
if WorldMapFrame.sizedDown or WORLDMAP_SETTINGS and WORLDMAP_SETTINGS.size == WORLDMAP_WINDOWED_SIZE then
sizeDown()
else
sizeUp()
end
S:SecureHook(Mapster, "UpdateBorderVisibility", function(self)
if self.bordersVisible then
WorldMapFrame.backdrop:Show()
else
WorldMapFrame.backdrop:Hide()
end
end)
MapsterOptionsButton:Point("TOPRIGHT", WorldMapPositioningGuide, "TOPRIGHT", -50, -3)
MapsterOptionsButton.SetPoint = E.noop
MapsterQuestObjectivesDropDown:Point("BOTTOMRIGHT", WorldMapPositioningGuide, "BOTTOMRIGHT", -7, -4)
S:HandleButton(MapsterOptionsButton)
S:HandleDropDownBox(MapsterQuestObjectivesDropDown)
do -- Scaler
local Scale = Mapster:GetModule("Scale", true)
local scaler = WorldMapPositioningGuide:GetRegions()
local function updateScalerPoint(mini)
if mini then
scaler:Point("BOTTOMRIGHT", -25, -8)
elseif Mapster.bordersVisible then
scaler:Point("BOTTOMRIGHT", -1, 3)
end
end
if scaler then
scaler:Size(14)
updateScalerPoint(Mapster.miniMap)
else
if Scale then
S:SecureHook(Scale, "OnEnable", function(self)
scaler = WorldMapPositioningGuide:GetRegions()
scaler:Size(14)
updateScalerPoint(Mapster.miniMap)
S:Unhook(self, "OnEnable")
end)
end
end
if Scale then
function Scale:UpdateMapsize(mini)
if not scaler then return end
updateScalerPoint(mini)
end
end
end
end)
+185
View File
@@ -0,0 +1,185 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("QDKP2_GUI") then return end
-- Quick DKP V2 - GUI v 2.6.7 and v 2.7.5
S:AddCallbackForAddon("QDKP2_GUI", "QDKP2_GUI", function()
if not E.private.addOnSkins.QDKP2_GUI then return end
--Roster Frame
QDKP2_Frame2:StripTextures()
QDKP2_Frame2:CreateBackdrop("Transparent")
QDKP2_Frame2:Size(780, 400)
QDKP2_frame2_title:Size(725, 14)
QDKP2_frame2_scrollbar:StripTextures()
QDKP2_frame2_scrollbar:Point("TOPLEFT", 15, - 55)
QDKP2_frame2_scrollbar:Point("BOTTOMRIGHT", - 30, 41)
QDKP2_frame2_title_name:Size(105, 14)
QDKP2_frame2_title_class:Size(80, 14)
QDKP2_frame2_title_net:Size(60, 14)
QDKP2_frame2_title_total:Size(60, 14)
QDKP2_frame2_title_spent:Size(60, 14)
QDKP2_Frame2_Bid_Item:ClearAllPoints()
QDKP2_Frame2_Bid_Item:Point("BottomLeft", QDKP2_frame2_showRaid, "BottomLeft", - 60, - 2)
for i = 10, 29 do
local child = select(i, QDKP2_Frame2:GetChildren())
if child:IsObjectType("Button") then
child:StripTextures()
child:SetHighlightTexture("Interface\\AddOns\\ElvUI\\Media\\Textures\\Highlight.tga", "Add")
S:HandleButtonHighlight(child, 1, 0.8, 0.1)
end
end
for i = 1, 20 do
_G["QDKP2_frame2_entry" .. i]:Size(725, 14)
_G["QDKP2_frame2_entry" .. i .. "_name"]:Size(105, 14)
_G["QDKP2_frame2_entry" .. i .. "_class"]:Size(80, 14)
_G["QDKP2_frame2_entry" .. i .. "_net"]:Size(60, 14)
_G["QDKP2_frame2_entry" .. i .. "_total"]:Size(60, 14)
_G["QDKP2_frame2_entry" .. i .. "_spent"]:Size(60, 14)
local highlight = _G["QDKP2_frame2_entry" .. i .. "_Highlight"]
highlight:SetAllPoints(true)
highlight:SetTexture(E.Media.Textures.Highlight)
highlight:SetVertexColor(0.8, 0.6, 0.2, 0.5)
end
S:HandleScrollBar(QDKP2_frame2_scrollbarScrollBar)
S:HandleButton(QDKP2_Frame2_SortBtn_name)
S:HandleButton(QDKP2_Frame2_SortBtn_rank)
S:HandleButton(QDKP2_Frame2_SortBtn_class)
S:HandleButton(QDKP2_Frame2_SortBtn_net)
S:HandleButton(QDKP2_Frame2_SortBtn_total)
S:HandleButton(QDKP2_Frame2_SortBtn_spent)
S:HandleButton(QDKP2_Frame2_SortBtn_hours)
S:HandleButton(QDKP2_Frame2_SortBtn_deltatotal)
S:HandleButton(QDKP2_Frame2_SortBtn_deltaspent)
S:HandleButton(QDKP2_frame2_showRaid)
S:HandleButton(QDKP2_Frame2_Bid_Button)
S:HandleButton(QDKP2_Frame2_Bid_ButtonWin)
S:HandleButton(QDKP2_Frame2_SortBtn_roll)
S:HandleButton(QDKP2_Frame2_SortBtn_bid)
S:HandleButton(QDKP2_Frame2_SortBtn_value)
S:HandleEditBox(QDKP2_Frame2_Bid_Item)
S:HandleCheckBox(QDKP2frame2_selectList_guild)
if QDKP2frame2_selectList_guildOnline then
S:HandleCheckBox(QDKP2frame2_selectList_guildOnline)
elseif QDKP2frame2_selectList_Custom then
S:HandleCheckBox(QDKP2frame2_selectList_Custom)
end
S:HandleCheckBox(QDKP2frame2_selectList_Raid)
S:HandleCheckBox(QDKP2frame2_selectList_Bid)
S:HandleCloseButton(QDKP2_Frame2_Button1, QDKP2_Frame2)
--RaidLog Frame
QDKP2_Frame5:StripTextures()
QDKP2_Frame5:CreateBackdrop("Transparent")
QDKP2_frame5_scrollbar:StripTextures()
S:HandleCloseButton(QDKP2_Frame5_Button1, QDKP2_Frame5)
S:HandleScrollBar(QDKP2_frame5_scrollbarScrollBar)
QDKP2_frame5_intest_net:Size(40, 14)
QDKP2_frame5_intest_mod:Size(40, 14)
for i = 1, 25 do
_G["QDKP2_frame5_entry" .. i .. "_net"]:Size(40, 14)
_G["QDKP2_frame5_entry" .. i .. "_mod"]:Size(40, 14)
end
for i = 4, 28 do
local child = select(i, QDKP2_Frame5:GetChildren())
if child:IsObjectType("Button") then
child:StripTextures()
child:SetHighlightTexture("Interface\\AddOns\\ElvUI\\Media\\Textures\\Highlight.tga", "Add")
S:HandleButtonHighlight(child, 1, 0.8, 0.1)
end
end
--Frame 1
QDKP2_Frame1:StripTextures()
QDKP2_Frame1:CreateBackdrop("Transparent")
S:HandleCloseButton(QDKP2_Frame1_Button1, QDKP2_Frame1)
S:HandleButton(QDKP2frame1_newSession)
S:HandleButton(QDKP2frame1_closeSession)
S:HandleButton(QDKP2frame1_upload)
S:HandleButton(QDKP2frame1_revert)
S:HandleButton(QDKP2frame1_backup)
S:HandleButton(QDKP2frame1_restore)
S:HandleButton(QDKP2frame1_exportTXT)
S:HandleButton(QDKP2frame1_list)
S:HandleButton(QDKP2frame1_log)
S:HandleButton(QDKP2frame1_award)
S:HandleButton(QDKP2frame1_dkpBox_perhr)
S:HandleButton(QDKP2frame1_dkpBox_IM)
S:HandleButton(QDKP2frame1_ironman)
S:HandleButton(QDKP2frame1_onOff)
S:HandleButton(QDKP2frame1_dkpBox)
S:HandleNextPrevButton(QDKP2frame1_upbutton, "up")
S:HandleNextPrevButton(QDKP2frame1_downbutton, "down")
S:HandleNextPrevButton(QDKP2frame1_hourlybonus_upbutton, "up")
S:HandleNextPrevButton(QDKP2frame1_hourlybonus_downbutton, "down")
S:HandleNextPrevButton(QDKP2frame1_IMbonus_upbutton, "up")
S:HandleNextPrevButton(QDKP2frame1_IMbonus_downbutton, "down")
S:HandleCheckBox(QDKP2frame1_UseBossMod)
S:HandleCheckBox(QDKP2frame1_DetectBids)
S:HandleCheckBox(QDKP2frame1_FixedPrice)
QDKP2_frame1_BackupDate:Point("CENTER", 0, - 3)
QDKP2_Frame1_raidDKP_text:Point("LEFT", 4, 0)
QDKP2_Frame1_timerDKP_text:Point("LEFT", 4, 0)
QDKP2_Frame1_IMDKP_text:Point("LEFT", 4, 0)
QDKP2frame1_exportTXT:Size(60, 20)
QDKP2frame1_exportTXT:Point("Left", QDKP2frame1_upload, "RIGHT", 5, - 22)
QDKP2frame1_log:Point("CENTER", QDKP2_Frame1, "TOP", - 2, - 55)
QDKP2frame1_newSession:Point("RIGHT", QDKP2_Frame1, "TOP", - 2, - 103)
QDKP2frame1_backup:Point("RIGHT", QDKP2_frame1_BackupDate_Parent, "TOP", - 36, 5)
QDKP2frame1_restore:Point("LEFT", QDKP2_frame1_BackupDate_Parent, "TOP", - 35, 5)
QDKP2frame1_backup:Size(89, 20)
QDKP2frame1_restore:Size(89, 20)
--Frame 3
QDKP2_Frame3:StripTextures()
QDKP2_Frame3:CreateBackdrop("Transparent")
QDKP2frame3_dkpBox:Size(45, 20)
QDKP2frame3_reasonBox:Size(137, 20)
QDKP2frame3_reasonBox:Point("LEFT", QDKP2frame3_For, "RIGHT", 4, - 2)
QDKP2frame3_changePlayerInfo:Point("CENTER", QDKP2_Frame3, "BOTTOM", 0, 23)
S:HandleCloseButton(QDKP2_Frame3_Button1)
S:HandleEditBox(QDKP2frame3_dkpBox)
S:HandleEditBox(QDKP2frame3_reasonBox)
S:HandleButton(QDKP2frame3_award)
S:HandleButton(QDKP2frame3_spend)
S:HandleButton(QDKP2frame3_zsBtn)
S:HandleButton(QDKP2frame3_PopupLog)
S:HandleButton(QDKP2frame3_changePlayerInfo)
--Frame 4
QDKP2_Frame4:StripTextures()
QDKP2_Frame4:CreateBackdrop("Transparent")
S:HandleCloseButton(QDKP2_Frame4_Button1)
QDKP2frame4_NetBox:Size(100, 15)
QDKP2frame4_TotalBox:Size(100, 15)
QDKP2frame4_HoursBox:Size(70, 15)
QDKP2frame4_NetBox:Point("TopLeft", QDKP2_Frame4, "TopLeft", 70, - 31)
QDKP2frame4_TotalBox:Point("TopLeft", QDKP2_Frame4, "TopLeft", 70, - 51)
QDKP2frame4_HoursBox:Point("TopLeft", QDKP2_Frame4, "TopLeft", 70, - 71)
S:HandleEditBox(QDKP2frame4_NetBox)
S:HandleEditBox(QDKP2frame4_TotalBox)
S:HandleEditBox(QDKP2frame4_HoursBox)
S:HandleButton(QDKP2Frame4_Set)
--QDKP2_modify_log_entry
QDKP2_modify_log_entry:StripTextures()
QDKP2_modify_log_entry:CreateBackdrop("Transparent")
S:HandleCloseButton(QDKP2_modify_log_entry_ButtonClose)
QDKP2_modify_log_entry:Size(230, 160)
QDKP2frame6_GainedBox:Size(50, 20)
QDKP2frame6_SpentBox:Size(50, 20)
QDKP2frame6_ReasonBox:Size(160, 20)
QDKP2frame6_ReasonBox:Point("TOP", 19, - 70)
QDKP2_modify_log_entry_for:Point("TOPLEFT", 5, - 74)
S:HandleEditBox(QDKP2frame6_GainedBox)
S:HandleEditBox(QDKP2frame6_SpentBox)
S:HandleEditBox(QDKP2frame6_ReasonBox)
S:HandleButton(QDKP2_modify_log_entry_Apply)
S:HandleButton(QDKP2_modify_log_entry_Cancel)
end)
+513
View File
@@ -0,0 +1,513 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("QuestGuru") then return end
local _G = _G
local select = select
local unpack = unpack
local GetItemInfo = GetItemInfo
local GetItemQualityColor = GetItemQualityColor
local GetQuestLogChoiceInfo = GetQuestLogChoiceInfo
local hooksecurefunc = hooksecurefunc
-- QuestGuru 1.4.1
S:AddCallbackForAddon("QuestGuru", "QuestGuru", function()
if not E.private.addOnSkins.QuestGuru then return end
local origCount = QUESTGURU_QUESTS_DISPLAYED
QUESTS_DISPLAYED = 21
QUESTGURU_QUESTS_DISPLAYED = 21
for i = QUESTS_DISPLAYED + 1, origCount do
_G["QuestGuru_QuestLogTitle"..i]:Hide()
_G["QuestGuru_QuestAbandonTitle"..i]:Hide()
end
QuestGuru_UpdateGossipFrame = E.noop
QuestGuru_UpdateProgressFrame = E.noop
QuestGuru_UpdateDetailFrame = E.noop
QuestGuru_QuestFrameGreetingPanel_OnShow = E.noop
QuestGuru_QuestLogFrame:Size(682, 447)
if not QuestGuru_QuestLogFrame.backdrop then
QuestGuru_QuestLogFrame:StripTextures()
QuestGuru_QuestLogFrame:CreateBackdrop("Transparent")
QuestGuru_QuestLogFrame.backdrop:Point("TOPLEFT", 11, -12)
QuestGuru_QuestLogFrame.backdrop:Point("BOTTOMRIGHT", -1, 11)
end
S:SetUIPanelWindowInfo(QuestGuru_QuestLogFrame, "xoffset", -50)
S:HandleCloseButton(QuestGuru_QuestLogFrameCloseButton, QuestLogFrame.backdrop)
QuestGuru_QuestLogTitleText:Point("TOP", 0, -16)
QuestGuruShowMapButton:StripTextures()
S:HandleButton(QuestGuruShowMapButton)
QuestGuruShowMapButton:Width(82)
QuestGuruShowMapButton:Point("TOPRIGHT", 1, 32)
QuestGuruShowMapButton.text:ClearAllPoints()
QuestGuruShowMapButton.text:SetPoint("CENTER")
QuestGuru_QuestLogCount:StripTextures()
QuestGuru_QuestLogCount:Point("TOPRIGHT", -118, -23)
QuestGuru_QuestLogCount.SetPoint = E.noop
QuestGuru_QuestLogCount:CreateBackdrop("Transparent")
QuestGuru_QuestLogCount.backdrop:Point("TOPLEFT", -1, 0)
QuestGuru_QuestLogCount.backdrop:Point("BOTTOMRIGHT", 1, -4)
S:HandleButton(QuestGuru_QuestFrameExpandCollapseButton)
QuestGuru_QuestFrameExpandCollapseButton:Point("TOPLEFT", 19, -39)
QuestGuru_QuestLogFrameTab1:StripTextures()
QuestGuru_QuestLogFrameTab1:SetTemplate()
QuestGuru_QuestLogFrameTab1:Height(24)
QuestGuru_QuestLogFrameTab1:Point("TOPLEFT", 40, -35)
QuestGuru_QuestLogFrameTab1.SetPoint = E.noop
QuestGuru_QuestLogFrameTab1:SetHitRectInsets(0, 0, 0, 0)
QuestGuru_QuestLogFrameTab1:HookScript("OnEnter", S.SetModifiedBackdrop)
QuestGuru_QuestLogFrameTab1:HookScript("OnLeave", S.SetOriginalBackdrop)
QuestGuru_QuestLogFrameTab2:StripTextures()
QuestGuru_QuestLogFrameTab2:SetTemplate()
QuestGuru_QuestLogFrameTab2:Height(24)
QuestGuru_QuestLogFrameTab2:Point("LEFT", QuestGuru_QuestLogFrameTab1, "RIGHT", 1, 0)
QuestGuru_QuestLogFrameTab2.SetPoint = E.noop
QuestGuru_QuestLogFrameTab2:SetHitRectInsets(0, 0, 0, 0)
QuestGuru_QuestLogFrameTab2:HookScript("OnEnter", S.SetModifiedBackdrop)
QuestGuru_QuestLogFrameTab2:HookScript("OnLeave", S.SetOriginalBackdrop)
QuestGuru_QuestLogTitle1:ClearAllPoints()
QuestGuru_QuestLogTitle1:SetPoint("TOPLEFT", QuestGuru_QuestLogListScrollFrame)
QuestGuru_QuestLogListScrollFrame:Size(305, 335)
QuestGuru_QuestLogListScrollFrame:ClearAllPoints()
QuestGuru_QuestLogListScrollFrame:Point("TOPLEFT", QuestGuru_QuestLogFrame, 19, -62)
QuestGuru_QuestLogListScrollFrame:CreateBackdrop("Transparent")
QuestGuru_QuestLogListScrollFrame.backdrop:Point("TOPLEFT", 0, 2)
QuestGuru_QuestLogListScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
QuestGuru_QuestLogListScrollFrame:Show()
QuestGuru_QuestLogListScrollFrame.Hide = QuestGuru_QuestLogListScrollFrame.Show
S:HandleScrollBar(QuestGuru_QuestLogListScrollFrameScrollBar)
QuestGuru_QuestLogListScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestLogListScrollFrame, "TOPRIGHT", 3, -17)
QuestGuru_QuestLogListScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestLogListScrollFrame, "BOTTOMRIGHT", 3, 17)
QuestGuru_QuestLogDetailScrollFrame:Size(304, 336)
QuestGuru_QuestLogDetailScrollFrame:ClearAllPoints()
QuestGuru_QuestLogDetailScrollFrame:Point("TOPRIGHT", QuestGuru_QuestLogFrame, -30, -61)
QuestGuru_QuestLogDetailScrollFrame:StripTextures()
QuestGuru_QuestLogDetailScrollFrame:CreateBackdrop("Transparent")
QuestGuru_QuestLogDetailScrollFrame.backdrop:Point("TOPLEFT", 0, 1)
QuestGuru_QuestLogDetailScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
S:HandleScrollBar(QuestGuru_QuestLogDetailScrollFrameScrollBar)
QuestGuru_QuestLogDetailScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestLogDetailScrollFrame, "TOPRIGHT", 3, -18)
QuestGuru_QuestLogDetailScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestLogDetailScrollFrame, "BOTTOMRIGHT", 3, 17)
S:HandleButton(QuestGuru_QuestLogFrameAbandonButton)
S:HandleButton(QuestGuru_QuestFramePushQuestButton)
S:HandleButton(QuestGuru_QuestFrameOptionsButton)
S:HandleButton(QuestGuru_QuestFrameExitButton)
QuestGuru_QuestLogFrameAbandonButton:Height(22)
QuestGuru_QuestFramePushQuestButton:Height(22)
QuestGuru_QuestFrameOptionsButton:Height(22)
QuestGuru_QuestFrameExitButton:Height(22)
QuestGuru_QuestLogFrameAbandonButton:Point("BOTTOMLEFT", QuestGuru_QuestLogFrame, "BOTTOMLEFT", 19, 19)
QuestGuru_QuestFramePushQuestButton:Point("LEFT", QuestGuru_QuestLogFrameAbandonButton, "RIGHT", 3, 0)
QuestGuru_QuestFrameExitButton:Point("BOTTOMRIGHT", -9, 19)
QuestGuru_QuestFrameOptionsButton:Point("RIGHT", QuestGuru_QuestFrameExitButton, "LEFT", -3, 0)
-- Abandoned
QuestGuru_QuestAbandonTitle1:ClearAllPoints()
QuestGuru_QuestAbandonTitle1:SetPoint("TOPLEFT", QuestGuru_QuestAbandonListScrollFrame)
QuestGuru_QuestAbandonListScrollFrame:Size(305, 335)
QuestGuru_QuestAbandonListScrollFrame:ClearAllPoints()
QuestGuru_QuestAbandonListScrollFrame:Point("TOPLEFT", QuestGuru_QuestLogFrame, 19, -62)
QuestGuru_QuestAbandonListScrollFrame:CreateBackdrop("Transparent")
QuestGuru_QuestAbandonListScrollFrame.backdrop:Point("TOPLEFT", 0, 2)
QuestGuru_QuestAbandonListScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
QuestGuru_QuestAbandonListScrollFrame:Show()
QuestGuru_QuestAbandonListScrollFrame.Hide = QuestGuru_QuestAbandonListScrollFrame.Show
S:HandleScrollBar(QuestGuru_QuestAbandonListScrollFrameScrollBar)
QuestGuru_QuestAbandonListScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestAbandonListScrollFrame, "TOPRIGHT", 3, -17)
QuestGuru_QuestAbandonListScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestAbandonListScrollFrame, "BOTTOMRIGHT", 3, 17)
QuestGuru_QuestAbandonDetailScrollFrame:Size(304, 336)
QuestGuru_QuestAbandonDetailScrollFrame:ClearAllPoints()
QuestGuru_QuestAbandonDetailScrollFrame:Point("TOPRIGHT", QuestGuru_QuestLogFrame, -30, -61)
QuestGuru_QuestAbandonDetailScrollFrame:StripTextures()
QuestGuru_QuestAbandonDetailScrollFrame:CreateBackdrop("Transparent")
QuestGuru_QuestAbandonDetailScrollFrame.backdrop:Point("TOPLEFT", 0, 1)
QuestGuru_QuestAbandonDetailScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
S:HandleScrollBar(QuestGuru_QuestAbandonDetailScrollFrameScrollBar)
QuestGuru_QuestAbandonDetailScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestAbandonDetailScrollFrame, "TOPRIGHT", 3, -18)
QuestGuru_QuestAbandonDetailScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestAbandonDetailScrollFrame, "BOTTOMRIGHT", 3, 17)
S:HandleEditBox(QuestGuru_QuestAbandonSearch)
QuestGuru_QuestAbandonSearch:Point("LEFT", QuestGuru_QuestAbandonSearchText, "RIGHT", 4, -1)
S:HandleButton(QuestGuru_QuestAbandonClearList)
QuestGuru_QuestAbandonClearList:Height(22)
QuestGuru_QuestAbandonClearList:Point("LEFT", QuestGuru_QuestAbandonSearch, "RIGHT", 8, 0)
local function skinOptions(f)
for i = 1, f:GetNumChildren() do
local child = select(i, f:GetChildren())
if child then
if child:IsObjectType("CheckButton") then
S:HandleCheckBox(child)
elseif child:IsObjectType("EditBox") then
S:HandleEditBox(child)
elseif child:IsObjectType("Button") then
S:HandleButton(child)
elseif child:IsObjectType("Frame") then
S:HandleDropDownBox(child, 240)
end
end
end
end
skinOptions(QuestGuru_OptionsFrameGeneral)
skinOptions(QuestGuru_OptionsFrameSound)
skinOptions(QuestGuru_AnnounceFrame)
local function skinLogEntry(questLogTitle, index)
questLogTitle:Width(300)
if index > 1 then
questLogTitle:SetPoint("TOPLEFT", _G["QuestGuru_QuestLogTitle"..(index-1)], "BOTTOMLEFT", 0, 0)
end
if questLogTitle.check then
questLogTitle.check:CreateBackdrop()
questLogTitle.check.backdrop:SetInside()
questLogTitle.check:SetNormalTexture(nil)
questLogTitle.check:SetPushedTexture(nil)
questLogTitle.check:SetHighlightTexture(nil)
end
S:HandleCollapseExpandButton(questLogTitle)
end
for i = 1, QUESTS_DISPLAYED do
skinLogEntry(_G["QuestGuru_QuestLogTitle"..i], i)
skinLogEntry(_G["QuestGuru_QuestAbandonTitle"..i], i)
end
-- QuestStart Tooltip
QuestGuru_QuestStartInfoFrame:StripTextures()
QuestGuru_QuestStartInfoFrame:SetTemplate("Transparent")
-- Quest items
local function updateItemQuality(self, texture)
if self.parent.link or self.parent.type == "choice" then
local quality
if self.parent.link then
quality = select(3, GetItemInfo(self.parent.link))
elseif self.parent.type == "choice" then
quality = select(4, GetQuestLogChoiceInfo(self.parent:GetID()))
end
if quality then
local r, g, b = GetItemQualityColor(quality)
self.parent:SetBackdropBorderColor(r, g, b)
self.parent.backdrop:SetBackdropBorderColor(r, g, b)
self.parent.text:SetTextColor(r, g, b)
else
self.parent:SetBackdropBorderColor(unpack(E.media.bordercolor))
self.parent.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
self.parent.text:SetTextColor(1, 1, 1)
end
end
end
local items = {
["QuestGuru_QuestLogItem"] = 10,
["QuestGuru_QuestLogObjectiveItem"] = 10,
["QuestGuru_QuestAbandonItem"] = 10,
}
for frame, numItems in pairs(items) do
for i = 1, numItems do
local item = _G[frame..i]
local icon = _G[frame..i.."IconTexture"]
local count = _G[frame..i.."Count"]
item:StripTextures()
item:SetTemplate("Default")
item:StyleButton()
item:Size(143, 40)
item:SetFrameLevel(item:GetFrameLevel() + 2)
icon:Size(E.PixelMode and 38 or 32)
icon:SetDrawLayer("OVERLAY")
icon:Point("TOPLEFT", E.PixelMode and 1 or 4, -(E.PixelMode and 1 or 4))
S:HandleIcon(icon)
item.text = _G[frame..i.."Name"]
icon.parent = item
hooksecurefunc(icon, "SetTexture", updateItemQuality)
count:SetParent(item.backdrop)
count:SetDrawLayer("OVERLAY")
end
end
do -- Fonts
local function fixFontColor(obj, r, g, b)
obj:SetTextColor(r, g, b)
obj.SetTextColor = E.noop
end
fixFontColor(QuestGuru_QuestStartInfoTitle, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestStartInfoNPC, 1, 1, 1)
fixFontColor(QuestGuru_QuestStartInfoPOS, 1, 1, 1)
fixFontColor(QuestGuru_QuestStartInfoArea, 1, 1, 1)
fixFontColor(QuestGuru_QuestStartInfoTimeLabel, 1, 1, 1)
fixFontColor(QuestGuru_QuestStartInfoTime, 1, 1, 1)
fixFontColor(QuestGuru_QuestStartInfoLevelLabel, 1, 1, 1)
fixFontColor(QuestGuru_QuestStartInfoLevel, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogQuestTitle, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestLogObjectivesText, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogTimerText, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective1, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective2, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective3, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective4, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective5, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective6, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective7, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective8, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective9, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogObjective10, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogRequiredMoneyText, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogSuggestedGroupNum, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogDescriptionTitle, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestLogQuestDescription, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogRewardTitleText, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestLogItemChooseText, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogItemReceiveText, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogSpellLearnText, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogPlayerTitleText, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogStartLabel, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogFinishLabel, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogFinishPos, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogFinishNPCName, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestLogHonorFrameReceiveText, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogTalentFrameReceiveText, 1, 1, 1)
fixFontColor(QuestGuru_QuestLogXPFrameReceiveText, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonQuestTitle, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestAbandonObjectivesText, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonTimerText, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective1, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective2, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective3, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective4, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective5, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective6, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective7, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective8, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective9, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonObjective10, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonRequiredMoneyText, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonSuggestedGroupNum, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonDescriptionTitle, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestAbandonQuestDescription, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonRewardTitleText, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestAbandonItemChooseText, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonItemReceiveText, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonSpellLearnText, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonPlayerTitleText, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonStartLabel, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonFinishLabel, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonFinishPos, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonFinishNPCName, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestAbandonHonorFrameReceiveText, 1, 1, 1)
fixFontColor(QuestGuru_QuestAbandonTalentFrameReceiveText, 1, 1, 1)
end
end)
S:AddCallbackForAddon("QuestGuru_History", "QuestGuru_History", function()
if not E.private.addOnSkins.QuestGuru then return end
QuestGuru_QuestLogFrameTab3:StripTextures()
QuestGuru_QuestLogFrameTab3:SetTemplate()
QuestGuru_QuestLogFrameTab3:Height(24)
QuestGuru_QuestLogFrameTab3:Point("LEFT", QuestGuru_QuestLogFrameTab2, "RIGHT", 1, 0)
QuestGuru_QuestLogFrameTab3.SetPoint = E.noop
QuestGuru_QuestLogFrameTab3:SetHitRectInsets(0, 0, 0, 0)
QuestGuru_QuestLogFrameTab3:HookScript("OnEnter", S.SetModifiedBackdrop)
QuestGuru_QuestLogFrameTab3:HookScript("OnLeave", S.SetOriginalBackdrop)
QuestGuru_QuestLogFrameTab2.SetPoint = nil
QuestGuru_QuestLogFrameTab2:Point("LEFT", QuestGuru_QuestLogFrameTab1, "RIGHT", 1, 0)
QuestGuru_QuestLogFrameTab2.SetPoint = E.noop
QuestGuru_QuestHistoryTitle1:ClearAllPoints()
QuestGuru_QuestHistoryTitle1:SetPoint("TOPLEFT", QuestGuru_QuestHistoryListScrollFrame)
QuestGuru_QuestHistoryListScrollFrame:Size(305, 335)
QuestGuru_QuestHistoryListScrollFrame:ClearAllPoints()
QuestGuru_QuestHistoryListScrollFrame:Point("TOPLEFT", QuestGuru_QuestLogFrame, 19, -62)
QuestGuru_QuestHistoryListScrollFrame:CreateBackdrop("Transparent")
QuestGuru_QuestHistoryListScrollFrame.backdrop:Point("TOPLEFT", 0, 2)
QuestGuru_QuestHistoryListScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
QuestGuru_QuestHistoryListScrollFrame:Show()
QuestGuru_QuestHistoryListScrollFrame.Hide = QuestGuru_QuestHistoryListScrollFrame.Show
S:HandleScrollBar(QuestGuru_QuestHistoryListScrollFrameScrollBar)
QuestGuru_QuestHistoryListScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestHistoryListScrollFrame, "TOPRIGHT", 3, -17)
QuestGuru_QuestHistoryListScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestHistoryListScrollFrame, "BOTTOMRIGHT", 3, 17)
QuestGuru_QuestHistoryDetailScrollFrame:Size(304, 336)
QuestGuru_QuestHistoryDetailScrollFrame:ClearAllPoints()
QuestGuru_QuestHistoryDetailScrollFrame:Point("TOPRIGHT", QuestGuru_QuestLogFrame, -30, -61)
QuestGuru_QuestHistoryDetailScrollFrame:StripTextures()
QuestGuru_QuestHistoryDetailScrollFrame:CreateBackdrop("Transparent")
QuestGuru_QuestHistoryDetailScrollFrame.backdrop:Point("TOPLEFT", 0, 1)
QuestGuru_QuestHistoryDetailScrollFrame.backdrop:Point("BOTTOMRIGHT", 0, -2)
S:HandleScrollBar(QuestGuru_QuestHistoryDetailScrollFrameScrollBar)
QuestGuru_QuestHistoryDetailScrollFrameScrollBar:Point("TOPLEFT", QuestGuru_QuestHistoryDetailScrollFrame, "TOPRIGHT", 3, -18)
QuestGuru_QuestHistoryDetailScrollFrameScrollBar:Point("BOTTOMLEFT", QuestGuru_QuestHistoryDetailScrollFrame, "BOTTOMRIGHT", 3, 17)
S:HandleEditBox(QuestGuru_QuestHistorySearch)
QuestGuru_QuestHistorySearch:Width(143)
QuestGuru_QuestHistorySearch:Point("LEFT", QuestGuru_QuestHistorySearchText, "RIGHT", 4, -1)
S:HandleButton(QuestGuru_HistoryListFrameShowButton)
QuestGuru_HistoryListFrameShowButton:Point("LEFT", QuestGuru_QuestHistorySearch, "RIGHT", 4, 0)
local function skinLogEntry(questLogTitle, index)
questLogTitle:Width(300)
if index > 1 then
questLogTitle:SetPoint("TOPLEFT", _G["QuestGuru_QuestLogTitle"..(index-1)], "BOTTOMLEFT", 0, 0)
end
if questLogTitle.check then
questLogTitle.check:CreateBackdrop()
questLogTitle.check.backdrop:SetInside()
questLogTitle.check:SetNormalTexture(nil)
questLogTitle.check:SetPushedTexture(nil)
questLogTitle.check:SetHighlightTexture(nil)
end
S:HandleCollapseExpandButton(questLogTitle)
end
for i = 1, QUESTS_DISPLAYED do
skinLogEntry(_G["QuestGuru_QuestHistoryTitle"..i], i)
end
-- Quest items
local function updateItemQuality(self, texture)
if self.parent.link or self.parent.type == "choice" then
local quality
if self.parent.link then
quality = select(3, GetItemInfo(self.parent.link))
elseif self.parent.type == "choice" then
quality = select(4, GetQuestLogChoiceInfo(self.parent:GetID()))
end
if quality then
local r, g, b = GetItemQualityColor(quality)
self.parent:SetBackdropBorderColor(r, g, b)
self.parent.backdrop:SetBackdropBorderColor(r, g, b)
self.parent.text:SetTextColor(r, g, b)
else
self.parent:SetBackdropBorderColor(unpack(E.media.bordercolor))
self.parent.backdrop:SetBackdropBorderColor(unpack(E.media.bordercolor))
self.parent.text:SetTextColor(1, 1, 1)
end
end
end
local items = {
["QuestGuru_QuestHistoryItem"] = 10,
}
for frame, numItems in pairs(items) do
for i = 1, numItems do
local item = _G[frame..i]
local icon = _G[frame..i.."IconTexture"]
local count = _G[frame..i.."Count"]
item:StripTextures()
item:SetTemplate("Default")
item:StyleButton()
item:Size(143, 40)
item:SetFrameLevel(item:GetFrameLevel() + 2)
icon:Size(E.PixelMode and 38 or 32)
icon:SetDrawLayer("OVERLAY")
icon:Point("TOPLEFT", E.PixelMode and 1 or 4, -(E.PixelMode and 1 or 4))
S:HandleIcon(icon)
item.text = _G[frame..i.."Name"]
icon.parent = item
hooksecurefunc(icon, "SetTexture", updateItemQuality)
count:SetParent(item.backdrop)
count:SetDrawLayer("OVERLAY")
end
end
do -- Fonts
local function fixFontColor(obj, r, g, b)
obj:SetTextColor(r, g, b)
obj.SetTextColor = E.noop
end
fixFontColor(QuestGuru_QuestHistoryQuestTitle, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestHistoryObjectivesText, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryTimerText, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective1, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective2, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective3, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective4, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective5, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective6, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective7, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective8, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective9, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryObjective10, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryRequiredMoneyText, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistorySuggestedGroupNum, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryDescriptionTitle, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestHistoryQuestDescription, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryRewardTitleText, 1, 0.8, 0.1)
fixFontColor(QuestGuru_QuestHistoryItemChooseText, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryItemReceiveText, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistorySpellLearnText, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryPlayerTitleText, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryXPText, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryRepText, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryStartLabel, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryStartPos, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryStartNPCName, 0.4, 0.8, 1)
fixFontColor(QuestGuru_QuestHistoryFinishLabel, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryFinishPos, 0.6, 0.6, 0.6)
fixFontColor(QuestGuru_QuestHistoryFinishNPCName, 0.4, 0.8, 1)
fixFontColor(QuestGuru_QuestHistoryHonorFrameReceiveText, 1, 1, 1)
fixFontColor(QuestGuru_QuestHistoryTalentFrameReceiveText, 1, 1, 1)
end
end)
@@ -0,0 +1,445 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("QuestGuru_Tracker") then return end
-- QuestGuru_Tracker 1.4.4
S:AddCallbackForAddon("QuestGuru_Tracker", "QuestGuru_Tracker", function()
if not E.private.addOnSkins.QuestGuru_Tracker then return end
E:GetModule("Tooltip"):SetStyle(QGT_QuestWatchFrameTooltip)
QGT_QuestWatchFrameTooltip.SetBackdropColor = E.noop
QGT_QuestWatchFrameTooltip.SetBackdropBorderColor = E.noop
QGT_QuestWatchFrame:SetBackdrop(nil)
QGT_QuestWatchFrame:CreateBackdrop(QGT_Settings.ShowBorder and "Transparent" or "NoBackdrop")
QGT_QuestWatchFrame:SetHitRectInsets(0, 0, 0, 0)
QGT_QuestWatchFrameBackground:Hide()
QGT_AchievementWatchFrame:SetBackdrop(nil)
QGT_AchievementWatchFrame:CreateBackdrop(QGT_Settings.ShowBorder and "Transparent" or "NoBackdrop")
QGT_AchievementWatchFrame:SetHitRectInsets(0, 0, 0, 0)
QGT_AchievementWatchFrameBackground:Hide()
S:HandleButton(QGT_QuestWatchFrameToggle)
S:HandleButton(QGT_QuestWatchFrameMinimize)
S:HandleButton(QGT_QuestWatchFrameOptions)
S:HandleButton(QGT_AchievementWatchFrameToggle)
S:HandleButton(QGT_AchievementWatchFrameMinimize)
S:HandleButton(QGT_AchievementWatchFrameOptions)
QGT_QuestWatchFrameMinimize:Point("RIGHT", QGT_QuestWatchFrameOptions, "LEFT", -1, 0)
QGT_QuestWatchFrameToggle:Point("RIGHT", QGT_QuestWatchFrameMinimize, "LEFT", -2, 0)
QGT_AchievementWatchFrameMinimize:Point("RIGHT", QGT_AchievementWatchFrameOptions, "LEFT", -1, 0)
QGT_AchievementWatchFrameToggle:Point("RIGHT", QGT_AchievementWatchFrameMinimize, "LEFT", -2, 0)
local _SetPoint = QGT_QuestWatchFrameSlider.SetPoint
local function sliderSetPoint(self, point)
if point == "TOPLEFT" then
_SetPoint(self, "TOPLEFT", -12, -17)
else
_SetPoint(self, "TOPRIGHT", 12, -17)
end
end
S:HandleSliderFrame(QGT_QuestWatchFrameSlider)
QGT_QuestWatchFrameSlider.SetPoint = sliderSetPoint
S:HandleSliderFrame(QGT_AchievementWatchFrameSlider)
QGT_AchievementWatchFrameSlider.SetPoint = sliderSetPoint
local function skinOptions(f)
for i = 1, f:GetNumChildren() do
local child = select(i, f:GetChildren())
if child then
if child:IsObjectType("CheckButton") then
S:HandleCheckBox(child)
elseif child:IsObjectType("EditBox") then
S:HandleEditBox(child)
elseif child:IsObjectType("Button") then
S:HandleButton(child)
elseif child:IsObjectType("Slider") then
S:HandleSliderFrame(child)
end
end
end
end
skinOptions(QGT_OptionsFrameTracker)
for i = 1, 40 do
local frame = _G["QGT_AchievementWatchLine"..i]
local icon = _G["QGT_AchievementWatchLine"..i.."Icon"]
icon:Size(14)
icon:SetTexCoord(unpack(E.TexCoords))
frame.statusBar:StripTextures()
frame.statusBar:CreateBackdrop("Transparent")
frame.statusBar:SetStatusBarTexture(E.media.normTex)
E:RegisterStatusBar(frame.statusBar)
end
do
local alpha = QGT_Settings.Alpha
local backdropR, backdropG, backdropB = unpack(E.media.backdropfadecolor, 1, 3)
local borderR, borderG, borderB = unpack(E.media.bordercolor, 1, 3)
QGT_QuestWatchFrame.backdrop:SetBackdropColor(backdropR, backdropG, backdropB, alpha)
QGT_QuestWatchFrame.backdrop:SetBackdropBorderColor(borderR, borderG, borderB, alpha)
QGT_AchievementWatchFrame.backdrop:SetBackdropColor(backdropR, backdropG, backdropB, alpha)
QGT_AchievementWatchFrame.backdrop:SetBackdropBorderColor(borderR, borderG, borderB, alpha)
end
QGT_SetQuestWatchBorder = function(enabled)
if enabled then
QGT_QuestWatchFrame.backdrop:SetTemplate("Transparent", nil, true)
else
QGT_QuestWatchFrame.backdrop:SetTemplate("NoBackdrop", nil, true)
end
end
QGT_SetAchievementWatchBorder = function(enabled)
if enabled then
QGT_AchievementWatchFrame.backdrop:SetTemplate("Transparent", nil, true)
else
QGT_AchievementWatchFrame.backdrop:SetTemplate("NoBackdrop", nil, true)
end
end
QGT_OptionsFrameTrackerAlpha:SetScript("OnValueChanged", function(self)
local alpha = self:GetValue()
local backdropR, backdropG, backdropB = unpack(E.media.backdropfadecolor, 1, 3)
local borderR, borderG, borderB = unpack(E.media.bordercolor, 1, 3)
QGT_Settings.Alpha = alpha
QGT_QuestWatchFrame.backdrop:SetBackdropColor(backdropR, backdropG, backdropB, alpha)
QGT_QuestWatchFrame.backdrop:SetBackdropBorderColor(borderR, borderG, borderB, alpha)
QGT_AchievementWatchFrame.backdrop:SetBackdropColor(backdropR, backdropG, backdropB, alpha)
QGT_AchievementWatchFrame.backdrop:SetBackdropBorderColor(borderR, borderG, borderB, alpha)
QGT_OptionsFrameTrackerAlphaText:SetFormattedText("%s (%d%%)", QG_OPT_TRACKER_ALPHA, math.abs(math.ceil(alpha * 100 - 0.5)))
end)
local skinnedButtons = 0
hooksecurefunc("QGT_QuestWatch_Update", function()
local questItemIcons = QGT_Settings.QuestItemIcons
if questItemIcons or QGT_WATCHFRAME_NUM_ITEMS > skinnedButtons then
local leftSide = (QGT_Settings.QuestWatch.Left * QGT_Settings.Scale) < 32
local sliderVisible = QGT_QuestWatchFrameSlider:GetAlpha() > 0
local sliderRightVisible = sliderVisible and ((QGT_Settings.QuestWatch.Left + 256) * QGT_Settings.Scale) > (UIParent:GetWidth() - 16)
for i = questItemIcons and 1 or skinnedButtons + 1, QGT_WATCHFRAME_NUM_ITEMS do
local button = _G["WatchFrameItem"..i]
if button then
if not button.isSkinned then
local icon = _G["WatchFrameItem"..i.."IconTexture"]
local normal = _G["WatchFrameItem"..i.."NormalTexture"]
local cooldown = _G["WatchFrameItem"..i.."Cooldown"]
button:CreateBackdrop()
button.backdrop:SetAllPoints()
button:StyleButton()
button:Size(25)
normal:SetAlpha(0)
icon:SetInside()
icon:SetTexCoord(unpack(E.TexCoords))
E:RegisterCooldown(cooldown)
button.isSkinned = true
end
if questItemIcons then
local _, watchText = button:GetPoint()
if leftSide then
if sliderVisible then
button:Point("TOPLEFT", watchText, "TOPRIGHT", 19, 0)
else
button:Point("TOPLEFT", watchText, "TOPRIGHT", 8, 0)
end
else
if sliderRightVisible then
button:Point("TOPRIGHT", watchText, "TOPLEFT", -19, 0)
else
button:Point("TOPRIGHT", watchText, "TOPLEFT", -8, 0)
end
end
end
end
end
skinnedButtons = QGT_WATCHFRAME_NUM_ITEMS
end
end)
do -- Fixes
local _G = _G
local tonumber = tonumber
local len, sub = string.len, string.sub
local ChatEdit_ChooseBoxForSend = ChatEdit_ChooseBoxForSend
local GetAchievementLink = GetAchievementLink
local GetItemInfo = GetItemInfo
local GetQuestLink = GetQuestLink
local GetQuestLogTitle = GetQuestLogTitle
local IsShiftKeyDown = IsShiftKeyDown
local QuestLog_OpenToQuest = QuestLog_OpenToQuest
local QuestLog_SetSelection = QuestLog_SetSelection
local RemoveTrackedAchievement = RemoveTrackedAchievement
local WatchFrame_Update = WatchFrame_Update
local function questOnClick(self, button)
local qID = self.qID
if button == "LeftButton" then
if IsShiftKeyDown() then
local ChatFrameEditBox = ChatEdit_ChooseBoxForSend()
-- header line
if not qID then
if ChatFrameEditBox:IsVisible() then
ChatFrameEditBox:Insert(self:GetText())
end
-- objective line
elseif not tonumber(qID) then
local objName = sub(self:GetText(), 3 + len(QGT_Settings.Bullet))
local objText
if qID == "item" then
local _, itemLink = GetItemInfo(objName)
if not itemLink then
objText = objName
else
objText = itemLink
end
else
objText = objName
end
if ChatFrameEditBox:IsVisible() then
ChatFrameEditBox:Insert(objText)
end
-- quest number
else
if ChatFrameEditBox:IsVisible() then
ChatFrameEditBox:Insert(GetQuestLink(qID))
end
end
else
-- header line
if not qID then
local headName = self:GetText()
if QGT_WatchHeaders[headName] then
QGT_WatchHeaders[headName] = false
else
QGT_WatchHeaders[headName] = true
end
WatchFrame_Update()
-- objective line
elseif not tonumber(qID) then
local objName = sub(self:GetText(), 3 + len(QGT_Settings.Bullet))
if qID == "item" then
local _, itemLink = GetItemInfo(objName)
if itemLink then
SetItemRef(itemLink, nil, button)
end
end
-- title line
else
QuestLog_OpenToQuest(qID)
if QuestGuru_QuestLogFrame then
QuestGuru_QuestLogFrame:Show()
end
end
end
elseif button == "RightButton" then
if IsShiftKeyDown() then
if qID and tonumber(qID) then
QuestLog_SetSelection(qID, button)
QuestLog_Update()
ToggleDropDownMenu(1, nil, QGT_QuestWatchTitleMenu, self:GetName(), 0, 0)
end
else
-- header line
if not qID then
local headName = self:GetText()
if QGT_WatchHeaders[headName] then
QGT_WatchHeaders[headName] = false
else
QGT_WatchHeaders[headName] = true
end
WatchFrame_Update()
-- title line
elseif tonumber(qID) then
local qName = GetQuestLogTitle(qID)
if QGT_WatchQuests[qName] then
QGT_WatchQuests[qName] = false
else
QGT_WatchQuests[qName] = true
end
WatchFrame_Update()
end
end
end
QGT_ShowQuestTrackerSlider(true)
end
local function achievementOnClick(self)
if self.achievementID then
if IsShiftKeyDown() then
local ChatFrameEditBox = ChatEdit_ChooseBoxForSend()
if ChatFrameEditBox:IsVisible() then
ChatFrameEditBox:Insert(GetAchievementLink(self.achievementID))
else
RemoveTrackedAchievement(self.achievementID)
end
else
if not AchievementFrame then
AchievementFrame_LoadUI()
end
if not AchievementFrame:IsShown() then
AchievementFrame_ToggleAchievementFrame()
AchievementFrame_SelectAchievement(self.achievementID)
elseif AchievementFrameAchievements.selection ~= self.achievementID then
AchievementFrame_SelectAchievement(self.achievementID)
else
AchievementFrame_ToggleAchievementFrame()
end
end
end
end
local frame1, frame2
for i = 1, 40 do
frame1 = _G["QGT_QuestWatchLine"..i]
frame2 = _G["QGT_AchievementWatchLine"..i]
if frame1 then
frame1:SetScript("OnClick", questOnClick)
end
if frame2 then
frame2:SetScript("OnClick", achievementOnClick)
end
end
QGT_QuestWatchButton_OnClick = questOnClick
end
do -- Adjustments
local function updateQuestHeader(flag)
if flag then
local width = 20
QGT_QuestWatchQuestName:ClearAllPoints()
QGT_QuestWatchNumQuests:ClearAllPoints()
if QGT_QuestWatchFrameToggle:IsShown() then
width = width + 60
QGT_QuestWatchNumQuests:Point("TOPRIGHT", -60, -6)
else
width = width + 42
QGT_QuestWatchNumQuests:Point("TOPRIGHT", -42, -6)
end
QGT_QuestWatchQuestName:Point("RIGHT", QGT_QuestWatchNumQuests, "LEFT", -12, 0)
-- width = width + QGT_QuestWatchQuestName:GetWidth() + QGT_QuestWatchNumQuests:GetWidth()
width = width + QGT_QuestWatchQuestName:GetWidth() + 32
QGT_QuestWatchFrame.backdrop:ClearAllPoints()
QGT_QuestWatchFrame.backdrop:Point("TOPRIGHT", 1, 1)
QGT_QuestWatchFrame.backdrop:Point("BOTTOMLEFT", QGT_QuestWatchFrame:GetWidth() - width, 1)
else
QGT_QuestWatchFrame.backdrop:ClearAllPoints()
QGT_QuestWatchFrame.backdrop:Point("TOPLEFT", -1, 1)
QGT_QuestWatchFrame.backdrop:Point("BOTTOMRIGHT", 1, -1)
QGT_QuestWatchQuestName:ClearAllPoints()
QGT_QuestWatchQuestName:Point("TOPLEFT", 8, -6)
QGT_QuestWatchNumQuests:ClearAllPoints()
QGT_QuestWatchNumQuests:Point("LEFT", QGT_QuestWatchQuestName, "RIGHT", 12, 0)
end
end
local function updateAchievemtHeader(flag)
if flag then
local width = 20
QGT_AchievementWatchName:ClearAllPoints()
QGT_AchievementWatchNum:ClearAllPoints()
if QGT_AchievementWatchFrameToggle:IsShown() then
width = width + 60
QGT_AchievementWatchNum:Point("TOPRIGHT", -60, -6)
else
width = width + 42
QGT_AchievementWatchNum:Point("TOPRIGHT", -42, -6)
end
QGT_AchievementWatchName:Point("RIGHT", QGT_AchievementWatchNum, "LEFT", -12, 0)
-- width = width + QGT_AchievementWatchName:GetWidth() + QGT_AchievementWatchNum:GetWidth()
width = width + QGT_AchievementWatchName:GetWidth() + 8
QGT_AchievementWatchFrame.backdrop:ClearAllPoints()
QGT_AchievementWatchFrame.backdrop:Point("TOPRIGHT", 1, 1)
QGT_AchievementWatchFrame.backdrop:Point("BOTTOMLEFT", QGT_AchievementWatchFrame:GetWidth() - width, 1)
else
QGT_AchievementWatchFrame.backdrop:ClearAllPoints()
QGT_AchievementWatchFrame.backdrop:Point("TOPLEFT", -1, 1)
QGT_AchievementWatchFrame.backdrop:Point("BOTTOMRIGHT", 1, -1)
QGT_AchievementWatchName:ClearAllPoints()
QGT_AchievementWatchName:Point("TOPLEFT", 8, -6)
QGT_AchievementWatchNum:ClearAllPoints()
QGT_AchievementWatchNum:Point("LEFT", QGT_AchievementWatchName, "RIGHT", 12, 0)
end
end
QGT_QuestWatchFrameToggle:HookScript("OnClick", function()
updateAchievemtHeader(QGT_Settings.AchievementWatch.Minimized)
end)
QGT_AchievementWatchFrameToggle:HookScript("OnClick", function()
updateQuestHeader(QGT_Settings.QuestWatch.Minimized)
end)
QGT_QuestWatchFrameMinimize:HookScript("OnClick", function(self, button)
if button == "LeftButton" then
updateQuestHeader(QGT_Settings.QuestWatch.Minimized)
end
end)
QGT_AchievementWatchFrameMinimize:HookScript("OnClick", function(self, button)
if button == "LeftButton" then
updateAchievemtHeader(QGT_Settings.AchievementWatch.Minimized)
end
end)
if QGT_Settings.QuestWatch.Minimized then
updateQuestHeader(true)
end
if QGT_Settings.AchievementWatch.Minimized then
updateAchievemtHeader(true)
end
end
end)
@@ -0,0 +1,140 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("RCLootCouncil") then return end
-- RCLootCouncil 2.0.4
-- https://github.com/ajseward/RcLootCouncil-Wotlk
S:AddCallbackForAddon("RCLootCouncil", "RCLootCouncil", function()
if not E.private.addOnSkins.RCLootCouncil then return end
local addon = LibStub("AceAddon-3.0"):GetAddon("RCLootCouncil", true)
if not addon then return end
AS:SkinLibrary("DropDownMenu")
AS:SkinLibrary("LibDialog-1.0")
AS:SkinLibrary("ScrollingTable")
S:RawHook(addon, "CreateFrame", function(self, ...)
local frame = S.hooks[self].CreateFrame(self, ...)
frame:SetScale(UIParent:GetScale())
frame.title:SetTemplate("Default")
frame.content:SetTemplate("Transparent")
frame.title:SetFrameLevel(frame:GetFrameLevel() + 3)
return frame
end)
S:RawHook(addon, "CreateButton", function(self, ...)
local button = S.hooks[self].CreateButton(self, ...)
S:HandleButton(button)
return button
end)
local function updateTexCoord(self)
local normalTexture = self:GetNormalTexture()
normalTexture:SetTexCoord(unpack(E.TexCoords))
normalTexture:SetInside()
end
local function skinIconButton(button)
button:SetTemplate()
button:StyleButton(nil, true, true)
button:GetNormalTexture():SetDrawLayer("ARTWORK")
hooksecurefunc(button, "SetNormalTexture", updateTexCoord)
end
local votingFrame = addon:GetModule("RCVotingFrame", true)
if votingFrame then
local function moreInfoSetTexture(self, texture)
local normalTexture = self:GetNormalTexture()
local pushedTexture = self:GetPushedTexture()
local arrowDir = texture == "Interface\\Buttons\\UI-SpellbookIcon-PrevPage-Up" and "left" or "right"
normalTexture:SetRotation(S.ArrowRotation[arrowDir])
pushedTexture:SetRotation(S.ArrowRotation[arrowDir])
end
local function setBackdropBorderColor(self, r, g, b)
if r == 1 and g == 1 and b == 1 then
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
end
S:RawHook(votingFrame, "GetFrame", function(self, ...)
local frame = S.hooks[self].GetFrame(self, ...)
S:Unhook(self, "GetFrame")
skinIconButton(frame.itemIcon)
S:HandleNextPrevButton(frame.moreInfoBtn, "right")
frame.moreInfoBtn.SetNormalTexture = moreInfoSetTexture
frame.moreInfoBtn.SetPushedTexture = E.noop
E:GetModule("Tooltip"):HookScript(frame.moreInfo, "OnShow", "SetStyle")
frame.filter:HookScript("OnEnter", S.SetModifiedBackdrop)
frame.filter:HookScript("OnLeave", S.SetOriginalBackdrop)
return frame
end)
S:RawHook(votingFrame, "UpdateSessionButton", function(self, ...)
local button = S.hooks[self].UpdateSessionButton(self, ...)
if not button.isSkinned then
hooksecurefunc(button, "SetBackdropBorderColor", setBackdropBorderColor)
skinIconButton(button)
button.SetBackdrop = E.noop
button.isSkinned = true
end
return button
end)
end
local lootFrame = addon:GetModule("RCLootFrame", true)
if lootFrame then
local function updateTexCoord(self)
self.icon:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
end
S:RawHook(lootFrame, "GetEntry", function(self, ...)
local frame = S.hooks[self].GetEntry(self, ...)
frame:SetTemplate("Transparent")
skinIconButton(frame.icon)
hooksecurefunc(frame, "Show", updateTexCoord)
return frame
end)
end
local sessionFrame = addon:GetModule("RCSessionFrame", true)
if sessionFrame then
S:RawHook(sessionFrame, "GetFrame", function(self, ...)
local frame = S.hooks[self].GetFrame(self, ...)
S:Unhook(self, "GetFrame")
S:HandleCheckBox(frame.toggle)
return frame
end)
S:SecureHook(sessionFrame, "SetCellItemIcon", function(_, frame)
frame:SetTemplate()
frame:StyleButton(nil, true, true)
local normalTexture = frame:GetNormalTexture()
normalTexture:SetDrawLayer("ARTWORK")
normalTexture:SetTexCoord(unpack(E.TexCoords))
normalTexture:SetInside()
end)
end
end)
@@ -0,0 +1,87 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("SatrinaBuffFrame") then return end
local _G = _G
local ipairs = ipairs
local unpack = unpack
-- SatrinaBuffFrame 3.1.20
S:AddCallbackForAddon("SatrinaBuffFrame", "SatrinaBuffFrame", function()
if not E.private.addOnSkins.SatrinaBuffFrame then return end
local SBF = LibStub("AceAddon-3.0"):GetAddon("SBF", true)
if not SBF then return end
local function skinIcon(frame)
if frame.isSkinned then return end
frame.icon:SetTexCoord(unpack(E.TexCoords))
frame.icon:CreateBackdrop("Default")
frame.border:Kill()
frame.isSkinned = true
end
local function skinBar(frame)
if frame.isSkinned then return end
frame:SetFrameLevel(frame:GetFrameLevel() + 1)
frame:StripTextures()
frame:CreateBackdrop("Transparent")
frame.isSkinned = true
end
do
local iconCount = 0
local barCount = 0
for _, frame in ipairs(SBF.frames) do
for _, slot in ipairs(frame.slots) do
if slot.icon then
skinIcon(slot.icon)
iconCount = iconCount + 1
end
if slot.bar then
skinBar(slot.bar)
barCount = barCount + 1
end
end
end
local i = iconCount + 1
local frame = _G["SBFBuffIcon"..i]
while frame do
skinIcon(frame)
i = i + 1
frame = _G["SBFBuffIcon"..i]
end
i = barCount + 1
frame = _G["SBFBuffBar"..i]
while frame do
skinBar(frame)
i = i + 1
frame = _G["SBFBuffBar"..i]
end
end
S:RawHook(SBF, "GetIcon", function(self)
local element = S.hooks[SBF].GetIcon(self)
skinIcon(element)
return element
end)
S:RawHook(SBF, "GetBar", function(self)
local element = S.hooks[SBF].GetBar(self)
skinBar(element)
return element
end)
end)
@@ -0,0 +1,22 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("SlideBar") then return end
-- SlideBar 5.8.4723
-- https://www.curseforge.com/wow/addons/auctionator/files/426882
S:AddCallbackForAddon("SlideBar", "SlideBar", function()
if not E.private.addOnSkins.SlideBar then return end
local lib = LibStub("SlideBar", true)
if not lib then return end
lib.frame:SetTemplate("Transparent")
local TT = E:GetModule("Tooltip")
hooksecurefunc(lib, "SetTip", function(self)
TT:SetStyle(self.tooltip)
end)
end)
+313
View File
@@ -0,0 +1,313 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("WIM") then return end
local format = string.format
-- WIM 3.3.7
-- https://www.wowace.com/projects/wim-3/files/439176
S:AddCallbackForAddon("WIM", "WIM", function()
if not E.private.addOnSkins.WIM then return end
local function formatDetails(window, guild, level, race, class)
if guild == "" then
return format("|cffffffff %s %s %s|r", level, race, class)
else
return format("|cffffffff<%s> %s %s %s|r", guild, level, race, class)
end
end
local WIM_Elvui = {
title = "WIM ElvUI",
version = "1.0.0",
author = "Divico",
website = "",
message_window = {
texture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\message_window",
min_width = 256,
min_height = 128,
backdrop = {
top_left = {
width = 64,
height = 64,
offset = {0, 0},
texture_coord = {0, 0, 0, .25, .25, 0, .25, .25}
},
top_right = {
width = 64,
height = 64,
offset = {0, 0},
texture_coord = {.75, 0, .75, .25, 1, 0, 1, .25}
},
bottom_left = {
width = 64,
height = 64,
offset = {0, 0},
texture_coord = {0, .75, 0, 1, .25, .75, .25, 1}
},
bottom_right = {
width = 64,
height = 64,
offset = {0, 0},
texture_coord = {.75, .75, .75, 1, 1, .75, 1, 1}
},
top = {
tile = false,
texture_coord = {.25, 0, .25, .25, .75, 0, .75, .25}
},
bottom = {
tile = false,
texture_coord = {.25, .75, .25, 1, .75, .75, .75, 1}
},
left = {
tile = false,
texture_coord = {0, .25, 0, .75, .25, .25, .25, .75}
},
right = {
tile = false,
texture_coord = {.75, .25, .75, .75, 1, .25, 1, .75}
},
background = {
tile = false,
texture_coord = {.25, .25, .25, .75, .75, .25, .75, .75}
}
},
widgets = {
class_icon = {
texture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\class_icons",
chatAlphaMask = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\chatAlphaMask",
width = 16, -- 64
height = 16, -- 64
points = {
{"TOPLEFT", "window", "TOPLEFT", 4, -4} -- "TOPLEFT", "window", "TOPLEFT", -10, 12
},
is_round = false, -- true
blank = {.5, .5, .5, .75, .75, .5, .75, .75},
druid = {0, 0, 0, .25, .25, 0, .25, .25},
hunter = {.25, 0, .25, .25, .5, 0, .5, .25},
mage = {.5, 0, .5, .25, .75, 0, .75, .25},
paladin = {.75, 0, .75, .25, 1, 0, 1, .25},
priest = {0, .25, 0, .5, .25, .25, .25, .5},
rogue = {.25, .25, .25, .5, .5, .25, .5, .5},
shaman = {.5, .25, .5, .5, .75, .25, .75, .5},
warlock = {.75, .25, .75, .5, 1, .25, 1, .5},
warrior = {0, .5, 0, .75, .25, .5, .25, .75},
deathknight = {.75, .5, .75, .75, 1, .5, 1, .75},
gm = {.25, .5, .25, .75, .5, .5, .5, .75}
},
from = {
points = {
{"TOPLEFT", "window", "TOPLEFT", 24, -7} -- "TOPLEFT", "window", "TOPLEFT", 50, -8
},
font = "FriendsFont_Normal", -- GameFontNormalLarge
font_color = "ffffff",
font_height = 11, -- 16
font_flags = "",
use_class_color = true
},
char_info = {
format = formatDetails,
points = {
{"TOPRIGHT", "window", "TOPRIGHT", -25, -7} -- "TOP", "window", "TOP", 0, -30
},
font = "FriendsFont_Normal", -- GameFontNormal
font_color = "1883d1" -- ffffff
},
close = {
state_hide = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\hide",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\hide_pushed",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
HighlightAlphaMode = "ADD"
},
state_close = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\close",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\close_pushed",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
HighlightAlphaMode = "ADD"
},
width = 16, -- 32
height = 16, -- 32
points = {
{"TOPRIGHT", "window", "TOPRIGHT", -4, -4} -- "TOPRIGHT", "window", "TOPRIGHT", 4, 1
}
},
history = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\history",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\history_pushed",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
HighlightAlphaMode = "ADD",
width = 16, -- 18
height = 16, -- 18
points = {
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -3, 44} -- "TOPRIGHT", "window", "TOPRIGHT", -28, -6
}
},
w2w = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\w2w",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\w2w",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\w2w",
HighlightAlphaMode = "ADD",
points = {
{"TOPLEFT", "class_icon", 14, -14},
{"BOTTOMRIGHT", "class_icon", -14, 14}
}
},
chat_info = {
NormalTexture = "",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\w2w",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\w2w",
HighlightAlphaMode = "ADD",
points = {
{"TOPLEFT", "class_icon", 14, -14},
{"BOTTOMRIGHT", "class_icon", -14, 14}
}
},
chatting = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\chatting",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\chatting",
width = 16,
height = 16,
points = {
{"TOPLEFT", "window", -3, -23} -- "TOPLEFT", "window", 45, -28
}
},
scroll_up = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\scroll_up",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\scroll_up_pushed",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
DisabledTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_disabled",
HighlightAlphaMode = "ADD",
width = 16, -- 32
height = 16, -- 32
points = {
{"TOPRIGHT", "window", "TOPRIGHT", -3, -23} -- "TOPRIGHT", "window", "TOPRIGHT", -4, -39
}
},
scroll_down = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\scroll_down",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\scroll_down_pushed",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
DisabledTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_disabled",
HighlightAlphaMode = "ADD",
width = 16, -- 32
height = 16, -- 32
points = {
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -3, 27} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", -4, 24
}
},
chat_display = {
points = {
{"TOPLEFT", "window", "TOPLEFT", 4, -24}, -- "TOPLEFT", "window", "TOPLEFT", 24, -46
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -22, 27} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", -38, 39
},
font = "FriendsFont_UserText", -- ChatFontNormal
font_height = 12,
font_flags = ""
},
msg_box = {
font = "FriendsFont_UserText", -- ChatFontNormal
font_height = 14,
font_color = {1,1,1},
points = {
{"TOPLEFT", "window", "BOTTOMLEFT", 6, 25}, -- "TOPLEFT", "window", "BOTTOMLEFT", 24, 30
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -3, 1} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", -10, 4
}
},
resize = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\resize",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\resize",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\resize",
HighlightAlphaMode = "ADD",
width = 16, -- 25
height = 16, -- 25
points = {
{"BOTTOMLEFT", "window", "BOTTOMRIGHT", -16, 0} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", 5, -5
}
},
shortcuts = {
stack = "DOWN",
spacing = 1, -- 2
points = {
{"TOPLEFT", "window", "TOPRIGHT", -19, -40}, -- "TOPLEFT", "window", "TOPRIGHT", -30, -70
{"BOTTOMRIGHT", "window", "BOTTOMRIGHT", -3, 105} -- "BOTTOMRIGHT", "window", "BOTTOMRIGHT", -8, 55
},
buttons = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_frame",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_pushed",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
HighlightAlphaMode = "ADD",
icons = {
location = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\location",
invite = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\invite",
friend = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\friend",
ignore = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\ignore"
}
}
}
}
},
tab_strip = {
textures = {
tab = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\tab_normal",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\tab_selected",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\tab_flash",
-- HighlightTexture = "Interface\\PaperDollInfoFrame\\UI-Character-Tab-Highlight",
HighlightAlphaMode = "ADD"
},
prev = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\prev",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\prev_pushed",
DisabledTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\prev",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
HighlightAlphaMode = "ADD",
height = 16, -- 20
width = 16 -- 20
},
next = {
NormalTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\next",
PushedTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\next_pushed",
DisabledTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\next",
HighlightTexture = "Interface\\AddOns\\ElvUI_AddOnSkins\\media\\wim\\icons\\button_highlight",
HighlightAlphaMode = "ADD",
height = 16, -- 20
width = 16 -- 20
}
},
height = 20, -- 26
points = {
{"BOTTOMLEFT", "window", "TOPLEFT", 18, 4}, -- "BOTTOMLEFT", "window", "TOPLEFT", 38, -4
{"BOTTOMRIGHT", "window", "TOPRIGHT", -18, 4} -- "BOTTOMRIGHT", "window", "TOPRIGHT", -20, -4
},
text = {
font = "SystemFont_Small", -- ChatFontNormal
font_color = {1, 1, 1},
font_height = 11, -- 12
font_flags = ""
},
vertical = false
}
}
local function ApplySkin(self)
self.db.skin.selected = "WIM ElvUI"
self.RegisterSkin(WIM_Elvui)
end
if WIM.db then
ApplySkin(WIM)
else
hooksecurefunc(WIM, "VARIABLES_LOADED", function(self)
ApplySkin(self)
end)
end
TutorialFrameTop.Show = E.noop
TutorialFrameTop:Hide()
TutorialFrameBottom.Show = E.noop
TutorialFrameBottom:Hide()
end)
+144
View File
@@ -0,0 +1,144 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("ZOMGBuffs") then return end
local pairs = pairs
local unpack = unpack
-- ZOMGBuffs r156
-- https://www.wowace.com/projects/zomgbuffs/files/424938
S:AddCallbackForAddon("ZOMGBuffs", "ZOMGBuffs", function()
if not E.private.addOnSkins.ZOMGBuffs then return end
if ZOMGBuffsButton then
ZOMGBuffsButton:SetNormalTexture(nil)
ZOMGBuffsButton.SetNormalTexture = E.noop
ZOMGBuffsButton:SetHighlightTexture(nil)
ZOMGBuffsButton:SetPushedTexture(nil)
else
S:SecureHook(ZOMGBuffs, "OnStartup", function(self)
self.icon:SetNormalTexture(nil)
self.icon.SetNormalTexture = E.noop
self.icon:SetHighlightTexture(nil)
self.icon:SetPushedTexture(nil)
S:Unhook(ZOMGBuffs, "OnStartup")
end)
end
S:RawHook(ZOMGBuffs, "CreateHelpFrame", function(self)
local frame = S.hooks[self].CreateHelpFrame(self)
frame:SetScale(E:Scale(0.9))
frame:SetTemplate("Transparent")
frame.close:StripTextures()
S:HandleButton((frame:GetChildren()))
S:Unhook(ZOMGBuffs, "CreateHelpFrame")
return frame
end, true)
AS:SkinLibrary("AceAddon-2.0")
AS:SkinLibrary("Dewdrop-2.0")
AS:SkinLibrary("Tablet-2.0")
AS:SkinLibrary("ZFrame-1.0")
end)
S:AddCallbackForAddon("ZOMGBuffs_BlessingsManager", "ZOMGBuffs_BlessingsManager", function()
if not E.private.addOnSkins.ZOMGBuffs then return end
local ZBM = ZOMGBuffs:GetModule("ZOMGBlessingsManager", true)
if not ZBM then return end
S:SecureHook(ZBM, "SplitInitialize", function(self)
local frame = self.splitframe
S:HandleButton(frame.autoButton)
S:HandleCheckBox(frame.useGuild)
for i = 1, #frame.column do
frame.column[i]:SetTemplate("Transparent")
S:HandleScrollBar(frame.column[i].scroll.bar)
for j = 1, 10 do
frame.column[i].list[j].icon:SetTexCoord(unpack(E.TexCoords))
end
end
end)
S:RawHook(ZBM, "CreateMainMainFrame", function(self)
local frame = S.hooks[self].CreateMainMainFrame(self)
S:HandleButton(frame.configure)
S:HandleButton(frame.help)
S:HandleButton(frame.generate)
S:HandleButton(frame.broadcast)
S:HandleButton(frame.groups)
S:HandleButton(frame.autoroles)
for _, button in pairs(frame.classTitle.cell) do
button.highlightTex:SetTexture(1, 1, 1, 0.3)
end
S:Unhook(ZOMGBlessingsManager, "CreateMainMainFrame")
return frame
end)
local function SkinActionButton(button)
if button.isSkinned then return end
button:StyleButton()
button:SetTemplate("Default")
button:SetNormalTexture(nil)
button.SetNormalTexture = E.noop
button.icon:SetTexCoord(unpack(E.TexCoords))
button.icon:SetInside()
button.icon:SetDrawLayer("ARTWORK")
button.isSkinned = true
end
S:SecureHook(ZBM, "SplitPanelColumnPopulate", function(self, col)
if not self.expandpanel.class then return end
for i in pairs(col.cell) do
SkinActionButton(col.cell[i])
end
end)
S:SecureHook(ZBM, "DrawAll", function(self)
if not self.configuring then return end
local f = self.frame
for i = 1, #f.row do
for j in pairs(f.row[i].cell) do
SkinActionButton(f.row[i].cell[j])
end
end
S:Unhook(ZBM, "DrawAll")
end)
end)
S:AddCallbackForAddon("ZOMGBuffs_Log", "ZOMGBuffs_Log", function()
if not E.private.addOnSkins.ZOMGBuffs then return end
local ZL = ZOMGBuffs:GetModule("ZOMGLog", true)
if not ZL then return end
S:RawHook(ZL, "CreateLogFrame", function(self)
local frame = S.hooks[self].CreateLogFrame(self)
S:HandleScrollBar(frame.scrollBar.slider)
frame.scrollBar.slider:Height(24)
return frame
end, true)
end)
@@ -0,0 +1,35 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("_NPCScan") then return end
-- NPCScan 3.3.5.5
-- https://www.curseforge.com/wow/addons/npcscan/files/441050
S:AddCallbackForAddon("_NPCScan", "_NPCScan", function()
if not E.private.addOnSkins._NPCScan then return end
_NPCScanButton:SetScale(1)
_NPCScanButton.SetScale = E.noop
_NPCScanButton:StripTextures()
_NPCScanButton:SetTemplate("Default", true)
_NPCScanButton:HookScript("OnEnter", S.SetModifiedBackdrop)
_NPCScanButton:HookScript("OnLeave", S.SetOriginalBackdrop)
for i = 1, _NPCScanButton:GetNumChildren() do
local child = select(i, _NPCScanButton:GetChildren())
if child and child:IsObjectType("Button") then
S:HandleCloseButton(child)
child:ClearAllPoints()
child:Point("TOPRIGHT", _NPCScanButton, "TOPRIGHT", 4, 5)
child:SetScale(1)
end
end
local NPCFoundText = select(4, _NPCScanButton:GetRegions())
NPCFoundText:SetTextColor(1, 1, 1, 1)
NPCFoundText:SetShadowOffset(1, -1)
end)
@@ -0,0 +1,35 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("_NPCScan.Overlay") then return end
-- NPCScan Overlay 3.3.5.1
-- https://www.curseforge.com/wow/addons/npcscan-overlay/files/434851
S:AddCallbackForAddon("_NPCScan.Overlay", "_NPCScan.Overlay", function()
if not E.private.addOnSkins._NPCScanOverlay then return end
S:HandleCheckBox(_NPCScanOverlayWorldMapToggle)
_NPCScanOverlayWorldMapToggle:Size(24)
local worldMapKey = _NPCScan.Overlay.Modules.List.WorldMap.KeyParent.Key
worldMapKey:SetTemplate("Transparent")
worldMapKey.Body:SetBackdrop(nil)
worldMapKey.Body:DisableDrawLayer("BORDER")
local bottomPoint
worldMapKey:SetScript("OnEnter", function(self)
bottomPoint = not bottomPoint
self:ClearAllPoints()
if bottomPoint then
self:Point("BOTTOMRIGHT", 1, -1)
else
self:Point("TOPRIGHT", 1, 1)
end
end)
worldMapKey:ClearAllPoints()
worldMapKey:Point("TOPRIGHT", 1, 1)
end)
+90
View File
@@ -0,0 +1,90 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("ACP") then return end
local _G = _G
-- Addon Control Panel 3.3.7
-- https://www.curseforge.com/wow/addons/acp/files/453071
S:AddCallbackForAddon("ACP", "ACP", function()
if not E.private.addOnSkins.ACP then return end
S:HandleButton(GameMenuButtonAddOns)
ACP_AddonList:SetParent(UIParent)
ACP_AddonList:SetFrameStrata("HIGH")
ACP_AddonList:SetHitRectInsets(0, 0, 0, 0)
ACP_AddonList:StripTextures()
ACP_AddonList:SetTemplate("Transparent")
ACP_AddonList:Size(580, 488)
S:HandleCloseButton(ACP_AddonListCloseButton, ACP_AddonList)
S:HandleDropDownBox(ACP_AddonListSortDropDown, 145)
ACP_AddonListSortDropDown:Point("TOPLEFT", 50, -5)
ACP_AddonListCollapseAll:Point("TOPLEFT", 12, -17)
ACP_AddonListEntry1:Point("TOPLEFT", 29, -44)
ACP_AddonList_ScrollFrame:StripTextures()
ACP_AddonList_ScrollFrame:SetTemplate("Transparent")
ACP_AddonList_ScrollFrame:Size(543, 414)
ACP_AddonList_ScrollFrame:Point("TOPLEFT", 8, -35)
S:HandleScrollBar(ACP_AddonList_ScrollFrameScrollBar)
ACP_AddonList_ScrollFrameScrollBar:Point("TOPLEFT", ACP_AddonList_ScrollFrame, "TOPRIGHT", 3, -19)
ACP_AddonList_ScrollFrameScrollBar:Point("BOTTOMLEFT", ACP_AddonList_ScrollFrame, "BOTTOMRIGHT", 3, 19)
S:HandleButton(ACP_AddonListSetButton)
S:HandleButton(ACP_AddonListDisableAll)
S:HandleButton(ACP_AddonListEnableAll)
S:HandleButton(ACP_AddonList_ReloadUI)
S:HandleButton(ACP_AddonListBottomClose)
S:HandleCheckBox(ACP_AddonList_NoRecurse)
ACP_AddonListSetButton:Point("BOTTOMLEFT", 8, 8)
ACP_AddonListDisableAll:Point("BOTTOMLEFT", 78, 8)
ACP_AddonListEnableAll:Point("BOTTOMLEFT", 163, 8)
ACP_AddonList_ReloadUI:Point("BOTTOMRIGHT", -121, 8)
ACP_AddonListBottomClose:Point("BOTTOMRIGHT", -8, 8)
local function collapseSetTexture(self, texture)
if texture == "Interface\\Minimap\\UI-Minimap-ZoomInButton-Up" then
self:_SetTexture(E.Media.Textures.Plus)
else
self:_SetTexture(E.Media.Textures.Minus)
end
end
local function skinCollapseIcon(frame)
frame:SetTexture(E.Media.Textures.Minus)
frame._SetTexture = frame.SetTexture
frame.SetTexture = collapseSetTexture
end
local function updateCheckboxSize(self, size)
if size == 32 then
self:Size(24)
else
self:Size(20)
end
end
skinCollapseIcon(ACP_AddonListCollapseAllIcon)
for i = 1, 20 do
local checkbox = _G["ACP_AddonListEntry" .. i.. "Enabled"]
S:HandleCheckBox(checkbox)
checkbox.SetHeight = updateCheckboxSize
skinCollapseIcon(_G["ACP_AddonListEntry" .. i.. "CollapseIcon"])
S:HandleButton(_G["ACP_AddonListEntry" .. i .. "LoadNow"])
end
end)
@@ -0,0 +1,365 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("AckisRecipeList") then return end
local ipairs, select, unpack = ipairs, select, unpack
local hooksecurefunc = hooksecurefunc
-- AckisRecipeList 2.01.14
-- https://www.curseforge.com/wow/addons/arl/files/458020
S:AddCallbackForAddon("AckisRecipeList", "AckisRecipeList", function()
if not E.private.addOnSkins.AckisRecipeList then return end
local addon = LibStub("AceAddon-3.0"):GetAddon("Ackis Recipe List", true)
if not addon then return end
local function HandleScrollBar(frame)
local UpButton, DownButton = frame:GetChildren()
S:HandleNextPrevButton(UpButton, "up")
UpButton:Size(20, 18)
S:HandleNextPrevButton(DownButton)
DownButton:Size(20, 18)
frame.trackbg = CreateFrame("Frame", nil, frame)
frame.trackbg:Point("TOPLEFT", UpButton, "BOTTOMLEFT", 0, -1)
frame.trackbg:Point("BOTTOMRIGHT", DownButton, "TOPRIGHT", 0, 1)
frame.trackbg:SetTemplate()
frame:GetThumbTexture():SetAlpha(0)
frame.thumbbg = CreateFrame("Frame", nil, frame)
frame.thumbbg:Point("TOPLEFT", frame:GetThumbTexture(), "TOPLEFT", 8, -7)
frame.thumbbg:Point("BOTTOMRIGHT", frame:GetThumbTexture(), "BOTTOMRIGHT", -8, 7)
frame.thumbbg:SetTemplate("Default", true, true)
frame.thumbbg:SetBackdropColor(0.6, 0.6, 0.6)
frame.thumbbg:SetFrameLevel(frame.trackbg:GetFrameLevel() + 1)
end
local function SkinButton(button, strip)
S:HandleButton(button, strip)
button.SetNormalTexture = E.noop
button.SetHighlightTexture = E.noop
button.SetPushedTexture = E.noop
button.SetDisabledTexture = E.noop
end
local function ChangeTexture(texture)
texture:SetInside()
texture:SetTexCoord(0.22, 0.78, 0.22, 0.78)
end
local function ExpansionButton(button)
button:GetRegions():SetDesaturated(true)
button:GetPushedTexture():SetTexture(nil)
button:GetHighlightTexture():SetTexture(nil)
button:GetCheckedTexture():SetTexture(nil)
hooksecurefunc(button, "SetChecked", function(self, state)
self:GetRegions():SetDesaturated(state)
end)
end
S:HandleButton(addon.scan_button)
hooksecurefunc(addon, "TRADE_SKILL_SHOW", function(self)
if self.scan_button:GetParent() == TradeSkillFrame then
self.scan_button:SetFrameLevel(TradeSkillFrame:GetFrameLevel() + 10)
end
end)
S:SecureHook(addon, "Scan", function(self)
S:Unhook(self, "Scan")
local ARL_MainPanel = ARL_MainPanel
ARL_MainPanel:StripTextures()
ARL_MainPanel:CreateBackdrop("Transparent")
ARL_MainPanel.backdrop:Point("TOPLEFT", 11, -12)
ARL_MainPanel.backdrop:Point("BOTTOMRIGHT", -32, 76)
S:SetBackdropHitRect(ARL_MainPanel, ARL_MainPanel.backdrop, true)
hooksecurefunc(ARL_MainPanel, "ToggleState", function(self)
if self.is_expanded then
self.backdrop:Point("BOTTOMRIGHT", -87, 76)
S:SetBackdropHitRect(self, self.backdrop, true)
else
self.backdrop:Point("BOTTOMRIGHT", -32, 76)
S:SetBackdropHitRect(self, self.backdrop, true)
end
end)
S:HandleCloseButton(ARL_MainPanel.xclose_button, ARL_MainPanel.backdrop)
ARL_MainPanel.title_bar:Hide()
ARL_MainPanel.top_left:Hide()
ARL_MainPanel.top_right:Hide()
ARL_MainPanel.bottom_left:Hide()
ARL_MainPanel.bottom_right:Hide()
ARL_MainPanel.top_left.Show = E.noop
ARL_MainPanel.top_right.Show = E.noop
ARL_MainPanel.bottom_left.Show = E.noop
ARL_MainPanel.bottom_right.Show = E.noop
ARL_MainPanel.prof_button:SetTemplate()
ARL_MainPanel.prof_button:Size(32)
ARL_MainPanel.prof_button:Point("TOPLEFT", 19, -20)
local prof_buttonHighlight = ARL_MainPanel.prof_button:GetHighlightTexture()
prof_buttonHighlight:SetInside()
prof_buttonHighlight:SetTexture(1, 1, 1, 0.3)
prof_buttonHighlight:SetTexture()
ChangeTexture(ARL_MainPanel.prof_button._normal)
ChangeTexture(ARL_MainPanel.prof_button._pushed)
ChangeTexture(ARL_MainPanel.prof_button._disabled)
hooksecurefunc(ARL_MainPanel.prof_button, "ChangeTexture", function(self)
ChangeTexture(self._normal)
ChangeTexture(self._pushed)
ChangeTexture(self._disabled)
end)
S:HandleEditBox(ARL_MainPanel.search_editbox)
ARL_MainPanel.search_editbox.backdrop:Point("TOPLEFT", -2, 0)
ARL_MainPanel.search_editbox:Point("TOPLEFT", ARL_MainPanel, "TOPLEFT", 90, -50)
ARL_MainPanel.search_editbox:DisableDrawLayer("BACKGROUND")
ARL_MainPanel.search_editbox:Size(140, 17)
for i = 1, ARL_MainPanel:GetNumChildren() do
local child = select(i, ARL_MainPanel:GetChildren())
if child and child:IsObjectType("CheckButton") and child.text then
-- SkillToggle
S:HandleCheckBox(child, true)
child:Size(14)
child:Point("TOPLEFT", ARL_MainPanel.search_editbox, "TOPRIGHT", -142, 34)
child.text:Point("LEFT", child, "RIGHT", 3, 0)
local excludeToggle = select(i + 1, ARL_MainPanel:GetChildren())
S:HandleCheckBox(excludeToggle, true)
excludeToggle:Size(14)
excludeToggle:Point("TOP", child, "BOTTOM", 0, -3)
excludeToggle.text:Point("LEFT", excludeToggle, "RIGHT", 3, 0)
break
end
end
select(2, ARL_MainPanel.expand_button:GetPoint()):GetParent():Hide()
S:HandleCollapseExpandButton(ARL_MainPanel.expand_button, "+")
ARL_MainPanel.expand_button:ClearAllPoints()
ARL_MainPanel.expand_button:Point("BOTTOMRIGHT", ARL_MainPanel.search_editbox, "BOTTOMLEFT", -53, -2)
ARL_MainPanel.list_frame:SetBackdrop(nil)
ARL_MainPanel.list_frame:CreateBackdrop("Transparent")
ARL_MainPanel.list_frame.backdrop:Point("TOPLEFT", -2, 2)
ARL_MainPanel.list_frame.backdrop:Point("BOTTOMRIGHT", 5, 5)
ARL_MainPanel.list_frame:Point("TOPLEFT", ARL_MainPanel, "TOPLEFT", 21, -73)
HandleScrollBar(ARL_MainPanel.list_frame.scroll_bar)
ARL_MainPanel.list_frame.scroll_bar:Point("TOPLEFT", ARL_MainPanel.list_frame, "TOPRIGHT", 6, -12)
ARL_MainPanel.list_frame.scroll_bar:Point("BOTTOMLEFT", ARL_MainPanel.list_frame, "BOTTOMRIGHT", 6, 19)
ARL_MainPanel.list_frame.scroll_bar.Hide = E.noop
ARL_MainPanel.list_frame.scroll_bar:Show()
for i = 1, 25 do
S:HandleCollapseExpandButton(ARL_MainPanel.list_frame.state_buttons[i], "+")
S:HandleButtonHighlight(ARL_MainPanel.list_frame.entry_buttons[i])
end
S:HandleNextPrevButton(ARL_MainPanel.sort_button, "down", nil, true)
ARL_MainPanel.sort_button:Size(22)
ARL_MainPanel.sort_button:ClearAllPoints()
ARL_MainPanel.sort_button:Point("LEFT", ARL_MainPanel.expand_button, "RIGHT", 20, 0)
ARL_MainPanel.sort_button.SetTextures = function(self)
local normal, pushed = self:GetNormalTexture(), self:GetPushedTexture()
if addon.db.profile.sorting == "Ascending" then
normal:SetRotation(3.14)
pushed:SetRotation(3.14)
else
normal:SetRotation(0)
pushed:SetRotation(0)
end
end
ARL_MainPanel.progress_bar:StripTextures()
ARL_MainPanel.progress_bar:CreateBackdrop()
ARL_MainPanel.progress_bar:Size(209, 20)
ARL_MainPanel.progress_bar:Point("BOTTOMLEFT", ARL_MainPanel, 20, 85)
ARL_MainPanel.progress_bar:SetStatusBarTexture(E.media.normTex)
ARL_MainPanel.progress_bar:SetStatusBarColor(0.22, 0.39, 0.84)
E:RegisterStatusBar(ARL_MainPanel.progress_bar)
ARL_MainPanel.close_button:Height(22)
ARL_MainPanel.close_button:Point("LEFT", ARL_MainPanel.progress_bar, "RIGHT", 4, 0)
SkinButton(ARL_MainPanel.close_button, true)
for i, tab in ipairs(ARL_MainPanel.tabs) do
tab:StripTextures()
tab.left.SetTexture = E.noop
tab.middle.SetTexture = E.noop
tab.right.SetTexture = E.noop
tab:CreateBackdrop()
tab.backdrop:Point("TOPLEFT", 10, E.PixelMode and -1 or -3)
tab.backdrop:Point("BOTTOMRIGHT", -10, 3)
tab:SetHitRectInsets(10, 10, E.PixelMode and 1 or 3, 3)
if i == 1 then
tab:Point("TOPLEFT", ARL_MainPanel, "BOTTOMLEFT", 11, 78)
else
tab:Point("LEFT", ARL_MainPanel.tabs[i-1], "RIGHT", -15, 0)
end
end
if not (TipTac and TipTac.AddModifiedTip) then
E:GetModule("Tooltip"):SecureHookScript(AckisRecipeList_SpellTooltip, "OnShow", "SetStyle")
AS:SkinLibrary("LibQTip-1.0")
end
S:HandleNextPrevButton(ARL_MainPanel.filter_toggle, "right", nil, true)
ARL_MainPanel.filter_toggle:Point("TOPLEFT", ARL_MainPanel, "TOPLEFT", 324, -39)
ARL_MainPanel.filter_toggle:Size(28)
ARL_MainPanel.filter_toggle.SetTextures = function(self)
local normal, pushed = self:GetNormalTexture(), self:GetPushedTexture()
if ARL_MainPanel.is_expanded then
normal:SetRotation(1.57)
pushed:SetRotation(1.57)
else
normal:SetRotation(-1.57)
pushed:SetRotation(-1.57)
end
self:HookScript("OnEnter", function()
normal:SetVertexColor(unpack(E.media.rgbvaluecolor))
end)
self:HookScript("OnLeave", function()
normal:SetVertexColor(1, 1, 1)
end)
end
ARL_MainPanel.filter_toggle:HookScript("OnClick", function(self)
if self.isFrameSkinned then return end
self.isFrameSkinned = true
ARL_MainPanel.filter_menu:SetTemplate("Transparent")
ARL_MainPanel.filter_menu:Size(326, 332)
ARL_MainPanel.filter_menu:Point("TOPRIGHT", ARL_MainPanel, "TOPRIGHT", -95, -71)
ARL_MainPanel.filter_reset:Point("BOTTOMRIGHT", ARL_MainPanel, "BOTTOMRIGHT", -95, 84)
SkinButton(ARL_MainPanel.filter_reset, true)
local menuIcons = {
"menu_toggle_general",
"menu_toggle_obtain",
"menu_toggle_binding",
"menu_toggle_item",
"menu_toggle_quality",
"menu_toggle_player",
"menu_toggle_rep",
"menu_toggle_misc"
}
for i, menuIcon in ipairs(menuIcons) do
local iconEntry = ARL_MainPanel[menuIcon]
if i == 1 then
iconEntry:Point("LEFT", ARL_MainPanel.filter_toggle, "RIGHT", 17, 0)
end
iconEntry:SetTemplate()
iconEntry:StyleButton()
iconEntry:DisableDrawLayer("BACKGROUND")
local region = select(2, iconEntry:GetRegions())
region:SetInside()
region:SetTexCoord(unpack(E.TexCoords))
end
local filterMenus = {
"general",
"obtain",
"binding",
"item",
"quality",
"player",
"rep",
"misc"
}
for _, menu in ipairs(filterMenus) do
local menuEntry = ARL_MainPanel.filter_menu[menu]
if menu == "misc" then
for i = 1, menuEntry:GetNumChildren() do
local child = select(i, menuEntry:GetChildren())
if child and child:IsObjectType("Button") then
S:HandleNextPrevButton(child)
select(2, child:GetPoint()):SetTextColor(1, 1, 1)
end
end
elseif menu == "rep" then
for expNum = 0, 2 do
for i = 1, menuEntry["expansion"..expNum]:GetNumChildren() do
local child = select(i, menuEntry["expansion"..expNum]:GetChildren())
if child and (child:IsObjectType("Button") and child.text and not child:IsObjectType("CheckButton")) then
child:StripTextures()
child.text:SetTextColor(1, 0.8, 0.1)
elseif child and child:IsObjectType("CheckButton") and child.text then
S:HandleCheckBox(child)
child.text:SetTextColor(1, 1, 1)
end
end
end
else
for i = 1, menuEntry:GetNumChildren() do
local child = select(i, menuEntry:GetChildren())
if child and (child:IsObjectType("Button") and child.text and not child:IsObjectType("CheckButton")) then
child:StripTextures()
child.text:SetTextColor(1, 0.8, 0.1)
elseif child and child:IsObjectType("CheckButton") and child.text then
S:HandleCheckBox(child)
child.text:SetTextColor(1, 1, 1)
end
end
end
end
ExpansionButton(ARL_MainPanel.filter_menu.rep.toggle_expansion0)
ExpansionButton(ARL_MainPanel.filter_menu.rep.toggle_expansion1)
ExpansionButton(ARL_MainPanel.filter_menu.rep.toggle_expansion2)
end)
end)
ARLCopyFrame:StripTextures()
ARLCopyFrame:SetTemplate("Transparent")
S:HandleScrollBar(ARLCopyScrollScrollBar)
for i = 1, ARLCopyFrame:GetNumChildren() do
local child = select(i, ARLCopyFrame:GetChildren())
if child and child:IsObjectType("Button") then
child:ClearAllPoints()
child:Point("TOPRIGHT", ARLCopyFrame, "TOPRIGHT", 1, 0)
S:HandleCloseButton(child)
break
end
end
end)
+201
View File
@@ -0,0 +1,201 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("AdiBags") then return end
local _G = _G
local ipairs = ipairs
local type = type
local unpack = unpack
local GetItemInfo = GetItemInfo
local hooksecurefunc = hooksecurefunc
local ITEM_QUALITY_POOR = ITEM_QUALITY_POOR
local ITEM_QUALITY_UNCOMMON = ITEM_QUALITY_UNCOMMON
local TEXTURE_ITEM_QUEST_BANG = TEXTURE_ITEM_QUEST_BANG
local TEXTURE_ITEM_QUEST_BORDER = TEXTURE_ITEM_QUEST_BORDER
-- AdiBags 1.1 beta 7
-- https://www.curseforge.com/wow/addons/adibags/files/452440
S:AddCallbackForAddon("AdiBags", "AdiBags", function()
if not E.private.addOnSkins.AdiBags then return end
local AdiBags = LibStub("AceAddon-3.0"):GetAddon("AdiBags", true)
if not AdiBags then return end
hooksecurefunc(AdiBags, "ResetBagPositions", function(self)
self.db.profile.scale = 1
self:LayoutBags()
end)
local function SkinContainer(frame)
frame:SetTemplate("Transparent")
S:HandleCloseButton(frame.CloseButton)
local bagSlots = frame.HeaderLeftRegion.widgets[1].widget
bagSlots:SetTemplate()
bagSlots:StyleButton(nil, true)
local bagSlotsTex = bagSlots:GetNormalTexture()
bagSlotsTex:SetInside()
bagSlotsTex:SetTexCoord(unpack(E.TexCoords))
frame.BagSlotPanel:SetTemplate("Transparent")
for _, bag in ipairs(frame.BagSlotPanel.buttons) do
bag:StripTextures()
bag:SetTemplate()
bag:StyleButton()
local icon = _G[bag:GetName().."IconTexture"]
icon:SetInside()
icon:SetTexCoord(unpack(E.TexCoords))
end
end
S:RawHook(AdiBags, "CreateContainerFrame", function(self, ...)
local frame = S.hooks[self].CreateContainerFrame(self, ...)
SkinContainer(frame)
return frame
end)
local qualityColors = {
["questStarter"] = {E.db.bags.colors.items.questStarter.r, E.db.bags.colors.items.questStarter.g, E.db.bags.colors.items.questStarter.b},
["questItem"] = {E.db.bags.colors.items.questItem.r, E.db.bags.colors.items.questItem.g, E.db.bags.colors.items.questItem.b}
}
for i = 0, 7 do
qualityColors[i] = {GetItemQualityColor(i)}
end
local LayeredRegionClass = AdiBags:GetClass("LayeredRegion")
hooksecurefunc(LayeredRegionClass.prototype, "AddWidget", function(self, widget)
if widget:IsObjectType("Button") then
if widget:GetText() then
S:HandleButton(widget)
else
widget:StyleButton(true, true)
widget:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
widget:GetCheckedTexture():SetTexCoord(unpack(E.TexCoords))
end
elseif widget.editBox and widget.editBox.clearButton then
widget.editBox:DisableDrawLayer("BACKGROUND")
S:HandleEditBox(widget.editBox)
S:HandleButton(widget.editBox.clearButton)
end
end)
local function updateBorderTexture(self, texture, g, b)
if texture == TEXTURE_ITEM_QUEST_BANG then
self:SetAlpha(1)
self.parent:SetBackdropBorderColor(unpack(qualityColors.questStarter))
self.parent._itemQuality = "questStarter"
else
self:SetAlpha(0)
if texture == TEXTURE_ITEM_QUEST_BORDER then
self.parent:SetBackdropBorderColor(unpack(qualityColors.questItem))
self.parent._itemQuality = "questItem"
elseif texture == "Interface\\Buttons\\UI-ActionButton-Border" then
-- await for vertex color
self.awaitColor = true
local _, _, quality = GetItemInfo(self.parent.itemId)
if quality and quality >= ITEM_QUALITY_UNCOMMON then
self.parent._itemQuality = quality
elseif quality == ITEM_QUALITY_POOR and AdiBags.db.profile.dimJunk then
self.parent._itemQuality = 1 - 0.5 * AdiBags.db.profile.qualityOpacity
end
return
elseif type(texture) == "number" then
self.parent._itemQuality = 1
self.parent:SetBackdropBorderColor(texture, g, b)
end
end
end
local function updateBorderVertexColor(self, r, g, b)
if not self.awaitColor then return end
self.parent:SetBackdropBorderColor(r, g, b)
self.awaitColor = nil
end
local function updateDimJunk(self, mode)
if mode == "MOD" and AdiBags.db.profile.dimJunk then
local alpha = 1 - 0.5 * AdiBags.db.profile.qualityOpacity
self.parent.IconTexture:SetVertexColor(1, 1, 1, alpha)
self._dimmed = true
elseif self.dimmed then
self.parent.IconTexture:SetVertexColor(1, 1, 1, 1)
self._dimmed = nil
end
end
local function updateBorderOnHide(self)
if not self._searchMode then
if self._restoreBorder then
local color = qualityColors[self.parent._itemQuality]
self.parent:SetBackdropBorderColor(color[1], color[2], color[3], 1)
self._restoreBorder = nil
end
self.parent:SetBackdropBorderColor(unpack(E.media.bordercolor))
self.parent.IconTexture:SetVertexColor(1, 1, 1, 1)
elseif self.parent._itemQuality then
self._restoreBorder = true
local color = qualityColors[self.parent._itemQuality]
if color then
self.parent:SetBackdropBorderColor(color[1], color[2], color[3], 0.2)
else
color = self.parent._itemQuality
self.parent:SetBackdropBorderColor(color, color, color, 0.2)
end
end
end
local ItemButtonClass = AdiBags:GetClass("ItemButton")
hooksecurefunc(ItemButtonClass.prototype, "OnCreate", function(self)
self.NormalTexture:SetTexture(nil)
self:SetTemplate("Default", true)
self:StyleButton()
self.IconTexture:SetInside()
self.IconTexture:SetTexCoord(unpack(E.TexCoords))
self.IconTexture.SetTexCoord = E.noop
self.IconQuestTexture:SetInside()
self.IconQuestTexture:SetTexture(E.Media.Textures.BagQuestIcon)
self.IconQuestTexture:SetTexCoord(unpack(E.TexCoords))
self.IconQuestTexture.SetTexCoord = E.noop
self.IconQuestTexture.parent = self
self.IconQuestTexture.SetTexture = updateBorderTexture
self.IconQuestTexture.SetVertexColor = updateBorderVertexColor
self.IconQuestTexture.SetBlendMode = updateDimJunk
hooksecurefunc(self.IconQuestTexture, "Hide", updateBorderOnHide)
E:RegisterCooldown(self.Cooldown)
end)
hooksecurefunc(ItemButtonClass.prototype, "Update", function(self)
if not self:CanUpdate() then return end
if not self.texture then
self.IconTexture:SetTexture(nil)
end
end)
local AdiBags_SearchHighlight = AdiBags:GetModule("SearchHighlight", true)
S:RawHook(AdiBags_SearchHighlight, "UpdateButton", function(self, event, button)
button.IconQuestTexture._searchMode = true
S.hooks[self].UpdateButton(self, event, button)
button.IconQuestTexture._searchMode = nil
end)
end)
@@ -0,0 +1,368 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("AdvancedTradeSkillWindow") then return end
local _G = _G
local ipairs = ipairs
local unpack = unpack
local GetTradeSkillListLink = GetTradeSkillListLink
local hooksecurefunc = hooksecurefunc
-- AdvancedTradeSkillWindow 0.7.8
-- https://www.curseforge.com/wow/addons/advanced-trade-skill-window/files/400569
S:AddCallbackForAddon("AdvancedTradeSkillWindow", "AdvancedTradeSkillWindow", function()
if not E.private.addOnSkins.AdvancedTradeSkillWindow then return end
local scrollBars = {
-- Main Frame
"ATSWListScrollFrameScrollBar",
"ATSWQueueScrollFrameScrollBar",
-- Sorting Editor
"ATSWCSUListScrollFrameScrollBar",
"ATSWCSSListScrollFrameScrollBar",
-- ShoppingList Frame
"ATSWSLScrollFrameScrollBar",
}
local buttons = {
-- Scan
"ATSWScanDelayFrameSkipButton",
"ATSWScanDelayFrameAbortButton",
-- Main Frame
"ATSWCSButton",
"ATSWOptionsButton",
"ATSWQueueAllButton",
"ATSWCreateAllButton",
"ATSWCreateButton",
"ATSWQueueButton",
"ATSWQueueStartStopButton",
"ATSWQueueDeleteButton",
"ATSWReagentsButton",
-- Sorting Editor
"ATSWAddCategoryButton",
-- Reagent Frame
"ATSWBuyReagentsButton",
-- Options
"ATSWOptionsFrameOKButton",
-- Merchant Frame
"ATSWAutoBuyButton",
}
local checkBoxes = {
-- Main Frame
"ATSWHeaderSortButton",
"ATSWNameSortButton",
"ATSWDifficultySortButton",
"ATSWCustomSortButton",
"ATSWOnlyCreatableButton",
-- Options
"ATSWOFUnifiedCounterButton",
"ATSWOFSeparateCounterButton",
"ATSWOFIncludeBankButton",
"ATSWOFIncludeAltsButton",
"ATSWOFIncludeMerchantsButton",
"ATSWOFAutoBuyButton",
"ATSWOFTooltipButton",
"ATSWOFShoppingListButton",
"ATSWOFReagentListButton",
"ATSWOFNewRecipeLinkButton",
}
local editBoxes = {
-- Main Frame
"ATSWFilterBox",
"ATSWInputBox",
-- Sorting Editor
"ATSWCSNewCategoryBox",
}
local dropDownBoxes = {
-- Main Frame
"ATSWSubClassDropDown",
"ATSWInvSlotDropDown",
}
local closeButtons = {
-- Main Frame
"ATSWFrameCloseButton",
-- Reagent Frame
"ATSWReagentFrameCloseButton",
-- Sorting Editor
"ATSWCSFrameCloseButton",
}
local statusBars = {
-- Scan
"ATSWScanDelayFrameBar",
-- Main Frame
"ATSWRankFrame",
}
for _, scrollBar in ipairs(scrollBars) do
scrollBar = _G[scrollBar]
scrollBar:GetParent():StripTextures()
S:HandleScrollBar(scrollBar)
end
for _, button in ipairs(buttons) do
S:HandleButton(_G[button])
end
for _, checkBox in ipairs(checkBoxes) do
S:HandleCheckBox(_G[checkBox])
end
for _, editBox in ipairs(editBoxes) do
S:HandleEditBox(_G[editBox])
end
for _, dropDownBox in ipairs(dropDownBoxes) do
S:HandleDropDownBox(_G[dropDownBox])
end
for _, closeButton in ipairs(closeButtons) do
closeButton = _G[closeButton]
S:HandleCloseButton(closeButton, closeButton:GetParent().backdrop)
end
for _, statusBar in ipairs(statusBars) do
statusBar = _G[statusBar]
statusBar:StripTextures()
statusBar:CreateBackdrop()
statusBar:SetStatusBarTexture(E.media.normTex)
E:RegisterStatusBar(statusBar)
end
E:GetModule("Tooltip"):SecureHookScript(ATSWTradeskillTooltip, "OnShow", "SetStyle")
-- ScanDelay Frame
ATSWScanDelayFrame:Size(400, 151) -- fix pixelperfect
ATSWScanDelayFrame:StripTextures()
ATSWScanDelayFrame:SetTemplate("Transparent")
-- Options Frame
ATSWOptionsFrame:SetParent(UIParent)
ATSWOptionsFrame:StripTextures()
ATSWOptionsFrame:SetTemplate("Transparent")
-- Main Frame
ATSWFrame:StripTextures()
ATSWFrame:CreateBackdrop("Transparent")
ATSWFrame.backdrop:Point("TOPLEFT", 11, -12)
ATSWFrame.backdrop:Point("BOTTOMRIGHT", -32, 10)
ATSWFrame:SetClampedToScreen(true)
S:SetBackdropHitRect(ATSWFrame, nil, true)
ATSWFramePortrait:Hide()
S:HandleNextPrevButton(ATSWDecrementButton)
S:HandleNextPrevButton(ATSWIncrementButton)
ATSWExpandButtonFrame:StripTextures()
ATSWRankFrameBorder:StripTextures()
ATSWRankFrameBorder:Hide()
for i = 0, ATSW_TRADE_SKILLS_DISPLAYED or 23 do
if i == 0 then
S:HandleCollapseExpandButton(ATSWCollapseAllButton)
local onClick = function(self)
if self.collapsed then
self:GetNormalTexture():SetTexture(E.Media.Textures.Minus)
self:GetPushedTexture():SetTexture(E.Media.Textures.Minus)
self:GetDisabledTexture():SetTexture(E.Media.Textures.Minus)
else
self:GetNormalTexture():SetTexture(E.Media.Textures.Plus)
self:GetPushedTexture():SetTexture(E.Media.Textures.Plus)
self:GetDisabledTexture():SetTexture(E.Media.Textures.Plus)
end
end
onClick(ATSWCollapseAllButton)
ATSWCollapseAllButton:HookScript("OnClick", onClick)
else
local button = _G["ATSWSkill"..i]
if button then
S:HandleCollapseExpandButton(button)
end
end
end
local function SkinIcon(reagent, icon, count)
reagent:StripTextures()
icon:SetTexCoord(unpack(E.TexCoords))
icon:SetDrawLayer("OVERLAY")
icon.backdrop = CreateFrame("Frame", nil, reagent)
icon.backdrop:SetFrameLevel(reagent:GetFrameLevel() - 1)
icon.backdrop:SetTemplate("Default")
icon.backdrop:SetOutside(icon)
icon:SetParent(icon.backdrop)
count:SetParent(icon.backdrop)
count:SetDrawLayer("OVERLAY")
end
for i = 1, ATSW_MAX_TRADE_SKILL_REAGENTS do
local reagent = _G["ATSWReagent" .. i]
local icon = _G["ATSWReagent" .. i .. "IconTexture"]
local count = _G["ATSWReagent" .. i .. "Count"]
SkinIcon(reagent, icon, count)
end
hooksecurefunc(ATSWSkillIcon, "SetNormalTexture", function(self)
if self.skinned then
self:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
else
local reagent = _G["ATSWSkillIcon"]
local icon = _G["ATSWSkillIcon"]:GetNormalTexture()
local count = _G["ATSWSkillIconCount"]
SkinIcon(reagent, icon, count)
self.skinned = true
end
end)
for i = 1, 4 do
local button = _G["ATSWQueueItem"..i.."DeleteButton"]
S:HandleButton(button)
button:Size(20, 21)
end
ATSWHeaderSortButton:Point("TOPLEFT", 29, -30)
ATSWNameSortButton:Point("TOPLEFT", 29, -45)
ATSWDifficultySortButton:Point("TOPLEFT", 189, -30)
ATSWCustomSortButton:Point("TOPLEFT", 189, -45)
ATSWOnlyCreatableButton:Point("TOPLEFT", 349, -37)
ATSWCSButton:Point("CENTER", ATSWFrame, "TOPLEFT", 594, -44)
ATSWOptionsButton:Height(20)
ATSWOptionsButton:Point("CENTER", ATSWFrame, "TOPLEFT", 683, -44)
ATSWRankFrame:Point("TOPLEFT", 459, -62)
ATSWInvSlotDropDown:Point("TOPRIGHT", -421, -65)
ATSWSubClassDropDown:Point("RIGHT", ATSWInvSlotDropDown, "LEFT", 20, 0)
ATSWFilterBox:Width(212)
ATSWExpandButtonFrame:Point("TOPLEFT", 14, -95)
ATSWListScrollFrame:SetTemplate("Transparent")
ATSWListScrollFrame:Size(299, 374)
ATSWListScrollFrame:Point("TOPLEFT", 19, -120)
ATSWListScrollFrame.Hide = E.noop
ATSWListScrollFrameScrollBar:Point("TOPLEFT", ATSWListScrollFrame, "TOPRIGHT", 3, -19)
ATSWListScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWListScrollFrame, "BOTTOMRIGHT", 3, 19)
ATSWSkill1:Point("TOPLEFT", 22, -123)
ATSWCreateButton:Point("CENTER", ATSWFrame, "TOPLEFT", 625, -349)
ATSWQueueButton:Point("LEFT", ATSWCreateButton, "RIGHT", 3, 0)
ATSWCreateAllButton:Point("RIGHT", ATSWCreateButton, "LEFT", -84, 0)
ATSWQueueAllButton:Point("RIGHT", ATSWCreateAllButton, "LEFT", -3, 0)
ATSWDecrementButton:Point("LEFT", ATSWCreateAllButton, "RIGHT", 5, 0)
ATSWInputBox:Point("LEFT", ATSWDecrementButton, "RIGHT", 4, 0)
ATSWIncrementButton:Point("RIGHT", ATSWCreateButton, "LEFT", -5, 0)
ATSWQueueItem1:Point("TOPLEFT", 355, -373)
ATSWQueueScrollFrameScrollBar:Point("TOPLEFT", ATSWQueueScrollFrame, "TOPRIGHT", 8, -16)
ATSWQueueScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWQueueScrollFrame, "BOTTOMRIGHT", 8, 16)
ATSWReagentsButton:Point("CENTER", ATSWFrame, "TOPLEFT", 683, -483)
ATSWQueueStartStopButton:Point("CENTER", ATSWFrame, "TOPLEFT", 421, -483)
ATSWQueueDeleteButton:ClearAllPoints()
ATSWQueueDeleteButton:Point("LEFT", ATSWQueueStartStopButton, "RIGHT", 3, 0)
ATSWQueueDeleteButton:Point("RIGHT", ATSWReagentsButton, "LEFT", -3, 0)
-- Reagent Frame
ATSWReagentFrame:StripTextures()
ATSWReagentFrame:CreateBackdrop("Transparent")
ATSWReagentFrame.backdrop:Point("TOPLEFT", 12, -14)
ATSWReagentFrame.backdrop:Point("BOTTOMRIGHT", -34, 74)
S:SetBackdropHitRect(ATSWReagentFrame, nil, true)
-- SortingEditor Frame
ATSWCSFrame:StripTextures()
ATSWCSFrame:CreateBackdrop("Transparent")
ATSWCSFrame.backdrop:Point("TOPLEFT", 11, -12)
ATSWCSFrame.backdrop:Point("BOTTOMRIGHT", -32, 10)
ATSWCSFrame:SetClampedToScreen(true)
S:SetBackdropHitRect(ATSWCSFrame, nil, true)
ATSWCSUListScrollFrame:SetTemplate("Transparent")
ATSWCSUListScrollFrame:Size(342, 383) -- 311, 383
ATSWCSUListScrollFrame:Point("TOPLEFT", 19, -111)
ATSWCSSkill1:Point("TOPLEFT", 28, -120)
ATSWCSUListScrollFrameScrollBar:Point("TOPLEFT", ATSWCSUListScrollFrame, "TOPRIGHT", 3, -19)
ATSWCSUListScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWCSUListScrollFrame, "BOTTOMRIGHT", 3, 19)
ATSWCSSListScrollFrame:SetTemplate("Transparent")
ATSWCSSListScrollFrame:Size(322, 354)
ATSWCSSListScrollFrame:Point("TOPLEFT", 385, -111)
ATSWCSCSkill1:Point("TOPLEFT", 394, -120)
ATSWCSSListScrollFrameScrollBar:Point("TOPLEFT", ATSWCSSListScrollFrame, "TOPRIGHT", 3, -19)
ATSWCSSListScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWCSSListScrollFrame, "BOTTOMRIGHT", 3, 19)
for i = 1, 17 do
local buttonDelete = _G["ATSWCSCSkill" .. i .. "Delete"]
local buttonUp = _G["ATSWCSCSkill" .. i .. "MoveUp"]
local buttonDown = _G["ATSWCSCSkill" .. i .. "MoveDown"]
local skillButton = _G["ATSWCSCSkill" .. i .. "SkillButton"]
buttonDelete:Size(17)
buttonUp:Size(24)
buttonDown:Size(24)
S:HandleButton(buttonDelete)
S:HandleNextPrevButton(buttonUp, "up")
S:HandleNextPrevButton(buttonDown, "down")
S:HandleCollapseExpandButton(skillButton)
end
ATSWCSNewCategoryBox:Point("TOPLEFT", 424, -473)
ATSWAddCategoryButton:Point("LEFT", ATSWCSNewCategoryBox, "RIGHT", 4, 0)
-- ShoppingList
ATSWShoppingListFrame:StripTextures()
ATSWShoppingListFrame:CreateBackdrop("Transparent")
ATSWShoppingListFrame.backdrop:Point("TOPLEFT", 12, 0)
ATSWShoppingListFrame.backdrop:Point("BOTTOMRIGHT", -35, 59)
S:SetBackdropHitRect(ATSWShoppingListFrame)
S:HandleCloseButton(ATSWSLCloseButton)
ATSWSLCloseButton:Point("BOTTOMRIGHT", -39, 177)
ATSWSLCloseButton:SetHitRectInsets(1, 0, 1, 0)
ATSWSLCloseButton:SetText(nil)
ATSWSLScrollFrameScrollBar:Point("TOPLEFT", ATSWSLScrollFrame, "TOPRIGHT", 5, -18)
ATSWSLScrollFrameScrollBar:Point("BOTTOMLEFT", ATSWSLScrollFrame, "BOTTOMRIGHT", 5, 22)
ATSWShoppingListFrame.SetPoint = function(self)
ATSWSLCloseButton.SetPoint(ATSWShoppingListFrame, "TOPLEFT", AuctionFrame, "TOPLEFT", 355, -446)
end
-- ChatLink fix
ATSWTradeSkillLinkButton:SetScript("OnClick", function()
local ChatFrameEditBox = ChatEdit_ChooseBoxForSend()
if not ChatFrameEditBox:IsShown() then
ChatEdit_ActivateChat(ChatFrameEditBox)
end
ChatFrameEditBox:Insert(GetTradeSkillListLink())
end)
end)
@@ -0,0 +1,26 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("AllStats") then return end
-- All Stats 1.1
-- https://www.curseforge.com/wow/addons/all-stats/files/430951
S:AddCallbackForAddon("AllStats", "AllStats", function()
if not E.private.addOnSkins.AllStats then return end
AllStatsFrame:StripTextures()
AllStatsFrame:SetTemplate("Transparent")
AllStatsFrame:Height(424)
AllStatsFrame:Point("TOPLEFT", PaperDollFrame, "TOPLEFT", 351, -12)
S:HandleButton(AllStatsButtonShowFrame)
AllStatsButtonShowFrame:Height(21)
if CharacterFrameExpandButton then
AllStatsButtonShowFrame:Point("BOTTOMRIGHT", -40, 84)
else
AllStatsButtonShowFrame:Point("BOTTOMRIGHT", -60, 84)
end
end)
+402
View File
@@ -0,0 +1,402 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("Altoholic") then return end
local _G = _G
local pairs = pairs
local unpack = unpack
local hooksecurefunc = hooksecurefunc
-- Altoholic 3.3.002b
S:AddCallbackForAddon("Altoholic", "Altoholic", function()
if not E.private.addOnSkins.Altoholic then return end
local function AltoItem(item)
local name = item:GetName()
item:SetTemplate()
item:StyleButton()
item:SetNormalTexture("")
_G[name.."IconTexture"]:SetInside()
_G[name.."IconTexture"]:SetTexCoord(unpack(E.TexCoords))
local cooldown = _G[name.."Cooldown"]
if cooldown then
E:RegisterCooldown(cooldown)
end
end
AltoTooltip:HookScript("OnShow", function(self)
self:SetTemplate("Transparent", nil, true) --ignore updates
local r, g, b = self:GetBackdropColor()
self:SetBackdropColor(r, g, b, E.db.tooltip.colorAlpha)
end)
AltoholicFrame:StripTextures()
AltoholicFrame:CreateBackdrop("Transparent")
AltoholicFrame.backdrop:Point("TOPLEFT", 11, -12)
AltoholicFrame.backdrop:Point("BOTTOMRIGHT", -1, 11)
AltoholicFramePortrait:Hide()
S:HandleCloseButton(AltoholicFrameCloseButton, AltoholicFrame.backdrop)
for i = 1, 5 do
local tab = _G["AltoholicFrameTab"..i]
if i == 1 then
tab:Point("TOPLEFT", AltoholicFrame, "BOTTOMLEFT", 11, 13)
else
tab:Point("TOPLEFT", _G["AltoholicFrameTab"..(i - 1)], "TOPRIGHT", -15, 0)
end
S:HandleTab(tab)
end
S:HandleEditBox(AltoholicFrame_SearchEditBox)
S:HandleButton(AltoholicFrame_ResetButton)
AltoholicFrame_ResetButton:Point("TOPLEFT", "$parent_SearchEditBox", "BOTTOMLEFT", -40, -3)
S:HandleButton(AltoholicFrame_SearchButton)
local function ClassesItemItemTexure_SetTexCoord(self, left, right, top, bottom)
if self.customTexCoord then return end
self.customTexCoord = true
self:SetTexCoord(left + 0.02, right - 0.02, top + 0.02, bottom - 0.02)
self.customTexCoord = nil
end
local function ClassesItem_OnShow(self)
if self.border:IsShown() then
self:SetBackdropBorderColor(self.border:GetVertexColor())
else
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
_G[self:GetName().."IconTexture"]:SetInside()
self.border:SetTexture("")
end
for i = 1, 10 do
local item = _G["AltoholicFrameClassesItem"..i]
AltoItem(item)
hooksecurefunc(_G[item:GetName().."IconTexture"], "SetTexCoord", ClassesItemItemTexure_SetTexCoord)
item:HookScript("OnShow", ClassesItem_OnShow)
end
AltoMsgBox:SetTemplate("Transparent")
S:HandleButton(AltoMsgBoxYesButton)
S:HandleButton(AltoMsgBoxNoButton)
AltoAccountSharing:SetTemplate("Transparent")
S:HandleEditBox(AltoAccountSharing_AccNameEditBox)
S:HandleButton(AltoAccountSharing_InfoButton)
S:HandleEditBox(AltoAccountSharing_AccTargetEditBox)
S:HandleButton(AltoAccountSharing_SendButton)
S:HandleButton(AltoAccountSharing_CancelButton)
S:HandleCollapseExpandButton(AltoAccountSharing_ToggleAll, "-")
S:HandleCheckBox(AltoAccountSharing_CheckAll)
-- AccountSummary
AltoholicFrameSummaryScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameSummaryScrollFrameScrollBar)
for i = 1, 14 do
S:HandleCollapseExpandButton(_G["AltoholicFrameSummaryEntry"..i.."Collapse"], "-")
end
-- Activity
AltoholicFrameActivityScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameActivityScrollFrameScrollBar)
for i = 1, 14 do
S:HandleCollapseExpandButton(_G["AltoholicFrameActivityEntry"..i.."Collapse"], "-")
end
-- AuctionHouse
AltoholicFrameAuctionsScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameAuctionsScrollFrameScrollBar)
for i = 1, 7 do
AltoItem(_G["AltoholicFrameAuctionsEntry"..i.."Item"])
end
-- BagUsage
AltoholicFrameBagUsageScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameBagUsageScrollFrameScrollBar)
for i = 1, 14 do
S:HandleCollapseExpandButton(_G["AltoholicFrameBagUsageEntry"..i.."Collapse"], "-")
end
-- Calendar
S:HandleNextPrevButton(AltoholicFrameCalendar_PrevMonth)
S:HandleNextPrevButton(AltoholicFrameCalendar_NextMonth)
AltoholicFrameCalendarScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameCalendarScrollFrameScrollBar)
-- Containers
S:HandleDropDownBox(AltoholicFrameContainers_SelectContainerView)
S:HandleDropDownBox(AltoholicFrameContainers_SelectRarity)
AltoholicFrameContainersScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameContainersScrollFrameScrollBar)
for i = 1, 7 do
for j = 1, 14 do
AltoItem(_G["AltoholicFrameContainersEntry"..i.."Item"..j])
end
end
-- Currencies
S:HandleDropDownBox(AltoholicFrameCurrencies_SelectCurrencies)
AltoholicFrameCurrenciesScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameCurrenciesScrollFrameScrollBar)
--[[
for i = 1, 8 do
for j = 1, 10 do
_G["AltoholicFrameCurrenciesEntry"..i.."Item"..j]
end
end
]]
-- Equipment
AltoholicFrameEquipmentScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameEquipmentScrollFrameScrollBar)
for i = 1, 7 do
for j = 1, 10 do
AltoItem(_G["AltoholicFrameEquipmentEntry"..i.."Item"..j])
end
end
-- GuildBank
for i = 1, 7 do
for j = 1, 14 do
AltoItem(_G["AltoGuildBankEntry"..i.."Item"..j])
end
end
-- GuildBankTabs
AltoholicFrameGuildBankTabsScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameGuildBankTabsScrollFrameScrollBar)
for i = 1, 14 do
S:HandleCollapseExpandButton(_G["AltoholicFrameGuildBankTabsEntry"..i.."Collapse"], "-")
S:HandleButton(_G["AltoholicFrameGuildBankTabsEntry"..i.."UpdateTab"])
end
-- GuildMembers
AltoholicFrameGuildMembersScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameGuildMembersScrollFrameScrollBar)
for i = 1, 14 do
S:HandleCollapseExpandButton(_G["AltoholicFrameGuildMembersEntry"..i.."Collapse"], "-")
end
for i = 1, 19 do
AltoItem(_G["AltoholicFrameGuildMembersItem"..i])
end
-- GuildProfessions
AltoholicFrameGuildProfessionsScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameGuildProfessionsScrollFrameScrollBar)
for i = 1, 14 do
S:HandleCollapseExpandButton(_G["AltoholicFrameGuildProfessionsEntry"..i.."Collapse"], "-")
end
-- Mails
AltoholicFrameMailScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameMailScrollFrameScrollBar)
for i = 1, 7 do
AltoItem(_G["AltoholicFrameMailEntry"..i.."Item"])
end
-- Pets
S:HandleDropDownBox(AltoholicFramePets_SelectPetView)
S:HandleRotateButton(AltoholicFramePetsNormal_ModelFrameRotateLeftButton)
S:HandleRotateButton(AltoholicFramePetsNormal_ModelFrameRotateRightButton)
for i = 1, 12 do
local button = _G["AltoholicFramePetsNormal_Button"..i]
button:SetTemplate()
button:StyleButton(nil, true)
button:GetDisabledTexture():SetInside()
button:SetNormalTexture("")
button:GetNormalTexture():SetDrawLayer("BORDER")
button:GetNormalTexture():SetInside()
button:GetNormalTexture():SetTexCoord(unpack(E.TexCoords))
end
S:HandleNextPrevButton(AltoholicFramePetsNormalPrevPage, nil, nil, true)
AltoholicFramePetsNormalPrevPage:Size(32)
S:HandleNextPrevButton(AltoholicFramePetsNormalNextPage, nil, nil, true)
AltoholicFramePetsNormalNextPage:Size(32)
AltoholicFramePetsAllInOneScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFramePetsAllInOneScrollFrameScrollBar)
-- Quests
AltoholicFrameQuestsScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameQuestsScrollFrameScrollBar)
for i = 1, 14 do
S:HandleCollapseExpandButton(_G["AltoholicFrameQuestsEntry"..i.."Collapse"], "-")
end
-- Recipes
S:HandleCollapseExpandButton(AltoholicFrameRecipesInfo_ToggleAll, "-")
S:HandleDropDownBox(AltoholicFrameRecipesInfo_SelectColor)
S:HandleDropDownBox(AltoholicFrameRecipesInfo_SelectSubclass)
S:HandleDropDownBox(AltoholicFrameRecipesInfo_SelectInvSlot)
AltoholicFrameRecipesScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameRecipesScrollFrameScrollBar)
for i = 1, 14 do
S:HandleCollapseExpandButton(_G["AltoholicFrameRecipesEntry"..i.."Collapse"], "-")
AltoItem(_G["AltoholicFrameRecipesEntry"..i.."Craft"])
for j = 1, 8 do
AltoItem(_G["AltoholicFrameRecipesEntry"..i.."Item"..j])
end
end
-- Reputations
S:HandleDropDownBox(AltoholicFrameReputations_SelectFaction)
AltoholicFrameReputationsScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameReputationsScrollFrameScrollBar)
for i = 1, 8 do
for j = 1, 10 do
local item = _G["AltoholicFrameReputationsEntry"..i.."Item"..j]
local bg = _G["AltoholicFrameReputationsEntry"..i.."Item"..j.."_Background"]
item:SetTemplate()
item:StyleButton()
bg:SetDrawLayer("BORDER")
bg:SetInside()
bg:SetTexCoord(unpack(E.TexCoords))
end
end
-- Search
AltoholicFrameSearchScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameSearchScrollFrameScrollBar)
for i = 1, 7 do
E:RegisterCooldown(_G["AltoholicFrameSearchEntry"..i.."Cooldown"])
AltoItem(_G["AltoholicFrameSearchEntry"..i.."Item"])
end
-- Skills
AltoholicFrameSkillsScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameSkillsScrollFrameScrollBar)
for i = 1, 14 do
S:HandleCollapseExpandButton(_G["AltoholicFrameSkillsEntry"..i.."Collapse"], "-")
end
-- TabCharacters
S:HandleDropDownBox(AltoholicTabCharacters_SelectRealm)
S:HandleDropDownBox(AltoholicTabCharacters_SelectChar)
local tabCharacters = {"_Bags", "_Equipment", "_Quests", "_Talents", "_Auctions", "_Bids", "_Mails", "_Pets", "_Mounts", "_Factions", "_Tokens", "_Cooking", "_FirstAid", "_Prof1", "_Prof2"}
for _, tab in pairs(tabCharacters) do
AltoItem(_G["AltoholicTabCharacters"..tab])
end
for i = 1, 4 do
_G["AltoholicTabCharacters_Sort"..i]:StripTextures()
end
-- TabGuildBank
S:HandleDropDownBox(AltoholicTabGuildBank_SelectGuild)
S:HandleButton(AltoholicTabGuildBank_DeleteGuildButton)
S:HandleCheckBox(AltoholicTabGuildBank_HideInTooltip)
for i = 1, 6 do
_G["AltoholicTabGuildBankMenuItem"..i]:StripTextures()
end
-- TabSearch
for i = 1, 15 do
_G["AltoholicTabSearchMenuItem"..i]:StripTextures()
end
AltoholicSearchMenuScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicSearchMenuScrollFrameScrollBar)
S:HandleEditBox(AltoholicTabSearch_MinLevel)
S:HandleEditBox(AltoholicTabSearch_MaxLevel)
S:HandleDropDownBox(AltoholicTabSearch_SelectRarity)
S:HandleDropDownBox(AltoholicTabSearch_SelectSlot, 140)
S:HandleDropDownBox(AltoholicTabSearch_SelectLocation, 200)
for i = 1, 8 do
_G["AltoholicTabSearch_Sort"..i]:StripTextures()
end
-- TabSummary
for i = 1, 8 do
_G["AltoholicTabSummaryMenuItem"..i]:StripTextures()
_G["AltoholicTabSummary_Sort"..i]:StripTextures()
end
S:HandleCollapseExpandButton(AltoholicTabSummaryToggleView, "-")
S:HandleDropDownBox(AltoholicTabSummary_SelectLocation, 200)
S:HandleButton(AltoholicTabSummary_OptionsDataStore)
S:HandleButton(AltoholicTabSummary_Options)
S:HandleButton(AltoholicTabSummary_RequestSharing)
-- Telents
for i = 1, 3 do
AltoItem(_G["AltoholicFrameTalents_SpecIcon"..i])
end
S:HandleScrollBar(AltoholicFrameTalents_ScrollFrameScrollBar)
for i = 1, 40 do
AltoItem(_G["AltoholicFrameTalents_ScrollFrameTalent"..i])
end
end)
S:AddCallbackForAddon("Altoholic_Achievements", "Altoholic_Achievements", function()
if not E.private.addOnSkins.Altoholic then return end
AltoholicFrameAchievementsScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicFrameAchievementsScrollFrameScrollBar)
for i = 1, 8 do
for j = 1, 10 do
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j]:SetTemplate()
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j]:StyleButton()
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j.."_Background"]:SetDrawLayer("BORDER")
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j.."_Background"]:SetInside()
_G["AltoholicFrameAchievementsEntry"..i.."Item"..j.."_Background"]:SetTexCoord(unpack(E.TexCoords))
end
end
for i = 1, 15 do
_G["AltoholicTabAchievementsMenuItem"..i]:StripTextures()
end
AltoholicAchievementsMenuScrollFrame:StripTextures()
S:HandleScrollBar(AltoholicAchievementsMenuScrollFrameScrollBar)
end)
+85
View File
@@ -0,0 +1,85 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("Atlas") then return end
-- Atlas 1.18.1
S:AddCallbackForAddon("Atlas", "Atlas", function()
if not E.private.addOnSkins.Atlas then return end
AtlasFrame:StripTextures()
AtlasFrame:SetTemplate("Transparent")
AtlasFrame:SetClampRectInsets(0, 0, 0, 0)
S:HandleCloseButton(AtlasFrameCloseButton, AtlasFrame)
AtlasFrameLockButton:Point("RIGHT", AtlasFrameCloseButton, "LEFT", 12, -1)
AtlasFrameLockButton:SetHitRectInsets(6, 6, 6, 6)
AtlasLockNorm:SetInside(AtlasFrameLockButton, 10, 10)
AtlasLockPush:SetInside(AtlasFrameLockButton, 10, 10)
AtlasLockNorm:SetTexCoord(.36, .65, .32, .73)
AtlasLockPush:SetTexCoord(.36, .60, .38, .76)
AtlasMap:SetDrawLayer("ARTWORK")
AtlasMap:CreateBackdrop()
hooksecurefunc("Atlas_UpdateLock", function()
AtlasLockNorm:SetDesaturated(true)
AtlasLockPush:SetDesaturated(true)
end)
Atlas_UpdateLock()
S:HandleDropDownBox(AtlasFrameDropDownType)
S:HandleDropDownBox(AtlasFrameDropDown)
S:HandleEditBox(AtlasSearchEditBox)
AtlasSearchEditBox:Height(22)
S:HandleButton(AtlasSwitchButton)
S:HandleButton(AtlasSearchButton)
S:HandleButton(AtlasSearchClearButton)
S:HandleButton(AtlasFrameOptionsButton)
S:HandleScrollBar(AtlasScrollBarScrollBar)
AtlasFrameDropDownType:Point("TOPLEFT", 24, -40)
AtlasFrameDropDown:Point("LEFT", AtlasFrameDropDownType, "RIGHT", 2, 0)
AtlasFrameOptionsButton:Point("TOPRIGHT", -14, -43)
AtlasMap:Point("TOPLEFT", 15, -74)
AtlasMap.ClearAllPoints = E.noop
AtlasMap.SetPoint = E.noop
AtlasSwitchButton:Height(24)
AtlasSearchButton:Height(24)
AtlasSearchClearButton:Size(62, 24)
AtlasSearchEditBox:Point("BOTTOMRIGHT", -152, 15)
AtlasSwitchButton:Point("RIGHT", AtlasSearchEditBox, "LEFT", -4, 0)
AtlasSearchButton:Point("LEFT", AtlasSearchEditBox, "RIGHT", 4, 0)
AtlasSearchClearButton:Point("LEFT", AtlasSearchButton, "RIGHT", 3, 0)
AtlasScrollBarScrollBar:Point("TOPLEFT", AtlasScrollBar, "TOPRIGHT", 8, -16)
AtlasScrollBarScrollBar:Point("BOTTOMLEFT", AtlasScrollBar, "BOTTOMRIGHT", 8, 16)
-- options
S:HandleCheckBox(AtlasOptionsFrameToggleButton)
S:HandleCheckBox(AtlasOptionsFrameAutoSelect)
S:HandleCheckBox(AtlasOptionsFrameRightClick)
S:HandleCheckBox(AtlasOptionsFrameAcronyms)
S:HandleCheckBox(AtlasOptionsFrameClamped)
S:HandleCheckBox(AtlasOptionsFrameCtrl)
S:HandleSliderFrame(AtlasOptionsFrameSliderButtonPos)
S:HandleSliderFrame(AtlasOptionsFrameSliderButtonRad)
S:HandleSliderFrame(AtlasOptionsFrameSliderAlpha)
S:HandleSliderFrame(AtlasOptionsFrameSliderScale)
S:HandleDropDownBox(AtlasOptionsFrameDropDownCats)
S:HandleButton(AtlasOptionsFrameResetPosition)
end)
+191
View File
@@ -0,0 +1,191 @@
local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("AtlasLoot") then return end
local select = select
local unpack = unpack
-- AtlasLoot Enhanced 5.11.04
-- https://www.curseforge.com/wow/addons/atlasloot-enhanced/files/445202
S:AddCallbackForAddon("AtlasLoot", "AtlasLoot", function()
if not E.private.addOnSkins.AtlasLoot then return end
AtlasLootTooltip:HookScript("OnShow", function(self)
self:SetTemplate("Transparent", nil, true)
local r, g, b = self:GetBackdropColor()
self:SetBackdropColor(r, g, b, E.db.tooltip.colorAlpha)
local iLink = select(2, self:GetItem())
local quality = iLink and select(3, GetItemInfo(iLink))
if quality and quality >= 2 then
self:SetBackdropBorderColor(GetItemQualityColor(quality))
else
self:SetBackdropBorderColor(unpack(E.media.bordercolor))
end
end)
AtlasLootDefaultFrame:StripTextures()
AtlasLootDefaultFrame:SetTemplate("Transparent")
S:HandleCloseButton(AtlasLootDefaultFrame_CloseButton, AtlasLootDefaultFrame)
S:HandleButton(AtlasLootDefaultFrame_Options)
S:HandleButton(AtlasLootDefaultFrame_LoadModules)
S:HandleButton(AtlasLootDefaultFrame_Menu)
S:HandleButton(AtlasLootDefaultFrame_SubMenu)
AtlasLootDefaultFrame_LootBackground_Back:SetTexture()
AtlasLootDefaultFrame_LootBackground:SetTemplate("Transparent")
S:HandleButton(AtlasLootDefaultFrame_Preset1)
S:HandleButton(AtlasLootDefaultFrame_Preset2)
S:HandleButton(AtlasLootDefaultFrame_Preset3)
S:HandleButton(AtlasLootDefaultFrame_Preset4)
S:HandleButton(AtlasLootDefaultFrameWishListButton)
S:HandleEditBox(AtlasLootDefaultFrameSearchBox)
S:HandleButton(AtlasLootDefaultFrameSearchButton)
S:HandleNextPrevButton(AtlasLootDefaultFrameSearchOptionsButton)
S:HandleButton(AtlasLootDefaultFrameSearchClearButton)
S:HandleButton(AtlasLootDefaultFrameLastResultButton)
AtlasLootDefaultFrame_Options:Point("TOPLEFT", 43, -11)
AtlasLootDefaultFrame_LoadModules:Point("TOPRIGHT", -42, -11)
AtlasLootDefaultFrame_Preset1:Point("BOTTOMLEFT", 83, 59)
AtlasLootDefaultFrameSearchBox:Height(22)
AtlasLootDefaultFrameSearchBox:Point("BOTTOM", AtlasLootDefaultFrame, "BOTTOM", -83, 29)
AtlasLootDefaultFrameSearchButton:Point("LEFT", AtlasLootDefaultFrameSearchBox, "RIGHT", 6, 0)
AtlasLootDefaultFrameSearchOptionsButton:Size(24)
AtlasLootDefaultFrameSearchOptionsButton:Point("LEFT", AtlasLootDefaultFrameSearchButton, "RIGHT", 5, 0)
AtlasLootDefaultFrameSearchClearButton:Point("LEFT", AtlasLootDefaultFrameSearchOptionsButton, "RIGHT", 5, 0)
AtlasLootDefaultFrameLastResultButton:Point("LEFT", AtlasLootDefaultFrameSearchClearButton, "RIGHT", 5, 0)
AtlasLootDefaultFrameWishListButton:Point("RIGHT", AtlasLootDefaultFrameSearchBox, "LEFT", -6, 0)
AtlasLootDefaultFrame_Notice:Point("BOTTOM", 0, 9)
S:HandleCloseButton(AtlasLootItemsFrame_CloseButton)
S:HandleButton(AtlasLootInfoHidePanel)
for i = 1, 30 do
_G["AtlasLootItem_" .. i .. "_Icon"]:SetTexCoord(unpack(E.TexCoords))
_G["AtlasLootItem_" .. i]:CreateBackdrop("Default")
_G["AtlasLootItem_" .. i].backdrop:SetOutside(_G["AtlasLootItem_" .. i .. "_Icon"])
_G["AtlasLootMenuItem_" .. i .. "_Icon"]:SetTexCoord(unpack(E.TexCoords))
_G["AtlasLootMenuItem_" .. i]:CreateBackdrop("Default")
_G["AtlasLootMenuItem_" .. i].backdrop:SetOutside(_G["AtlasLootMenuItem_" .. i .. "_Icon"])
end
S:HandleButton(AtlasLoot10Man25ManSwitch)
S:HandleButton(AtlasLootServerQueryButton)
S:HandleCheckBox(AtlasLootItemsFrame_Heroic)
S:HandleCheckBox(AtlasLootFilterCheck)
S:HandleButton(AtlasLootItemsFrame_BACK)
S:HandleNextPrevButton(AtlasLootQuickLooksButton)
S:HandleNextPrevButton(AtlasLootItemsFrame_PREV)
S:HandleNextPrevButton(AtlasLootItemsFrame_NEXT)
AtlasLootItemsFrame_Back:SetTexture()
AtlasLoot10Man25ManSwitch:Height(24)
AtlasLootServerQueryButton:Height(24)
AtlasLootItemsFrame_BACK:Height(24)
AtlasLoot10Man25ManSwitch:Point("BOTTOM", -130, 3)
AtlasLootServerQueryButton:Point("BOTTOM", 131, 3)
AtlasLootItemsFrame_BACK:Point("BOTTOM", 0, 3)
AtlasLootItemsFrame_Heroic:Point("BOTTOM", -185, 28)
AtlasLootFilterCheck:Point("BOTTOM", 115, 28)
AtlasLootQuickLooksButton:Point("BOTTOM", 58, 32)
AtlasLootItemsFrame_PREV:Point("BOTTOMLEFT", 7, 6)
AtlasLootItemsFrame_NEXT:Point("BOTTOMRIGHT", -6, 6)
S:HandleCheckBox(AtlasLootOptionsFrameDefaultTT)
S:HandleCheckBox(AtlasLootOptionsFrameLootlinkTT)
S:HandleCheckBox(AtlasLootOptionsFrameItemSyncTT)
S:HandleCheckBox(AtlasLootOptionsFrameOpaque)
S:HandleCheckBox(AtlasLootOptionsFrameItemID)
S:HandleCheckBox(AtlasLootOptionsFrameLoDStartup)
S:HandleCheckBox(AtlasLootOptionsFrameSafeLinks)
S:HandleCheckBox(AtlasLootOptionsFrameEquipCompare)
S:HandleCheckBox(AtlasLootOptionsFrameItemSpam)
S:HandleCheckBox(AtlasLootOptionsFrameHidePanel)
S:HandleDropDownBox(AtlasLoot_SelectLootBrowserStyle)
S:HandleDropDownBox(AtlasLoot_CraftingLink)
S:HandleSliderFrame(AtlasLootOptionsFrameLootBrowserScale)
S:HandleButton(AtlasLootOptionsFrame_ResetWishlist)
S:HandleButton(AtlasLootOptionsFrame_ResetAtlasLoot)
S:HandleButton(AtlasLootOptionsFrame_ResetQuicklooks)
S:HandleButton(AtlasLootOptionsFrame_FuBarShow)
S:HandleButton(AtlasLootOptionsFrame_FuBarHide)
AtlasLootPanel:StripTextures()
AtlasLootPanel:SetTemplate("Transparent")
S:HandleButton(AtlasLootPanel_WorldEvents)
AtlasLootPanel_WorldEvents:Point("LEFT", AtlasLootPanel, "LEFT", 7, 29)
S:HandleButton(AtlasLootPanel_Sets)
AtlasLootPanel_Sets:Point("LEFT", AtlasLootPanel_WorldEvents, "RIGHT", 2, 0)
S:HandleButton(AtlasLootPanel_Reputation)
AtlasLootPanel_Reputation:Point("LEFT", AtlasLootPanel_Sets, "RIGHT", 2, 0)
S:HandleButton(AtlasLootPanel_PvP)
AtlasLootPanel_PvP:Point("LEFT", AtlasLootPanel_Reputation, "RIGHT", 2, 0)
S:HandleButton(AtlasLootPanel_Crafting)
AtlasLootPanel_Crafting:Point("LEFT", AtlasLootPanel_PvP, "RIGHT", 2, 0)
S:HandleButton(AtlasLootPanel_WishList)
AtlasLootPanel_WishList:Point("LEFT", AtlasLootPanel_Crafting, "RIGHT", 2, 0)
S:HandleButton(AtlasLootPanel_Options)
S:HandleButton(AtlasLootPanel_LoadModules)
S:HandleButton(AtlasLootPanel_Preset1)
S:HandleButton(AtlasLootPanel_Preset2)
S:HandleButton(AtlasLootPanel_Preset3)
S:HandleButton(AtlasLootPanel_Preset4)
S:HandleEditBox(AtlasLootSearchBox)
AtlasLootSearchBox:Height(20)
S:HandleButton(AtlasLootSearchButton)
AtlasLootSearchButton:Height(22)
AtlasLootSearchButton:Point("LEFT", AtlasLootSearchBox, "RIGHT", 3, 0)
S:HandleNextPrevButton(AtlasLootSearchOptionsButton)
AtlasLootSearchOptionsButton:Point("LEFT", AtlasLootSearchButton, "RIGHT", 2, 0)
S:HandleButton(AtlasLootSearchClearButton)
AtlasLootSearchClearButton:Height(22)
AtlasLootSearchClearButton:Point("LEFT", AtlasLootSearchOptionsButton, "RIGHT", 2, 0)
S:HandleButton(AtlasLootLastResultButton)
AtlasLootLastResultButton:Height(22)
AtlasLootLastResultButton:Point("LEFT", AtlasLootSearchClearButton, "RIGHT", 2, 0)
if AS:IsAddonEnabled("Atlas") then
hooksecurefunc("AtlasLoot_SetupForAtlas", function()
AtlasLootInfo:Point("TOPLEFT", 546, 15)
AtlasLootPanel:Point("TOP", "AtlasFrame", "BOTTOM", 0, 1)
end)
hooksecurefunc("AtlasLoot_SetItemInfoFrame", function(pFrame)
if not pFrame or pFrame == AtlasFrame then
AtlasLootItemsFrame:Point("TOPLEFT", 15, -74)
end
end)
end
AS:SkinLibrary("Dewdrop-2.0")
end)
S:AddCallbackForAddon("AtlasLootFu", "AtlasLootFu", function()
AS:SkinLibrary("AceAddon-2.0")
AS:SkinLibrary("Tablet-2.0")
end)

Some files were not shown because too many files have changed in this diff Show More