big update

This commit is contained in:
Crum
2019-01-12 12:09:06 -06:00
parent eebdf23364
commit aaf50317e5
45 changed files with 500 additions and 480 deletions
+12 -13
View File
@@ -204,7 +204,6 @@ function CC:PLAYER_ENTERING_WORLD()
self:UnregisterEvent("PARTY_MEMBERS_CHANGED")
self:UnregisterEvent("RAID_ROSTER_UPDATE")
self:RegisterEvent("UPDATE_BATTLEFIELD_SCORE")
if self.onBattleground then
@@ -246,13 +245,13 @@ function CC:PLAYER_GUILD_UPDATE()
end
function CC:FRIENDLIST_UPDATE()
local name, classLocalized, _
local name, class, _
for i = 1, GetNumFriends() do
name, _, classLocalized = GetFriendInfo(i)
name, _, class = GetFriendInfo(i)
if classLocalized then
self:CachePlayer(name, GetEnglishClassName(classLocalized))
if class then
self:CachePlayer(name, GetEnglishClassName(class))
end
end
end
@@ -260,13 +259,13 @@ end
function CC:GUILD_ROSTER_UPDATE(_, update)
if not update then return end
local name, classLocalized, _
local name, class, _
for i = 1, GetNumGuildMembers() do
name, _, _, _, _, classLocalized = GetGuildRosterInfo(i)
name, _, _, _, class = GetGuildRosterInfo(i)
if classLocalized then
self:CachePlayer(name, GetEnglishClassName(classLocalized))
if class then
self:CachePlayer(name, GetEnglishClassName(class))
end
end
end
@@ -345,14 +344,14 @@ function CC:UPDATE_BATTLEFIELD_SCORE()
return
end
local name, realm, classLocalized, _
local name, realm, class, _
for i = 1, numPlayers do
name, _, _, _, _, _, _, _, classLocalized = GetBattlefieldScore(i)
name, _, _, _, _, _, _, _, class = GetBattlefieldScore(i)
if name and classLocalized then
if name and class then
name, realm = split("-", name)
self:CachePlayer(name, GetEnglishClassName(classLocalized), realm)
self:CachePlayer(name, GetEnglishClassName(class), realm)
end
end
end
+7 -8
View File
@@ -71,15 +71,14 @@ function E:FarmMode(msg)
end
function E:Grid(msg)
if msg and type(tonumber(msg)) == "number" and tonumber(msg) <= 256 and tonumber(msg) >= 4 then
msg = msg and tonumber(msg)
if type(msg) == "number" and (msg <= 256 and msg >= 4) then
E.db.gridSize = msg
E:Grid_Show()
elseif _G.ElvUIGrid and _G.ElvUIGrid:IsShown() then
E:Grid_Hide()
else
if EGrid then
E:Grid_Hide()
else
E:Grid_Show()
end
E:Grid_Show()
end
end
@@ -91,10 +90,10 @@ function E:LuaError(msg)
EnableAddOn("!DebugTools")
EnableAddOn("ElvUI")
EnableAddOn("ElvUI_Config")
SetCVar("ShowErrors", "1")
SetCVar("ShowErrors", 1)
ReloadUI()
elseif msg == "off" then
SetCVar("ShowErrors", "0")
SetCVar("ShowErrors", 0)
E:Print("Lua errors off.")
else
E:Print("/luaerror on - /luaerror off")
+54 -29
View File
@@ -54,14 +54,7 @@ function E:ToggleConfigMode(override, configType)
if override ~= nil and override ~= "" then E.ConfigurationMode = override end
if E.ConfigurationMode ~= true then
if not grid then
E:Grid_Create()
elseif grid.boxSize ~= E.db.gridSize then
grid:Hide()
E:Grid_Create()
else
grid:Show()
end
E:Grid_Show()
if not ElvUIMoverPopupWindow then
E:CreateMoverPopup()
@@ -75,14 +68,12 @@ function E:ToggleConfigMode(override, configType)
E.ConfigurationMode = true
else
E:Grid_Hide()
if ElvUIMoverPopupWindow then
ElvUIMoverPopupWindow:Hide()
end
if grid then
grid:Hide()
end
E.ConfigurationMode = false
end
@@ -93,8 +84,35 @@ function E:ToggleConfigMode(override, configType)
self:ToggleMovers(E.ConfigurationMode, configType or "ALL")
end
function E:Grid_GetRegion()
if grid then
if grid.regionCount and grid.regionCount > 0 then
local line = select(grid.regionCount, grid:GetRegions())
grid.regionCount = grid.regionCount - 1
line:SetAlpha(1)
return line
else
return grid:CreateTexture()
end
end
end
function E:Grid_Create()
grid = CreateFrame("Frame", "EGrid", UIParent)
if not grid then
grid = CreateFrame("Frame", "ElvUIGrid", UIParent)
grid:SetFrameStrata("BACKGROUND")
else
grid.regionCount = 0
local numRegions = grid:GetNumRegions()
for i = 1, numRegions do
local region = select(i, grid:GetRegions())
if region and region.IsObjectType and region:IsObjectType("Texture") then
grid.regionCount = grid.regionCount + 1
region:SetAlpha(0)
end
end
end
grid.boxSize = E.db.gridSize
grid:SetAllPoints(E.UIParent)
grid:Show()
@@ -108,34 +126,41 @@ function E:Grid_Create()
local hStep = height / E.db.gridSize
for i = 0, E.db.gridSize do
local tx = grid:CreateTexture(nil, "BACKGROUND")
local tx = E:Grid_GetRegion()
if i == E.db.gridSize / 2 then
tx:SetTexture(1, 0, 0)
tx:SetDrawLayer("BACKGROUND", 1)
else
tx:SetTexture(0, 0, 0)
tx:SetDrawLayer("BACKGROUND", 0)
end
tx:ClearAllPoints()
E:Point(tx, "TOPLEFT", grid, "TOPLEFT", i*wStep - (size/2), 0)
E:Point(tx, "BOTTOMRIGHT", grid, "BOTTOMLEFT", i*wStep + (size/2), 0)
end
height = GetScreenHeight()
do
local tx = grid:CreateTexture(nil, "BACKGROUND")
local tx = E:Grid_GetRegion()
tx:SetTexture(1, 0, 0)
tx:SetDrawLayer("BACKGROUND", 1)
tx:ClearAllPoints()
E:Point(tx, "TOPLEFT", grid, "TOPLEFT", 0, -(height/2) + (size/2))
E:Point(tx, "BOTTOMRIGHT", grid, "TOPRIGHT", 0, -(height/2 + size/2))
end
for i = 1, floor((height/2)/hStep) do
local tx = grid:CreateTexture(nil, "BACKGROUND")
for i = 1, floor((height / 2) / hStep) do
local tx = E:Grid_GetRegion()
tx:SetTexture(0, 0, 0)
tx:SetDrawLayer("BACKGROUND", 0)
tx:ClearAllPoints()
E:Point(tx, "TOPLEFT", grid, "TOPLEFT", 0, -(height/2+i*hStep) + (size/2))
E:Point(tx, "BOTTOMRIGHT", grid, "TOPRIGHT", 0, -(height/2+i*hStep + size/2))
tx = grid:CreateTexture(nil, "BACKGROUND")
tx = E:Grid_GetRegion()
tx:SetTexture(0, 0, 0)
tx:SetDrawLayer("BACKGROUND", 0)
tx:ClearAllPoints()
E:Point(tx, "TOPLEFT", grid, "TOPLEFT", 0, -(height/2-i*hStep) + (size/2))
E:Point(tx, "BOTTOMRIGHT", grid, "TOPRIGHT", 0, -(height/2-i*hStep + size/2))
end
@@ -148,7 +173,7 @@ local function ConfigMode_OnClick()
end
local function ConfigMode_Initialize()
local info = {}
local info = L_UIDropDownMenu_CreateInfo()
info.func = ConfigMode_OnClick
for _, configMode in ipairs(E.ConfigModeLayouts) do
@@ -439,8 +464,8 @@ function E:CreateMoverPopup()
end)
upButton.icon = upButton:CreateTexture(nil, "ARTWORK")
E:Size(upButton.icon, 13)
E:Point(upButton.icon, "CENTER", 0)
upButton.icon:SetTexture([[Interface\AddOns\ElvUI\Media\Textures\SquareButtonTextures.blp]])
E:Point(upButton.icon, "CENTER", 0, 0)
upButton.icon:SetTexture([[Interface\AddOns\ElvUI\media\textures\SquareButtonTextures]])
upButton.icon:SetTexCoord(0.01562500, 0.20312500, 0.01562500, 0.20312500)
S:SquareButton_SetIcon(upButton, "UP")
@@ -454,8 +479,8 @@ function E:CreateMoverPopup()
end)
downButton.icon = downButton:CreateTexture(nil, "ARTWORK")
E:Size(downButton.icon, 13)
E:Point(downButton.icon, "CENTER", 0)
downButton.icon:SetTexture([[Interface\AddOns\ElvUI\Media\Textures\SquareButtonTextures.blp]])
E:Point(downButton.icon, "CENTER", 0, 0)
downButton.icon:SetTexture([[Interface\AddOns\ElvUI\media\textures\SquareButtonTextures]])
downButton.icon:SetTexCoord(0.01562500, 0.20312500, 0.01562500, 0.20312500)
S:SquareButton_SetIcon(downButton, "DOWN")
@@ -469,8 +494,8 @@ function E:CreateMoverPopup()
end)
leftButton.icon = leftButton:CreateTexture(nil, "ARTWORK")
E:Size(leftButton.icon, 13)
E:Point(leftButton.icon, "CENTER", 0)
leftButton.icon:SetTexture([[Interface\AddOns\ElvUI\Media\Textures\SquareButtonTextures.blp]])
E:Point(leftButton.icon, "CENTER", 0, 0)
leftButton.icon:SetTexture([[Interface\AddOns\ElvUI\media\textures\SquareButtonTextures]])
leftButton.icon:SetTexCoord(0.01562500, 0.20312500, 0.01562500, 0.20312500)
S:SquareButton_SetIcon(leftButton, "LEFT")
@@ -484,8 +509,8 @@ function E:CreateMoverPopup()
end)
rightButton.icon = rightButton:CreateTexture(nil, "ARTWORK")
E:Size(rightButton.icon, 13)
E:Point(rightButton.icon, "CENTER", 0)
rightButton.icon:SetTexture([[Interface\AddOns\ElvUI\Media\Textures\SquareButtonTextures.blp]])
E:Point(rightButton.icon, "CENTER", 0, 0)
rightButton.icon:SetTexture([[Interface\AddOns\ElvUI\media\textures\SquareButtonTextures]])
rightButton.icon:SetTexCoord(0.01562500, 0.20312500, 0.01562500, 0.20312500)
S:SquareButton_SetIcon(rightButton, "RIGHT")
+48 -108
View File
@@ -21,7 +21,7 @@ local IsInInstance, GetNumPartyMembers, GetNumRaidMembers = IsInInstance, GetNum
local RequestBattlefieldScoreData = RequestBattlefieldScoreData
local SendAddonMessage = SendAddonMessage
local UnitFactionGroup = UnitFactionGroup
local NONE = NONE
local NONE = L["None"]
local RAID_CLASS_COLORS = RAID_CLASS_COLORS
-- Constants
@@ -170,6 +170,16 @@ function E:ShapeshiftDelayedUpdate(func, ...)
end, 0.05)
end
function E:GetPlayerRole()
if self.HealingClasses[self.myclass] ~= nil and self:CheckTalentTree(self.HealingClasses[E.myclass]) then
return "HEALER"
elseif E.Role == "Tank" then
return "TANK"
else
return "DAMAGER"
end
end
--Basically check if another class border is being used on a class that doesn't match. And then return true if a match is found.
function E:CheckClassColor(r, g, b)
r, g, b = floor(r*100 + .5) / 100, floor(g*100 + .5) / 100, floor(b*100 + .5) / 100
@@ -296,7 +306,7 @@ function E:RequestBGInfo()
end
function E:PLAYER_ENTERING_WORLD()
-- self:ScheduleTimer("CheckRole", 0.01)
self:ScheduleTimer("CheckRole", 0.01)
if not self.MediaUpdated then
self:UpdateMedia()
@@ -413,9 +423,9 @@ end
function E:UpdateStatusBars()
for _, statusBar in pairs(self.statusBars) do
if statusBar and statusBar:GetObjectType() == "StatusBar" then
if statusBar and statusBar:IsObjectType("StatusBar") then
statusBar:SetStatusBarTexture(self.media.normTex)
elseif statusBar and statusBar:GetObjectType() == "Texture" then
elseif statusBar and statusBar:IsObjectType("Texture") then
statusBar:SetTexture(self.media.normTex)
end
end
@@ -463,6 +473,19 @@ function E:GetTalentSpecInfo(isInspect)
return specIdx, specName, specIcon
end
function E:CheckTalentTree(tree)
local talentTree = self.TalentTree
if not talentTree then return false end
if type(tree) == "number" then
return tree == talentTree
elseif type(tree) == "table" then
for _, index in pairs(tree) do
return index == talentTree
end
end
end
function E:CheckRole()
local talentTree = self:GetTalentSpecInfo()
local role
@@ -484,14 +507,6 @@ function E:CheckRole()
self.TalentTree = talentTree
self.callbacks:Fire("RoleChanged")
end
if E.myclass == "SHAMAN" then
if talentTree == 3 then
self.DispelClasses[self.myclass].Curse = true
else
self.DispelClasses[self.myclass].Curse = false
end
end
end
function E:IncompatibleAddOn(addon, module)
@@ -505,17 +520,16 @@ end
function E:CheckIncompatible()
if E.global.ignoreIncompatible then return end
if IsAddOnLoaded("Prat-3.0") and E.private.chat.enable then
E:IncompatibleAddOn("Prat-3.0", "Chat")
if IsAddOnLoaded("SnowfallKeyPress") and E.private.actionbar.enable then
E.private.actionbar.keyDown = true
E:IncompatibleAddOn("SnowfallKeyPress", "ActionBar")
end
if IsAddOnLoaded("Chatter") and E.private.chat.enable then
E:IncompatibleAddOn("Chatter", "Chat")
end
if IsAddOnLoaded("SnowfallKeyPress") and E.private.actionbar.enable then
E.private.actionbar.keyDown = true
E:IncompatibleAddOn("SnowfallKeyPress", "ActionBar")
if IsAddOnLoaded("Prat") and E.private.chat.enable then
E:IncompatibleAddOn("Prat", "Chat")
end
if IsAddOnLoaded("TidyPlates") and E.private.nameplates.enable then
@@ -911,6 +925,7 @@ function E:UpdateAll(ignoreInstall)
Chat:PositionChat(true)
Chat:SetupChat()
Chat:UpdateAnchors()
Chat:Panels_ColorUpdate()
end
DataBars:EnableDisable_ExperienceBar()
@@ -1089,108 +1104,33 @@ function E:DBConversions()
end
end
local CPU_USAGE = {}
local function CompareCPUDiff(showall, module, minCalls)
local greatestUsage, greatestCalls, greatestName, newName, newFunc
local greatestDiff, lastModule, mod, newUsage, calls, differance = 0
for name, oldUsage in pairs(CPU_USAGE) do
newName, newFunc = match(name, "^([^:]+):(.+)$")
if not newFunc then
E:Print("CPU_USAGE:", name, newFunc)
else
if newName ~= lastModule then
mod = E:GetModule(newName, true) or E
lastModule = newName
end
newUsage, calls = GetFunctionCPUUsage(mod[newFunc], true)
differance = newUsage - oldUsage
if showall and (calls > minCalls) then
E:Print('Name('..name..') Calls('..calls..') Diff('..(differance > 0 and format("%.3f", differance) or 0)..')')
end
if (differance > greatestDiff) and calls > minCalls then
greatestName, greatestUsage, greatestCalls, greatestDiff = name, newUsage, calls, differance
end
end
end
if greatestName then
E:Print(greatestName.. " had the CPU usage difference of: "..(greatestUsage > 0 and format("%.3f", greatestUsage) or 0).."ms. And has been called ".. greatestCalls.." times.")
else
E:Print("CPU Usage: No CPU Usage differences found.")
end
twipe(CPU_USAGE)
end
function E:GetTopCPUFunc(msg)
local module, showall, delay, minCalls = match(msg, "^([^%s]+)%s*([^%s]*)%s*([^%s]*)%s*(.*)$")
local mod
module = (module == "nil" and nil) or module
if not module then
E:Print("cpuusage: module (arg1) is required! This can be set as 'all' too.")
return
end
local module, showall, delay, minCalls = msg:match("^(%S+)%s*(%S*)%s*(%S*)%s*(.*)$")
local checkCore, mod = (not module or module == "") and "E"
showall = (showall == "true" and true) or false
delay = (delay == "nil" and nil) or tonumber(delay) or 5
minCalls = (minCalls == "nil" and nil) or tonumber(minCalls) or 15
twipe(CPU_USAGE)
if module == "all" then
for moduName, modu in pairs(self.modules) do
for funcName, func in pairs(modu) do
if (funcName ~= "GetModule") and (type(func) == "function") then
CPU_USAGE[moduName..":"..funcName] = GetFunctionCPUUsage(func, true)
end
end
end
else
if not checkCore then
mod = self:GetModule(module, true)
if not mod then
self:Print(module.." not found, falling back to checking core.")
mod, checkCore = self, "E"
end
else
mod = self
end
for name, func in pairs(mod) do
if (name ~= "GetModule") and type(func) == "function" then
CPU_USAGE[(checkCore or module)..":"..name] = GetFunctionCPUUsage(func, true)
end
end
end
self:Delay(delay, CompareCPUDiff, showall, module, minCalls)
self:Print("Calculating CPU Usage differences (module: "..(checkCore or module)..", showall: "..tostring(showall)..", minCalls: "..tostring(minCalls)..", delay: "..tostring(delay)..")")
end
function E:Initialize()
function E:Initialize(loginFrame)
self.myfaction, self.myLocalizedFaction = UnitFactionGroup("player")
twipe(self.db)
twipe(self.global)
twipe(self.private)
self.data = LibStub("AceDB-3.0"):New("ElvDB", self.DF)
local AceDB = LibStub("AceDB-3.0")
self.data = AceDB:New("ElvDB", self.DF)
self.data.RegisterCallback(self, "OnProfileChanged", "UpdateAll")
self.data.RegisterCallback(self, "OnProfileCopied", "UpdateAll")
self.data.RegisterCallback(self, "OnProfileReset", "OnProfileReset")
self.charSettings = LibStub("AceDB-3.0"):New("ElvPrivateDB", self.privateVars)
self.charSettings = AceDB:New("ElvPrivateDB", self.privateVars)
self.private = self.charSettings.profile
self.db = self.data.profile
self.global = self.data.global
self:CheckIncompatible()
self:DBConversions()
-- self:ScheduleTimer("CheckRole", 0.01)
self:UIScale("PLAYER_LOGIN")
self:ScheduleTimer("CheckRole", 0.01)
self:UIScale("PLAYER_LOGIN", loginFrame)
if not E.db.general.cropIcon then
E.TexCoords = {0, 1, 0, 1}
end
self:LoadCommands() --Load Commands
self:InitializeModules() --Load Modules
@@ -1215,8 +1155,8 @@ function E:Initialize()
self:UpdateBorderColors()
self:UpdateBackdropColors()
self:UpdateStatusBars()
-- self:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED", "CheckRole")
-- self:RegisterEvent("CHARACTER_POINTS_CHANGED", "CheckRole")
self:RegisterEvent("CHARACTER_POINTS_CHANGED", "CheckRole")
self:RegisterEvent("CVAR_UPDATE", "UIScale")
self:RegisterEvent("PLAYER_ENTERING_WORLD")
@@ -1231,6 +1171,6 @@ function E:Initialize()
collectgarbage()
if self.db.general.loginmessage then
print(select(2, E:GetModule("Chat"):FindURL("CHAT_MSG_DUMMY", format(L["LOGIN_MSG"], self["media"].hexvaluecolor, self["media"].hexvaluecolor, self.version)))..".")
self:Print(select(2, E:GetModule("Chat"):FindURL("CHAT_MSG_DUMMY", format(L["LOGIN_MSG"], self.media.hexvaluecolor, self.media.hexvaluecolor, self.version)))..".")
end
end
+8 -14
View File
@@ -24,7 +24,7 @@ local FCF_OpenNewWindow = FCF_OpenNewWindow
local FCF_SetWindowName = FCF_SetWindowName
local FCF_StopDragging = FCF_StopDragging
local FCF_SetChatWindowFontSize = FCF_SetChatWindowFontSize
local CLASS, CHAT_LABEL, CONTINUE, PREVIOUS = CLASS, CHAT_LABEL, CONTINUE, PREVIOUS
local CLASS, CONTINUE, PREVIOUS = CLASS, CONTINUE, PREVIOUS
local NUM_CHAT_WINDOWS = NUM_CHAT_WINDOWS
local LOOT, GENERAL, TRADE = LOOT, GENERAL, TRADE
local GUILD_EVENT_LOG = GUILD_EVENT_LOG
@@ -213,6 +213,7 @@ local function SetupCVars()
ALWAYS_SHOW_MULTIBARS = 1
LOCK_ACTIONBAR = 1
SIMPLE_CHAT = 0
SetActionBarToggles(1, 0, 1, 1)
TutorialFrame_HideAllAlerts()
ClearTutorials()
@@ -328,9 +329,6 @@ function E:SetupResolution(noDataReset)
E.db.unitframe.units.targettarget.power.enable = false
E.db.unitframe.units.targettarget.width = 200
E.db.unitframe.units.targettarget.height = 26
E.db.unitframe.units.arena.width = 200
E.db.unitframe.units.arena.castbar.width = 200
end
local isPixel = E.private.general.pixelPerfect
@@ -548,9 +546,6 @@ function E:SetupLayout(layout, noDataReset)
E.db.unitframe.units.targettarget.power.enable = false
E.db.unitframe.units.targettarget.width = 200
E.db.unitframe.units.targettarget.height = 26
E.db.unitframe.units.arena.width = 200
E.db.unitframe.units.arena.castbar.width = 200
end
if layout == "dpsCaster" or layout == "healer" or (layout == "dpsMelee" and E.myclass == "HUNTER") then
@@ -761,7 +756,7 @@ local function SetPage(PageNum)
InstallOption1Button:SetScript("OnClick", SetupCVars)
InstallOption1Button:SetText(L["Setup CVars"])
elseif PageNum == 3 then
f.SubTitle:SetText(CHAT_LABEL)
f.SubTitle:SetText(L["Chat"])
f.Desc1:SetText(L["This part of the installation process sets up your chat windows names, positions and colors."])
f.Desc2:SetText(L["The chat windows function the same as Blizzard standard chat windows, you can right click the tabs and drag them around, rename, etc. Please click the button below to setup your chat windows."])
f.Desc3:SetText(L["Importance: |cffD3CF00Medium|r"])
@@ -897,7 +892,7 @@ function E:Install()
imsg.lineBottom:SetTexCoord(0.00195313, 0.81835938, 0.01953125, 0.03320313)
imsg.text = imsg:CreateFontString(nil, "OVERLAY")
E:FontTemplate(imsg.text, E["media"].normFont, 32, "OUTLINE")
E:FontTemplate(imsg.text, E.media.normFont, 32, "OUTLINE")
E:Point(imsg.text, "BOTTOM", 0, 16)
imsg.text:SetTextColor(1, 0.82, 0)
imsg.text:SetJustifyH("CENTER")
@@ -945,7 +940,7 @@ function E:Install()
f.Status:SetMinMaxValues(0, MAX_PAGE)
E:Point(f.Status, "TOPLEFT", f.Prev, "TOPRIGHT", 6, -2)
E:Point(f.Status, "BOTTOMRIGHT", f.Next, "BOTTOMLEFT", -6, 2)
-- Setup StatusBar Animation
f.Status.anim = CreateAnimationGroup(f.Status)
f.Status.anim.progress = f.Status.anim:CreateAnimation("Progress")
f.Status.anim.progress:SetSmoothing("Out")
@@ -976,7 +971,7 @@ function E:Install()
f.Option3 = CreateFrame("Button", "InstallOption3Button", f, "UIPanelButtonTemplate")
E:StripTextures(f.Option3)
E:Size(f.Option3, 110, 30)
E:Size(f.Option3, 100, 30)
E:Point(f.Option3, "LEFT", f.Option2, "RIGHT", 4, 0)
f.Option3:SetText("")
f.Option3:Hide()
@@ -986,7 +981,7 @@ function E:Install()
f.Option4 = CreateFrame("Button", "InstallOption4Button", f, "UIPanelButtonTemplate")
E:StripTextures(f.Option4)
E:Size(f.Option4, 110, 30)
E:Size(f.Option4, 100, 30)
E:Point(f.Option4, "LEFT", f.Option3, "RIGHT", 4, 0)
f.Option4:SetText("")
f.Option4:Hide()
@@ -1030,9 +1025,8 @@ function E:Install()
f.tutorialImage = f:CreateTexture("InstallTutorialImage", "OVERLAY")
E:Size(f.tutorialImage, 256, 128)
f.tutorialImage:SetTexture("Interface\\AddOns\\ElvUI\\media\\textures\\logo.tga")
f.tutorialImage:SetTexture("Interface\\AddOns\\ElvUI\\media\\textures\\logo")
E:Point(f.tutorialImage, "BOTTOM", 0, 70)
end
ElvUIInstallFrame:Show()
+10 -11
View File
@@ -198,7 +198,7 @@ function E:GetXYOffset(position, override)
end
end
local styles = {
local gftStyles, gftDec, gftUseStyle, gftDeficit = {
-- keep percents in this table with `PERCENT` in the key, and `%.1f%%` in the value somewhere.
-- we use these two things to follow our setting for decimal length. they need to be EXACT.
["CURRENT"] = "%s",
@@ -209,9 +209,8 @@ local styles = {
["DEFICIT"] = "-%s"
}
local gftDec, gftUseStyle, gftDeficit
function E:GetFormattedText(style, min, max)
assert(styles[style], "Invalid format style: "..style)
assert(gftStyles[style], "Invalid format style: "..style)
assert(min, "You need to provide a current value. Usage: E:GetFormattedText(style, min, max)")
assert(max, "You need to provide a maximum value. Usage: E:GetFormattedText(style, min, max)")
@@ -219,9 +218,9 @@ function E:GetFormattedText(style, min, max)
gftDec = (E.db.general.decimalLength or 1)
if (gftDec ~= 1) and find(style, "PERCENT") then
gftUseStyle = gsub(styles[style], "%%%.1f%%%%", "%%."..gftDec.."f%%%%")
gftUseStyle = gsub(gftStyles[style], "%%%.1f%%%%", "%%."..gftDec.."f%%%%")
else
gftUseStyle = styles[style]
gftUseStyle = gftStyles[style]
end
if style == "DEFICIT" then
@@ -230,7 +229,7 @@ function E:GetFormattedText(style, min, max)
elseif style == "PERCENT" then
return format(gftUseStyle, min / max * 100)
elseif style == "CURRENT" or ((style == "CURRENT_MAX" or style == "CURRENT_MAX_PERCENT" or style == "CURRENT_PERCENT") and min == max) then
return format(styles.CURRENT, E:ShortValue(min))
return format(gftStyles.CURRENT, E:ShortValue(min))
elseif style == "CURRENT_MAX" then
return format(gftUseStyle, E:ShortValue(min), E:ShortValue(max))
elseif style == "CURRENT_PERCENT" then
@@ -386,10 +385,10 @@ function E:FormatMoney(amount, style)
local silvername = L.silverabbrev
local goldname = L.goldabbrev
local value = abs(amount)
local gold = floor(value / 10000)
local silver = floor(mod(value / 100, 100))
local copper = floor(mod(value, 100))
local val = abs(amount)
local gold = floor(val / 10000)
local silver = floor(mod(val / 100, 100))
local copper = floor(mod(val, 100))
if not style or style == "SMART" then
local str = ""
@@ -399,7 +398,7 @@ function E:FormatMoney(amount, style)
if silver > 0 then
str = format("%s%d%s%s", str, silver, silvername, copper > 0 and " " or "")
end
if copper > 0 or value == 0 then
if copper > 0 or val == 0 then
str = format("%s%d%s", str, copper, coppername)
end
return str
+5 -5
View File
@@ -32,7 +32,7 @@ function CP:CreateModuleConfigGroup(Name, section, pluginSection)
general = {
order = 1,
type = "toggle",
name = GENERAL
name = L["General"]
},
PreButtonSpacer = {
order = 200,
@@ -140,7 +140,7 @@ end
function CP:CopyTable(CopyFrom, CopyTo, CopyDefault, module)
for key, value in pairs(CopyTo) do
if type(value) ~= "table" then
if module == true or (type(module) == "table" and module.general == nil or (not CopyTo.general and module.general)) then --Some dark magic of a logic to figure out stuff
if module == true or (type(module) == "table" and (module.general == nil or (not CopyTo.general and module.general))) then --Some dark magic of a logic to figure out stuff
--This check is to see if the profile we are copying from has keys absent from defaults.
--If key exists, then copy. If not, then clear obsolite key from the profile.
if CopyDefault[key] ~= nil then
@@ -153,7 +153,7 @@ function CP:CopyTable(CopyFrom, CopyTo, CopyDefault, module)
if module == true then --Copy over entire section of profile subgroup
E:CopyTable(CopyTo, CopyDefault)
E:CopyTable(CopyTo, CopyFrom)
elseif module[key] ~= nil then
elseif type(module) == "table" and module[key] ~= nil then
--Making sure tables actually exist in profiles (e.g absent values in ElvDB.profiles are for default values)
CopyFrom[key], CopyTo[key] = CP:TablesExist(CopyFrom[key], CopyTo[key], CopyDefault[key])
--If key exists, then copy. If not, then clear obsolite key from the profile.
@@ -200,12 +200,12 @@ function CP:ImportFromProfile(section, pluginSection)
--Some checks for the occasion someone passes wrong stuff
if not section then error("No profile section provided. Usage CP:ImportFromProfile(\"section\")") end
if not pluginSection and CP.InternalOptions[section] then error(format("Section name could not be \"%s\". This name is reserved for internal setting"), section) end
if pluginSection and CP.InternalOptions[pluginSection][section] then error(format("Section name for plugin group \"%s\" could not be \"%s\". This name is reserved for internal setting"), pluginSection, section) end
if pluginSection and (CP.InternalOptions[pluginSection] and CP.InternalOptions[pluginSection][section]) then error(format("Section name for plugin group \"%s\" could not be \"%s\". This name is reserved for internal setting"), pluginSection, section) end
local module = pluginSection and E.global.profileCopy[pluginSection][section] or E.global.profileCopy[section]
if not module then error(format("Provided section name \"%s\" does not have a template for profile copy.", section)) end
--Starting digging through the settings
local CopyFrom = pluginSection and ElvDB.profiles[E.global.profileCopy.selected][pluginSection][section] or ElvDB.profiles[E.global.profileCopy.selected][section]
local CopyFrom = pluginSection and (ElvDB.profiles[E.global.profileCopy.selected][pluginSection] and ElvDB.profiles[E.global.profileCopy.selected][pluginSection][section] or P[pluginSection][section]) or ElvDB.profiles[E.global.profileCopy.selected][section]
local CopyTo = pluginSection and E.db[pluginSection][section] or E.db[section]
local CopyDefault = pluginSection and P[pluginSection][section] or P[section]
--Making sure tables actually exist in profiles (e.g absent values in ElvDB.profiles are for default values)
@@ -479,7 +479,7 @@ function E:SetMoversPositions()
end
end
for name, _ in pairs(E.CreatedMovers) do
for name in pairs(E.CreatedMovers) do
local f = _G[name]
local point, anchor, secondaryPoint, x, y
if E.db.movers and E.db.movers[name] and type(E.db.movers[name]) == "string" then
+1
View File
@@ -90,6 +90,7 @@ function E:UIScale(event)
--[[Eyefinity Test mode
Resize the E.UIParent to be smaller than it should be, all objects inside should relocate.
Dragging moveable frames outside the box and reloading the UI ensures that they are saving position correctly.
E:Size(E.UIParent, UIParent:GetWidth() - 250, UIParent:GetHeight() - 250)
]]
else
width, height = UIParent:GetWidth(), UIParent:GetHeight()
+25 -25
View File
@@ -131,7 +131,7 @@ local function SetPage(PageNum, PrevPage)
if i == f.CurrentPage then
color = f.StepTitlesColorSelected or {.09,.52,.82}
else
color = f.StepTitlesColor or {1,1,1}
color = f.StepTitlesColor or {1, 1, 1}
end
b.text:SetTextColor(color[1] or color.r, color[2] or color.g, color[3] or color.b)
end
@@ -172,23 +172,23 @@ function PI:CreateStepComplete()
imsg.firstShow = false
imsg.bg = imsg:CreateTexture(nil, "BACKGROUND")
imsg.bg:SetTexture([[Interface\LevelUp\LevelUpTex]])
E:Point(imsg.bg, "BOTTOM", 0, 0)
imsg.bg:SetTexture([[Interface\AddOns\ElvUI\media\textures\LevelUpTex]])
imsg.bg:SetPoint("BOTTOM", 0, 0)
E:Size(imsg.bg, 326, 103)
imsg.bg:SetTexCoord(0.00195313, 0.63867188, 0.03710938, 0.23828125)
imsg.bg:SetVertexColor(1, 1, 1, 0.6)
imsg.lineTop = imsg:CreateTexture(nil, "BACKGROUND")
imsg.lineTop:SetDrawLayer("BACKGROUND", 2)
imsg.lineTop:SetTexture([[Interface\LevelUp\LevelUpTex]])
E:Point(imsg.lineTop, "TOP", 0, 0)
imsg.lineTop:SetTexture([[Interface\AddOns\ElvUI\media\textures\LevelUpTex]])
imsg.lineTop:SetPoint("TOP", 0, 0)
E:Size(imsg.lineTop, 418, 7)
imsg.lineTop:SetTexCoord(0.00195313, 0.81835938, 0.01953125, 0.03320313)
imsg.lineBottom = imsg:CreateTexture(nil, "BACKGROUND")
imsg.lineBottom:SetDrawLayer("BACKGROUND", 2)
imsg.lineBottom:SetTexture([[Interface\LevelUp\LevelUpTex]])
E:Point(imsg.lineBottom, "BOTTOM", 0, 0)
imsg.lineBottom:SetTexture([[Interface\AddOns\ElvUI\media\textures\LevelUpTex]])
imsg.lineBottom:SetPoint("BOTTOM", 0, 0)
E:Size(imsg.lineBottom, 418, 7)
imsg.lineBottom:SetTexCoord(0.00195313, 0.81835938, 0.01953125, 0.03320313)
@@ -204,7 +204,7 @@ function PI:CreateFrame()
f.SetPage = SetPage
E:Size(f, 550, 400)
E:SetTemplate(f, "Transparent")
E:Point(f, "CENTER", 0, 0)
f:SetPoint("CENTER", 0, 0)
f:SetFrameStrata("TOOLTIP")
f.Title = f:CreateFontString(nil, "OVERLAY")
@@ -246,7 +246,7 @@ function PI:CreateFrame()
f.Status.text = f.Status:CreateFontString(nil, "OVERLAY")
E:FontTemplate(f.Status.text)
E:Point(f.Status.text, "CENTER", 0, 0)
f.Status.text:SetPoint("CENTER", 0, 0)
f.Option1 = CreateFrame("Button", "PluginInstallOption1Button", f, "UIPanelButtonTemplate")
E:StripTextures(f.Option1)
@@ -319,20 +319,20 @@ function PI:CreateFrame()
E:Width(f.Desc4, f:GetWidth() - 40)
local close = CreateFrame("Button", "PluginInstallCloseButton", f, "UIPanelCloseButton")
E:Point(close, "TOPRIGHT", f, "TOPRIGHT")
close:SetPoint("TOPRIGHT", f, "TOPRIGHT")
close:SetScript("OnClick", function() f:Hide() end)
E.Skins:HandleCloseButton(close)
f.pending = CreateFrame("Frame", "PluginInstallPendingButton", f)
E:Size(f.pending, 20)
E:Point(f.pending, "TOPLEFT", f, "TOPLEFT", 8, -8)
f.pending:SetPoint("TOPLEFT", f, "TOPLEFT", 8, -8)
f.pending.tex = f.pending:CreateTexture(nil, "OVERLAY")
E:Point(f.pending.tex, "TOPLEFT", f.pending, "TOPLEFT", 2, -2)
E:Point(f.pending.tex, "BOTTOMRIGHT", f.pending, "BOTTOMRIGHT", -2, 2)
f.pending.tex:SetTexture([[Interface\OptionsFrame\UI-OptionsFrame-NewFeatureIcon]])
f.pending.tex:SetTexture([[Interface\AddOns\ElvUI\media\textures\UI-OptionsFrame-NewFeatureIcon]])
E:CreateBackdrop(f.pending, "Transparent")
f.pending:SetScript("OnEnter", function(self)
_G["GameTooltip"]:SetOwner(self, "ANCHOR_BOTTOMLEFT", E.PixelMode and -7 or -9);
_G["GameTooltip"]:SetOwner(self, "ANCHOR_BOTTOMLEFT", E.PixelMode and -7 or -9)
_G["GameTooltip"]:AddLine(L["List of installations in queue:"], 1, 1, 1)
_G["GameTooltip"]:AddLine(" ")
for i = 1, getn(PI.Installs) do
@@ -350,11 +350,11 @@ function PI:CreateFrame()
f.side = CreateFrame("Frame", "PluginInstallTitleFrame", f)
E:SetTemplate(f.side, "Transparent")
E:Point(f.side, "TOPLEFT", f, "TOPRIGHT", E.PixelMode and 1 or 3, 0)
E:Point(f.side, "BOTTOMLEFT", f, "BOTTOMRIGHT", E.PixelMode and 1 or 3, 0)
f.side:SetPoint("TOPLEFT", f, "TOPRIGHT", E.PixelMode and 1 or 3, 0)
f.side:SetPoint("BOTTOMLEFT", f, "BOTTOMRIGHT", E.PixelMode and 1 or 3, 0)
E:Width(f.side, 140)
f.side.text = f.side:CreateFontString(nil, "OVERLAY")
E:Point(f.side.text, "TOP", f.side, "TOP", 0, -4)
f.side.text:SetPoint("TOP", f.side, "TOP", 0, -4)
f.side.text:SetFont(E.media.normFont, 18, "OUTLINE")
f.side.text:SetText(L["Steps"])
f.side.Lines = {} --Table to keep shown lines
@@ -362,14 +362,14 @@ function PI:CreateFrame()
for i = 1, 18 do
local button = CreateFrame("Button", nil, f)
if i == 1 then
E:Point(button, "TOP", f.side.text, "BOTTOM", 0, -6)
button:SetPoint("TOP", f.side.text, "BOTTOM", 0, -6)
else
E:Point(button, "TOP", f.side.Lines[i - 1], "BOTTOM")
button:SetPoint("TOP", f.side.Lines[i - 1], "BOTTOM")
end
E:Size(button, 130, BUTTON_HEIGHT)
button.text = button:CreateFontString(nil, "OVERLAY")
E:Point(button.text, "TOPLEFT", button, "TOPLEFT", 2, -2)
E:Point(button.text, "BOTTOMRIGHT", button, "BOTTOMRIGHT", -2, 2)
button.text:SetPoint("TOPLEFT", button, "TOPLEFT", 2, -2)
button.text:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -2, 2)
button.text:SetFont(E.media.normFont, 14, "OUTLINE")
button:SetScript("OnClick", function() if i <= f.MaxPage then SetPage(i, f.CurrentPage) end end)
button.text:SetText("")
@@ -419,20 +419,20 @@ function PI:RunInstall()
f.Title:SetText(db.Title or L["ElvUI Plugin Installation"])
f.Status:SetMinMaxValues(0, f.MaxPage)
f.Status.text:SetText(f.CurrentPage.." / "..f.MaxPage)
f.tutorialImage:SetTexture(db.tutorialImage or [[Interface\AddOns\ElvUI\media\textures\logo.tga]])
f.tutorialImage:SetTexture(db.tutorialImage or [[Interface\AddOns\ElvUI\media\textures\logo]])
f.Pages = db.Pages
PluginInstallFrame:Show()
E:Point(f, "CENTER")
f:SetPoint("CENTER", 0, 0)
if db.StepTitles and getn(db.StepTitles) == f.MaxPage then
E:Point(f, "CENTER", E.UIParent, "CENTER", -((db.StepTitleWidth or 140)/2), 0)
E:Width(f.side, db.StepTitleWidth or 140)
f:SetPoint("CENTER", E.UIParent, "CENTER", -((db.StepTitleWidth or 140)/2), 0)
f.side:SetWidth(db.StepTitleWidth or 140)
f.side:Show()
for i = 1, getn(f.side.Lines) do
if db.StepTitles[i] then
E:Width(f.side.Lines[i], db.StepTitleButtonWidth or 130)
f.side.Lines[i]:SetWidth(db.StepTitleButtonWidth or 130)
f.side.Lines[i].text:SetJustifyH(db.StepTitleTextJustification or "CENTER")
f.side.Lines[i]:Show()
end
+1 -1
View File
@@ -3,7 +3,7 @@
## Version: 0.85
## Title: |cff175581E|r|cffC4C4C4lvUI|r
## Notes: User Interface replacement AddOn for World of Warcraft.
## SavedVariables: ElvDB, ElvPrivateDB
## SavedVariables: ElvDB, ElvPrivateDB, GAME_LOCALE
## SavedVariablesPerCharacter: ElvCharacterDB
## Dependencies: !Compatibility
## OptionalDeps: !DebugTools, SharedMedia, Tukui, ButtonFacade
-1
View File
@@ -227,7 +227,6 @@ L["Loot / Alert Frames"] = "拾取/提醒框"
L["Loot Frame"] = "拾取框架"
L["MA Frames"] = "主助理框"
L["Micro Bar"] = "微型系统菜单" --Also in ActionBars
L["Minimap"] = "小地图"
L["MirrorTimer"] = "镜像计时器"
L["MT Frames"] = "主坦克框"
L["Party Frames"] = "队伍框架"
-1
View File
@@ -227,7 +227,6 @@ L["Loot / Alert Frames"] = true;
L["Loot Frame"] = true;
L["MA Frames"] = true;
L["Micro Bar"] = true; --Also in ActionBars
L["Minimap"] = true;
L["MirrorTimer"] = true;
L["MT Frames"] = true;
L["Party Frames"] = true; --Also used in UnitFrames
-1
View File
@@ -227,7 +227,6 @@ L["Loot / Alert Frames"] = "Cadres de butin / Alerte"
L["Loot Frame"] = "Cadre de butin"
L["MA Frames"] = "Cadres de l`assistant principal"
L["Micro Bar"] = "Micro Barre" --Also in ActionBars
L["Minimap"] = "Mini-carte"
L["MirrorTimer"] = "Timer mirroir"
L["MT Frames"] = "Cadres du Tank principal"
L["Party Frames"] = "Cadres de groupe" --Also used in UnitFrames
-1
View File
@@ -227,7 +227,6 @@ L["Loot / Alert Frames"] = "Beute-/Alarmfenster"
L["Loot Frame"] = "Beute-Fenster"
L["MA Frames"] = "MA-Fenster"
L["Micro Bar"] = "Mikroleiste" --Also in ActionBars
L["Minimap"] = "Minimap"
L["MirrorTimer"] = "Spiegel Zeitgeber"
L["MT Frames"] = "MT-Fenster"
L["Party Frames"] = "Gruppenfenster" --Also used in UnitFrames
-1
View File
@@ -227,7 +227,6 @@ L["Loot / Alert Frames"] = "획득/알림 창"
L["Loot Frame"] = "전리품 프레임"
L["MA Frames"] = "지원공격 전담 프레임"
L["Micro Bar"] = "메뉴모음 바"
L["Minimap"] = "미니맵"
L["MirrorTimer"] = true
L["MT Frames"] = "방어전담 프레임"
L["Party Frames"] = "파티 프레임"
-1
View File
@@ -227,7 +227,6 @@ L["Loot / Alert Frames"] = "Quadro de Saque / Alerta"
L["Loot Frame"] = true
L["MA Frames"] = "Quadro do Assistente Principal"
L["Micro Bar"] = "Micro Barra"
L["Minimap"] = "Minimapa"
L["MirrorTimer"] = true
L["MT Frames"] = "Quadro do Tank Principal"
L["Party Frames"] = "Quadros de Grupo"
-1
View File
@@ -227,7 +227,6 @@ L["Loot / Alert Frames"] = "Розыгрыш/оповещения"
L["Loot Frame"] = "Окно добычи"
L["MA Frames"] = "Помощники"
L["Micro Bar"] = "Микроменю" --Also in ActionBars
L["Minimap"] = "Миникарта"
L["MirrorTimer"] = "Таймер"
L["MT Frames"] = "Танки"
L["Party Frames"] = "Группа" --Also used in UnitFrames
-1
View File
@@ -227,7 +227,6 @@ L["Loot / Alert Frames"] = "Marcos de Botín / Alerta"
L["Loot Frame"] = "Marco de Botín"
L["MA Frames"] = "Marcos de AP"
L["Micro Bar"] = "Micro Barra"
L["Minimap"] = "Minimapa"
L["MirrorTimer"] = true
L["MT Frames"] = "Marcos de TP"
L["Party Frames"] = "Marco de Grupo"
-1
View File
@@ -227,7 +227,6 @@ L["Loot / Alert Frames"] = "拾取 / 提醒框架"
L["Loot Frame"] = "拾取框架"
L["MA Frames"] = "主助理框架"
L["Micro Bar"] = "微型系統菜單" --Also in ActionBars
L["Minimap"] = "小地圖"
L["MirrorTimer"] = "鏡像計時器"
L["MT Frames"] = "主坦克框架"
L["Party Frames"] = "隊伍框架" --Also used in UnitFrames
+1 -1
View File
@@ -4,7 +4,7 @@ local DT = E:GetModule("DataTexts");
--Cache global variables
--Lua functions
local _G = _G
local pairs, ipairs = pairs, ipairs
local pairs = pairs
local format, join, upper = string.format, string.join, string.upper
--WoW API / Variables
local GetInventoryItemDurability = GetInventoryItemDurability
+1 -1
View File
@@ -314,7 +314,7 @@ function M:Initialize()
MiniMapBattlefieldBorder:Hide()
E:CreateMover(MMHolder, "MinimapMover", L["Minimap"], nil, nil, MinimapPostDrag)
E:CreateMover(MMHolder, "MinimapMover", MINIMAP_LABEL, nil, nil, MinimapPostDrag)
Minimap:EnableMouseWheel(true)
Minimap:SetScript("OnMouseWheel", M.Minimap_OnMouseWheel)
+27 -7
View File
@@ -23,7 +23,6 @@ local MoveViewLeftStop = MoveViewLeftStop
local Screenshot = Screenshot
local UnitAffectingCombat = UnitAffectingCombat
local CUSTOM_CLASS_COLORS = CUSTOM_CLASS_COLORS
local MAX_BATTLEFIELD_QUEUES = MAX_BATTLEFIELD_QUEUES
local RAID_CLASS_COLORS = RAID_CLASS_COLORS
@@ -39,7 +38,7 @@ local printKeys = {
["PRINTSCREEN"] = true,
}
if IsMacClient() then
if E.isMacClient then
printKeys[_G["KEY_PRINTSCREEN_MAC"]] = true
end
@@ -241,6 +240,29 @@ local function Chat_OnMouseWheel()
end
end
local function Chat_OnEvent()
local coloredName = CH:GetColoredName(event, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)
local type = strsub(event, 10)
local info = ChatTypeInfo[type]
local playerLink, _
playerLink = "|Hplayer:"..arg2..":"..arg10..":".."|h"
local message = arg1
--Escape any % characters, as it may otherwise cause an "invalid option in format" error in the next step
message = gsub(message, "%%", "%%%%")
_, body = pcall(format, _G["CHAT_"..type.."_GET"]..message, playerLink.."["..coloredName.."]".."|h")
if CH.db.shortChannels then
body = gsub(body, "|Hchannel:(.-)|h%[(.-)%]|h", CH.ShortChannel)
body = gsub(body, "^(.-|h) "..L["whispers"], "%1")
body = gsub(body, "<"..CHAT_MSG_AFK..">", "[|cffFF0000"..L["AFK"].."|r] ")
body = gsub(body, "<"..CHAT_MSG_DND..">", "[|cffE7E716"..L["DND"].."|r] ")
end
this:AddMessage(body, info.r, info.g, info.b, info.id)
end
function AFK:Initialize()
if E.global.afkEnabled then
SetCVar("cameraYawMoveSpeed", E.global.afkCameraSpeedYaw)
@@ -273,9 +295,7 @@ function AFK:Initialize()
self.AFKMode.chat:SetScript("OnDragStart", self.AFKMode.chat.StartMoving)
self.AFKMode.chat:SetScript("OnDragStop", self.AFKMode.chat.StopMovingOrSizing)
self.AFKMode.chat:SetScript("OnMouseWheel", Chat_OnMouseWheel)
self.AFKMode.chat:SetScript("OnEvent", function()
CH:ChatFrame_OnEvent(this, event, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)
end)
self.AFKMode.chat:SetScript("OnEvent", Chat_OnEvent)
self.AFKMode.bottom = CreateFrame("Frame", nil, self.AFKMode)
self.AFKMode.bottom:SetFrameLevel(0)
@@ -287,11 +307,11 @@ function AFK:Initialize()
self.AFKMode.bottom.logo = self.AFKMode:CreateTexture(nil, "OVERLAY")
E:Size(self.AFKMode.bottom.logo, 320, 150)
E:Point(self.AFKMode.bottom.logo, "CENTER", self.AFKMode.bottom, "CENTER", 0, 50)
self.AFKMode.bottom.logo:SetTexture("Interface\\AddOns\\ElvUI\\Media\\Textures\\logo")
self.AFKMode.bottom.logo:SetTexture("Interface\\AddOns\\ElvUI\\media\\textures\\logo")
self.AFKMode.bottom.faction = self.AFKMode.bottom:CreateTexture(nil, "OVERLAY")
E:Point(self.AFKMode.bottom.faction, "BOTTOMLEFT", self.AFKMode.bottom, "BOTTOMLEFT", -20, -16)
self.AFKMode.bottom.faction:SetTexture("Interface\\AddOns\\ElvUI\\Media\\Textures\\"..E.myfaction.."-Logo")
self.AFKMode.bottom.faction:SetTexture("Interface\\AddOns\\ElvUI\\media\\textures\\"..E.myfaction.."-Logo")
E:Size(self.AFKMode.bottom.faction, 140)
self.AFKMode.bottom.name = self.AFKMode.bottom:CreateFontString(nil, "OVERLAY")
+2
View File
@@ -27,6 +27,8 @@ P["general"] = {
["backdropfadecolor"] = {r = .06, g = .06, b = .06, a = 0.8},
["valuecolor"] = {r = 254/255, g = 123/255, b = 44/255},
["cropIcon"] = true,
["classCacheStoreInDB"] = true,
["classCacheRequestInfo"] = false,