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.

74 lines
2.6 KiB

local _, Cell = ...
local L = Cell.L
local F = Cell.funcs
local P = Cell.pixelPerfectFuncs
local changelogsFrame
local function CreateChangelogsFrame()
changelogsFrame = Cell:CreateMovableFrame("Cell "..L["Changelogs"], "CellChangelogsFrame", 400, 450, "DIALOG", 1, true)
Cell.frames.changelogsFrame = changelogsFrame
changelogsFrame:SetToplevel(true)
P:SetEffectiveScale(changelogsFrame)
changelogsFrame.header.closeBtn:HookScript("OnClick", function()
CellDB["changelogsViewed"] = Cell.version
end)
Cell:CreateScrollFrame(changelogsFrame)
changelogsFrame.scrollFrame:SetScrollStep(37)
local content = CreateFrame("SimpleHTML", "CellChangelogsContent", changelogsFrame.scrollFrame.content)
content:SetSpacing("h1", 9)
content:SetSpacing("h2", 7)
content:SetSpacing("p", 5)
content:SetFontObject("h1", "CELL_FONT_CLASS_TITLE")
content:SetFontObject("h2", "CELL_FONT_CLASS")
if LOCALE_zhCN then
content:SetFontObject("p", "CELL_FONT_WIDGET")
else
content:SetFontObject("p", "CELL_FONT_CHINESE")
end
content:SetPoint("TOP", 0, -10)
content:SetWidth(changelogsFrame:GetWidth() - 30)
content:SetHyperlinkFormat("|H%s|h|cFFFFD100%s|r|h")
changelogsFrame:SetScript("OnShow", function()
content:SetText("<html><body>" .. L["CHANGELOGS"] .. "</body></html>")
local height = content:GetContentHeight()
content:SetHeight(height)
changelogsFrame.scrollFrame.content:SetHeight(height + 30)
P:PixelPerfectPoint(changelogsFrame)
end)
content:SetScript("OnHyperlinkClick", function(self, linkData, link, button)
if linkData == "older" then
content:SetText("<html><body>" .. L["OLDER_CHANGELOGS"] .. "</body></html>")
elseif linkData == "recent" then
content:SetText("<html><body>" .. L["CHANGELOGS"] .. "</body></html>")
end
local height = content:GetContentHeight()
content:SetHeight(height)
changelogsFrame.scrollFrame.content:SetHeight(height + 30)
changelogsFrame.scrollFrame:ResetScroll()
end)
end
function F:CheckWhatsNew(show)
if show or CellDB["changelogsViewed"] ~= Cell.version then
if not init then
init = true
CreateChangelogsFrame()
end
if changelogsFrame:IsShown() then
changelogsFrame:Hide()
else
changelogsFrame:ClearAllPoints()
changelogsFrame:SetPoint("CENTER")
changelogsFrame:Show()
end
end
end