Files
coa-elvui/ElvUI_AddOnSkins/Skins/Addons/QuestGuru.lua
T

513 lines
22 KiB
Lua

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)