60 lines
1.7 KiB
Lua
60 lines
1.7 KiB
Lua
|
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||
|
local DT = E:GetModule('DataTexts')
|
||
|
|
||
|
local _G = _G
|
||
|
local pairs, strjoin = pairs, strjoin
|
||
|
local IsShiftKeyDown = IsShiftKeyDown
|
||
|
local InCombatLockdown = InCombatLockdown
|
||
|
local ReloadUI = ReloadUI
|
||
|
|
||
|
local displayString = ''
|
||
|
local configText = 'ElvUI'
|
||
|
local reloadText = RELOADUI
|
||
|
local lastPanel
|
||
|
|
||
|
local function OnEvent(self)
|
||
|
lastPanel = self
|
||
|
self.text:SetFormattedText(displayString, E.global.datatexts.settings.ElvUI.Label ~= '' and E.global.datatexts.settings.ElvUI.Label or configText)
|
||
|
end
|
||
|
|
||
|
local function OnEnter()
|
||
|
DT.tooltip:ClearLines()
|
||
|
DT.tooltip:AddDoubleLine(L["Left Click:"], L["Toggle Configuration"], 1, 1, 1)
|
||
|
DT.tooltip:AddDoubleLine(L["Hold Shift + Right Click:"], reloadText, 1, 1, 1)
|
||
|
|
||
|
if E.Libs.EP.registeredPrefix then
|
||
|
DT.tooltip:AddLine(' ')
|
||
|
DT.tooltip:AddDoubleLine('Plugins:', 'Version:')
|
||
|
|
||
|
for _, plugin in pairs(E.Libs.EP.plugins) do
|
||
|
if not plugin.isLib then
|
||
|
local r, g, b = E:HexToRGB(plugin.old and 'ff3333' or '33ff33')
|
||
|
DT.tooltip:AddDoubleLine(plugin.title, plugin.version, 1, 1, 1, r/255, g/255, b/255)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
DT.tooltip:Show()
|
||
|
end
|
||
|
|
||
|
local function OnClick(_, button)
|
||
|
if InCombatLockdown() then _G.UIErrorsFrame:AddMessage(E.InfoColor.._G.ERR_NOT_IN_COMBAT) return end
|
||
|
|
||
|
if button == 'LeftButton' then
|
||
|
E:ToggleOptionsUI()
|
||
|
elseif button == 'RightButton' and IsShiftKeyDown() then
|
||
|
ReloadUI()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local function ValueColorUpdate(hex)
|
||
|
displayString = strjoin('', hex, '%s|r')
|
||
|
|
||
|
if lastPanel then
|
||
|
OnEvent(lastPanel, 'ELVUI_COLOR_UPDATE')
|
||
|
end
|
||
|
end
|
||
|
E.valueColorUpdateFuncs[ValueColorUpdate] = true
|
||
|
|
||
|
DT:RegisterDatatext('ElvUI', nil, nil, OnEvent, nil, OnClick, OnEnter, nil, L['ElvUI Config'], nil, ValueColorUpdate)
|