WoWInterface SVN StopTradeSpam

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /trunk
    from Rev 42 to Rev 43
    Reverse comparison

Rev 42 → Rev 43

StopTradeSpam/StopTradeSpam_Options.xml New file
0,0 → 1,86
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
<FontString name="STSO_static_text" inherits="GameFontNormal" virtual="true">
<Color r="1" g="1" b="1" a="1"/>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parent">
<Offset><AbsDimension x="45"/></Offset>
</Anchor>
</Anchors>
</FontString>
<Frame name="STSOPanel">
<Scripts>
<!-- <OnLoad>
STSO_Load(self)
</OnLoad>
<OnShow>
STSO_Show(self)
</OnShow>-->
</Scripts>
<Layers>
<!-- <Layer level="ARTWORK">
</Layer>-->
<Layer level="OVERLAY">
<FontString inherits="GameFontNormal" text="StopTradeSpam Config">
<Anchors>
<Anchor point="TOP" relativeTo="$parent">
<Offset><AbsDimension x="0" y="-20"/></Offset>
</Anchor>
</Anchors>
</FontString>
<!-- <FontString inherits="GameFontNormal" text="Enable ignoring players in Channel '1'">
<Color r="1" g="1" b="1" a="1"/>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parent">
<Offset><AbsDimension x="45" y="-55"/></Offset>
</Anchor>
</Anchors>
</FontString>-->
</Layer>
</Layers>
<Frames>
<!-- <CheckButton name="$parent_CHAT_MSG_CHANNEL_1" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$parent">
<Offset><AbsDimension x="20" y="-50"/></Offset>
</Anchor>
</Anchors>
<Scripts><OnLoad>STSO_Load(self);</OnLoad></Scripts>
</CheckButton>-->
</Frames>
</Frame>
 
<!-- <Frame name="$parent_white" parent="STSO_Panel">
<Scripts>
<OnLoad>
STSO_Load(self)
</OnLoad>
<OnShow>
STSO_Show(self)
</OnShow>
</Scripts>
</Frame>
 
<Frame name="$parent_black" parent="STSO_Panel">
<Scripts>
<OnLoad>
STSO_Load(self)
</OnLoad>
<OnShow>
STSO_Show(self)
</OnShow>
</Scripts>
</Frame>
 
<Frame name="$parent_ignore" parent="STSO_Panel">
<Scripts>
<OnLoad>
STSO_Load(self)
</OnLoad>
<OnShow>
STSO_Show(self)
</OnShow>
</Scripts>
</Frame>-->
 
