From c83b6e95ccf5f0f17874075e963dcb7c8a38e325 Mon Sep 17 00:00:00 2001 From: shagu Date: Tue, 5 Mar 2019 20:35:41 +0100 Subject: [PATCH] skin: reuse blizzards questlog item buttons --- skins/blizzard/questlog.lua | 48 +++++++++++++------------------------ 1 file changed, 17 insertions(+), 31 deletions(-) diff --git a/skins/blizzard/questlog.lua b/skins/blizzard/questlog.lua index 15c568f0..91c2e7dc 100644 --- a/skins/blizzard/questlog.lua +++ b/skins/blizzard/questlog.lua @@ -5,7 +5,7 @@ pfUI:RegisterSkin("Quest Log", function () _G.QUESTS_DISPLAYED = 23 _G.MAX_WATCHABLE_QUESTS = 20 -- TODO - do -- quest frame + do -- quest log frame hooksecurefunc("QuestLog_OnShow", function() QuestLogFrame:ClearAllPoints() QuestLogFrame:SetPoint("TOPLEFT", 10, -104) @@ -170,39 +170,25 @@ pfUI:RegisterSkin("Quest Log", function () QuestLogDetailScrollFrame.backdrop:SetPoint("BOTTOMRIGHT", 26, -5) -- skin item buttons - for i = 1, MAX_OBJECTIVES do - local button = _G["QuestLogItem"..i] - StripTextures(button) - CreateBackdrop(button, nil, true, .5) + for i = 1, MAX_NUM_ITEMS do + local name = "QuestLogItem" .. i + local item = _G[name] + local icon = _G[name.."IconTexture"] + local count = _G[name.."Count"] + local xsize = item:GetWidth() - 10 + local ysize = item:GetHeight() - 10 - local itemButton = CreateFrame("Button", button:GetName().."ItemButton", button) - itemButton:SetWidth(37) - itemButton:SetHeight(37) - itemButton:SetPoint("LEFT", 2, 0) - itemButton.icon = itemButton:CreateTexture("ARTWORK") - itemButton.icon:SetTexture(_G[button:GetName().."IconTexture"]:GetTexture()) - SkinButton(itemButton, nil, nil, nil, itemButton.icon, true) - itemButton.text = itemButton:CreateFontString("Status", "LOW", "GameFontNormal") - itemButton.text:SetFontObject(GameFontWhite) - itemButton.text:SetPoint("BOTTOMRIGHT", -4, 1) - itemButton.text:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE") + StripTextures(item) + SkinButton(item) + item:SetWidth(xsize) + + icon:SetWidth(ysize) + icon:SetHeight(ysize) + icon:ClearAllPoints() + icon:SetPoint("LEFT", 3, 0) + icon:SetTexCoord(.08, .92, .08, .92) end - hooksecurefunc("QuestLog_UpdateQuestDetails", function() - for i = 1, MAX_OBJECTIVES do - local button = _G["QuestLogItem"..i] - if button:IsShown() then - local itemButton = _G[button:GetName().."ItemButton"] - local texture = _G[button:GetName().."IconTexture"]:GetTexture() - local numItems = _G[button:GetName().."Count"]:GetText() or 1 - - itemButton.icon:SetTexture(texture) - itemButton.text:SetText(tonumber(numItems) > 1 and numItems) - _G[button:GetName().."Count"]:SetText() - end - end - end, 1) - do -- overwrite colors hooksecurefunc("QuestLog_UpdateQuestDetails", function() for i=1, GetNumQuestLeaderBoards() do