/Tukui/modules/skins/questlog.lua

http://github.com/Asphyxia/Tukui · Lua · 132 lines · 111 code · 16 blank · 5 comment · 8 complexity · 5ab583b90477bf871a22ed5da8cfb132 MD5 · raw file

  1. local T, C, L = unpack(select(2, ...))
  2. local function LoadSkin()
  3. T.SkinCloseButton(QuestLogFrameCloseButton)
  4. QuestLogFrame:StripTextures()
  5. QuestLogFrame:SetTemplate("Transparent")
  6. QuestLogFrame:CreateShadow("Transparent")
  7. QuestLogCount:StripTextures()
  8. EmptyQuestLogFrame:StripTextures()
  9. QuestLogFrameShowMapButton:StripTextures()
  10. T.SkinButton(QuestLogFrameShowMapButton)
  11. QuestLogFrameShowMapButton.text:ClearAllPoints()
  12. QuestLogFrameShowMapButton.text:SetPoint("CENTER")
  13. QuestLogFrameShowMapButton:Size(QuestLogFrameShowMapButton:GetWidth() - 30, QuestLogFrameShowMapButton:GetHeight(), - 40)
  14. QuestLogFrameCompleteButton:StripTextures()
  15. T.SkinButton(QuestLogFrameCompleteButton)
  16. local buttons = {
  17. "QuestLogFrameAbandonButton",
  18. "QuestLogFramePushQuestButton",
  19. "QuestLogFrameTrackButton",
  20. "QuestLogFrameCancelButton",
  21. }
  22. for _, button in pairs(buttons) do
  23. T.SkinButton(_G[button])
  24. end
  25. QuestLogFramePushQuestButton:Point("LEFT", QuestLogFrameAbandonButton, "RIGHT", 2, 0)
  26. QuestLogFramePushQuestButton:Point("RIGHT", QuestLogFrameTrackButton, "LEFT", -2, 0)
  27. for i=1, MAX_NUM_ITEMS do
  28. _G["QuestInfoItem"..i]:StripTextures()
  29. _G["QuestInfoItem"..i]:StyleButton()
  30. _G["QuestInfoItem"..i]:Width(_G["QuestInfoItem"..i]:GetWidth() - 4)
  31. _G["QuestInfoItem"..i]:SetFrameLevel(_G["QuestInfoItem"..i]:GetFrameLevel() + 2)
  32. _G["QuestInfoItem"..i.."IconTexture"]:SetTexCoord(.08, .92, .08, .92)
  33. _G["QuestInfoItem"..i.."IconTexture"]:SetDrawLayer("OVERLAY")
  34. _G["QuestInfoItem"..i.."IconTexture"]:Point("TOPLEFT", 2, -2)
  35. _G["QuestInfoItem"..i.."IconTexture"]:Size(_G["QuestInfoItem"..i.."IconTexture"]:GetWidth() - 2, _G["QuestInfoItem"..i.."IconTexture"]:GetHeight() - 2)
  36. _G["QuestInfoItem"..i]:SetTemplate("Transparent")
  37. _G["QuestInfoItem"..i.."Count"]:SetDrawLayer("OVERLAY")
  38. end
  39. QuestInfoSkillPointFrame:StripTextures()
  40. QuestInfoSkillPointFrame:StyleButton()
  41. QuestInfoSkillPointFrame:Width(QuestInfoSkillPointFrame:GetWidth() - 4)
  42. QuestInfoSkillPointFrame:SetFrameLevel(QuestInfoSkillPointFrame:GetFrameLevel() + 2)
  43. QuestInfoSkillPointFrameIconTexture:SetTexCoord(.08, .92, .08, .92)
  44. QuestInfoSkillPointFrameIconTexture:SetDrawLayer("OVERLAY")
  45. QuestInfoSkillPointFrameIconTexture:Point("TOPLEFT", 2, -2)
  46. QuestInfoSkillPointFrameIconTexture:Size(QuestInfoSkillPointFrameIconTexture:GetWidth() - 2, QuestInfoSkillPointFrameIconTexture:GetHeight() - 2)
  47. QuestInfoSkillPointFrame:SetTemplate("Transparent")
  48. QuestInfoSkillPointFrameCount:SetDrawLayer("OVERLAY")
  49. QuestInfoSkillPointFramePoints:ClearAllPoints()
  50. QuestInfoSkillPointFramePoints:Point("BOTTOMRIGHT", QuestInfoSkillPointFrameIconTexture, "BOTTOMRIGHT")
  51. QuestInfoItemHighlight:StripTextures()
  52. QuestInfoItemHighlight:SetTemplate("Transparent")
  53. QuestInfoItemHighlight:SetBackdropBorderColor(1, 1, 0)
  54. QuestInfoItemHighlight:SetBackdropColor(0, 0, 0, 0)
  55. QuestInfoItemHighlight:Size(142, 40)
  56. hooksecurefunc("QuestInfoItem_OnClick", function(self)
  57. QuestInfoItemHighlight:ClearAllPoints()
  58. QuestInfoItemHighlight:SetAllPoints(self)
  59. end)
  60. --Everything here to make the text a readable color
  61. local function QuestObjectiveText()
  62. local numObjectives = GetNumQuestLeaderBoards()
  63. local objective
  64. local type, finished
  65. local numVisibleObjectives = 0
  66. for i = 1, numObjectives do
  67. _, type, finished = GetQuestLogLeaderBoard(i)
  68. if (type ~= "spell") then
  69. numVisibleObjectives = numVisibleObjectives+1
  70. objective = _G["QuestInfoObjective"..numVisibleObjectives]
  71. if ( finished ) then
  72. objective:SetTextColor(1, 1, 0)
  73. else
  74. objective:SetTextColor(0.6, 0.6, 0.6)
  75. end
  76. end
  77. end
  78. end
  79. hooksecurefunc("QuestInfo_Display", function(template, parentFrame, acceptButton, material)
  80. local textColor = {1, 1, 1}
  81. local titleTextColor = {1, 1, 0}
  82. -- headers
  83. QuestInfoTitleHeader:SetTextColor(unpack(titleTextColor))
  84. QuestInfoDescriptionHeader:SetTextColor(unpack(titleTextColor))
  85. QuestInfoObjectivesHeader:SetTextColor(unpack(titleTextColor))
  86. QuestInfoRewardsHeader:SetTextColor(unpack(titleTextColor))
  87. -- other text
  88. QuestInfoDescriptionText:SetTextColor(unpack(textColor))
  89. QuestInfoObjectivesText:SetTextColor(unpack(textColor))
  90. QuestInfoGroupSize:SetTextColor(unpack(textColor))
  91. QuestInfoRewardText:SetTextColor(unpack(textColor))
  92. -- reward frame text
  93. QuestInfoItemChooseText:SetTextColor(unpack(textColor))
  94. QuestInfoItemReceiveText:SetTextColor(unpack(textColor))
  95. QuestInfoSpellLearnText:SetTextColor(unpack(textColor))
  96. QuestInfoXPFrameReceiveText:SetTextColor(unpack(textColor))
  97. QuestObjectiveText()
  98. end)
  99. hooksecurefunc("QuestInfo_ShowRequiredMoney", function()
  100. local requiredMoney = GetQuestLogRequiredMoney()
  101. if ( requiredMoney > 0 ) then
  102. if ( requiredMoney > GetMoney() ) then
  103. -- Not enough money
  104. QuestInfoRequiredMoneyText:SetTextColor(0.6, 0.6, 0.6)
  105. else
  106. QuestInfoRequiredMoneyText:SetTextColor(1, 1, 0)
  107. end
  108. end
  109. end)
  110. QuestLogFrame:HookScript("OnShow", function()
  111. QuestLogDetailScrollFrame:Height(QuestLogScrollFrame:GetHeight() - 4)
  112. QuestLogScrollFrame:SetTemplate("Transparent")
  113. QuestLogDetailScrollFrame:SetTemplate("Transparent")
  114. end)
  115. end
  116. tinsert(T.SkinFuncs["Tukui"], LoadSkin)