</Ui>
StopTradeSpam/StopTradeSpam_Options.lua New file
0,0 → 1,242
--function STS_ResetSV() -- reset anything except ignorelist
--function STS_InitSV()
--function STS_SetLanguage(setlang)
--local function STS_DelLanguage(setlang)
--function STS_List(...)
--function STS_Find(key, list)
--function STS_AddIgnore(ign_name, ign_reason)
--function STS_DelIgnore(ign_name)
--function STS_Add(key, list)
--function STS_Remove(key, list)
--function STS_ColoredNameLink(...)
--local function STS_Update(oldv) --TODO: were changes made to the SV?
--function STS_Statistic(...)
--function STS_Settings(...)
--function STS_GetNumIgnore()
if select(4,GetAddOnInfo("StopTradeSpam_Options")) == 1 then DisableAddOn("StopTradeSpam_Options") end
local version = 0.1
local lang = "enUS"
--[[
local pname = {
["STSOPanel"] = "StopTradeSpam",
["STSOPanel_white"] = "Whitelist",
["STSOPanel_black"] = "Blacklist",
["STSOPanel_ignore"] = "Trade-Ignorelist",
}--]]
local options = {
["enUS"] = true,
["STSOPanel"] = {
["enUS"] = "StopTradeSpam",
["checkbutton"] = {
["enabletign"] = {
["left"] = 20,
["top"] = -30,
["def"] = true,
["enUS"] = "Enable adding spammers to t-ignorelist. (NYI)",
},
["CHAT_MSG_CHANNEL_1"] = {
["left"] = 20,
["top"] = -50,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '1'",
},
["CHAT_MSG_CHANNEL_2"] = {
["left"] = 20,
["top"] = -70,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '2'",
},
["CHAT_MSG_CHANNEL_3"] = {
["left"] = 20,
["top"] = -90,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '3'",
},
["CHAT_MSG_CHANNEL_4"] = {
["left"] = 20,
["top"] = -110,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '4'",
},
["CHAT_MSG_CHANNEL_5"] = {
["left"] = 20,
["top"] = -130,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '5'",
},
["CHAT_MSG_CHANNEL_6"] = {
["left"] = 20,
["top"] = -150,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '6'",
},
["CHAT_MSG_CHANNEL_7"] = {
["left"] = 20,
["top"] = -170,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '7'",
},
["CHAT_MSG_CHANNEL_8"] = {
["left"] = 20,
["top"] = -190,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '8'",
},
["CHAT_MSG_CHANNEL_9"] = {
["left"] = 20,
["top"] = -210,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '9'",
},
["CHAT_MSG_CHANNEL_10"] = {
["left"] = 20,
["top"] = -230,
["def"] = true,
["enUS"] = "Enable ignoring players in Channel '10'",
},
["complainchat"] = {
["left"] = 20,
["top"] = -250,
["def"] = true,
["enUS"] = "Enable automatic repoting spam to gamemasters",
},
["blockgold"] = {
["left"] = 20,
["top"] = -270,
["def"] = true,
["enUS"] = "Filter obvious gold-seller messages, and report them automatically. (no ignore here)",
},
},
},
}
if options[GetLocale()] then lang = GetLocale() end
function STSO_GetTableKey(frame)
local upperkey = strmatch(frame:GetName(),"^%w-_(.-)_%w-$")
local lowerkey = strmatch(frame:GetName(),"_(%w-)$")
if strlen(lowerkey) <= 2 then
lowerkey = tonumber(lowerkey)
end
return lowerkey,upperkey
end
function STSO_Get(childf)
local lowerkey,upperkey = STSO_GetTableKey(childf)
local value
if not upperkey then
value = STS_Settings("GET",lowerkey)
else
value = STS_Settings("GET",upperkey,lowerkey)
end
return value
end
function STSO_Set(childf,value)
local lowerkey,upperkey = STSO_GetTableKey(childf)
if not upperkey then
STS_Settings("SET",lowerkey,value)
elseif strsub(upperkey,1,6) ~= "static" then
STS_Settings("SET",upperkey,lowerkey,value)
end
end
function STSO_Load(self)
if not strfind(self:GetName(),"_") then
self.name = options[self:GetName()][lang]
self.okay = STSO_Okay
self.cancel = STSO_Cancel
self.default = STSO_Default
-- if self:GetName() ~= "STSOPanel" then
-- self.parent = pname["STSOPanel"]
-- end
local newcb
local newtext = ""
local newfs
--TODO: Dynamically build frame
for cbname,cbstat in pairs(options[self:GetName()]["checkbutton"]) do
newcb = CreateFrame("CheckButton", "$parent_"..cbname, self, "ChatConfigCheckButtonTemplate")
newcb:SetPoint("TOPLEFT", self:GetName(), "TOPLEFT", cbstat["left"], cbstat["top"])
newcb.OnLoad = STSO_Load(newcb)
newtext = "$parent_static_"..cbname
newfs = self:CreateFontString(newtext,"OVERLAY","STSO_static_text")
newfs:SetText(cbstat[lang])
newfs:SetPoint("TOPLEFT", self, "TOPLEFT", cbstat["left"]+25, cbstat["top"]-5);
end
 
