Erik L. Vonderscheer [11-16-09 - 08:06]
diff --git a/Docs/changelog.txt b/Docs/changelog.txt
index 27a8af5..6c4d851 100644
--- a/Docs/changelog.txt
+++ b/Docs/changelog.txt
@@ -1,4 +1,7 @@
== ChangeLog
+*r192
+**++Added BG Filters++
+**++Config GUI reorganization++
*r167
**++Added simple duel spam block++
*r159
diff --git a/TradeFilter3.lua b/TradeFilter3.lua
index 943e772..4ff5d6d 100644
--- a/TradeFilter3.lua
+++ b/TradeFilter3.lua
@@ -75,9 +75,12 @@ defaults = {
filterGAC = false,
filterSELF = false,
filterLFG = false,
+ filterBG = false,
filterGeneral = false,
filterTrade = true,
- editfilter_enable = false,
+ editfilterTRADE_enable = false,
+ editfilterBASE_enable = false,
+ editfilterBG_enable = false,
ebl = false,
ewl = false,
blacklist_enable = true,
@@ -94,9 +97,6 @@ defaults = {
whitelist = {},
blacklist = {},
filters = {},
- basefilters = {},
- tradefilters = {},
- specialfilters = {},
},
}
@@ -531,10 +531,10 @@ local function PreFilterFunc_Say(self, event, ...)
if (TF3:FindRepeat(msg, userID, msgID, coloredName) == true) then
filtered = true
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("0. " .. L["Say/Yell"], ...)
end
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("0. " .. L["Say/Yell"], ...)
end
elseif (event == "CHAT_MSG_SAY" and not TF3.db.profile.filterSAY) then
filtered = false
@@ -566,10 +566,10 @@ local function PreFilterFunc_Yell(self, event, ...)
if (TF3:FindRepeat(msg, userID, msgID, coloredName) == true) then
filtered = true
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("0. " .. L["Say/Yell"], ...)
end
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("0. " .. L["Say/Yell"], ...)
end
elseif (event == "CHAT_MSG_YELL" and not TF3.db.profile.filterYELL) then
filtered = false
@@ -577,6 +577,41 @@ local function PreFilterFunc_Yell(self, event, ...)
return filtered
end
+--[[ Check for Battleground Channel and User setting ]]--
+local function PreFilterFunc_BG(self, event, ...)
+ local filtered = false
+ local msg = arg1 or select(1, ...)
+ local userID = arg2 or select(2, ...)
+ local msgID = arg11 or select(11, ...)
+ local cName = arg12 or select(12, ...)
+ local coloredName = TF3:GetColoredName(userID, cName)
+ if not (repeatdata[userID]) then
+ repeatdata[userID] = {}
+ repeatdata[userID].lastmsg = msg
+ repeatdata[userID].lastmsgID = msgID
+ repeatdata[userID].lastIndex = 1
+ repeatdata[userID].repeats = 1
+ end
+ if (TF3.db.profile.filterBG and TF3:IsFriend(userID) == false and event == "CHAT_MSG_BATTLEGROUND" or event == "CHAT_MSG_BATTLEGROUND_LEADER") then
+ if (userID == UnitName("Player") and TF3.db.profile.filterSELF == false or TF3:WhiteList(msg, userID, msgID, coloredName) == true) then
+ filtered = false
+ elseif (TF3:BlackList(msg, userID, msgID, coloredName) == true) then
+ filtered = true
+ elseif (TF3.db.profile.repeat_enable) then
+ if (TF3:FindRepeat(msg, userID, msgID, coloredName) == true) then
+ filtered = true
+ else
+ filtered = TF3:FilterFunc("0. BG", ...)
+ end
+ else
+ filtered = TF3:FilterFunc("0. BG", ...)
+ end
+ elseif (not TF3.db.profile.filterBG and event == "CHAT_MSG_BATTLEGROUND" or event == "CHAT_MSG_BATTLEGROUND_LEADER") then
+ filtered = false
+ end
+ return filtered
+end
+
--[[ Check for Trade/General/LFG Channel and User setting ]]--
local function PreFilterFunc(self, event, ...)
local filtered = false
@@ -605,10 +640,10 @@ local function PreFilterFunc(self, event, ...)
if (TF3:FindRepeat(msg, userID, msgID, coloredName) == true) then
filtered = true
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("2. " .. L["Trade"], ...)
end
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("2. " .. L["Trade"], ...)
end
elseif (zoneID == 2 and not TF3.db.profile.filterTrade) then
filtered = false
@@ -623,10 +658,10 @@ local function PreFilterFunc(self, event, ...)
if (TF3:FindRepeat(msg, userID, msgID, coloredName) == true) then
filtered = true
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("1. " .. L["General"], ...)
end
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("1. " .. L["General"], ...)
end
elseif (chanID == 1 and not TF3.db.profile.filterGeneral) then
filtered = false
@@ -641,10 +676,10 @@ local function PreFilterFunc(self, event, ...)
if (TF3:FindRepeat(msg, userID, msgID, coloredName) == true) then
filtered = true
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("26. " .. L["LFG"], ...)
end
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("26. " .. L["LFG"], ...)
end
elseif (chanID == 26 and not TF3.db.profile.filterLFG) then
filtered = false
@@ -659,10 +694,10 @@ local function PreFilterFunc(self, event, ...)
if (TF3:FindRepeat(msg, userID, msgID, coloredName) == true) then
filtered = true
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("X. " .. chanName, ...)
end
else
- filtered = TF3:FilterFunc(...)
+ filtered = TF3:FilterFunc("X. " .. chanName, ...)
end
elseif (TF3:SpecialChans(chanName) == true and not TF3.db.profile.special_enable) then
filtered = false
@@ -671,7 +706,7 @@ local function PreFilterFunc(self, event, ...)
end
--[[ Filter Func ]]--
-function TF3:FilterFunc(...)
+function TF3:FilterFunc(chan, ...)
local filterFuncList = ChatFrame_GetMessageEventFilters("CHAT_MSG_CHANNEL")
local msg = arg1 or select(1, ...)
local userID = arg2 or select(2, ...)
@@ -682,17 +717,17 @@ function TF3:FilterFunc(...)
local cName = arg12 or select(12, ...)
local coloredName = TF3:GetColoredName(userID, cName)
local msg = lower(msg)
- if (chanID == 1) then
- chan = "1. " .. L["General"]
- elseif (zoneID == 2) then
- chan = "2. " .. L["Trade"]
- elseif (zoneID == 26) then
- chan = "26. " .. L["LFG"]
- elseif (TF3:SpecialChans(chanName) == true) then
- chan = "X. Special Channel"
- else
- chan = "0. " .. L["Say/Yell"]
- end
+--~ if (chanID == 1) then
+--~ chan = "1. " .. L["General"]
+--~ elseif (zoneID == 2) then
+--~ chan = "2. " .. L["Trade"]
+--~ elseif (zoneID == 26) then
+--~ chan = "26. " .. L["LFG"]
+--~ elseif (TF3:SpecialChans(chanName) == true) then
+--~ chan = "X. Special Channel"
+--~ else
+--~ chan = "0. " .. L["Say/Yell"]
+--~ end
if (filterFuncList and TF3.db.profile.turnOn) then
filtered = true
if (TF3.db.profile.debug) then
@@ -720,6 +755,26 @@ function TF3:FilterFunc(...)
filtered = false
end
end
+ elseif (chan == "0. BG") then
+ if (TF3.db.profile.filters.BG == nil) then
+ TF3.db.profile.filters.BG = L.FILTERS.BG
+ end
+ for k,v in pairs(TF3.db.profile.filters.BG) do
+ if (TF3.db.profile.debug and not TF3.db.profile.debug_checking) then
+ if (lastmsg ~= msg or lastuserID ~= userID) then
+ TF3:FindFrame(debugFrame, L["CFM"] .. " " .. v)
+ end
+ end
+ if (find(msg,v)) then
+ if (TF3.db.profile.debug) then
+ if (lastmsg ~= msg or lastuserID ~= userID) then
+ TF3:FindFrame(debugFrame, L["MATCHED"] .. " |cffff8080" .. v .. "|r")
+ lastmsg, lastuserID = msg, userID
+ end
+ end
+ filtered = false
+ end
+ end
else
if (TF3.db.profile.filters.BASE == nil) then
TF3.db.profile.filters.BASE = L.FILTERS.BASE
@@ -760,4 +815,6 @@ end
ChatFrame_AddMessageEventFilter("CHAT_MSG_SAY", PreFilterFunc_Say)
ChatFrame_AddMessageEventFilter("CHAT_MSG_YELL", PreFilterFunc_Yell)
ChatFrame_AddMessageEventFilter("CHAT_MSG_ADDON", PreFilterFunc_Addon)
+ChatFrame_AddMessageEventFilter("CHAT_MSG_BATTLEGROUND", PreFilterFunc_BG)
+ChatFrame_AddMessageEventFilter("CHAT_MSG_BATTLEGROUND_LEADER", PreFilterFunc_BG)
ChatFrame_AddMessageEventFilter("CHAT_MSG_CHANNEL", PreFilterFunc)
diff --git a/TradeFilter3Options.lua b/TradeFilter3Options.lua
index 314e6a8..a107765 100644
--- a/TradeFilter3Options.lua
+++ b/TradeFilter3Options.lua
@@ -93,6 +93,16 @@ options = {
get = function() return TF3.db.profile.filterLFG end,
set = function() TF3.db.profile.filterLFG = not TF3.db.profile.filterLFG end,
},
+ Battlegrounds = {
+ type = 'toggle',
+ order = 4,
+ width = "double",
+ disabled = false,
+ name = L["BGC"],
+ desc = L["BGCD"],
+ get = function() return TF3.db.profile.filterBG end,
+ set = function() TF3.db.profile.filterBG = not TF3.db.profile.filterBG end,
+ },
SAYChannel = {
type = 'toggle',
order = 5,
@@ -206,6 +216,7 @@ options = {
},
editFilterGroup = {
type = "group",
+ childGroups = "tab",
handler = TF3,
order = 2,
disabled = function()
@@ -214,132 +225,251 @@ options = {
name = L["EditFilterGroup"],
desc = L["EditFilterGD"],
args = {
- optionsHeader2 = {
- type = "header",
- order = 1,
- name = L["EditFilter"],
- },
- editfilter_enable = {
- type = 'toggle',
- order = 2,
- width = "double",
- name = L["EditFilter"],
- desc = L["EditFilterD"],
- get = function() return TF3.db.profile.addfilter_enable end,
- set = function() TF3.db.profile.addfilter_enable = not TF3.db.profile.addfilter_enable end,
- },
- optionsHeader2a = {
- type = "header",
- order = 3,
- name = L["BTF"],
- },
- tradefilters = {
- type = 'input',
- disabled = function()
- return not TF3.db.profile.addfilter_enable
- end,
- multiline = 8,
- order = 4,
- width = "full",
- name = L["BTF"],
- desc = L["BTFD"],
- usage = L["INPUSAGE"],
- get = function(info)
- local a = {}
- local ret = ""
- if (TF3.db.profile.filters.TRADE == nil) then
- TF3.db.profile.filters.TRADE = L.FILTERS.TRADE
- end
- for _,v in pairs(TF3.db.profile.filters.TRADE) do
- insert(a, v)
- end
- sort(a)
- for _,v in ipairs(a) do
- if ret == "" then
- ret = v
- else
- ret = ret .. "\n" .. v
- end
- end
- return ret
- end,
- set = function(info, value)
- TF3:WipeTable(TF3.db.profile.filters.TRADE)
- local tbl = { strsplit("\n", value) }
- for k, v in pairs(tbl) do
- key = "FILTER"
- TF3.db.profile.filters.TRADE[key..k] = v
- end
- end,
- },
- reset_tradefilters = {
- type = 'execute',
+ editFilterGroupTRADE = {
+ type = "group",
+ handler = TF3,
+ order = 1,
disabled = function()
- return not TF3.db.profile.addfilter_enable
+ return not TF3.db.profile.turnOn
end,
- order = 5,
- name = L["RTF"],
- desc = L["RTF"],
- func = function() TF3.db.profile.filters.TRADE = TF3:CopyTable(L.FILTERS.TRADE) end,
- },
- optionsHeader2b = {
- type = "header",
- order = 6,
- name = L["BCF"],
- },
- basefilters = {
- type = 'input',
+ name = "TRADE Filters",
+ desc = "TRADE Filters",
+ args = {
+ optionsHeader1 = {
+ type = "header",
+ order = 1,
+ name = L["EditFilter"],
+ },
+ editfilter_enable = {
+ type = 'toggle',
+ order = 2,
+ width = "double",
+ name = L["EditFilter"],
+ desc = L["EditFilterD"],
+ get = function() return TF3.db.profile.addfilterTRADE_enable end,
+ set = function() TF3.db.profile.addfilterTRADE_enable = not TF3.db.profile.addfilterTRADE_enable end,
+ },
+ optionsHeader2 = {
+ type = "header",
+ order = 3,
+ name = L["BTF"],
+ },
+ tradefilters = {
+ type = 'input',
+ disabled = function()
+ return not TF3.db.profile.addfilterTRADE_enable
+ end,
+ multiline = 10,
+ order = 4,
+ width = "full",
+ name = L["BTF"],
+ desc = L["BTFD"],
+ usage = L["INPUSAGE"],
+ get = function(info)
+ local a = {}
+ local ret = ""
+ if (TF3.db.profile.filters.TRADE == nil) then
+ TF3.db.profile.filters.TRADE = L.FILTERS.TRADE
+ end
+ for _,v in pairs(TF3.db.profile.filters.TRADE) do
+ insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
+ if ret == "" then
+ ret = v
+ else
+ ret = ret .. "\n" .. v
+ end
+ end
+ return ret
+ end,
+ set = function(info, value)
+ TF3:WipeTable(TF3.db.profile.filters.TRADE)
+ local tbl = { strsplit("\n", value) }
+ for k, v in pairs(tbl) do
+ key = "FILTER"
+ TF3.db.profile.filters.TRADE[key..k] = v
+ end
+ end,
+ },
+ reset_tradefilters = {
+ type = 'execute',
+ disabled = function()
+ return not TF3.db.profile.addfilterTRADE_enable
+ end,
+ order = 5,
+ name = L["RTF"],
+ desc = L["RTF"],
+ func = function() TF3.db.profile.filters.TRADE = TF3:CopyTable(L.FILTERS.TRADE) end,
+ },
+ },
+ },
+ editFilterGroupBASE = {
+ type = "group",
+ handler = TF3,
+ order = 2,
disabled = function()
- return not TF3.db.profile.addfilter_enable
- end,
- multiline = 8,
- order = 7,
- width = "full",
- name = L["BCF"],
- desc = L["BCFD"],
- usage = L["INPUSAGE"],
- get = function(info)
- local a = {}
- local ret = ""
- if (TF3.db.profile.filters.BASE == nil) then
- TF3.db.profile.filters.BASE = L.FILTERS.BASE
- end
- for _,v in pairs(TF3.db.profile.filters.BASE) do
- insert(a, v)
- end
- sort(a)
- for _,v in ipairs(a) do
- if ret == "" then
- ret = v
- else
- ret = ret .. "\n" .. v
- end
- end
- return ret
- end,
- set = function(info, value)
- TF3:WipeTable(TF3.db.profile.filters.BASE)
- local tbl = { strsplit("\n", value) }
- for k, v in pairs(tbl) do
- key = "FILTER"
- TF3.db.profile.filters.BASE[key..k] = v
- end
+ return not TF3.db.profile.turnOn
end,
- },
- reset_basefilters = {
- type = 'execute',
+ name = "BASE Filters",
+ desc = "BASE Filters",
+ args = {
+ optionsHeader1 = {
+ type = "header",
+ order = 1,
+ name = L["EditFilter"],
+ },
+ editfilter_enable = {
+ type = 'toggle',
+ order = 2,
+ width = "double",
+ name = L["EditFilter"],
+ desc = L["EditFilterD"],
+ get = function() return TF3.db.profile.addfilterBASE_enable end,
+ set = function() TF3.db.profile.addfilterBASE_enable = not TF3.db.profile.addfilterBASE_enable end,
+ },
+ optionsHeader2 = {
+ type = "header",
+ order = 6,
+ name = L["BCF"],
+ },
+ basefilters = {
+ type = 'input',
+ disabled = function()
+ return not TF3.db.profile.addfilterBASE_enable
+ end,
+ multiline = 10,
+ order = 7,
+ width = "full",
+ name = L["BCF"],
+ desc = L["BCFD"],
+ usage = L["INPUSAGE"],
+ get = function(info)
+ local a = {}
+ local ret = ""
+ if (TF3.db.profile.filters.BASE == nil) then
+ TF3.db.profile.filters.BASE = L.FILTERS.BASE
+ end
+ for _,v in pairs(TF3.db.profile.filters.BASE) do
+ insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
+ if ret == "" then
+ ret = v
+ else
+ ret = ret .. "\n" .. v
+ end
+ end
+ return ret
+ end,
+ set = function(info, value)
+ TF3:WipeTable(TF3.db.profile.filters.BASE)
+ local tbl = { strsplit("\n", value) }
+ for k, v in pairs(tbl) do
+ key = "FILTER"
+ TF3.db.profile.filters.BASE[key..k] = v
+ end
+ end,
+ },
+ reset_basefilters = {
+ type = 'execute',
+ disabled = function()
+ return not TF3.db.profile.addfilterBASE_enable
+ end,
+ order = 8,
+ name = L["RBF"],
+ desc = L["RBF"],
+ func = function() TF3.db.profile.filters.BASE = TF3:CopyTable(L.FILTERS.BASE) end,
+ },
+ },
+ },
+ editFilterGroupBG = {
+ type = "group",
+ handler = TF3,
+ order = 3,
disabled = function()
- return not TF3.db.profile.addfilter_enable
+ return not TF3.db.profile.turnOn
end,
- order = 8,
- name = L["RBF"],
- desc = L["RBF"],
- func = function() TF3.db.profile.filters.BASE = TF3:CopyTable(L.FILTERS.BASE) end,
+ name = "BG Filters",
+ desc = "BG Filters",
+ args = {
+ optionsHeader1 = {
+ type = "header",
+ order = 1,
+ name = L["EditFilter"],
+ },
+ editfilter_enable = {
+ type = 'toggle',
+ order = 2,
+ width = "double",
+ name = L["EditFilter"],
+ desc = L["EditFilterD"],
+ get = function() return TF3.db.profile.addfilterBG_enable end,
+ set = function() TF3.db.profile.addfilterBG_enable = not TF3.db.profile.addfilterBG_enable end,
+ },
+ optionsHeader2 = {
+ type = "header",
+ order = 6,
+ name = L["BG"],
+ },
+ bgfilters = {
+ type = 'input',
+ disabled = function()
+ return not TF3.db.profile.addfilterBG_enable
+ end,
+ multiline = 10,
+ order = 7,
+ width = "full",
+ name = L["BG"],
+ desc = L["BGD"],
+ usage = L["INPUSAGE"],
+ get = function(info)
+ local a = {}
+ local ret = ""
+ if (TF3.db.profile.filters.BG == nil) then
+ TF3.db.profile.filters.BG = L.FILTERS.BG
+ end
+ for _,v in pairs(TF3.db.profile.filters.BG) do
+ insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
+ if ret == "" then
+ ret = v
+ else
+ ret = ret .. "\n" .. v
+ end
+ end
+ return ret
+ end,
+ set = function(info, value)
+ TF3:WipeTable(TF3.db.profile.filters.BG)
+ local tbl = { strsplit("\n", value) }
+ for k, v in pairs(tbl) do
+ key = "FILTER"
+ TF3.db.profile.filters.BG[key..k] = v
+ end
+ end,
+ },
+ reset_bgfilters = {
+ type = 'execute',
+ disabled = function()
+ return not TF3.db.profile.addfilterBG_enable
+ end,
+ order = 8,
+ name = L["RBF"],
+ desc = L["RBF"],
+ func = function() TF3.db.profile.filters.BG = TF3:CopyTable(L.FILTERS.BG) end,
+ },
+ },
},
},
},
listsGroup = {
type = "group",
+ childGroups = "tab",
handler = TF3,
order = 3,
disabled = function()
@@ -348,165 +478,189 @@ options = {
name = L["listsGroup"],
desc = L["listsGD"],
args = {
- optionsHeader3a = {
- type = "header",
- order = 1,
- name = L["bLists"],
- },
- blacklist_enable = {
- type = 'toggle',
- order = 2,
- width = "double",
- name = L["BLE"],
- desc = L["BLE"],
- get = function() return TF3.db.profile.blacklist_enable end,
- set = function() TF3.db.profile.blacklist_enable = not TF3.db.profile.blacklist_enable end,
- },
- editblacklist = {
- type = 'toggle',
- order = 3,
- width = "double",
- name = L["EBL"],
- desc = L["EBL"],
- get = function() return TF3.db.profile.ebl end,
- set = function() TF3.db.profile.ebl = not TF3.db.profile.ebl end,
- },
- blist = {
- type = 'input',
- disabled = function()
- return not TF3.db.profile.ebl
- end,
- multiline = 8,
- order = 4,
- width = "full",
- name = L["bLists"],
- usage = L["INPUSAGE"],
- get = function(info)
- local a = {}
- local ret = ""
- if (TF3.db.profile.blacklist == nil) then
- TF3.db.profile.blacklist = L.BLACKLIST
- end
- for _,v in pairs(TF3.db.profile.blacklist) do
- insert(a, v)
- end
- sort(a)
- for _,v in ipairs(a) do
- if ret == "" then
- ret = v
- else
- ret = ret .. "\n" .. v
- end
- end
- return ret
- end,
- set = function(info, value)
- TF3:WipeTable(TF3.db.profile.blacklist)
- local tbl = { strsplit("\n", value) }
- for k, v in pairs(tbl) do
- key = "BLIST"
- TF3.db.profile.blacklist[key..k] = v
- end
- end,
- },
- reset_blist = {
- type = 'execute',
- disabled = function()
- return not TF3.db.profile.ebl
- end,
- order = 5,
- name = L["RBLS"],
- desc = L["RBLS"],
- func = function() TF3.db.profile.blacklist = TF3:CopyTable(L.BLACKLIST) end,
- },
- optionsHeader3b = {
- type = "header",
- order = 6,
- name = L["wLists"],
- },
- whitelist_enable = {
- type = 'toggle',
- order = 8,
- width = "double",
- name = L["WLE"],
- desc = L["WLE"],
- get = function() return TF3.db.profile.whitelist_enable end,
- set = function() TF3.db.profile.whitelist_enable = not TF3.db.profile.whitelist_enable end,
- },
- editwhitelist = {
- type = 'toggle',
- order = 9,
- width = "double",
- name = L["EWL"],
- desc = L["EWL"],
- get = function() return TF3.db.profile.ewl end,
- set = function() TF3.db.profile.ewl = not TF3.db.profile.ewl end,
- },
- whitelist_repeat_bypass = {
- type = 'toggle',
- order = 10,
- width = "double",
- name = L["RPTBYPASS"],
- desc = L["RPTBYPASSD"],
- get = function() return TF3.db.profile.wlbp end,
- set = function() TF3.db.profile.wlbp = not TF3.db.profile.wlbp end,
- },
- whitelist_blacklist_bypass = {
- type = 'toggle',
- order = 11,
- width = "double",
- name = L["BLBYPASS"],
- desc = L["BLBYPASSD"],
- get = function() return TF3.db.profile.wlblbp end,
- set = function() TF3.db.profile.wlblbp = not TF3.db.profile.wlblbp end,
- },
- wlist = {
- type = 'input',
+ listsGroupBlack = {
+ type = "group",
+ handler = TF3,
+ order = 1,
disabled = function()
- return not TF3.db.profile.ewl
- end,
- multiline = 8,
- order = 12,
- width = "full",
- name = L["wLists"],
- usage = L["INPUSAGE"],
- get = function(info)
- local a = {}
- local ret = ""
- if (TF3.db.profile.whitelist == nil) then
- TF3.db.profile.whitelist = L.WHITELIST
- end
- for _,v in pairs(TF3.db.profile.whitelist) do
- insert(a, v)
- end
- sort(a)
- for _,v in ipairs(a) do
- if ret == "" then
- ret = v
- else
- ret = ret .. "\n" .. v
- end
- end
- return ret
- end,
- set = function(info, value)
- TF3:WipeTable(TF3.db.profile.whitelist)
- local tbl = { strsplit("\n", value) }
- for k, v in pairs(tbl) do
- key = "WLIST"
- TF3.db.profile.whitelist[key..k] = v
- end
+ return not TF3.db.profile.turnOn
end,
- },
- reset_wlist = {
- type = 'execute',
+ name = L["listsGroup"],
+ desc = L["listsGD"],
+ args = {
+ optionsHeader1 = {
+ type = "header",
+ order = 1,
+ name = L["bLists"],
+ },
+ blacklist_enable = {
+ type = 'toggle',
+ order = 2,
+ width = "double",
+ name = L["BLE"],
+ desc = L["BLE"],
+ get = function() return TF3.db.profile.blacklist_enable end,
+ set = function() TF3.db.profile.blacklist_enable = not TF3.db.profile.blacklist_enable end,
+ },
+ editblacklist = {
+ type = 'toggle',
+ order = 3,
+ width = "double",
+ name = L["EBL"],
+ desc = L["EBL"],
+ get = function() return TF3.db.profile.ebl end,
+ set = function() TF3.db.profile.ebl = not TF3.db.profile.ebl end,
+ },
+ blist = {
+ type = 'input',
+ disabled = function()
+ return not TF3.db.profile.ebl
+ end,
+ multiline = 10,
+ order = 4,
+ width = "full",
+ name = L["bLists"],
+ usage = L["INPUSAGE"],
+ get = function(info)
+ local a = {}
+ local ret = ""
+ if (TF3.db.profile.blacklist == nil) then
+ TF3.db.profile.blacklist = L.BLACKLIST
+ end
+ for _,v in pairs(TF3.db.profile.blacklist) do
+ insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
+ if ret == "" then
+ ret = v
+ else
+ ret = ret .. "\n" .. v
+ end
+ end
+ return ret
+ end,
+ set = function(info, value)
+ TF3:WipeTable(TF3.db.profile.blacklist)
+ local tbl = { strsplit("\n", value) }
+ for k, v in pairs(tbl) do
+ key = "BLIST"
+ TF3.db.profile.blacklist[key..k] = v
+ end
+ end,
+ },
+ reset_blist = {
+ type = 'execute',
+ disabled = function()
+ return not TF3.db.profile.ebl
+ end,
+ order = 5,
+ name = L["RBLS"],
+ desc = L["RBLS"],
+ func = function() TF3.db.profile.blacklist = TF3:CopyTable(L.BLACKLIST) end,
+ },
+ },
+ },
+ listsGroupWhite = {
+ type = "group",
+ handler = TF3,
+ order = 2,
disabled = function()
- return not TF3.db.profile.ewl
+ return not TF3.db.profile.turnOn
end,
- order = 13,
- name = L["RWLS"],
- desc = L["RWLS"],
- func = function() TF3.db.profile.whitelist = TF3:CopyTable(L.WHITELIST) end,
+ name = L["listsGroup"],
+ desc = L["listsGD"],
+ args = {
+ optionsHeader3b = {
+ type = "header",
+ order = 1,
+ name = L["wLists"],
+ },
+ whitelist_enable = {
+ type = 'toggle',
+ order = 2,
+ width = "double",
+ name = L["WLE"],
+ desc = L["WLE"],
+ get = function() return TF3.db.profile.whitelist_enable end,
+ set = function() TF3.db.profile.whitelist_enable = not TF3.db.profile.whitelist_enable end,
+ },
+ editwhitelist = {
+ type = 'toggle',
+ order = 3,
+ width = "double",
+ name = L["EWL"],
+ desc = L["EWL"],
+ get = function() return TF3.db.profile.ewl end,
+ set = function() TF3.db.profile.ewl = not TF3.db.profile.ewl end,
+ },
+ whitelist_repeat_bypass = {
+ type = 'toggle',
+ order = 4,
+ width = "double",
+ name = L["RPTBYPASS"],
+ desc = L["RPTBYPASSD"],
+ get = function() return TF3.db.profile.wlbp end,
+ set = function() TF3.db.profile.wlbp = not TF3.db.profile.wlbp end,
+ },
+ whitelist_blacklist_bypass = {
+ type = 'toggle',
+ order = 5,
+ width = "double",
+ name = L["BLBYPASS"],
+ desc = L["BLBYPASSD"],
+ get = function() return TF3.db.profile.wlblbp end,
+ set = function() TF3.db.profile.wlblbp = not TF3.db.profile.wlblbp end,
+ },
+ wlist = {
+ type = 'input',
+ disabled = function()
+ return not TF3.db.profile.ewl
+ end,
+ multiline = 10,
+ order = 6,
+ width = "full",
+ name = L["wLists"],
+ usage = L["INPUSAGE"],
+ get = function(info)
+ local a = {}
+ local ret = ""
+ if (TF3.db.profile.whitelist == nil) then
+ TF3.db.profile.whitelist = L.WHITELIST
+ end
+ for _,v in pairs(TF3.db.profile.whitelist) do
+ insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
+ if ret == "" then
+ ret = v
+ else
+ ret = ret .. "\n" .. v
+ end
+ end
+ return ret
+ end,
+ set = function(info, value)
+ TF3:WipeTable(TF3.db.profile.whitelist)
+ local tbl = { strsplit("\n", value) }
+ for k, v in pairs(tbl) do
+ key = "WLIST"
+ TF3.db.profile.whitelist[key..k] = v
+ end
+ end,
+ },
+ reset_wlist = {
+ type = 'execute',
+ disabled = function()
+ return not TF3.db.profile.ewl
+ end,
+ order = 7,
+ name = L["RWLS"],
+ desc = L["RWLS"],
+ func = function() TF3.db.profile.whitelist = TF3:CopyTable(L.WHITELIST) end,
+ },
+ },
},
},
},