Files
shootyepgp/logs.lua
T
Road-block 457c95e3d3 Fixes for outlier GP prices across all items, emphasis on T1 and Dragons, fixes to GP scaling.
Standings list (for members) and other lists (for admins) can now be dismissed with Esc.
Add log window for admins.
Better permission checking, confirmation dialog for some important actions.
Fix Bid detection regex false positives eg.[Elixir of Mongoose].
Remove a bunch of menus and windows for members that they never use.
2017-08-11 03:10:26 +03:00

107 lines
2.8 KiB
Lua

local T = AceLibrary("Tablet-2.0")
local D = AceLibrary("Dewdrop-2.0")
local C = AceLibrary("Crayon-2.0")
local CP = AceLibrary("Compost-2.0")
sepgp_logs = sepgp:NewModule("sepgp_logs", "AceDB-2.0")
sepgp_logs.tmp = CP:Acquire()
function sepgp_logs:OnEnable()
if not T:IsRegistered("sepgp_logs") then
T:Register("sepgp_logs",
"children", function()
T:SetTitle("shootyepgp logs")
self:OnTooltipUpdate()
end,
"showTitleWhenDetached", true,
"showHintWhenDetached", true,
"cantAttach", true,
"menu", function()
D:AddLine(
"text", "Refresh",
"tooltipText", "Refresh window",
"func", function() sepgp_logs:Refresh() end
)
end
)
end
if not T:IsAttached("sepgp_logs") then
T:Open("sepgp_logs")
end
end
function sepgp_logs:OnDisable()
T:Close("sepgp_logs")
end
function sepgp_logs:Refresh()
T:Refresh("sepgp_logs")
end
function sepgp_logs:setHideScript()
local detachedFrame, tablet
for i=1,4 do
tablet = getglobal(string.format("Tablet20DetachedFrame%d",1))
if tablet and tablet.owner ~= nil and tablet.owner == "sepgp_logs" then
if not (tablet:GetScript("OnHide")) then
tablet:SetScript("OnHide",function()
if not T:IsAttached("sepgp_logs") then
T:Attach("sepgp_logs")
this:SetScript("OnHide",nil)
end
end)
end
end
end
end
function sepgp_logs:Toggle(forceShow)
if T:IsAttached("sepgp_logs") then
T:Detach("sepgp_logs")
if (T:IsLocked("sepgp_logs")) then
T:ToggleLocked("sepgp_logs")
end
self:setHideScript()
elseif (forceShow) then
else
T:Attach("sepgp_logs")
if GameTooltip:IsOwned(self.tipOwner) and GameTooltip:IsShown() then
GameTooltip:Hide()
end
end
end
function sepgp_logs:reverse(arr)
CP:Recycle(sepgp_logs.tmp)
for _,val in ipairs(arr) do
table.insert(sepgp_logs.tmp,val)
end
local i, j = 1, table.getn(sepgp_logs.tmp)
while i < j do
sepgp_logs.tmp[i], sepgp_logs.tmp[j] = sepgp_logs.tmp[j], sepgp_logs.tmp[i]
i = i + 1
j = j - 1
end
return sepgp_logs.tmp
end
function sepgp_logs:BuildLogsTable()
-- {timestamp,line}
return self:reverse(sepgp_log)
end
function sepgp_logs:OnTooltipUpdate()
local cat = T:AddCategory(
"columns", 2,
"text", C:Orange("Time"), "child_textR", 1, "child_textG", 1, "child_textB", 1, "child_justify", "LEFT",
"text2", C:Orange("Action"), "child_text2R", 1, "child_text2G", 1, "child_text2B", 1, "child_justify2", "RIGHT"
)
local t = sepgp_logs:BuildLogsTable()
for i = 1, table.getn(t) do
local timestamp, line = unpack(t[i])
cat:AddLine(
"text", C:Silver(timestamp),
"text2", line
)
end
end