You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.4 KiB

local E, L, V, P, G = unpack(ElvUI)
local BL = E:GetModule('Blizzard')
local _G = _G
local ShowUIPanel = ShowUIPanel
local GetInstanceInfo = GetInstanceInfo
local InCombatLockdown = InCombatLockdown
local C_TalkingHead_SetConversationsDeferred = C_TalkingHead.SetConversationsDeferred
function BL:ObjectiveTracker_AutoHideOnHide()
local tracker = _G.ObjectiveTrackerFrame
if not tracker or BL:ObjectiveTracker_IsCollapsed(tracker) then return end
if E.db.general.objectiveFrameAutoHideInKeystone then
BL:ObjectiveTracker_Collapse(tracker)
else
local _, _, difficultyID = GetInstanceInfo()
if difficultyID ~= 8 then -- ignore hide in keystone runs
BL:ObjectiveTracker_Collapse(tracker)
end
end
end
-- Clone of SplashFrameMixin:OnHide() to remove Objective Update to prevent taint on the Quest Button
local function SplashFrame_OnHide(frame)
local fromGameMenu = frame.screenInfo and frame.screenInfo.gameMenuRequest
frame.screenInfo = nil
C_TalkingHead_SetConversationsDeferred(false)
_G.AlertFrame:SetAlertsEnabled(true, 'splashFrame')
-- ObjectiveTrackerFrame:Update()
if fromGameMenu and not frame.showingQuestDialog and not InCombatLockdown() then
ShowUIPanel(_G.GameMenuFrame)
end
frame.showingQuestDialog = nil
end
function BL:ObjectiveTracker_Setup()
BL:ObjectiveTracker_AutoHide()
local splash = _G.SplashFrame
if splash then
splash:SetScript('OnHide', SplashFrame_OnHide)
end
end