InterfaceOptions_AddCategory(self)
elseif self.GetChecked then
self:SetChecked(STSO_Get(self) == true)
--elseif TODO!
end
end
function STSO_Show(self)
print(self:GetName())
end
function STSO_Okay(self)
local kids = { self:GetChildren() };
for _, child in ipairs(kids) do
if child.GetChecked then
STSO_Set(child,child:GetChecked() == 1 or false)
-- else --TODO: other types of widgets (editboxes?)
end
end
end
function STSO_Cancel(self)
local kids = { self:GetChildren() };
for _, child in ipairs(kids) do
STSO_Load(child)
end
end
function STSO_Default(self)
--TODO: More widgets
for cbname,cbstat in pairs(options[self:GetName()]["checkbutton"]) do
getglobal(self:GetName().."_"..cbname):SetChecked(cbstat["def"])
end
-- print("Defaults aren't implemented yet.")
end
 
function STSO_CheckButton_OnClick(self)
 
end
--[[
local panel = CreateFrame("Frame", "STSO_Panel", UIParent)
panel.name = "StopTradeSpam"
panel.okay = STSO_Okay
panel.cancel = STSO_Cancel
panel.default = STSO_Default
InterfaceOptions_AddCategory(panel);
 
panel = CreateFrame("Frame", "STSO_Panel_white", STSO_Panel)
panel.parent = "StopTradeSpam"
panel.name = "Whitelist"
panel.okay = STSO_Okay
panel.cancel = STSO_Cancel
panel.default = STSO_Default
InterfaceOptions_AddCategory(panel);
 
panel = CreateFrame("Frame", "STSO_Panel_black", STSO_Panel)
panel.parent = "StopTradeSpam"
panel.name = "Blacklist"
panel.okay = STSO_Okay
panel.cancel = STSO_Cancel
panel.default = STSO_Default
InterfaceOptions_AddCategory(panel);
 
panel = CreateFrame("Frame", "STSO_Panel_ignore", STSO_Panel)
panel.parent = "StopTradeSpam"
panel.name = "Trade-Ignorelist"
panel.okay = STSO_Okay
panel.cancel = STSO_Cancel
panel.default = STSO_Default
InterfaceOptions_AddCategory(panel);
--]]
--[[
function STSO_ButtonClick()
DEFAULT_CHAT_FRAME:AddMessage(STSO_EditBox:GetText())
STSO_EditBox:SetText("")
end
 
function STSO_Close()
STS_Options:Hide()
end
 
-- DEFAULT_CHAT_FRAME:AddMessage(...)
 
-- Event Handler
--]]
StopTradeSpam/StopTradeSpam.lua
56,7 → 56,7
j = nil
end
end
elseif select(1,...) == "ignore"
elseif select(1,...) == "ignore" then
STS_SV["ignore"][tignlist] = nil
STS_SV["ignore"][tignlist] = { }
else
280,12 → 280,7
function STS_Options(...)
local opento = "StopTradeSpam"
if select(1,...) then opento = opento.."_"..select(1,...) end
if IsAddOnLoaded("StopTradeSpam_Options") then
InterfaceOptionsFrame_OpenToCategory(opento);
else
LoadAddOn("StopTradeSpam_Options")
InterfaceOptionsFrame_OpenToCategory(opento);
end
InterfaceOptionsFrame_OpenToCategory(opento);
end
 
function STS_Settings(...)
539,6 → 534,7
for event,_ in pairs(tign_filterthis) do
ChatFrame_AddMessageEventFilter(event, STS_ChatFilter)
end
STSO_Load(STSOPanel)
elseif event == "CHAT_MSG_ADDON" and strsub(select(1,...),1,3) == "STS" then
if strsub(select(1,...),4,12) == "_?Version" then
SendAddonMessage("STS_!Version",GetAddOnMetadata("StopTradeSpam","Version"),"WHISPER",select(4,...))
StopTradeSpam/StopTradeSpam.toc
13,3 → 13,5
libs\LibDataBroker-1.1\LibDataBroker-1.1.lua
init.lua
StopTradeSpam.lua
StopTradeSpam_Options.lua
StopTradeSpam_Options.xml