Commit 487725da authored by Simpy's avatar Simpy 🐹

11.51

parents 46b26e84 b00a6a1a
......@@ -302,7 +302,7 @@ local function CreateShadow(frame, size, pass)
shadow:SetFrameLevel(1)
shadow:SetFrameStrata(frame:GetFrameStrata())
shadow:SetOutside(frame, size or 3, size or 3)
shadow:SetBackdrop({edgeFile = E.Media.Textures.GlowTex, edgeSize = E:Scale(size or 3)})
shadow:SetBackdrop({edgeFile = E.Media.Textures.GlowTex, edgeSize = size or 3})
shadow:SetBackdropColor(backdropr, backdropg, backdropb, 0)
shadow:SetBackdropBorderColor(borderr, borderg, borderb, 0.9)
......
## Interface: 80300
## Author: Elv, Simpy
## Version: 11.50
## Version: 11.51
## Title: |cff1784d1ElvUI|r
## Notes: User Interface replacement AddOn for World of Warcraft.
## SavedVariables: ElvDB, ElvPrivateDB
......
......@@ -402,8 +402,8 @@ end
function LO:CreateMinimapPanels()
local panel = CreateFrame('Frame', 'MinimapPanel', _G.Minimap)
panel:SetPoint('TOPLEFT', _G.Minimap, 'BOTTOMLEFT', E.PixelMode and -1 or -2, 0)
panel:SetPoint('BOTTOMRIGHT', _G.Minimap, 'BOTTOMRIGHT', E.PixelMode and 1 or 2, -BAR_HEIGHT)
panel:SetPoint('TOPLEFT', _G.Minimap, 'BOTTOMLEFT', -E.Border, E.PixelMode and 0 or -3)
panel:SetPoint('BOTTOMRIGHT', _G.Minimap, 'BOTTOMRIGHT', E.Border, -BAR_HEIGHT)
panel:Hide()
DT:RegisterPanel(panel, E.db.datatexts.panels.MinimapPanel.numPoints, 'ANCHOR_BOTTOM', 0, -4)
end
......
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local B = E:GetModule('Blizzard')
local Skins = E:GetModule('Skins')
local TT = E:GetModule('Tooltip')
local _G = _G
local CreateFrame = CreateFrame
local IsAddOnLoaded = IsAddOnLoaded
--This changes the growth direction of the toast frame depending on position of the mover
local function PostBNToastMove(mover)
local x, y = mover:GetCenter();
local screenHeight = E.UIParent:GetTop();
local screenWidth = E.UIParent:GetRight()
local anchorPoint
if (y > (screenHeight / 2)) then
anchorPoint = (x > (screenWidth/2)) and 'TOPRIGHT' or 'TOPLEFT'
else
anchorPoint = (x > (screenWidth/2)) and 'BOTTOMRIGHT' or 'BOTTOMLEFT'
end
mover.anchorPoint = anchorPoint
_G.BNToastFrame:ClearAllPoints()
_G.BNToastFrame:SetPoint(anchorPoint, mover)
end
function B:Initialize()
B.Initialized = true
......@@ -33,6 +52,12 @@ function B:Initialize()
E:CreateMover(_G.LossOfControlFrame, 'LossControlMover', L["Loss Control Icon"])
-- Battle.Net Frame
_G.BNToastFrame:SetPoint('TOPRIGHT', _G.MMHolder or _G.Minimap, 'BOTTOMRIGHT', 0, -10)
E:CreateMover(_G.BNToastFrame, 'BNETMover', L["BNet Frame"], nil, nil, PostBNToastMove)
_G.BNToastFrame.mover:SetSize(_G.BNToastFrame:GetSize())
TT:SecureHook(_G.BNToastFrame, 'SetPoint', 'RepositionBNET')
-- Quick Join Bug
CreateFrame('Frame'):SetScript('OnUpdate', function()
if _G.LFRBrowseFrame.timeToClear then
......
......@@ -1125,15 +1125,19 @@ function CH:PositionChat(chat)
local BASE_OFFSET = 28
if chat == CH.LeftChatWindow then
local LOG_OFFSET = chat:GetID() == 2 and (_G.LeftChatTab:GetHeight() + 2) or 0
chat:ClearAllPoints()
chat:SetPoint('BOTTOMLEFT', _G.LeftChatPanel, 'BOTTOMLEFT', 5, 3)
chat:SetSize(CH.db.panelWidth - 10, CH.db.panelHeight - BASE_OFFSET)
chat:SetSize(CH.db.panelWidth - 10, CH.db.panelHeight - BASE_OFFSET - LOG_OFFSET)
CH:ShowBackground(chat.Background, false)
elseif chat == CH.RightChatWindow then
local LOG_OFFSET = chat:GetID() == 2 and (_G.LeftChatTab:GetHeight() + 2) or 0
chat:ClearAllPoints()
chat:SetPoint('BOTTOMLEFT', _G.RightChatPanel, 'BOTTOMLEFT', 5, 3)
chat:SetSize((CH.db.separateSizes and CH.db.panelWidthRight or CH.db.panelWidth) - 10, (CH.db.separateSizes and CH.db.panelHeightRight or CH.db.panelHeight) - BASE_OFFSET)
chat:SetSize((CH.db.separateSizes and CH.db.panelWidthRight or CH.db.panelWidth) - 10, (CH.db.separateSizes and CH.db.panelHeightRight or CH.db.panelHeight) - BASE_OFFSET - LOG_OFFSET)
CH:ShowBackground(chat.Background, false)
else -- show if: not docked, or ChatFrame1, or attached to ChatFrame1
......@@ -1142,8 +1146,6 @@ function CH:PositionChat(chat)
end
function CH:PositionChats()
if not E.private.chat.enable then return end
_G.LeftChatPanel:SetSize(CH.db.panelWidth, CH.db.panelHeight)
if CH.db.separateSizes then
_G.RightChatPanel:SetSize(CH.db.panelWidthRight, CH.db.panelHeightRight)
......@@ -1153,6 +1155,9 @@ function CH:PositionChats()
LO:RepositionChatDataPanels()
-- dont proceed when chat is disabled
if not E.private.chat.enable then return end
for _, name in ipairs(_G.CHAT_FRAMES) do
CH:PositionChat(_G[name])
end
......@@ -3081,14 +3086,15 @@ function CH:Initialize()
CH:DelayGuildMOTD() -- Keep this before `is Chat Enabled` check
CH.db = E.db.chat
if not E.private.chat.enable then
-- if the chat module is off we still need to spawn the dts for the panels
-- if we are going to have the panels show even when it's disabled
LO:RepositionChatDataPanels()
CH:PositionChats()
CH:Panels_ColorUpdate()
return
end
CH.Initialized = true
CH.db = E.db.chat
if not ElvCharacterDB.ChatEditHistory then ElvCharacterDB.ChatEditHistory = {} end
if not ElvCharacterDB.ChatHistoryLog or not CH.db.chatHistory then ElvCharacterDB.ChatHistoryLog = {} end
......
......@@ -189,7 +189,7 @@ function M:Minimap_OnMouseWheel(d)
end
function M:Update_ZoneText()
if E.db.general.minimap.locationText == 'HIDE' or not E.private.general.minimap.enable then return; end
if E.db.general.minimap.locationText == 'HIDE' then return end
Minimap.location:FontTemplate(E.Libs.LSM:Fetch('font', E.db.general.minimap.locationFont), E.db.general.minimap.locationFontSize, E.db.general.minimap.locationFontOutline)
Minimap.location:SetText(utf8sub(GetMinimapZoneText(), 1, 46))
Minimap.location:SetTextColor(M:GetLocTextColor())
......@@ -219,41 +219,35 @@ do
end
function M:UpdateSettings()
if not E.private.general.minimap.enable then return end
if InCombatLockdown() then
self:RegisterEvent('PLAYER_REGEN_ENABLED')
return
end
E.MinimapSize = E.private.general.minimap.enable and E.db.general.minimap.size or Minimap:GetWidth() + 10
E.MinimapWidth, E.MinimapHeight = E.MinimapSize, E.MinimapSize
Minimap:SetSize(E.MinimapSize, E.MinimapSize)
local MinimapPanel = _G.MinimapPanel
local MMHolder = _G.MMHolder
E.MinimapSize = E.db.general.minimap.size or Minimap:GetWidth()
MMHolder:SetWidth((Minimap:GetWidth() + E.Border + E.Spacing*3))
local MinimapPanel, MMHolder = _G.MinimapPanel, _G.MMHolder
MinimapPanel:SetShown(E.db.datatexts.panels.MinimapPanel.enable)
if E.db.datatexts.panels.MinimapPanel.enable then
MMHolder:SetHeight(Minimap:GetHeight() + (MinimapPanel and (MinimapPanel:GetHeight() + E.Border) or 24) + E.Spacing*3)
else
MMHolder:SetHeight(Minimap:GetHeight() + E.Border + E.Spacing*3)
end
local borderWidth, borderHeight = E.PixelMode and 2 or 6, E.PixelMode and 2 or 8
local panelSize, joinPanel = (MinimapPanel:IsShown() and MinimapPanel:GetHeight()) or (E.PixelMode and 1 or -1), 1
local height, width = E.MinimapSize + (panelSize - joinPanel), E.MinimapSize
MMHolder:SetSize(width + borderWidth, height + borderHeight)
_G.MinimapMover:SetSize(MMHolder:GetSize())
Minimap.location:SetWidth(E.MinimapSize)
local mmOffset = E.PixelMode and 1 or 3
Minimap:ClearAllPoints()
Minimap:SetPoint('TOPRIGHT', MMHolder, 'TOPRIGHT', -mmOffset, -mmOffset)
Minimap:SetSize(E.MinimapSize, E.MinimapSize)
if E.db.general.minimap.locationText ~= 'SHOW' or not E.private.general.minimap.enable then
Minimap.location:SetWidth(E.MinimapSize)
if E.db.general.minimap.locationText ~= 'SHOW' then
Minimap.location:Hide()
else
Minimap.location:Show()
end
_G.MinimapMover:SetSize(MMHolder:GetSize())
-- Stop here if ElvUI Minimap is disabled.
if not E.private.general.minimap.enable then return end
M.HandleGarrisonButton()
local GameTimeFrame = _G.GameTimeFrame
......@@ -349,8 +343,7 @@ function M:Initialize()
local mmholder = CreateFrame('Frame', 'MMHolder', Minimap)
mmholder:SetPoint('TOPRIGHT', E.UIParent, 'TOPRIGHT', -3, -3)
mmholder:SetWidth((Minimap:GetWidth() + 29))
mmholder:SetHeight(Minimap:GetHeight() + 53)
mmholder:SetSize(Minimap:GetSize())
Minimap:SetQuestBlobRingAlpha(0)
Minimap:SetArchBlobRingAlpha(0)
......@@ -358,15 +351,8 @@ function M:Initialize()
Minimap:SetFrameLevel(Minimap:GetFrameLevel() + 2)
Minimap:ClearAllPoints()
Minimap:SetPoint('TOPRIGHT', mmholder, 'TOPRIGHT', -E.Border, -E.Border)
Minimap:HookScript('OnEnter', function(mm)
if E.db.general.minimap.locationText ~= 'MOUSEOVER' or not E.private.general.minimap.enable then return; end
mm.location:Show()
end)
Minimap:HookScript('OnLeave', function(mm)
if E.db.general.minimap.locationText ~= 'MOUSEOVER' or not E.private.general.minimap.enable then return; end
mm.location:Hide()
end)
Minimap:HookScript('OnEnter', function(mm) if E.db.general.minimap.locationText == 'MOUSEOVER' then mm.location:Show() end end)
Minimap:HookScript('OnLeave', function(mm) if E.db.general.minimap.locationText == 'MOUSEOVER' then mm.location:Hide() end end)
--Fix spellbook taint
ShowUIPanel(_G.SpellBookFrame)
......@@ -377,7 +363,7 @@ function M:Initialize()
Minimap.location:SetPoint('TOP', Minimap, 'TOP', 0, -2)
Minimap.location:SetJustifyH('CENTER')
Minimap.location:SetJustifyV('MIDDLE')
if E.db.general.minimap.locationText ~= 'SHOW' or not E.private.general.minimap.enable then
if E.db.general.minimap.locationText ~= 'SHOW' then
Minimap.location:Hide()
end
......
......@@ -86,7 +86,7 @@ function NP:Construct_TargetIndicator(nameplate)
TargetIndicator:SetFrameLevel(0)
TargetIndicator.Shadow = CreateFrame('Frame', nil, TargetIndicator)
TargetIndicator.Shadow:SetBackdrop({edgeFile = E.Media.Textures.GlowTex, edgeSize = E:Scale(5)})
TargetIndicator.Shadow:SetBackdrop({edgeFile = E.Media.Textures.GlowTex, edgeSize = 5})
TargetIndicator.Shadow:Hide()
for _, object in ipairs(targetIndicators) do
......
......@@ -121,7 +121,7 @@ local function Enable(self)
if element.Shadow then
if element.Shadow:IsObjectType('Frame') and not element.Shadow:GetBackdrop() == nil then
element.Shadow:SetBackdrop({edgeFile = E.Media.Textures.GlowTex, edgeSize = E:Scale(5)})
element.Shadow:SetBackdrop({edgeFile = E.Media.Textures.GlowTex, edgeSize = 5})
end
end
......
......@@ -806,24 +806,6 @@ function TT:SetTooltipFonts()
end
end
--This changes the growth direction of the toast frame depending on position of the mover
local function PostBNToastMove(mover)
local x, y = mover:GetCenter();
local screenHeight = E.UIParent:GetTop();
local screenWidth = E.UIParent:GetRight()
local anchorPoint
if (y > (screenHeight / 2)) then
anchorPoint = (x > (screenWidth/2)) and 'TOPRIGHT' or 'TOPLEFT'
else
anchorPoint = (x > (screenWidth/2)) and 'BOTTOMRIGHT' or 'BOTTOMLEFT'
end
mover.anchorPoint = anchorPoint
_G.BNToastFrame:ClearAllPoints()
_G.BNToastFrame:SetPoint(anchorPoint, mover)
end
function TT:Initialize()
TT.db = E.db.tooltip
......@@ -833,11 +815,6 @@ function TT:Initialize()
TT.MountIDs[select(2, C_MountJournal_GetMountInfoByID(mountID))] = mountID
end
_G.BNToastFrame:SetPoint('TOPRIGHT', _G.MMHolder, 'BOTTOMRIGHT', 0, -10)
E:CreateMover(_G.BNToastFrame, 'BNETMover', L["BNet Frame"], nil, nil, PostBNToastMove)
_G.BNToastFrame.mover:SetSize(_G.BNToastFrame:GetSize())
TT:SecureHook(_G.BNToastFrame, 'SetPoint', 'RepositionBNET')
if E.private.tooltip.enable ~= true then return end
TT.Initialized = true
......
......@@ -3,7 +3,7 @@ local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateD
--Global Settings
G.general = {
UIScale = 0.64,
version = 11.50,
version = 11.51,
locale = E:GetLocale(),
eyefinity = false,
smallerWorldMap = true,
......
......@@ -35,7 +35,7 @@ E.Options.args.chat = {
order = 3,
type = 'group',
name = L["General"],
disabled = function() return not E.Chat.Initialized; end,
disabled = function() return not E.Chat.Initialized end,
args = {
url = {
order = 1,
......@@ -323,7 +323,7 @@ E.Options.args.chat = {
order = 75,
type = 'group',
name = L["Text Fade"],
disabled = function() return not E.Chat.Initialized; end,
disabled = function() return not E.Chat.Initialized end,
set = function(info, value) E.db.chat[info[#info]] = value; CH:UpdateFading() end,
args = {
fade = {
......@@ -346,7 +346,7 @@ E.Options.args.chat = {
order = 80,
type = 'group',
name = L["Fonts"],
disabled = function() return not E.Chat.Initialized; end,
disabled = function() return not E.Chat.Initialized end,
set = function(info, value) E.db.chat[info[#info]] = value; CH:SetupChat() end,
args = {
font = {
......@@ -387,7 +387,7 @@ E.Options.args.chat = {
order = 85,
type = 'group',
name = L["Alerts"],
disabled = function() return not E.Chat.Initialized; end,
disabled = function() return not E.Chat.Initialized end,
args = {
noAlertInCombat = {
order = 1,
......@@ -551,7 +551,7 @@ E.Options.args.chat = {
order = 100,
type = 'group',
name = L["Class Color Mentions"],
disabled = function() return not E.Chat.Initialized; end,
disabled = function() return not E.Chat.Initialized end,
args = {
classColorMentionsChat = {
order = 1,
......@@ -601,13 +601,13 @@ E.Options.args.chat = {
order = 5,
type = 'group',
name = L["Panels"],
disabled = function() return not E.Chat.Initialized; end,
args = {
fadeUndockedTabs = {
order = 1,
type = 'toggle',
name = L["Fade Undocked Tabs"],
desc = L["Fades the text on chat tabs that are not docked at the left or right chat panel."],
hidden = function() return not E.Chat.Initialized end,
set = function(self, value)
E.db.chat.fadeUndockedTabs = value;
CH:UpdateChatTabs()
......@@ -618,6 +618,7 @@ E.Options.args.chat = {
type = 'toggle',
name = L["Fade Tabs No Backdrop"],
desc = L["Fades the text on chat tabs that are docked in a panel where the backdrop is disabled."],
hidden = function() return not E.Chat.Initialized end,
set = function(self, value)
E.db.chat.fadeTabsNoBackdrop = value;
CH:UpdateChatTabs()
......@@ -649,6 +650,7 @@ E.Options.args.chat = {
type = 'group',
guiInline = true,
name = L["Tab Panels"],
hidden = function() return not E.Chat.Initialized end,
args = {
panelTabTransparency = {
order = 1,
......@@ -786,6 +788,7 @@ E.Options.args.chat = {
type = 'toggle',
name = L["Panel Snapping"],
desc = L["When disabled the Chat Background color has to be set via Blizzards Chat Tabs Background setting."],
hidden = function() return not E.Chat.Initialized end,
set = function(info, value)
E.db.chat.panelSnapping = value
CH:PositionChats()
......
......@@ -612,7 +612,10 @@ E.Options.args.datatexts = {
_G.HideLeftChat()
end
Chat:UpdateEditboxAnchors()
if E.private.chat.enable then
Chat:UpdateEditboxAnchors()
end
Layout:ToggleChatPanels()
Layout:SetDataPanelStyle()
DT:UpdatePanelInfo('LeftChatDataPanel')
......@@ -654,7 +657,10 @@ E.Options.args.datatexts = {
_G.HideRightChat()
end
Chat:UpdateEditboxAnchors()
if E.private.chat.enable then
Chat:UpdateEditboxAnchors()
end
Layout:ToggleChatPanels()
Layout:SetDataPanelStyle()
DT:UpdatePanelInfo('RightChatDataPanel')
......@@ -683,6 +689,7 @@ E.Options.args.datatexts = {
desc = L["Display minimap panels below the minimap, used for datatexts."],
get = function(info) return E.db.datatexts.panels.MinimapPanel[info[#info]] end,
set = function(info, value) E.db.datatexts.panels.MinimapPanel[info[#info]] = value DT:UpdatePanelInfo('MinimapPanel') end,
hidden = function() return not E.private.general.minimap.enable end,
order = 4,
args = {
enable = {
......@@ -692,7 +699,10 @@ E.Options.args.datatexts = {
set = function(info, value)
E.db.datatexts.panels[info[#info - 1]][info[#info]] = value
DT:UpdatePanelInfo('MinimapPanel')
Minimap:UpdateSettings()
if E.private.general.minimap.enable then
Minimap:UpdateSettings()
end
end,
},
numPoints = {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment