/Tukui/modules/skins/help.lua

http://github.com/Asphyxia/Tukui · Lua · 139 lines · 135 code · 3 blank · 1 comment · 1 complexity · 57820c8e5170d71c4ac5c73bb2b7cea4 MD5 · raw file

  1. local T, C, L = unpack(select(2, ...))
  2. local function LoadSkin()
  3. local frames = {
  4. "HelpFrameLeftInset",
  5. "HelpFrameMainInset",
  6. "HelpFrameKnowledgebase",
  7. "HelpFrameHeader",
  8. "HelpFrameKnowledgebaseErrorFrame",
  9. }
  10. local buttons = {
  11. "HelpFrameAccountSecurityOpenTicket",
  12. "HelpFrameReportLagLoot",
  13. "HelpFrameReportLagAuctionHouse",
  14. "HelpFrameReportLagMail",
  15. "HelpFrameReportLagMovement",
  16. "HelpFrameReportLagSpell",
  17. "HelpFrameReportLagChat",
  18. "HelpFrameReportAbuseOpenTicket",
  19. "HelpFrameOpenTicketHelpTopIssues",
  20. "HelpFrameOpenTicketHelpOpenTicket",
  21. "HelpFrameKnowledgebaseSearchButton",
  22. "HelpFrameKnowledgebaseNavBarHomeButton",
  23. "HelpFrameCharacterStuckStuck",
  24. "GMChatOpenLog",
  25. "HelpFrameTicketSubmit",
  26. "HelpFrameTicketCancel",
  27. }
  28. -- skin main frames
  29. for i = 1, #frames do
  30. _G[frames[i]]:StripTextures(true)
  31. _G[frames[i]]:CreateBackdrop("Transparent")
  32. end
  33. HelpFrameHeader:SetFrameLevel(HelpFrameHeader:GetFrameLevel() + 2)
  34. HelpFrameKnowledgebaseErrorFrame:SetFrameLevel(HelpFrameKnowledgebaseErrorFrame:GetFrameLevel() + 2)
  35. HelpFrameTicketScrollFrame:StripTextures()
  36. HelpFrameTicketScrollFrame:CreateBackdrop("Transparent")
  37. HelpFrameTicketScrollFrame.backdrop:Point("TOPLEFT", -4, 4)
  38. HelpFrameTicketScrollFrame.backdrop:Point("BOTTOMRIGHT", 6, -4)
  39. for i=1, HelpFrameTicket:GetNumChildren() do
  40. local child = select(i, HelpFrameTicket:GetChildren())
  41. if not child:GetName() then
  42. child:StripTextures()
  43. end
  44. end
  45. T.SkinScrollBar(HelpFrameKnowledgebaseScrollFrame2ScrollBar)
  46. -- skin sub buttons
  47. for i = 1, #buttons do
  48. _G[buttons[i]]:StripTextures(true)
  49. T.SkinButton(_G[buttons[i]], true)
  50. if _G[buttons[i]].text then
  51. _G[buttons[i]].text:ClearAllPoints()
  52. _G[buttons[i]].text:SetPoint("CENTER")
  53. _G[buttons[i]].text:SetJustifyH("CENTER")
  54. end
  55. end
  56. -- skin main buttons
  57. for i = 1, 6 do
  58. local b = _G["HelpFrameButton"..i]
  59. T.SkinButton(b, true)
  60. b.text:ClearAllPoints()
  61. b.text:SetPoint("CENTER")
  62. b.text:SetJustifyH("CENTER")
  63. end
  64. -- skin table options
  65. for i = 1, HelpFrameKnowledgebaseScrollFrameScrollChild:GetNumChildren() do
  66. local b = _G["HelpFrameKnowledgebaseScrollFrameButton"..i]
  67. b:StripTextures(true)
  68. T.SkinButton(b, true)
  69. end
  70. -- skin misc items
  71. HelpFrameKnowledgebaseSearchBox:ClearAllPoints()
  72. HelpFrameKnowledgebaseSearchBox:Point("TOPLEFT", HelpFrameMainInset, "TOPLEFT", 13, -10)
  73. HelpFrameKnowledgebaseNavBarOverlay:Kill()
  74. HelpFrameKnowledgebaseNavBar:StripTextures()
  75. HelpFrame:StripTextures(true)
  76. HelpFrame:CreateBackdrop("Transparent")
  77. T.SkinEditBox(HelpFrameKnowledgebaseSearchBox)
  78. T.SkinScrollBar(HelpFrameKnowledgebaseScrollFrameScrollBar, 5)
  79. T.SkinScrollBar(HelpFrameTicketScrollFrameScrollBar, 4)
  80. T.SkinCloseButton(HelpFrameCloseButton, HelpFrame.backdrop)
  81. T.SkinCloseButton(HelpFrameKnowledgebaseErrorFrameCloseButton, HelpFrameKnowledgebaseErrorFrame.backdrop)
  82. --Hearth Stone Button
  83. HelpFrameCharacterStuckHearthstone:StyleButton()
  84. HelpFrameCharacterStuckHearthstone:SetTemplate("Transparent", true)
  85. HelpFrameCharacterStuckHearthstone.IconTexture:ClearAllPoints()
  86. HelpFrameCharacterStuckHearthstone.IconTexture:Point("TOPLEFT", 2, -2)
  87. HelpFrameCharacterStuckHearthstone.IconTexture:Point("BOTTOMRIGHT", -2, 2)
  88. HelpFrameCharacterStuckHearthstone.IconTexture:SetTexCoord(.08, .92, .08, .92)
  89. local function navButtonFrameLevel(self)
  90. for i=1, #self.navList do
  91. local navButton = self.navList[i]
  92. local lastNav = self.navList[i-1]
  93. if navButton and lastNav then
  94. navButton:SetFrameLevel(lastNav:GetFrameLevel() - 2)
  95. end
  96. end
  97. end
  98. hooksecurefunc("NavBar_AddButton", function(self, buttonData)
  99. local navButton = self.navList[#self.navList]
  100. if not navButton.skinned then
  101. T.SkinButton(navButton, true)
  102. navButton.skinned = true
  103. navButton:HookScript("OnClick", function()
  104. navButtonFrameLevel(self)
  105. end)
  106. end
  107. navButtonFrameLevel(self)
  108. end)
  109. T.SkinButton(HelpFrameGM_ResponseNeedMoreHelp)
  110. T.SkinButton(HelpFrameGM_ResponseCancel)
  111. for i=1, HelpFrameGM_Response:GetNumChildren() do
  112. local child = select(i, HelpFrameGM_Response:GetChildren())
  113. if child and child:GetObjectType() == "Frame" and not child:GetName() then
  114. child:SetTemplate("Transparent")
  115. end
  116. end
  117. end
  118. tinsert(T.SkinFuncs["Tukui"], LoadSkin)