chore: move addon into Chatter/ + add standard .gitignore
Matches the Exiles fork-layout convention (each addon in its own folder).
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
local mod = Chatter:NewModule("Server Positioning", "AceHook-3.0")
|
||||
local L = LibStub("AceLocale-3.0"):GetLocale("Chatter")
|
||||
mod.modName = L["Server Positioning"]
|
||||
|
||||
local defaults = {
|
||||
profile = {
|
||||
windowdata = {
|
||||
['*'] = {
|
||||
-- Blizzard defaults
|
||||
width = 430,
|
||||
height = 120,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function mod:OnInitialize()
|
||||
self.db = Chatter.db:RegisterNamespace("Server Positioning", defaults)
|
||||
self.db.RegisterCallback(self, "OnProfileChanged", "UpdateWindowData")
|
||||
self.db.RegisterCallback(self, "OnProfileCopied", "UpdateWindowData")
|
||||
self.db.RegisterCallback(self, "OnProfileReset", "UpdateWindowData")
|
||||
end
|
||||
|
||||
function mod:Info()
|
||||
return L["Disable server side storage of chat frame position and size."]
|
||||
end
|
||||
|
||||
function mod:OnEnable()
|
||||
self:RawHook('SetChatWindowSavedPosition', true)
|
||||
self:RawHook('GetChatWindowSavedPosition', true)
|
||||
self:RawHook('SetChatWindowSavedDimensions', true)
|
||||
self:RawHook('GetChatWindowSavedDimensions', true)
|
||||
self:UpdateWindowData()
|
||||
end
|
||||
|
||||
function mod:OnDisable()
|
||||
self:UnhookAll()
|
||||
self:UpdateWindowData()
|
||||
end
|
||||
|
||||
function mod:SetChatWindowSavedPosition(id, point, xOffset, yOffset)
|
||||
local data = self.db.profile.windowdata[id]
|
||||
data.point, data.xOffset, data.yOffset = point, xOffset, yOffset
|
||||
end
|
||||
|
||||
function mod:GetChatWindowSavedPosition(id)
|
||||
local data = self.db.profile.windowdata[id]
|
||||
if not data.point then
|
||||
data.point, data.xOffset, data.yOffset = self.hooks.GetChatWindowSavedPosition(id)
|
||||
end
|
||||
return data.point, data.xOffset, data.yOffset
|
||||
end
|
||||
|
||||
function mod:SetChatWindowSavedDimensions(id, width, height)
|
||||
local data = self.db.profile.windowdata[id]
|
||||
data.width, data.height = width, height
|
||||
end
|
||||
|
||||
function mod:GetChatWindowSavedDimensions(id)
|
||||
local data = self.db.profile.windowdata[id]
|
||||
if not data.width then
|
||||
data.width, data.height = self.hooks.GetChatWindowSavedDimensions(id)
|
||||
end
|
||||
return data.width, data.height
|
||||
end
|
||||
|
||||
function mod:UpdateWindowData()
|
||||
for i = 1,NUM_CHAT_WINDOWS do
|
||||
local frame = _G["ChatFrame"..i]
|
||||
if frame and type(frame.GetID) == "function" then
|
||||
FloatingChatFrame_Update(frame:GetID())
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user